The only Cloud services you actually need to know

NeetCodeIO
27 Feb 202417:17

Summary

TLDRThis script offers an insightful overview of cloud services, emphasizing the ubiquity of virtual machines as the foundational layer for all cloud offerings. It distinguishes between managed and unmanaged services, elucidating the convenience of services like AWS's S3 and RDS, which abstract infrastructure management. The talk also touches on the concepts of serverless computing with AWS Lambda and the importance of observability in cloud applications. Additionally, it discusses the trade-offs between regional and global services, highlighting the scalability and latency benefits of global databases.

Takeaways

  • πŸ€– The script discusses the redundancy in cloud services, emphasizing that most services are built on the same underlying technology, such as virtual machines (VMs).
  • πŸ›  It highlights the importance of understanding the top five cloud services and recognizing that many other services are just repackagings of these core offerings.
  • πŸ“š The speaker introduces the concept of managed versus unmanaged services, explaining that managed services abstract away the infrastructure management, while unmanaged services require more hands-on control.
  • 🌐 The difference between regional and global services is explored, with regional services being confined to a specific location and global services distributed worldwide.
  • πŸ’Ύ The script explains that object stores like Amazon S3 are managed services that simplify file storage without worrying about the underlying infrastructure.
  • πŸ” It also covers the complexity of databases and how cloud providers offer managed database services like Amazon RDS and DynamoDB to alleviate the burden of database management.
  • πŸ”‘ The concept of vendor lock-in is introduced, where using proprietary services like DynamoDB can make it difficult to migrate to other platforms.
  • πŸ› οΈ The script touches on AWS Lambda, a serverless compute service that abstracts away the infrastructure, allowing developers to focus solely on their code.
  • 🌐 Networking services like load balancers and CDNs are mentioned as important but not the focus of the script; their role in cloud architecture is acknowledged.
  • πŸ“ˆ Observability is discussed as crucial for monitoring and logging application performance, with external tools like Datadog offering enhanced capabilities over native cloud provider tools.
  • πŸ“Š Data warehouses and specialized platforms like Snowflake are presented as alternatives to cloud provider offerings, suggesting that focused platforms may provide superior solutions.

Q & A

  • Why do many people prefer using cloud services instead of hosting their own databases?

    -People prefer cloud services because they offer managed solutions that abstract away the complexities of hosting databases, such as replication, scaling, and backups, allowing users to focus on their applications rather than infrastructure management.

  • What is a Virtual Machine (VM) in the context of cloud services?

    -A Virtual Machine (VM) is a service that allows users to rent a computer in the cloud, complete with allocated resources like CPU, RAM, and disk space, which can be remotely accessed and managed, often via SSH.

  • What is the main difference between managed and unmanaged services in cloud computing?

    -Managed services are those where the cloud provider handles the infrastructure, scaling, and maintenance, abstracting away the underlying complexity from the user. Unmanaged services, on the other hand, only provide the basic resources, leaving the user to manage and configure the environment as needed.

  • Can you explain the concept of 'serverless' in cloud computing?

    -Serverless refers to the abstraction of server management, where the cloud provider dynamically manages the allocation of machine resources. The user submits their code to the cloud, which then runs it in an environment without the user having to manage servers or runtime environments.

  • What is Amazon S3 and how does it differ from storing files on a VM?

    -Amazon S3, or Simple Storage Service, is an object store that allows users to store and retrieve any amount of data from anywhere on the web. It differs from storing files on a VM in that it abstracts away the complexities of file management, such as scaling storage and handling file replication, providing a simple interface for file operations.

  • What is the significance of understanding the difference between regional and global cloud services?

    -Understanding the difference is crucial for optimizing latency, cost, and data residency requirements. Regional services are hosted in specific locations, which can affect performance for users outside that region. Global services, on the other hand, distribute data and processing across multiple regions, reducing latency and improving performance for a worldwide user base.

  • What are some examples of managed database services offered by cloud providers?

    -Examples of managed database services include Amazon RDS for relational databases and Amazon DynamoDB for NoSQL databases. Other providers like Google Cloud and Microsoft Azure offer similar services such as Google Cloud SQL, Firestore, and Azure Cosmos DB.

  • What is AWS Lambda and how does it fit into the serverless computing paradigm?

    -AWS Lambda is a Functions-as-a-Service (FaaS) offering that allows users to run code without provisioning or managing servers. It is a highly serverless service as it abstracts away almost all infrastructure management, executing code in response to events and automatically scaling the compute resources.

  • What is meant by 'vendor lock-in' in the context of cloud services?

    -Vendor lock-in refers to the situation where an application is built using proprietary services or tools offered by a specific cloud provider, making it difficult to migrate to another provider without significant changes or data migration due to the lack of equivalent services.

  • How do observability services like Datadog differ from those provided by major cloud providers?

    -Observability services like Datadog specialize in providing comprehensive monitoring, logging, and alerting solutions that are often considered easier to use and more feature-rich than those offered by cloud providers. However, they may require additional setup and integration work compared to the native tools provided by cloud services.

  • What is the role of a Content Delivery Network (CDN) in cloud architecture?

    -A CDN is a globally distributed network of proxy servers and data centers that deliver content to users based on their geographic location, ensuring faster delivery of web content and reducing latency. It is inherently a global service due to its nature of distributing content worldwide.

