AWS & Cloud Computing for beginners | 50 Services in 50 Minutes

in28minutes - Get Cloud Certified
7 May 202249:26

Summary

TLDRIn this informative video, Ranga Karnam, a 10x certified cloud expert, guides viewers through the complexities of AWS, offering insights into various services for deploying cloud applications. From EC2 instances and Elastic Beanstalk for compute needs, to RDS and DynamoDB for databases, and S3 coupled with CloudFront for static content delivery, the video simplifies the AWS landscape. It also touches on security, networking with VPCs, and the importance of DevOps practices in the cloud, making it an invaluable resource for beginners looking to understand or attain cloud certifications.

Takeaways

  • 🚀 Rangana Karnam is a 10x certified expert in AWS, Azure, and Google Cloud, offering courses to help thousands of learners achieve cloud certifications.
  • 🛠️ The video aims to provide an understanding of AWS services using a simple application example involving a front-end, REST API, and database.
  • 📚 AWS offers over 50 different services, which can be explored through practical examples to understand their applications better.
  • 💻 For deploying a REST API, AWS suggests using EC2 (Elastic Compute Cloud) for compute, ELB (Elastic Load Balancer) for load balancing, and ASG (Auto Scaling Group) for scaling EC2 instances.
  • 🌐 To ensure high availability, AWS leverages Regions and Availability Zones, which distribute resources geographically to prevent downtime.
  • 📈 Managed services like Elastic Beanstalk simplify the deployment process by handling the operational details, allowing users to focus on code deployment.
  • 🐳 The shift towards Docker containers has led to the popularity of container orchestration services like EKS (Elastic Kubernetes Service) and ECS (Elastic Container Service) in AWS.
  • 🎯 AWS Lambda is a serverless computing service that runs code without managing servers, scaling automatically and charging based on request volume.
  • 🔍 Choosing between SQL (relational) and NoSQL (non-relational) databases depends on the application's need for structure, scalability, and transaction management.
  • 📊 AWS provides managed database services like RDS (Relational Database Service) for SQL databases, Aurora for high scalability, and DynamoDB for NoSQL needs.
  • 📈 For analytical processing, AWS Redshift is recommended, allowing for high-performance queries on large data volumes.
  • 🌍 To serve front-end applications, AWS S3 (Simple Storage Service) can be used for static website hosting, combined with Route 53 for domain management and CloudFront for content distribution.

Q & A

  • What is the primary focus of the video script?

    -The video script focuses on providing an overview of various AWS services and how they can be used to deploy and manage applications in the cloud.

  • What does Ranga Karnam claim to be certified in?

    -Ranga Karnam claims to be 10x certified in AWS, Azure, and Google Cloud.

  • What is the example application scenario discussed in the script?

    -The example scenario is a simple full-stack application with a front-end application communicating with a REST API, which in turn fetches data from a database, along with a reporting workflow.

  • What AWS service is used for compute services?

    -AWS EC2 (Elastic Compute Cloud) is used for compute services in AWS.

  • What is the purpose of an Elastic Load Balancer in AWS?

    -An Elastic Load Balancer in AWS is used to distribute incoming application traffic across multiple EC2 instances.

  • What is an Auto Scaling Group in AWS and why is it used?

    -An Auto Scaling Group in AWS is used to automatically scale the number of EC2 instances up or down according to demand, ensuring application availability and managing costs.

  • What does the script suggest for deploying a REST API in AWS?

    -The script suggests using services like EC2, Elastic Load Balancer, Auto Scaling Group, Elastic Beanstalk, or even serverless options like AWS Lambda for deploying a REST API in AWS.

  • What are the main differences between using EC2 and Elastic Beanstalk for deploying applications?

    -EC2 requires manual setup of instances, load balancing, and scaling, whereas Elastic Beanstalk is a managed service that automatically handles the deployment, scaling, and management of the application.

  • What service in AWS is recommended for deploying Docker container images?

    -AWS Elastic Beanstalk is recommended for deploying Docker container images in AWS, as it supports container images and manages the deployment process.

  • What does the script mention about AWS Lambda in the context of serverless computing?

    -The script mentions that AWS Lambda is a popular service for serverless computing, where you only need to provide the code, and AWS handles the infrastructure, scaling, and execution based on the number of requests.

  • What AWS services are discussed in the script for managing relational and NoSQL databases?

    -The script discusses AWS RDS (Relational Database Service) for managing relational databases, Amazon Aurora for regional and global relational databases, and Amazon DynamoDB for NoSQL databases.

  • What is the role of AWS Redshift in the context of databases?

    -AWS Redshift is an analytical database service designed for running complex queries and processing large volumes of data with high performance.

  • How does AWS Data Pipeline fit into the data management scenario described in the script?

    -AWS Data Pipeline is used for creating data pipelines that can move data from transactional databases to analytical databases like Redshift, facilitating data integration and business intelligence processes.

  • What AWS service is used for object storage and can also serve static websites?

    -Amazon S3 (Simple Storage Service) is used for object storage in AWS and can also be used to serve static websites by hosting the website's files in an S3 bucket.

  • What is the significance of a Virtual Private Cloud (VPC) in AWS?

    -A Virtual Private Cloud (VPC) in AWS is significant for security purposes, allowing users to isolate their resources and control the traffic flowing into and out of their applications and databases within the AWS cloud.

  • What AWS services are mentioned in the script for DevOps practices?

    -The script mentions AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS OpsWorks, AWS CloudFormation, Terraform, AWS CDK, and AWS CloudWatch for DevOps practices, including CI/CD, infrastructure as code, and observability.

  • What service in AWS is used for sending notifications and handling pub/sub messaging?

    -Amazon SNS (Simple Notification Service) is used for sending notifications, and Amazon SQS (Simple Queue Service) is used for handling pub/sub messaging and queuing services in AWS.

  • What does the script suggest for someone who wants to get cloud certified?

    -The script suggests checking out beginner-level cloud certification courses such as AWS Cloud Practitioner, Azure Fundamentals (AZ-900), or Google Cloud Digital Leader for those who want to get cloud certified.

Outlines

00:00

🚀 Introduction to AWS Cloud Services

Ranga Karnam introduces himself as a 10x certified expert in cloud technologies, including AWS, Azure, and Google Cloud. He outlines the goal of the video: to provide an educational journey through AWS services using a simple application example. The example involves a front-end application, a REST API, and a database, which are typical components of a full-stack application. The video promises an exploration of over 50 different AWS services, starting with the deployment of a REST API using EC2 for compute, Elastic Load Balancer for traffic distribution, and Auto Scaling Groups for instance management. The importance of high availability through regions and zones in AWS is also mentioned.

05:01

🛠 Compute Services and Managed Options in AWS

This paragraph delves into the complexities of setting up a REST API on AWS, including the use of EC2 instances, Auto Scaling Groups, and Elastic Load Balancers. It discusses the challenges of managing infrastructure and introduces managed services like Elastic Beanstalk, which simplifies deployment by handling scaling and load balancing. The paragraph also touches on the evolution to containerization with Docker and the use of Elastic Beanstalk for deploying container images, as well as the options for microservices architectures with Elastic Kubernetes Service (EKS) and Elastic Container Service (ECS). It contrasts these with serverless deployment using AWS Fargate, which eliminates the need for cluster management.

10:01

📚 AWS Database Services: RDS, Aurora, and DynamoDB

The script shifts focus to database services in AWS, explaining the distinction between SQL (relational) and NoSQL (non-relational) databases. It highlights Amazon RDS for relational databases, supporting engines like MySQL, Oracle, and SQL Server, and Amazon Aurora for global databases that require high scalability and availability. For NoSQL use cases, Amazon DynamoDB is presented as a document database suitable for applications requiring high transaction rates and scalability. The importance of choosing the right database service based on the application's needs is emphasized.

15:03

📊 Analytical Databases and Business Intelligence with AWS

The paragraph discusses analytical databases for handling large-scale data queries and business intelligence tasks. It mentions AWS Redshift as a popular solution for analytical databases, capable of managing petabytes of data with high performance. The use of AWS Data Pipeline for transferring data from transactional databases to analytical databases is highlighted, along with business intelligence tools like AWS QuickSight for querying and gaining insights from analytical data.