Outlines

00:00

🌐 Understanding Cloud Services and Virtual Machines

The speaker begins by addressing the common sentiment that hosting one's own database is undesirable and that AWS, while not necessarily innovative, offers a plethora of cloud services that can be overwhelming to understand. The focus is on explaining the underlying similarities among cloud services and highlighting the top five services to understand deeply. The concept of managed versus unmanaged services is introduced, with virtual machines (VMs) being the foundation of most cloud services. VMs provide a sense of renting a computer with allocated resources, and they form the basis for other services. The speaker emphasizes the extensibility of VMs and their role as an unmanaged service, where the cloud provider only allocates resources and the user has full control.

05:02

πŸ“š Managed Services: Storage and Databases

The speaker discusses the benefits of managed services, starting with file storage solutions like AWS's S3, which abstracts the complexities of file management and provides scalability and simplicity. S3 is an example of a managed service where AWS handles the infrastructure, allowing developers to focus solely on their application logic. The speaker also touches on the challenges of managing databases, which are complex and often best handled by managed database services like AWS's RDS for relational databases or DynamoDB for non-relational databases. The use of open-source software by cloud providers to create managed services is highlighted, as well as the proprietary nature of some services like DynamoDB, which can lead to vendor lock-in.

10:02

πŸ›  The Spectrum of Cloud Services: From VMs to Serverless

The speaker explores the spectrum of cloud services, from fully managed services like AWS Lambda, which is a serverless compute service, to less managed services like VMs. AWS Lambda represents a high level of abstraction where the developer only needs to focus on the code, with the cloud provider handling the execution environment and scaling. The speaker also discusses the trade-offs of serverless architectures, such as the lack of persistent state and the limitations on disk access. The importance of understanding the spectrum of services is emphasized, as it allows developers to choose the right tool for their specific needs.

15:03

🌐 Networking, Observability, and Specialized Services

The speaker briefly mentions networking services like load balancers and CDNs, which are essential for managing traffic and delivering content globally. The focus then shifts to observability, which involves logging, monitoring, and alerting to ensure applications run smoothly. External tools like Datadog are highlighted for their ability to simplify observability tasks. The discussion also includes data warehouses and specialized platforms like Snowflake and Databricks that excel in specific areas, offering potentially better solutions than general cloud provider services. The speaker emphasizes the importance of trying out these services to gain hands-on experience.

🌍 Regional vs. Global Services and the Power of Global Databases

The speaker concludes by differentiating between regional and global services, using a CDN as an example of a global service and VMs as inherently regional. The benefits of global databases, which manage data distribution and replication to reduce latency and handle scale, are underscored. The speaker notes that while global services and managed services tend to be more expensive, they solve complex problems and can be worth the cost. The importance of practical experience with these services is reiterated, encouraging users to build applications using them.

Mindmap

Keywords

πŸ’‘Cloud Services

Cloud services refer to the various offerings provided by cloud computing companies, such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure. These services enable businesses and individuals to use resources over the internet instead of maintaining their own infrastructure. In the video, the speaker discusses the overwhelming number of cloud services and how most of them are essentially the same under the hood, built on top of foundational services like virtual machines (VMs).

πŸ’‘Virtual Machine (VM)

A virtual machine is a software emulation of a computer system. It allows users to run multiple operating systems on a single physical computer. The video emphasizes VMs as the foundational service for cloud computing, where resources like CPU, RAM, and disk space are allocated to a VM, simulating a physical computer that can be used for various computing tasks.

πŸ’‘Managed Services

Managed services are cloud services that are fully managed by the cloud provider. This means the provider handles maintenance, updates, and other operational aspects of the service, freeing the user from these responsibilities. The script mentions AWS S3 as an example of a managed service, where AWS abstracts the complexities of file storage, allowing users to focus solely on their application logic.

πŸ’‘Unmanaged Services

Unmanaged services are cloud offerings that require the user to manage and maintain the service themselves. The video uses the example of VMs, where the cloud provider only provisions the resources, and the user is responsible for everything else, including software installation and configuration.

πŸ’‘Serverless

Serverless computing is a cloud-computing execution model where the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. The video explains that serverless is a spectrum, with services like AWS Lambda being at the fully managed end, abstracting away almost all infrastructure concerns.

πŸ’‘Database Services

Database services are cloud offerings that provide managed database solutions. These can be relational databases like MySQL or non-relational databases like DynamoDB. The video discusses how cloud providers offer managed database services to simplify the complexities of database management, such as replication and scaling.

πŸ’‘Vendor Lock-in

Vendor lock-in occurs when a user is dependent on a specific vendor for a product or service, making it difficult to switch to another provider without significant effort or cost. The script uses DynamoDB as an example of a proprietary service that could lead to vendor lock-in, as it is only available on AWS, making it challenging to migrate to another cloud provider.

πŸ’‘AWS Lambda

AWS Lambda is a serverless computing service provided by Amazon Web Services. It is a functions-as-a-service (FaaS) platform that runs code in response to events and automatically manages the computing resources required by that code. The video explains Lambda as a service that abstracts away the infrastructure, allowing developers to focus solely on their code.

πŸ’‘Observability

Observability in cloud computing refers to the ability to understand the internal state of a system by analyzing its outputs, such as logs, metrics, and alerts. The video mentions observability as an important aspect of cloud services, where tools provided by cloud providers or third-party services like Datadog help monitor and alert users about the health and performance of their applications.

πŸ’‘Data Warehouse

A data warehouse is a system used for reporting and data analysis, and is considered a core component of business intelligence. The video discusses how cloud providers offer data warehouse services like Amazon Redshift and Google BigQuery, and how specialized platforms like Snowflake focus solely on solving data warehousing challenges, potentially outperforming the broader offerings of cloud providers.

πŸ’‘Regional and Global Services

Regional services are those hosted in a specific geographic location, serving traffic primarily from that region, while global services are distributed across multiple regions, providing a consistent experience worldwide. The video explains the difference by using examples like VMs, which are inherently regional, and CDNs, which are inherently global, and discusses the implications for latency and data replication.

Highlights

The speaker emphasizes the ubiquity of cloud services and the difficulty in keeping up with the vast array of offerings, particularly from AWS.

An explanation is provided on why most cloud services are fundamentally similar, suggesting that understanding a few core services can generalize to others.

The importance of understanding the concept of managed versus unmanaged services and what 'serverless' truly means in the context of cloud computing.

A detailed exploration of the differences between regional and global services in cloud computing, and their implications for latency and data storage.

An introduction to the concept of a Virtual Machine (VM) as a fundamental building block for cloud services.