20:03

🌐 Front-End Hosting and Storage Services in AWS

The focus moves to front-end web applications and the various ways they can be hosted on AWS, including using EC2 instances or object storage like Amazon S3. The paragraph explains the use of Elastic Block Store for VM storage, Elastic File Store for shared file systems, and object storage for storing and serving static website content. It also introduces AWS services like Route 53 for domain management and CloudFront for content distribution and caching.

25:04

🔒 Networking and Security in AWS Cloud

Networking and security are the central themes of this paragraph. It discusses the importance of Virtual Private Cloud (VPC) in creating a secure and isolated network environment within the AWS cloud. The use of subnets for organizing resources into public and private sections is explained, along with the use of VPN and Direct Connect for establishing secure connections between on-premises data centers and AWS VPCs.

30:05

🔁 DevOps Practices and Services in AWS

The script covers DevOps practices in AWS, emphasizing the importance of automation in infrastructure provisioning, application deployment, and observability. It introduces AWS CodePipeline, CodeBuild, and CodeDeploy for CI/CD processes. The paragraph also discusses Infrastructure as Code using AWS CloudFormation, Terraform, and AWS CDK, as well as configuration management with AWS OpsWorks. The importance of monitoring and observability is highlighted with AWS CloudWatch for metrics and logs, and AWS X-Ray for tracing.

35:06

📬 Messaging and Notification Services in AWS

This paragraph introduces messaging and notification services in AWS, such as Amazon SQS for queueing services and SNS for simple notification services. It explains how these services facilitate asynchronous communication between applications and components within the AWS ecosystem.

40:07

🎓 Conclusion and Cloud Certification Courses

In the concluding paragraph, Ranga summarizes the video's goal of providing a high-level overview of AWS services and encourages viewers to pursue cloud certifications through courses offered for AWS, Azure, and Google Cloud. He expresses confidence in the ease of learning cloud technologies and invites viewers to engage with the content by liking, sharing, and subscribing. Ranga also invites feedback on difficult cloud topics, promising to address them in future videos.

Mindmap

Keywords

💡AWS

AWS, or Amazon Web Services, is a comprehensive and widely adopted cloud platform. It is central to the video's theme as it provides a range of services for computing, storage, databases, and more. The script discusses various AWS services such as EC2 for virtual machines, S3 for object storage, and Lambda for serverless computing.

💡EC2 (Elastic Compute Cloud)

EC2 is a service within AWS that provides scalable computing capacity in the cloud. In the video, EC2 is discussed as a foundational service for running applications, with the ability to create virtual machines and handle compute requirements for applications like REST APIs.

💡Elastic Load Balancer (ELB)

An Elastic Load Balancer is used to distribute incoming application traffic across multiple instances. The script mentions ELB in the context of evenly distributing user requests to EC2 instances, ensuring reliability and availability of applications.

💡Auto Scaling Group

Auto Scaling Group is a concept in AWS that allows automatic scaling of EC2 instances up or down based on demand. The video explains how this service can be used to maintain application performance and cost-effectiveness by adjusting the number of active instances.

💡Regions and Zones

In AWS, Regions and Zones refer to the physical locations where data centers reside. The script uses this concept to explain the importance of geographical distribution of resources for high availability and disaster recovery purposes.

💡Elastic Beanstalk

Elastic Beanstalk is a service in AWS that simplifies the deployment and scaling of applications. The video describes it as a managed service that abstracts away much of the infrastructure management, allowing users to focus on their applications rather than the underlying AWS resources.

💡Containers

Containers are a lightweight, standalone, and executable package of software that includes everything needed to run an application. The script discusses the evolution towards containerization as a way to simplify application deployment and management within AWS, mentioning Docker as a popular container runtime.

💡EKS (Elastic Kubernetes Service)

EKS is a managed service in AWS that makes it easy to run Kubernetes, a container orchestration system. The video mentions EKS as a service for managing and scaling containerized applications across a cluster of nodes.

💡Serverless

Serverless computing refers to the execution of code in response to events without the need to explicitly manage the underlying server infrastructure. AWS Lambda is highlighted in the script as a serverless service that runs code in response to events and scales automatically.

💡RDS (Relational Database Service)

RDS is a managed database service in AWS that simplifies the process of setting up, operating, and scaling a relational database. The video discusses RDS as a way to create and manage SQL databases such as MySQL, PostgreSQL, Oracle, or Microsoft SQL Server.

💡DynamoDB

DynamoDB is a fully managed NoSQL database service provided by AWS. The script explains it as a service for applications that require high scalability and flexibility, allowing for storage and retrieval of large volumes of data without the need for complex database management.

Highlights

Introduction to AWS services through a simple application example.

Explanation of Full Stack Application components in AWS.

Deployment of REST API using EC2, Elastic Load Balancer, and Auto Scaling Group.

Concept of Regions and Zones for high availability in AWS.

Introduction to Managed Services like Elastic Beanstalk for simplified deployment.

Evolution to Docker Containers and AWS services supporting them.

Elastic Kubernetes Service (EKS) and Elastic Container Service (ECS) for container orchestration.

Serverless architecture with AWS Lambda for code execution without server management.

Decision-making between SQL and NoSQL databases in AWS.

AWS RDS and Aurora for relational databases, and DynamoDB for NoSQL databases.

AWS Redshift for analytical databases and data warehousing.

AWS Data Pipeline for moving data from transactional to analytical databases.

Serving front-end applications using EC2 instances or S3 for static websites.

Elastic Block Store (EBS) and Elastic File Store (EFS) for VM storage solutions.

S3 as an object storage service for files and static website hosting.

Use of Route 53 for domain naming and CloudFront for content distribution.

Importance of security and networking in AWS with Virtual Private Cloud (VPC).

DevOps practices in AWS with services like CodePipeline, CodeBuild, and CodeDeploy.

Infrastructure as Code with AWS CloudFormation, Terraform, and CDK.

Observability in AWS using CloudWatch for metrics and logs, and X-Ray for tracing.

AWS services for asynchronous communication: SQS and SNS.

Encouragement for viewers to pursue cloud certifications and the presenter's confidence in their ability to succeed.

Transcripts

play00:00

i'm ranga karnam i'm 10x certified in

play00:02

aws azure and google cloud as well

play00:07

our courses are helping thousands of

play00:09

learners do their cloud certifications

play00:11

in aws azure and google cloud

play00:14

in this video let's learn aws we will

play00:17

take a simple example and understand all

play00:20

the different services which are present

play00:22

in aws we'll be exploring more than 50

play00:25

different aws services with this

play00:27

specific example

play00:28

are you ready to get on a ride to learn

play00:30

aws let's get started the example we are

play00:34

going to use is a very very simple

play00:35

application right you have a front-end

play00:38

application which is talking to a rest

play00:39

api which is fetching the data from a

play00:42

typical database and you also have a

play00:45

reporting workflow let's not really

play00:47

worry about the reporting workflow right

play00:48

now let's start with thinking about how

play00:51

we can

play00:52

actually implement this specific

play00:54

front-end application talking to a rest

play00:56

api talking to a database this is

play00:58

typically called a full stack

play00:59

application right so how do we implement

play01:01

this in aws that's the first thing that

play01:04

we would start with right now now let's

play01:06

start with focusing on the rest api part

play01:10

of it right you'd want to deploy a rest

play01:14

api

play01:15

to aws let's say this is a java

play01:17

application or a python application or a

play01:19

node.js application which is

play01:21

part of your rest api what do you need

play01:24

to run your specific rest api

play01:27

let's say you are running it in your

play01:29

data center typically what you need is

play01:31

something called a virtual machine you

play01:34

need some kind of compute to be able to

play01:37

run your application this is what is

play01:39

called a virtual machine will just one

play01:42

virtual machine be sufficient

play01:45

what if this virtual machine goes down

play01:47

your application will go down and that's

play01:49

why

play01:50