The extensibility of VMs and how they serve as the base for almost every cloud service, including compute and storage.

A discussion on the unmanaged nature of VMs, where the cloud provider only provisions resources and the user has full control.

The introduction of Amazon S3 as an example of a managed service for file storage, abstracting away the complexities of file management.

The benefits of using managed services like S3, including scalability, ease of use, and automatic data replication.

An explanation of the complexities involved in self-hosting databases versus using cloud-managed database services like AWS RDS.

The role of open-source software in cloud services, with AWS RDS being an example of a managed service built on open-source databases.

The concept of vendor lock-in when using proprietary cloud services like AWS DynamoDB, and the implications for scalability and cost.

An introduction to AWS Lambda as a serverless computing service, abstracting away infrastructure management from the developer.

The trade-offs of using serverless services like Lambda, including the lack of persistent state and the limitations on disk access.

A brief overview of networking services in cloud computing, such as load balancers and CDNs, and their importance for application performance.

The importance of observability in cloud services, including logging, monitoring, and alerts for maintaining application health.

The role of third-party services like Datadog in providing enhanced observability compared to native cloud provider tools.

A discussion on data warehouses and the offerings from cloud providers like AWS Redshift and Google BigQuery, and the emergence of specialized platforms like Snowflake.

The emergence of companies like Versel that aim to simplify the use of AWS resources by providing a more user-friendly interface.

The speaker's recommendation for hands-on experience with cloud services, emphasizing the importance of practical application over theoretical knowledge.

Transcripts

play00:00

nobody wants to host their own database

play00:02

AWS isn't doing anything creative

play00:05

they're actually just taking open-

play00:07

Source soft logic wise we can do pretty

play00:10

much everything with these Services

play00:12

nowadays there's so many different cloud

play00:15

services that even just knowing the

play00:17

names of all the services that AWS

play00:20

offers is difficult let alone

play00:22

understanding what they actually do well

play00:24

the good thing is that I'm going to

play00:26

explain to you why most of the cloud

play00:29

services are all really the same under

play00:32

the hood and I'm also going to be giving

play00:34

you roughly my top five services that

play00:36

you should actually understand and know

play00:39

and everything else is just a

play00:40

repackaging of those top five we're

play00:42

going to go even deeper than that and

play00:44

learn about the differences between

play00:46

managed and unmanaged services because I

play00:49

think that's kind of a buzzword nowadays

play00:51

it kind of gets into the whole meaning

play00:53

of what does serverless actually mean

play00:55

we'll also touch on the difference

play00:57

between a regional and a global Service

play00:59

and we'll also be talking about all

play01:01

kinds of different cloud services and

play01:03

providers from the big boys like AWS gcp

play01:07

as well as the startups versel kind of

play01:09

the midsize companies like snowflake

play01:11

data dog and kind of talk about how they

play01:13

fit into the overall picture now the

play01:16

single most important service to know

play01:18

and to know really well is something

play01:20

that you're probably already familiar

play01:22

with you can in a sense rent a computer

play01:25

as a service it's called a VM a virtual

play01:27

machine now technically you might not be

play01:29

renting a physical computer but you can

play01:31

think of it as that cuz you'll have

play01:33

resources allocated to your VM for

play01:35

example some CPU some amount of ram disk

play01:38

space which you can usually add on to so

play01:41

from your perspective you're getting a

play01:43

computer well it turns out that pretty

play01:45

much every single service is built on

play01:48

top of this any cloud service you're

play01:50

going to use is in a sense built on top

play01:53

of VMS if you want to run some type of

play01:55

compute or server it's going to be

play01:57

running on top of some type of machine

play01:59

using some CPU and other resources if

play02:02

you want to store a bunch of files it's

play02:04

going to be stored on top of a computer

play02:06

because even though the files are going

play02:08

to be stored probably on disk well to

play02:10

read and write to those files you're

play02:11

going to need some type of computer to

play02:13

run a database I probably don't have to

play02:15

tell you it's going to require all of

play02:17

these everything is just built on top of

play02:19

computers and pretty much every cloud

play02:21

provider will offer some like this

play02:24

Amazon has ec2 Google has compute engine

play02:27

I'm sure Azure has their own the good

play02:29

thing about these is that they're so

play02:31

extensible if you really wanted to you

play02:33

don't need any of those other services

play02:36

you can do everything you need to using

play02:38

just VMS and so this is an example of an

play02:41

unmanaged service because the cloud

play02:43

provider isn't really doing anything

play02:44

other than provisioning the resources

play02:46

and then letting you do whatever you

play02:48

want to and of course they're not going

play02:49

to like physically mail the VM to you're

play02:52

going to be connecting to it remotely

play02:54

probably via SSH now what if you want to

play02:57

store some files such as images videos

play03:00

and other types of assets that you

play03:01

probably need for your app yeah you can

play03:03

store them on the VM and then serve them

play03:06

from the VM that would work but

play03:08

computers aren't specialized for

play03:10

handling files so a better solution a

play03:13

more scalable solution and just more

play03:15

efficient in general is to use some type

play03:17

of file storage mechanism on AWS it's

play03:20

called S3 simple storage service it's

play03:23

basically an object store that's what

play03:25

they're called and so an object store is

play03:27

kind of like a black box even though

play03:29

I've drawn it as like a white box here

play03:31

but all you really do is read and write

play03:34

files to it you can delete files of

play03:36

course but it's very simple the

play03:38

interface from a programming perspective

play03:40

is really really simple compared to

play03:42

manually handling files via like a VM

play03:45

you don't worry about where they're

play03:46

being stored you don't worry about

play03:48

allocating additional space with a VM

play03:50

you'll have let's say like 100 gbt or

play03:52

something you know you try to upload a

play03:54

file and you run out of space you don't

play03:55

have space on cloud services it's easy

play03:57

to get more space but it's something you

play03:59

still have have to kind of manage

play04:00

yourself as a developer well object

play04:02

stores like S3 abstract all of that away

play04:05

for you you'll never run out of space

play04:07

you'll probably never need to do

play04:09

anything to scale your read and writs

play04:12

now as you can imagine these files are

play04:14

still being stored somewhere they're

play04:16

being stored on a disk somewhere

play04:18

persistently and to read and write the

play04:20

files of course you're using CPU and

play04:22

probably Ram but again you don't have to

play04:24

worry about that this is an example of a

play04:28

managed service because AWS or your

play04:31

cloud provider is managing all the

play04:34

infrastructure for you it's also

play04:36

sometimes called serverless but it's not

play04:39

to say that there isn't a server

play04:40

involved there definitely is you can't

play04:42

do any of this stuff without computers

play04:45

but it's abstracted away from you and

play04:47

that's really powerful cuz all you have

play04:49

to do is worry about your application

play04:51

logic reading and writing the correct

play04:53

files you don't worry about the

play04:54

infrastructure at all it's obviously

play04:57

less powerful in the sense that you

play04:58

don't have precise control over what

play05:01

this service is doing but you usually

play05:03

have enough control like if you wanted

play05:06

your files to be stored in a particular

play05:08

region usually services like this will

play05:10

let you choose the region that you want

play05:12

to they'll usually also automatically

play05:14

replicate files for you so that's

play05:16

another benefit of using a managed

play05:18

service because if we stored a file on

play05:21

our own VM what if the VM dies or you

play05:24

know some type of Hardware failure well

play05:26

if you only stored it on one computer

play05:27

you lose that data that was on that dis

play05:30

well object stores solve this problem by

play05:32

replicating the files for you now object

play05:34

stores are good for storing data but

play05:37

they're not good at storing everything

play05:39

what if you had actual application data

play05:42

not files and images but like you want

play05:44

to store your database data well

play05:47

databases are really really complicated

play05:50

so you usually want to run some type of

play05:52

specific database software like MySQL or

play05:55

some other type of relational or

play05:56

non-relational storage like databases

play05:58

are basically just a really really

play06:00

complex wrapper over these resources

play06:03