in the cloud typically you will not just

play01:52

have one virtual machine what you'll

play01:53

have is a group of virtual machines so

play01:56

you'll have a group of virtual machines

play01:59

where you would deploy your application

play02:02

to and when you have a group of virtual

play02:04

machines what do you need you need to be

play02:06

able to load balance between them so you

play02:08

need to set up a load balancer to load

play02:10

balance the requests between all these

play02:14

things so you need to have something on

play02:16

top of this this is nothing but a load

play02:19

balancer so all the requests from the

play02:21

user would go to the load balancers

play02:24

and then from the load balancer they

play02:25

would flow down to your vms all the

play02:28

virtual machines

play02:29

on this virtual machine is where you can

play02:31

deploy your application maybe if it's a

play02:33

python application you would install

play02:35

python and then deploy it in there this

play02:38

is kind of a simple architecture you can

play02:41

get started with and if you're

play02:43

implementing this kind of an

play02:45

architecture in aws what you can make

play02:47

use of is something called ec2 elastic

play02:51

compute cloud elastic compute cloud is

play02:54

the compute service in aws and

play02:58

if you'd want to do load balancing what

play03:00

you would need to do is to use something

play03:03

called elastic load balancer elastic

play03:06

load balancer will help you to load

play03:08

balance between different ec2 instances

play03:11

one of the things that we have seen in

play03:13

here is the fact that we want to create

play03:15

a group of ec2 instances we want to

play03:17

create a group of virtual machines how

play03:20

can you do that to be able to create a

play03:22

group of virtual machines what you need

play03:24

to do is you would need to actually make

play03:27

use of

play03:28

a

play03:29

concept in aws called auto scaling group

play03:34

typically when i just need to create one

play03:36

virtual machine ec2 is sufficient

play03:38

elastic compute cloud is sufficient

play03:40

however if i would want to increase the

play03:43

number of ec2 instances if i would want

play03:45

to create a group of ec2 instances

play03:48

that's when i would go for an auto

play03:50

scaling group

play03:52

and you'd use an elastic load balancer

play03:55

to

play03:56

distribute the load among different ec2

play03:59

instances which are part of an auto

play04:00

scaling group so that's how you can

play04:03

deploy your rest api to aws

play04:07

one of the things that you can do is you

play04:09

would want to increase the availability

play04:12

of your application right what if this

play04:15

specific vm goes down if this specific

play04:17

vm goes down your

play04:18

application also goes down and you don't

play04:21

want your applications to be down your

play04:24

application should always be available

play04:26

to your users how can you ensure that

play04:29

your applications your vms which are

play04:31

deployed don't go together down right

play04:34

they should not go down

play04:36

both of them together all of them

play04:38

together right so that's the reason

play04:40

aws provides you with concepts called

play04:43

regions and zones what are regions and

play04:46

zones

play04:47

let's write them down

play04:49

regions

play04:50

and zones what's the concept behind

play04:52

regions regions and zones typically

play04:55

whenever you have an enterprise maybe

play04:58

they have just one data center if you

play05:01

deploy all your vms to this data center

play05:04

if this data center goes down your

play05:06

application goes down completely and

play05:08

that's the reason why you don't want to

play05:10

deploy your vms to just one data center

play05:13

you might want to deploy your vms to

play05:15

multiple data centers and you don't want

play05:18

to deploy two data centers in a single

play05:20

region right this might be let's say in

play05:24

london you don't want to deploy just to

play05:26

london

play05:27

if you want your applications to be

play05:28

highly available you want to be able to

play05:30

geographically distribute them as well

play05:32

maybe you'd want to set up something

play05:34

similar in new york as well so you'd

play05:37

want to have something in london

play05:38

something in new york something in

play05:40

sydney something in mumbai

play05:42

and you'd want to create your vms in

play05:44

there so

play05:46

this is just the concept of regions and

play05:48

zones

play05:49

in aws each of these london for example

play05:53

new york for example maybe there are

play05:55

multiple other regions as well aws

play05:58

offers around 26 different regions

play06:00

around the world

play06:01

what these regions allow you to do is to

play06:03

deploy these vms in different parts of

play06:06

the world thereby your applications

play06:09

don't go down

play06:11

even if the entire geographic location

play06:13

is going down even if your data center

play06:15

completely goes down your applications

play06:17

are still available

play06:19

so what a asg allows you to do is to

play06:22

distribute your ec2 instances across

play06:25

multiple zones so in a single region you

play06:28

can deploy your ec2 instances across

play06:31

multiple zones now one of the things

play06:34

that you would have been seeing until

play06:35

now is the fact that there is a lot of

play06:37

complexity that is associated with

play06:39

setting up a simple thing all that i am

play06:42

doing in here is i want to set up a rest

play06:44

api for a python application and already

play06:47

we are talking about a lot of different

play06:49

concepts related to aws we are talking

play06:51

about ec2 instances asg we are talking

play06:54

about elbs we are talking about region

play06:57

zones

play06:58

you might be wondering why do i need to

play07:00

worry about all this do cloud providers

play07:03

make it simple for me

play07:04

yep the cloud providers do make it

play07:06

simple for you and that's where you can

play07:08

go for some of the managed services

play07:11

which are present in the cloud platforms

play07:14

instead of creating ec2 instances

play07:15

manually instead of creating auto

play07:17

scaling groups instead of creating

play07:18

elastic load balancers you can tell aws

play07:21

hey aws this is the code i would want to

play07:24

deploy

play07:25

if the number of requests come in if a

play07:28

high load of requests come in then

play07:30

increase the number of instances if low

play07:33

if there are less requests coming in

play07:35

then decrease the number of instances

play07:37

can you do that automatically for me i

play07:40

don't want to worry about installing

play07:41

python i don't want to worry about

play07:43

installing my application on each of

play07:45

these vms that's a lot of work for me i

play07:48

don't want to worry about those

play07:49

operational details i'll just give you

play07:52

something like a jar or a war file or a

play07:54

python deployable unit or a container

play07:57

image and can you deploy that for me

play07:59

automatically and can you manage

play08:01

everything for me that's where main age

play08:03

services come into picture the main

play08:06

services which are present for compute

play08:09

in aws if you just want to set up a

play08:11

simple setup like this if you want to

play08:14

like create a load balancer distribute

play08:16

the load between multiple ec2 instances

play08:19

in those kind of situations you can go

play08:21

for this specific service in abs called

play08:24

elastic bean stock

play08:26

with elastic bean stock all that you

play08:29

need to specify

play08:31

is hey aws can you take this piece of

play08:34

code and can you deploy this in such a

play08:36

way that

play08:38

this is deployed to these many instances

play08:41

you can also configure auto scaling

play08:43

basically you can say increase the

play08:44

number of instances based below based on

play08:46

the load and decrease the number of

play08:47

instances based on the load as well so

play08:50

that's elastic beam stock for you it's a

play08:52

managed service for compute in aws you

play08:56

don't really need to worry about load

play08:57

balance setting up the load balancer

play08:59

setting up the auto scaling groups

play09:00

setting up the metrics for it setting up

play09:02

the ec2 instances you don't need to

play09:04

worry about what run time what runtime

play09:06

needs to be available on the ec2

play09:08

instances you don't need to

play09:10

worry about that all that you need to do

play09:11

is to go to elastic bin stock and say i

play09:13

would want to deploy a java application

play09:15

here is the jar or a var here is the

play09:18

container image for it and elastic bean

play09:20

stock would run it for you so if you

play09:22

have a simple application simple java

play09:25

based python based node.js based or any

play09:27

other language based application you can

play09:29

use elastic bean stock to deploy to aws

play09:33

without worrying about managing it you

play09:36

don't need to worry about availability

play09:37

scalability you don't need to worry

play09:39

about increasing the number of instances

play09:41

and things like that elastic bean stock

play09:43

takes care of everything for you

play09:46

one of the other important evolutions in

play09:48

the last few years is the evolution to

play09:51

docker containers right instead of

play09:53

actually trying to create a vm with

play09:57

multiple layers right so whenever we are

play09:58