particularly dis space well of course if

play06:06

you want to you can just run your own

play06:08

MySQL on top of a VM and you can

play06:11

replicate it among other VMS if you want

play06:13

to like create replicas of it if you

play06:14

wanted to do sharding and scale your

play06:16

database like that you can have some of

play06:18

your data split among the machines

play06:20

that's doable but it's complicated isn't

play06:22

it and so to solve this Cloud providers

play06:25

will usually give you a managed solution

play06:29

for storing your data your database data

play06:31

in the world of AWS it's RDS relational

play06:34

database service that's if you want a

play06:36

relational database there's also Dynamo

play06:39

if you want a non-relational database

play06:42

once again the whole point of using a

play06:44

cloud service for this rather than

play06:46

hosting your own database is because

play06:48

nobody wants to host their own database

play06:50

nobody wants to deal with those issues

play06:52

unless they have to now is a good chance

play06:55

actually to talk about proprietary

play06:57

software in many cases AWS isn't doing

play07:01

anything creative they're actually just

play07:03

taking open-source software kind of like

play07:05

we discussed right now my sequel or

play07:08

postgress is open source to solve this

play07:12

problem of making the user experience

play07:13

better is just to take open source

play07:15

software and then host it and make a

play07:17

manage service out of it that's a lot of

play07:19

what relational database service does

play07:21

but there is something else Dynamo DB if

play07:25

you want to use this type of database

play07:27

like this database service you can only

play07:30

do so on AWS so this is an example of

play07:33

proprietary software if you built your

play07:35

app around Dynamo DB and now you decide

play07:38

that it's costing you too much money you

play07:40

want to move to a different service well

play07:42

you're going to have to migrate all of

play07:43

your data because AWS is the only one

play07:46

who offers Dynamo DB if you want to go

play07:48

to Google Cloud you can't and so this is

play07:50

commonly talked about as vendor lockin

play07:53

generally you don't want to be locked in

play07:56

but recognize that it's probably not

play07:58

going to be a problem unless your app

play07:59

actually starts scaling because if

play08:01

you're spending like a 100 bucks a month

play08:03

on Dynamo DB hopefully your company is

play08:05

making more than that much money but if

play08:07

you start spending thousands and

play08:08

thousands then it becomes an issue and

play08:11

you'll also find that different

play08:12

companies have their own versions of

play08:14

databases for example Google's version

play08:16

of a Dynamo DB would be either fir store

play08:20

or Cloud spanner Microsoft has their own

play08:22

Cosmos DB I think it's called I've never

play08:24

used it the idea is that once you know

play08:27

about one service you you know about one

play08:29

database that AWS offers then going to a

play08:32

different cloud provider is pretty

play08:33

trivial because they have their own

play08:35

version so once you know one you've

play08:36

learned the others like every cloud

play08:38

provider has an object store they all

play08:41

have a VM service they all have their

play08:42

own proprietary or open source database

play08:45

Services I talked about how a lot of

play08:47

services just take open- Source software

play08:49

and then just make a managed service out

play08:51

of it well one of the services that

play08:53

didn't do that was AWS Lambda commonly

play08:56

known as functions as a service this was

play09:00

in a sense taking this CPU component the

play09:02

compute component like if you wanted to

play09:04

actually create an API or run some type

play09:07

of compute not necessarily storing

play09:09

persistent data you would use something

play09:12

called AWS Lambda and pretty much every

play09:14

big cloud provider has copied it Google

play09:16

has Cloud functions I'm sure Azure has

play09:18

their own but the idea is all you have

play09:21

to do you don't worry about the

play09:23

infrastructure at all you don't worry

play09:25

about the VM the disc you hardly worry

play09:27

about the CPU and the ram you set like

play09:29

memory limits and things like that but

play09:31

basically you take your code as a

play09:34

developer and that code is pretty much

play09:37

deployed for you you don't have to worry

play09:39

too much about the environment you just

play09:41

take your code and it runs now the

play09:44

problem with functions as a service this

play09:45

is one of the most serverless services

play09:48

that you can do and the reason I say

play09:49

that is because serverless is really a

play09:51

spectrum there are services that are

play09:54

completely managed by the cloud Lambda

play09:56

would be a pretty good example of that

play09:58

and then there are other services like

play09:59

VMS that are not managed at all and then

play10:02

there are database Services which are

play10:04

half managed and half not sometimes

play10:06

Dynamo DB is very managed but the idea

play10:09

is that there's a spectrum and Lambda or

play10:11

functions as a service abstract away

play10:14

pretty much everything for you but that

play10:16

does come with some downsides for

play10:18

example if you want to manage any type

play10:21

of State in your API which is becoming

play10:23

less and less common with rest apis and

play10:26

microservices you probably won't need to

play10:27

do that but if you do you probably won't

play10:30

be able to use Lambda unless you use

play10:32

some type of external storage because

play10:34

when you run a Lambda function you don't

play10:36

really have access to your disc that's

play10:39

abstracted away from you it can be good

play10:41

sometimes and sometimes it can be bad so

play10:43

it depends on what type of problem

play10:44

you're trying to solve but with Lambda

play10:47

most apis can be solved with this way

play10:49

and if they can why would you ever want

play10:51

to manage your own VM it's a pain so now

play10:54

if you just look at these four

play10:56

categories of services you can build

play10:59

almost anything with these the one big

play11:01

category I've probably been lacking on

play11:03

is networking and I probably won't go

play11:05

super in depth into that for example

play11:07

like load balancers CDN and things like

play11:10

that but logic wise we can do pretty

play11:13

much everything with these services and

play11:15

you probably don't even need ec2 you

play11:17

don't need VMS cuz VMS you can handle

play11:20

everything with anyway but just looking

play11:22

at this we have persistent file storage

play11:24

we have persistent like application data

play11:26

storage and we have compute we can serve

play11:28

our front end or our back end where we

play11:30

go from here is kind of opinionated so

play11:33

there's two categories I kind of wanted

play11:35

to talk about one is just observability

play11:38

in general and I'm not an expert when it

play11:41

comes to AWS with observability but I

play11:43

think the services are going to be

play11:44

pretty similar to Google Cloud but it's

play11:46

about like your logging your monitoring

play11:49

data and your alerts being able to

play11:51

observe how your application is running

play11:54

via like servers side logs or metrics

play11:56

for example if you want to see like how

play11:58

much CPU your VMS are using or how long

play12:01

your queries are taking that would be

play12:03

monitoring data and if you wanted to

play12:04

know if one of these Services went down

play12:07

for some reason or the latency got too

play12:09

high you'd probably want to be alerted

play12:11

of that via some push notification in

play12:13

real time so that's what observability

play12:15

is about and the big cloud providers

play12:17

have done a decent job of giving you

play12:19

tools for observability but there

play12:22

actually are other services such as data

play12:25

dog it's a relatively big company

play12:27

actually and their whole proposition is

play12:29

that they can handle observability

play12:32

better than the big cloud providers even

play12:34

though there's actually a bit more

play12:36

friction in using one of these external

play12:39

tools because there's more work involved

play12:42

in like setting up the monitoring agents

play12:43

and things like that but generally

play12:45

speaking people are big fans of services

play12:48

like data do because they make this

play12:49

stuff actually easier for you it's not

play12:52

just that when you think about something

play12:54

called Data warehouses the big cloud

play12:56

providers have I think aw us is is

play12:59

called red shift Google has big query

play13:01

and they do a decent job some of them do

play13:04

better than others but even given that

play13:06

they're actually are other platforms

play13:08

like snowflake like data bricks that are

play13:11

basically companies dedicated to solving

play13:14

these problems and if they're spending

play13:15

all their energy on one specific area

play13:18

then they think and in many cases they

play13:21

do do better than the big providers

play13:24

tools like AWS have made development so

play13:27

much easier than it was years ago where

play13:29

you needed your own servers still people

play13:32

complain that AWS is really really

play13:34