trying to set up an application in the

play10:00

vm there are a lot of things that you

play10:01

need to set up first is the underlying

play10:03

infrastructure of the vm let's not

play10:05

really worry about it on top of it is

play10:07

where your os is on top of it is where

play10:09

your application run time if i would

play10:11

want to have java application then i

play10:13

would need to create a java runtime

play10:15

and on top of it is the code you'd also

play10:18

need to be able to uh

play10:20

deep like configure enronment variables

play10:22

and things like that

play10:24

right so deploying an application

play10:26

typically involves a lot of different

play10:28

steps so if i want to deploy something

play10:30

to a vm there are a lot of manual steps

play10:32

involved and to avoid that

play10:35

we started going towards containers so

play10:38

we started going towards a container

play10:41

image so instead of

play10:44

instead of doing this on the vm what we

play10:46

can do is we can create a container

play10:48

image and the container image contains

play10:51

the os it contains the runtime it

play10:53

contains the configuration you need and

play10:55

it also contains the deployable unit or

play10:57

the code which you would want to be able

play10:58

to run and once you have a container

play11:01

image you can go ahead and run this

play11:04

anywhere you can run it on your local

play11:06

machine you can run it in the cloud you

play11:07

can run it on the data center

play11:09

that's

play11:10

the concept of containers and docker is

play11:13

one of the most popular container

play11:15

runtimes right so docker specifies a

play11:17

format where

play11:19

how it specifies how your container

play11:21

image should be structured and also it

play11:23

specifies the standards for the

play11:25

container runtime so it tells this is

play11:27

how your container run time should be as

play11:29

well and in aws if you have docker

play11:32

images you can use elastic bean stock to

play11:35

run them as well so elastic bean stock

play11:37

not only supports jars bars python

play11:39

applications and things like that you

play11:40

can also give it a container image and

play11:44

it would ensure that it is deployed in

play11:46

the right way in an efficient way and it

play11:48

also enables auto scaling it enables

play11:50

easy operations and all that stuff

play11:53

however let's say you have a micro

play11:55

services architecture where you have a

play11:57

number of small micro services which are

play11:59

talking to each other some enterprises

play12:01

have 10 micro services some enterprises

play12:03

have 100 micro services some enterprises

play12:05

have thousands of micro services right

play12:07

in that kind of a scenario what you can

play12:09

do is you can go for something

play12:12

more than just a simple manage service

play12:15

when you have just one application to

play12:17

manage elastic bean stock is a really

play12:19

good thing to go for however when you

play12:21

would ne when you have multiple

play12:23

applications multiple micro services to

play12:25

manage that's when you would need

play12:26

something complex maybe your rest api is

play12:29

not just one rest api you have a number

play12:32

of rest apis which are being exposed in

play12:34

that kind of situations you can go for

play12:36

container orchestration solutions which

play12:38

are present in the cloud if you look at

play12:40

container orchestration one of the most

play12:42

popular container orchestration tools do

play12:45

you want to guess that

play12:46

yup it is kubernetes right so kubernetes

play12:49

is the most popular container

play12:51

orchestration tool today and in aws if

play12:54

you want to run kubernetes you can say

play12:56

you can make use of elastic kubernetes

play12:58

service

play12:59

and

play13:00

aws also provides its own container

play13:03

orchestration service it's called

play13:05

elastic container service

play13:08

actually elastic container service is

play13:10

something which came in even before

play13:12

kubernetes

play13:14

so

play13:14

a lot of customers are making use of ecs

play13:17

especially aws customers are making use

play13:19

of ecs

play13:20

and some of them are actually shifting

play13:22

towards kubernetes as well so aws offers

play13:25

both these options elastic container

play13:27

service and elastic kubernetes service

play13:30

in elastic kubernetes service and

play13:32

elastic container service what you need

play13:33

to do is you need to first create a

play13:35

cluster

play13:36

and in the cluster there are multiple

play13:40

nodes

play13:41

and to this cluster you can deploy your

play13:44

applications that's basically the

play13:46

concept of container orchestration you

play13:48

create a cluster and you can tell the

play13:50

cluster i would want this many instances

play13:52

of this specific container microservice

play13:54

one five instances microservice two six

play13:56

instances microservice three ten

play13:58

instances so on and so forth

play14:00

in eks and ecs you need to manage the

play14:03

cluster so you need to take care of

play14:05

adding nodes to the cluster removing

play14:07

nodes from the cluster all that would

play14:09

become your responsibility however if

play14:12

you want to be able to run something

play14:14

like this in a serverless way you don't

play14:16

need to worry about managing the cluster

play14:18

at all in those kind of situations you

play14:20

can go for far gate

play14:23

aws target is a serverless version of

play14:26

ecs

play14:27

so you can run ecs in a serverless way

play14:30

you can run a container in a serverless

play14:32

way by going for far gate

play14:35

so until now to run your rest api we

play14:38

talked about multiple options the first

play14:39

one which which we talked about is to

play14:41

create an elastic load balancer create

play14:43

elastic compute

play14:45

instances ec2 instances and

play14:48

use a

play14:49

asg to create a group of ec2 instances

play14:51

and use elb to distribute load between

play14:53

them that's the first option however it

play14:56

involves a lot of maintenance lot of

play14:57

headache for you

play14:58

instead of that you can go for elastic

play15:00

bean stock

play15:01

if you have a lot of applications that

play15:03

you would want to manage maybe you want

play15:04

to go for container orchestration

play15:06

solutions that's when you would go for

play15:07

eks and bcs

play15:09

in the last couple of decades there is

play15:10

one more approach which is becoming

play15:12

popular whenever we talk about

play15:14

applications we talk about how to deploy

play15:16

them

play15:17

how to create the cluster

play15:20

how to create a load balancer how to

play15:22

create multiple instances how to install

play15:24

applications on the server how to

play15:26

install a runtime how to

play15:28

deploy the application there and all

play15:30

those kind of things what if you don't

play15:33

need to worry about servers so do not

play15:37

worry

play15:39

about

play15:40

servers

play15:42

that concept is what is called

play15:43

serverless in serverless you don't worry

play15:46

about your servers

play15:49

all that you do is you would give a

play15:51

piece of code so you give a piece of

play15:53

code and you tell aws hey aws this is a

play15:55

piece of code i might get 10 requests i

play15:58

might get 10 000 requests handle it for

play16:00

me i don't really want to worry about it

play16:02

that approach is what is called

play16:04

serverless approach

play16:05

and in aws the most popular service to

play16:08

be able to do that is aws lambda

play16:11

if you look at the serverless world i

play16:13

would say

play16:14

in the serverless functions world aws

play16:16

lambda is the number one service

play16:18

i would say almost 80 percent of the

play16:20

customers who are making use of

play16:22

serverless functions are running them

play16:24

using aws lambda

play16:26

as we talked about earlier when you're

play16:28

going for aws lambda you don't need to

play16:30

worry about servers all that you need to

play16:33

give aws is this is the code this is the

play16:35

runtime i would want to make use of and

play16:37

you'll be able to

play16:39

scale it to whatever limits do you want

play16:41

aws lambda can't handle that for you if

play16:43

there are 10 requests it can handle that

play16:45

for you if there are 10 000 requests it

play16:47

will handle that for you and the other

play16:49

important thing is you'll pay by volume

play16:51

of your request let's say there are 10

play16:53

000 requests that's what you would pay

play16:55

for let's say there are zero requests

play16:57

coming in you don't need to pay anything

play16:59

at all so if you want to be able to run

play17:01

your rest api in a serverless way that's

play17:04

when you would go for aws

play17:06

lambda

play17:08

so until now we looked at some of the

play17:10

main aid services for hosting your

play17:12

compute related things for hosting your

play17:15

web application for hosting your rest

play17:17

api and things like that the options

play17:19

which we looked at are ec2 elastic load

play17:22

balancer

play17:23

we also looked at elastic bean stock you

play17:25

can go for container orchestration with

play17:27

eks ecs or you can go for serverless

play17:29

container option which is target or you

play17:31

can go for the serverless function

play17:33