complicated to use and so now there are

play13:36

companies like versel which pretty much

play13:39

at a high level are rappers around AWS

play13:43

and I don't mean that as an insult

play13:44

because in a sense AWS is just wrappers

play13:47

around like other open source software

play13:49

the whole goal of these Cloud providers

play13:51

is to give you an easier way to use AWS

play13:55

resources just like how these resources

play13:57

RDS functions as a service they're just

play14:00

wrappers around VMS everything is just

play14:02

an abstraction on top of other things

play14:05

and that's okay because the whole point

play14:07

is to make development easier now lastly

play14:10

I wanted to talk about the differences

play14:12

between Regional and Global Services cuz

play14:14

it's kind of a buzzword you see it

play14:15

thrown around a lot the definition is

play14:18

kind of fuzzy for example if we talk

play14:20

about a Content delivery Network a CDN

play14:23

well that's inherently a global Service

play14:27

because you have a world m app and a CDN

play14:29

is basically just a distribution of

play14:31

servers around the world that store some

play14:34

static data usually and so you can't

play14:37

really have a regional CDN now take the

play14:40

other side take a VM for example VMS are

play14:44

inherently Regional you can't have one

play14:47

VM split in five different regions right

play14:50

you just have one VM in a location you

play14:52

could have a second VM somewhere else

play14:53

and a third one somewhere else and you

play14:55

know you could have these VMS under a

play14:58

load balancer serving traffic in

play15:01

different parts of the world that's

play15:02

perfectly fine the service itself is

play15:05

regional though a VM is regional

play15:08

sometimes it gets kind of fuzzy if we're

play15:10

talking about databases like Dynamo DB

play15:14

or Google Cloud spanner and before I

play15:17

even get into those let's just talk

play15:18

about a regular relational database

play15:20

service like RDS and I think Google's is

play15:23

cloud SQL I really prefer the names in

play15:26

Google Cloud they're just a bit more

play15:27

intuitive but with a regional database

play15:30

service you have your world map and you

play15:32

have your database service hosted in a

play15:35

certain region even though it can be

play15:37

partially managed for example like

play15:39

replicas database backups and a lot of

play15:41

things can be managed for you by the

play15:43

cloud provider it's still in a single

play15:45

region and it'll be serving traffic

play15:48

probably around the world so some places

play15:50

in the world are going to receive data a

play15:52

little bit slower usually it doesn't

play15:53

matter though but when you get into

play15:55

Global databases these are super super

play15:58

super powerful because they actually

play16:01

manage sharding and replication for you

play16:05

and they distribute your data all around

play16:08

the world even though it's distributed

play16:10

around the world they will work together

play16:12

generally your request will be routed to

play16:14

the nearest location the power of a

play16:17

global database is huge even though most

play16:20

people probably won't need it it is very

play16:23

powerful in just handling the scale for

play16:25

you and making the latency as small

play16:28

small as possible because data is stored

play16:30

as close to the user as possible kind of

play16:33

like with a Content delivery Network and

play16:35

generally you'll find that Global

play16:37

Services usually cost more and managed

play16:40

cloud services also cost more because

play16:42

the more work that the cloud provider

play16:44

does for you the more they're going to

play16:46

charge you of course sometimes it's

play16:48

worth it though like this is a very hard

play16:49

problem to solve you probably don't want

play16:51

to implement your own Global database by

play16:53

yourself you probably just want to pay

play16:54

somebody to do it for you this is a lot

play16:56

of open-ended discussion but I think

play16:59

that's what's most important I could

play17:00

have gone into an example of one of

play17:02

these Cloud providers but looking at it

play17:04

from a high level I think is most

play17:06

important and getting hands on with it

play17:08

which is something we didn't do is

play17:10

something I'd also recommend to you like

play17:11

don't just watch me talk about this

play17:13

stuff try using some of these Services

play17:15

try building an application out of them

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Cloud ComputingAWS ServicesVMsManaged ServicesServerlessDatabasesVendor Lock-inScalabilityGlobal ServicesObservability