option which is aws lambda i hope this

play17:36

was very very useful for you let's now

play17:38

go in into the other world let's go into

play17:42

the database world right even running

play17:45

databases is not easy a lot of people

play17:47

think databases are easy to run however

play17:50

databases are very very difficult as

play17:52

well let's say i would want to install a

play17:54

database on a specific vm i need to

play17:56

first set up a os i would need to set up

play17:58

the database runtime oracle or whatever

play18:01

then i would need to create my database

play18:03

and then create my data right so

play18:05

managing a database is also not easy and

play18:08

doing operations for databases also is

play18:10

very very tough if you want to take a

play18:12

backup of this if you want to ensure

play18:14

point in time recovery right let's say

play18:17

some problem happened and i would want

play18:18

to be able to recover to a state my

play18:20

database was in yesterday that is what

play18:22

is called point in time recovery your

play18:25

databases typically you need point in

play18:26

time recovery and you don't want to lose

play18:29

data so you want high durability for

play18:31

your databases and in addition you would

play18:34

want high availability there might be a

play18:36

lot of applications which are talking to

play18:38

your database and your database should

play18:39

be highly available setting up high

play18:42

availability setting up scalability

play18:44

setting up

play18:45

operations everything for your database

play18:47

is very very complex and that's the

play18:49

reason why you don't want to create an

play18:51

ec2 instance and set up a database on it

play18:54

if you create a ec2 instance install

play18:55

database set it up you need to also take

play18:57

care of availability you might want to

play18:59

create another database another copy of

play19:03

it in maybe another zone

play19:05

or another region and those kind of

play19:07

things become really really complex you

play19:09

don't really want to be doing that when

play19:11

you go to the cloud that's where you

play19:13

would go for managed database services

play19:17

so just like there are managed compute

play19:19

services there are managed database

play19:21

services also present in the cloud these

play19:25

manage database services help you to

play19:27

easily create databases and

play19:30

run them in the cloud

play19:31

whenever you want to create a database

play19:33

the first option that you need to think

play19:35

about is do i want to create a sql

play19:36

database or do i want to create a nosql

play19:40

database right

play19:42

i'm using sql as an abbreviation for

play19:44

relational databases

play19:46

right so you might want to create a

play19:47

relational database tables relationships

play19:50

foreign keys primary keys and all that

play19:52

fun stuff or you want flexibility i

play19:54

would want huge scalability right that's

play19:56

when you go for nosql databases when you

play19:59

go to relational databases there is

play20:01

perfect structure so there is a

play20:03

structure in which you need to

play20:05

create your data

play20:06

there are proper relationships

play20:09

it is not really flexible and

play20:11

relational databases typically can scale

play20:14

only to a limited extent however nosql

play20:16

databases don't have any structure

play20:18

typically they are very very flexible

play20:20

with this structure but they provide you

play20:22

with high scale

play20:24

so depending on your specific use case

play20:26

you would want to go for a relational

play20:27

database or a nosql database if you have

play20:30

a banking application and you are

play20:32

managing banking transactions in those

play20:34

kind of situations transaction

play20:36

management is very very important in

play20:38

those kind of situations you would go

play20:39

for relational databases let's say i

play20:41

have a social media application or

play20:44

like let's say i have linkedin or

play20:46

twitter or facebook in this kind of

play20:48

situations

play20:49

transactions might not be so important

play20:52

little bit of cons inconsistency in the

play20:54

data might be okay if i'm posting a

play20:56

tweet it might not go at the same time

play20:59

to all the people that's okay

play21:01

in those kind of situations we would go

play21:03

for nosql databases when we go for nosql

play21:05

databases we need high scale we would

play21:07

want millions of transactions per second

play21:10

right so that's the situations in which

play21:11

you go for nosql databases in aws the

play21:15

most popular relational database is rds

play21:18

relational database service if you want

play21:21

to run mysql or oracle or sql server

play21:24

that's where you'd go for rds there is

play21:27

another option which is very very

play21:28

popular in aws which is called aurora

play21:31

it's also called amazon aurora

play21:34

so if you want a regional database and

play21:38

if you want to scale only to a certain

play21:40

extent maybe the maximum typically

play21:42

allowed is 64 terabytes so if your data

play21:47

fits in with these requirements and if

play21:49

you just want a regional database then

play21:52

you can go for rds with mysql or rds

play21:55

with postgresql

play21:57

or rds with sql server or oracle but if

play22:01

you want a global relational database in

play22:04

those kind of situations you can go for

play22:06

aurora this provides you with

play22:08

99.9 percent availability which is

play22:10

considered to be really really really

play22:12

high

play22:13

it provides transactions it provides

play22:15

high scalability and all the things that

play22:17

you typically need from a relational

play22:20

database

play22:21

so that's one of the options for your

play22:23

database so depending on the type of

play22:24

application you are creating you might

play22:27

choose between relational database or

play22:28

nosql databases if you go for relational

play22:30

databases in aws you have the option to

play22:32

go to aws ids or you can go for rora

play22:37

now let's say you want to go for a nosql

play22:39

database for your transactional

play22:40

application let's say you are creating a

play22:41

social media application for you

play22:43

consistency is not so important but

play22:45

scale is very very important you would

play22:46

want to be able to scale it to millions

play22:48

of transactions per second in those kind

play22:50

of situations you would go for nosql

play22:51

databases and typically the database you

play22:54

would go for in aws is dynamo db

play22:58

dynamodb is the most popular nosql

play23:00

service in aws this is something called

play23:03

a document database you would store your

play23:07

data as json documents and

play23:10

you can actually create indexes on

play23:12

specific elements of your documents and

play23:14

you also have a lot of flexibility a

play23:16

specific document might have certain

play23:18

details a specific another document in

play23:20

the same table might not really have the

play23:23

same amount of details

play23:26

so these are some of the important

play23:28

database options when it comes to

play23:30

transactional applications right

play23:32

transactional applications make small

play23:34

changes like small updates small deletes

play23:37

ads and things like that these are

play23:39

typically online applications a web

play23:41

application is typically a transactional

play23:42

application right a shopping application

play23:45

or a banking application these are all

play23:47

transactional applications

play23:49

now are there just transactional

play23:50

applications

play23:52

no you might have some reporting

play23:54

applications some business intelligence

play23:56

relation related applications as well

play23:58

that's when you would go for analytical

play24:00

databases

play24:02

for example one of the most popular

play24:05

analytical solutions is something called

play24:06

hadoop right you can run hadoop in aws

play24:09

as well and aws provides its own

play24:11

solutions as well in aws if you want to

play24:15

run analytical database one of the

play24:17

recommended options is to go for

play24:19

redshift

play24:21

aws redshift is one of the popular ones

play24:24

you can actually have petabytes huge

play24:26

volumes of data and you can actually run

play24:30

compute or queries against this huge

play24:32

volume of data with very very high

play24:34

performance

play24:36

right whenever we talk about a

play24:37

relational database or actually a

play24:39

transactional database versus analytical

play24:41

database the difference is

play24:43

in terms of the operations which are

play24:44

performed in the case of a transactional

play24:47

database there would be a small amount

play24:49

of

play24:50

large number of transactions right so

play24:52

what we are talking about in here is

play24:54

there would be small updates maybe one

play24:56

row is updated or three rows are updated

play24:58

ten rows are updated or five rows are

play25:01

inserted four rows are basically deleted

play25:04

so these kind of these are the kind of

play25:05

operations which are performed on

play25:07

transactional databases however when we

play25:09

are talking about analytical databases

play25:11

typically you load the data in bulk you

play25:14

will take all the data from a

play25:15

transaction database and load it in bulk

play25:18

into the analytical database but what

play25:20

you would be doing from here is running

play25:23

a lot of queries lot of very very

play25:25

complex queries you'd want to get

play25:27

intelligence so when when it comes to

play25:30

analytical databases you have one-time

play25:33

loads maybe once a day or once a week or

play25:36

things like that and you have huge

play25:38

volumes of reads you have queries which

play25:40

are running which are very very complex

play25:42

and that's the reason why analytical

play25:44

databases are optimized for reads huge

play25:47

volumes of reads across huge volumes of

play25:50

data and in aws the recommended option

play25:53

is redshift you'd go for this when you

play25:55

have analytical workloads that you'd

play25:57

want to run in aws

play25:59

now how do you get the data from your

play26:02

relational database or from your

play26:04

transactional database into your

play26:05

analytical database that's when

play26:08

you can go for a data pipeline so aws

play26:10

provides

play26:12

a

play26:13

service called aws data pipeline

play26:16

aws data pipeline can create data from

play26:18

your database

play26:20

from your transaction database and load

play26:22

it into an analytical database as well

play26:26

and aws also provides business

play26:27

intelligence solutions so you can use

play26:30

something like aws quick site or

play26:31

something of that kind to read from your

play26:34

analytical database and get intelligence

play26:36

to be able to run queries and all that

play26:38

stuff around this

play26:39

right so

play26:41

after focusing on the compute part this

play26:42

is basically rest api is in the compute

play26:44

part

play26:46

we shifted our attention to the database

play26:48

part we talked about how you can run

play26:50

databases in aws we talked about

play26:53

relational databases

play26:54

rds aurora and we talked about nosql

play26:57

databases one of the most popular ones

play26:59

is dynamodb and we also talked about

play27:01

analytical databases redshift you can

play27:03

also run hadoop using a managed service

play27:05

in aws as well and we also talked about

play27:08

business intelligence

play27:09

for example something like aws quick

play27:11

site

play27:12

now let's shift our attention to the

play27:16

front end right until now this is the

play27:18

part which we did not really talk about

play27:20

so let's say we have

play27:22

a web application that we want to serve

play27:24

a react application or a angular

play27:26

application that's what we would want to

play27:28

serve

play27:29

in the front end one of the options you

play27:31

have is to use ec2 instances as well so

play27:34

over here you can create an ec2 instance

play27:36

you can put the web application there

play27:38

and you can also set up load balances to

play27:41

serve this static application which is

play27:43

deployed onto ec2 instance or you can

play27:46

actually set up a web server on the ec2

play27:48

instance and serve it from your elastic

play27:51

load balancer so that's one of the

play27:52

options you always have when you want to

play27:54

serve a front-end application but it

play27:57

again is a lot of operational details

play27:59

and that's where aws provides another

play28:01

service which is actually not related to

play28:04

running applications at all but it also

play28:06

helps you to

play28:07

expose a static website now before we

play28:10

get there let's talk a little bit more

play28:12

about storage services which are present

play28:14

in aws why do we need storage

play28:18

let's say i have a virtual machine right

play28:20

i have a virtual machine

play28:22

i would want to attach a hard disk with

play28:24

it i would want to attach a simple hard

play28:25

disk with it what is the service you can

play28:27

make use of in aws

play28:30

in aws to create virtual machines you

play28:32

can make use of ec2 and when you are

play28:34

creating a virtual machine with ec2 what

play28:36

happens is a hard disk is automatically

play28:39

created for you

play28:40

and the service which is used to create

play28:43

this hard disk for you is called elastic

play28:45

block store

play28:47

so elastic block store is the service

play28:49

which is used to create a hard disk and

play28:51

attach to it with your vm

play28:53

you can also create file shares so if i

play28:56

want to create a file share and share it

play28:57

between multiple ec2 instances multiple

play29:00

maybe instance from my data center in

play29:03

those kind of situations i can go for

play29:04

something called efs

play29:06

elastic file store

play29:08

so what we are talking about over here

play29:10

are storage devices which are attached

play29:12

to your vms so there are a number of

play29:15

storage devices you have and you can

play29:17

attach it with multiple vms whenever we

play29:20

talk about elastic block store we are

play29:22

talking about something like a hard disk

play29:24

a hard disk at a particular point in

play29:25

time can only be attached to a single vm

play29:28

however whenever we're talking about

play29:30

elastic file store what we are talking

play29:31

about is something which can be shared

play29:34

so this one if you are creating using

play29:36

efs can be shared between multiple

play29:39

devices

play29:41

now this is one kind of a use case where

play29:43

you want to attach storage with your

play29:45

virtual machines

play29:47

let's talk about a few other use cases

play29:50

related to storage let's say you have

play29:52

users who are uploading files to a

play29:54

website and you would want to store all

play29:57

those files in a particular place you

play30:00

can use a database but databases are not

play30:02

optimized for storing files let's say

play30:05

these are large video files or large

play30:07

audio files are large images things like

play30:10

that so these are all objects you'd want

play30:13

to be able to store this with a key

play30:15

value pair so the value is the

play30:17

file itself and the key is a unique

play30:19

thing you give to identify a specific

play30:21

thing

play30:22

right so when you want to go do some

play30:25

things like that that's when you go for

play30:26

something called object storage

play30:30

so in object storage you can create

play30:32

buckets and you can store value store

play30:35

objects using key value pairs so you can

play30:38

say this is the key this is the value

play30:40

and you can store text files you can

play30:42

store images you can store

play30:44

video files audio files any kind of

play30:46

files can be stored in object storage

play30:49

using a simple rest api so this provides

play30:52

you with a rest api and you can use the

play30:54

rest api to upload objects to retrieve

play30:56

objects using their keys and values

play30:59

and object storage also provides a lot

play31:02

of other use cases you can store archive

play31:04

files in here if you are migrating data

play31:06

from let's say an on-premise to the

play31:09

cloud you can use object storage as a

play31:11

temporary store you can first load the

play31:13

data into

play31:14

create an archive for your database put

play31:16

it into object store and from there you

play31:18

can load it into your specific database

play31:20

in the cloud so there are a lot of

play31:22

purposes which an object storage can be

play31:24

used for

play31:25

one of the other purposes which it can

play31:27

be used for is to create a static

play31:29

website if you upload all your static

play31:31

files your css files images your html

play31:35

content all of them if you create it if

play31:37

you create a bucket and upload it into

play31:39

an object storage you can expose it from

play31:42

your

play31:43

object storage as a website so once the

play31:46

content is there in an object storage

play31:47

you can even expose a static website and

play31:51

when it comes to aws this is the most

play31:53

preferred way of

play31:55

exposing a static website what you can

play31:57

do is you can make use of s3 so you can

play32:00

use the s3 which is the object storage

play32:02

service it's also called simple storage

play32:04

service s3 is one of the actually most

play32:07

popular aws services because it's one of

play32:10

the first aws services as well

play32:12

so you can use s3 and you can actually

play32:15

deploy

play32:16

your front end into a bucket in s3 and

play32:19

you can serve it from there and if you

play32:21

want to actually give a name let's say

play32:23

you want to expose it at a website so i

play32:26

would want to expose it at

play32:27

www.in28

play32:29

minutes.com

play32:33

then i can even

play32:35

you i can make use of some a service in

play32:37

aws called route 53 so route 53 is the

play32:41

domain naming service in aws and let's

play32:44

say i would want to cache the content

play32:46

this is static content which can be

play32:47

cached

play32:48

in those kind of situations i can make

play32:51

use of cloud front cloudfront

play32:54

can be used

play32:55

to cache and distribute your content to

play32:58

around the world right the content in s3

play33:01

you'd want it to be available for users

play33:03

across the globe

play33:05

from different continents what you can

play33:07

do to make latency lower is to

play33:10

distribute it across the world and

play33:12

that's what cloudfront can do for you so

play33:15

you can use cloudfront as a distribution

play33:17

mechanism for your static content to

play33:19

distribute it around the world you can

play33:21

use route53 to name your website

play33:24

until now we talked about a varied range

play33:26

of services which are present in aws we

play33:29

talked about rest api which is your

play33:31

compute we talked about different

play33:32

compute services we talked about

play33:34

different

play33:35

relational database services which are

play33:36

typically used for transactional

play33:38

applications we talked about analytical

play33:39

databases as well

play33:41

and we talked about business

play33:43

intelligence as well and right now in

play33:45

the last few minutes we were talking

play33:46

about the front-end application which is

play33:48

typically deployed to object storage

play33:51

in aws which is s3 and we also talked

play33:53

about

play33:54

how you can actually give it a name

play33:56

www.inqtmintz.com you can do that in

play33:58

route53 you can buy a domain name you

play34:00

can associate it with your

play34:02

content which is present in s3

play34:05

and we also talked about cloud front

play34:07

which is used to distribute your static

play34:09

content across the world so that users

play34:11

get

play34:13

low latency so that kind of at a high

play34:16

level

play34:16

some of the important services we wanted

play34:18

to touch upon

play34:21

one thing which we did not really talk

play34:22

about at all is security right security

play34:25

is very very important one of the most

play34:27

important things that you need to

play34:28

realize is the fact that

play34:31

aws is a shared cloud platform whenever

play34:34

you make use of infrastructure in aws

play34:36

that infrastructure is shared between

play34:38

multiple enterprises so if you are

play34:40

creating a vm it might be on the same

play34:42

hardware as we have as some other

play34:44

customers so security is very very

play34:47

important you want to be able to

play34:48

separate the traffic which is going into

play34:51

your application from other applications

play34:54

which belong to other enterprises let's

play34:56

say

play34:57

i have a simple

play35:00

application

play35:01

which is talking to a database

play35:04

the traffic which is going on between

play35:06

them will not be visible to outside

play35:08

world if you are running it within a

play35:10

data center but over here in the cloud

play35:13

we are running it in a cloud

play35:15

and there might be other applications

play35:17

which might be deployed over here and

play35:19

that's where you want to separate the

play35:21

traffic out you want to control the

play35:23

entire traffic which is going into your

play35:25

devices

play35:26

and to your databases how can you do

play35:28

that that's where you can go for a

play35:31

concept called vpc

play35:34

so what we can do is we can create a vpc

play35:37

virtual private cloud networking is a

play35:40

concept which a lot of us as a

play35:42

programmer might not be familiar with

play35:45

please bear with me understanding

play35:46

networking is very very important when

play35:48

you go to the cloud because

play35:51

we don't understand networking as well

play35:53

right when you go to the cloud security

play35:55

becomes really really important inside

play35:57

the data center all the applications are

play35:58

belonging to one enterprise so security

play36:00

might not be so important but once you

play36:03

go into the cloud security becomes

play36:04

really really important because we are

play36:06

making use of shared infrastructure and

play36:08

the way you can actually implement

play36:10

security the way you can actually

play36:11

control traffic which is going into your

play36:13

applications is through these concepts

play36:15

called vpcs and subnets

play36:18

so

play36:19

if you create a vpc you can control all

play36:21

the traffic which is going inside the

play36:23

vpc and all traffic which is going

play36:25

outside the vpc you can set up rules

play36:27

saying this traffic is allowed this kind

play36:28

of traffic is not allowed

play36:30

right so basically

play36:33

a vpc

play36:35

has rules

play36:37

route tables where you can define the

play36:38

different rules and also there might be

play36:41

different kinds of applications which

play36:43

are present in a vpc let's say this is a

play36:45

web application and i would want to be

play36:47

able to access this from the internet so

play36:49

there'd be users could be accessing it

play36:52

over internet however this database i

play36:55

don't want it to be accessed from the

play36:57

internet i only want it to be accessed

play37:00

from other applications or from other

play37:02

devices which are part of this network

play37:04

only

play37:05

so there are different use cases for

play37:07

different kinds of resources you create

play37:09

in a specific vpc and that's where we

play37:12

can go for subnets subnets allow you to

play37:15

configure different rules

play37:17

for different things so you anything

play37:19

that you create within a private subnet

play37:22

so

play37:23

let's call this a private subnet

play37:26

and let's call this a public subnet

play37:29

anything you can you create in the

play37:31

public subnet

play37:33

can be accessed from the outside world

play37:35

directly anything you create in a

play37:37

private subnet cannot be out access from

play37:39

outside world you should either con talk

play37:42

to them from another resource which is

play37:44

present in the private subnet or you can

play37:46

talk to it from

play37:48

the public subnet and you can configure

play37:51

rules to allow what is allow actually to

play37:54

you can configure rules to decide what

play37:56

is allowed and what is not allowed as

play37:58

well so

play38:00

you can separate resources which are

play38:01

present into vpc in the vpc into

play38:04

different groups by using subnets you

play38:06

would put all the things which you want

play38:07

to allow access from internet in a

play38:09

public subnet you'd want you would put

play38:11

all things which you don't want to allow

play38:13

access from the internet in a private

play38:15

subnet

play38:17

so typically a web application something

play38:19

you'd want to be allowing access from

play38:21

internet will be going into a public

play38:22

subnet and

play38:24

in the private subnet is where you put

play38:26

all the things like a database for

play38:28

example or any storage devices you don't

play38:30

want to allow access from outside so all

play38:32

those things would be put inside a vpc

play38:36

now you might be creating a number of

play38:38

resources in the cloud right

play38:40

you might also have your own data center

play38:43

so you might have your own data center

play38:46

which is being made use of by your

play38:48

corporate and you want to establish

play38:50

connection between different resources

play38:51

so you would want to be able to have

play38:53

your resources which are near data

play38:55

center talk to resources which are

play38:57

present inside your vpc how can you do

play39:01

that

play39:02

that's where we go for a concept called

play39:04

vpn vpn is over internet so you

play39:09

establish a connection between your

play39:11

cloud

play39:12

between your vpc which is present in the

play39:13

cloud and your data center by making use

play39:16

of managed vpn in aws

play39:22

however one thing to remember is that

play39:24

this traffic goes over internet and

play39:26

that's why the traffic is encrypted

play39:28

using ipsec protocol

play39:31

however you might be thinking hey i

play39:33

don't want to i love traffic over

play39:35

internet i would want to create a

play39:36

dedicated connection

play39:38

in those kind of situations you can also

play39:40

create a dedicated connection this is

play39:42

called direct connect so you can

play39:44

establish a direct connect from

play39:47

your data center

play39:48

to

play39:50

the aws cloud to the specific region

play39:52

where your vpc is present in

play39:57

until now we touched upon some of the

play39:59

important aspects related to aws we

play40:01

talked about a lot of aws services now

play40:04

before we conclude i'll talk about a

play40:06

couple of more aws services which might

play40:08

be interesting for you let's say this

play40:10

rest api wants to talk to a queue so you

play40:14

might have other applications which are

play40:16

listening on this queue and they are

play40:18

consuming the messages which are coming

play40:20

in here the popup queueing service in

play40:23

aws is sqs amazon sqs is a queuing

play40:26

service typically whenever we talk about

play40:28

applications you would want to prefer

play40:30

asynchronous communication so sqs

play40:32

provides you asynchronous communication

play40:36

sometimes let's say a object is uploaded

play40:40

on s3

play40:42

you want to get an email or you'd want

play40:44

to like receive a notification in those

play40:47

kind of situations you can go for sns

play40:50

sns is simple notification service

play40:53

so what we are talking about are high

play40:54

level some of the important services

play40:56

which are related to setting up your

play40:58

applications

play40:59

one aspect which we did not talk about

play41:01

until now is

play41:03

the devops aspect right so whenever we

play41:05

talk about

play41:06

uh applications and whenever we talk

play41:08

about deploying them to the cloud devops

play41:11

becomes really really important you

play41:13

would want to automate everything

play41:14

related to provisioning of your

play41:16

infrastructure deploying your

play41:18

application and all the things related

play41:20

to that and that's what is typically

play41:22

called devops whenever we talk about

play41:24

devops we talk about a lot of things

play41:27

right we talk about continuous

play41:28

integration continuous deployment we

play41:31

talk about infrastructure as code how do

play41:33

you automate the creation of your

play41:35

infrastructure how do you automate the

play41:38

provision configuration of your virtual

play41:40

servers which are created in the cloud

play41:43

and we also talk about observability we

play41:46

would want to be able to see what's

play41:48

happening in your infrastructure you

play41:50

want to be able to get metrics logs

play41:52

traces and all those kind of things

play41:54

right let's quickly look at all the

play41:56

services which are related to that if

play41:58

you want to do ci cd if you want to do

play42:00

devops in aws the service is aws

play42:03

pipeline you can use aws pipeline to

play42:06

create

play42:07

pipelines there is also a service called

play42:10

code build

play42:13

and we have a service called code deploy

play42:16

so if you want to build a docker image

play42:18

or a jar file or a wire file you can

play42:20

make use of aws code build and if you

play42:23

want to deploy it to elastic bean stock

play42:25

or if you want to deploy it to any other

play42:27

maintenance service which is present in

play42:29

aws or if you want to deploy to a ec2

play42:32

instances you can make use of code

play42:34

deploy so you can make use of these two

play42:36

as part of your pipelines to deploy your

play42:39

applications in aws

play42:41

now infrastructure as code typically has

play42:44

two parts one is provisioning the

play42:46

infrastructure so let's say earlier we

play42:48

talked about

play42:50

creating a vpc creating subnets

play42:53

creating an application maybe a ec2

play42:56

instance or elastic beam stock and maybe

play42:58

creating a database and then

play43:01

allowing them to talk to each other

play43:02

configuring the rules related to that

play43:04

right so you need to create the

play43:06

infrastructure

play43:07

you don't want to do that manually

play43:09

because in typically there are multiple

play43:11

environments they have qa stage

play43:13

production

play43:14

the moment you do it manually the chance

play43:16

that you make mistakes are very very

play43:19

high you don't want that to happen and

play43:21

that's where you want to automate the

play43:22

provisioning of infrastructure

play43:26

if you want to automate the provisioning

play43:27

of infrastructure there are three

play43:29

different options

play43:30

one is cloud formation cloud formation

play43:33

is one of the

play43:35

first

play43:37

infrastructure provisioning tools which

play43:38

was provided by aws basically you write

play43:41

a lot of complex scripts to provision

play43:43

the infrastructure typically these

play43:45

scripts even for simple applications can

play43:47

be running into thousands of lines and

play43:49

that's where a cloud neutral solution

play43:52

called terraform became really really

play43:54

popular with terraform you can write

play43:56

simple scripts

play43:57

to provision your infrastructure and an

play44:00

alternative which aws provides now is

play44:02

something called cdk in cdk you can

play44:05

write java programs python programs or c

play44:08

programs to provision your

play44:10

infrastructure

play44:11

the other option you can also make use

play44:13

of

play44:14

in infrastructure as code is

play44:16

configuration management what is

play44:18

configuration management let's say i

play44:20

have 100 vms i would want to install a

play44:23

security patch on them or let's say i

play44:25

have a lot of vms on which i would want

play44:28

to update the application software in

play44:30

those kind of situations we make use of

play44:32

configuration management if you look at

play44:35

if you look at the open source world

play44:37

some of the popular ones are ansible

play44:40

chef

play44:41

and puppet

play44:44

and in aws the main service is aws ops

play44:47

works

play44:49

so you can manage multiple vms you can

play44:51

install software do a lot of things

play44:53

around that using your aws ops works so

play44:56

these are the things which are related

play44:58

to infrastructure as code now when it

play45:00

comes to observability typically we talk

play45:02

about a lot of different things right so

play45:04

we have

play45:06

tracing

play45:08

we have logs

play45:10

and we have metrics

play45:13

cpu consumption or cpu utilization on

play45:15

specific em that's a metric

play45:17

logs which are coming from your

play45:19

applications logs which are coming from

play45:21

your managed services logs which are

play45:22

coming from your load balancers these

play45:24

are all logs

play45:26

your applications might be going across

play45:28

multiple microservices right so your

play45:30

request sorry your request can be going

play45:32

across multiple micro services and

play45:34

that's where you would want to trace the

play45:36

request across multiple micro services

play45:39

just having a piece of log might not be

play45:40

sufficient what i would want to be able

play45:42

to do is to use that piece of log and to

play45:44

be able to trace the request across

play45:46

multiple micro services that's where

play45:48

tracing becomes really really important

play45:51

in aws the services for the service for

play45:54

metrics and logs is aws cloud watch

play45:58

so aws cloudwatch is for metrics aws

play46:01

cloudwatch logs is for logs so this is a

play46:04

centralized place where you can send all

play46:06

the logs from your applications from all

play46:08

the managed services in

play46:09

aws as well and metrics all the metrics

play46:12

around your cpu utilization your

play46:13

application related metrics all of them

play46:15

can be sent to airbus cloudwatch and for

play46:18

tracing

play46:19

you can send all your tracing

play46:20

information to aws x-ray this is the

play46:25

tracing service in aws okay those are

play46:29

some of the important aspects related to

play46:31

devops in aws the idea of this specific

play46:34

video was to give you a high level

play46:37

overview around aws typically we are

play46:40

used to deploying applications in our

play46:42

data centers i just wanted to take one

play46:44

of such examples and give you a high

play46:46

level overview of how you can do things

play46:49

uh with aws in uh

play46:52

in a lot of high level detail right it's

play46:54

not really detailed i mean we did not

play46:56

really set up anything manually we did

play46:58

not create anything in aws but the idea

play47:00

was to give you a 10 000 feet overview

play47:02

of everything in aws i hope this was

play47:04

really really useful if you are able to

play47:06

make sense of at least 50 to 60 of this

play47:09

video i think that's good success for me

play47:12

and if you actually made uh like if 50

play47:14

to 60 of this video made sense then i

play47:17

think you are ready to go for a cloud

play47:18

certification i would recommend you to

play47:20

check out any of our aws azure or google

play47:22

cloud certification courses at least the

play47:24

beginner ones may be something like

play47:26

azure fundamentals az 900 or even

play47:29

something like uh cloud practitioner aws

play47:31

cloud practitioner might be a good place

play47:33

to start

play47:34

if you're going for google cloud google

play47:35

cloud digital leader might be a good

play47:37

place to start typically if you are able

play47:40

to understand some of the stuff which is

play47:41

present in here about 50 to 60 of this

play47:43

stuff which is present in this specific

play47:45

video i think you can complete the cloud

play47:47

certifications in about two to four

play47:49

weeks

play47:50

uh i i was so confident that somebody

play47:52

can

play47:53

clear cloud certifications easily that i

play47:55

call my az900 certification as az 900 in

play47:58

a weekend so i call it azure

play48:00

fundamentals in a weekend that's how

play48:01

confident i am that learning the cloud

play48:04

is very very easy so hopefully

play48:06

i made them as simple as possible the

play48:09

goal was to just uh come up come on like

play48:12

draw a picture kind of make it easy for

play48:14

you to understand aws because once you

play48:16

understand the big picture once you

play48:18

understand things at the high level you

play48:19

can dig in and find out things in a much

play48:21

much easier way and

play48:24

over the last few years i've been

play48:25

working with aws a lot i thought

play48:27

it would be great if somebody can create

play48:29

something like this which would be

play48:31

useful for beginners especially if you

play48:33

are really really beginner to the cloud

play48:35

to get the high level landscape of the

play48:37

cloud so that's the goal of this

play48:39

specific video i hope you liked it

play48:42

i'm sure you had a great time watching

play48:44

this video

play48:45

do not keep it to yourself tell your

play48:47

friends and tell youtube as well how do

play48:51

you do that

play48:52

like share and subscribe if you are

play48:55

looking to get cloud certified check out

play48:56

our cloud certification courses in aws

play48:59

azure and google cloud and do not forget

play49:02

to check out the other videos in this

play49:04

series of videos on cloud fundamentals

play49:07

if there is a cloud topic that you are

play49:08

feeling it very very difficult to

play49:10

understand do post it in the comments

play49:12

and we will make it simple for you i am

play49:14

sure you had a great time watching this

play49:16

video and i'll see you again very very

play49:19

soon until then here's bye from ranga at

play49:22

in 28 minutes see you soon

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
AWSCloud ComputingDevOpsElastic BeanstalkEC2S3RDSDynamoDBLambdaVPC
Benötigen Sie eine Zusammenfassung auf Englisch?