본문 바로가기
[AWS]/Highly Available, Scalable, AWS Stack

35. Intro: Deployment

by SAMSUNG CLOUD-OKY 2022. 2. 1.
반응형

 

 

 

 

 

 

Welcome to module 7 and in this module you want to talk about deployment services and specifically elastic

beanstalk.

So this service is it is one of many services in AWS in this space deployment provisioning

configuration management space.

So these are services such as OpsWorks which is a configuration management type of service using Chef.

So you can use your chef cookbooks and recipes and deploy applications that way.

There's also cloud formation which is a very good service to create infrastructure right there's more

infrastructure as code as compared to configuration as code that we have with chef and OpsWorks

right there is also code deploy.

And this can be used to this uses an agent to.

You can push code you can push code into hundreds of servers using this kind of service and maybe

there's also ECS elastic container service and that this can help you deploy and manage environments

which are container based to manage container based applications.

So these are some other services in this category that they offer services but in this course we're

looking at beanstalk.

And this is really the easiest way.

Okay it's an it's a very simple way to deploy applications and also application updates.

Right.

And and especially it's good for web applications.

right other services here can be used for any kind of architecture right.

Any kind of application but beanstalk is for web applications and it's also very good for developers

right.

And developers can upload their code and beanstalk will deploy the code to the environment and you don't

need the system admin skills that we have used so far in this in this course.

So this is what beanstalk is.

And essentially this is sort of a platform.

OK it is a platform and helps us to deploy code to EC2 infrastructure.

Right so so we will be deploying to EC2.

And this could be auto scaled load balanced type of a layer.

Right.

So that we can deploy to this kind of layer as well or it could be a single instance type of layer

as well.

So we can apply to either type and it's a container or the Beanstalk container right not to be confused

with the Docker containers and the container may contain things like load balancer or auto scaling groups

or single EC2 instances with elastic IP addresses.

It'll also contain EBS volumes.

The security groups and so on.

So that's what beanstalk is.

And and using this we can deploy application versions.

So what we do in this module is they will deploy the same application right this is our PHP application

the same one.

It's a different it's a different version though because we'll be using environment variables here not

hardcoded values for RDS endpoint and memcached endpoint and so on it is the same application though and we'll deploy four

versions.

So let's say this is version 1 this is version 2.

This is version 3 and this is version 4 right.

And we'll deploy this on an environment.

So we have one environment and let's say this is a single instance.

environment maybe maybe a Dev environment right and we will deploy first version 1 right and you'll see we don't.

have to do much.

We just have to upload and then deploy

right we don't have to do.

We don't have to do things like cloning the application.

We don't have to do the configuration management such as installing PHP installing Apache and so on right

here.

You will notice by the way the advantages of beanstalk is that first of all you don't even have to

connect to the servers.

Or so no need for SSH right.

No configuration management

so things like things like PHP Apache that we had installed right earlier.

You don't have to install the AWS SDK you don't have to deploy the code to the Apache document

root and so on you don't have to do all that because all of that can be done automatically

by Beanstalk for us.

Right.

Next we will deploy version 2 which is the multi tier application.

This will have the image in S3 and it'll have a RDS database in RDS right and here also we

will not have hard-coding we would have to use environment variables right we will use environment variables.

And we will pass the values of the RDS hostname and S3 image URL and so on.

So that's another advantage by the way of beanstalk that we have no hardcoding right this no need for

hardcoding

as well.

Right.

And and similarly we will deploy the other versions as well.

This is the scalable application which is which includes the cloud front memcached and read replicas and

so on.

Right.

And finally the secure app as well.

This will be the signed URL and here as well the private key we will not have to deploy manually.

So there's a security benefit as well.

We're not handling things like things like private key right so.

So basically no handling

manual handling of sensitive information like private keys and so on.

So the developer does not have to handle of this.

This can be managed separately.

And essentially a beanstalk will download the private key from a secure S3 bucket and deploy it on

the on the server.

Ok so.

So this is what we will do.

And the reason we are deploying multiple applications multiple versions is so you can appreciate how

easy beanstalk makes it to deploy applications and different versions of our application.

Okay.

And remember in the real world right in the real world we have we have many applications right we have

many applications.

We have many environments as well.

So.

So it's not just Dev or UAT.

you have Dev you have SIT or UAT production DR.

And so on. You will have many environments and you will also have many versions because in the modern world you want

to install or deploy more frequently right we have many versions sometimes on a daily basis as well.

So in this kind of situation a tool like beanstalk which does most of the work for us is very helpful

because you can do more but you can do more.

You can do things faster.

Right.

And also you don't need the same level of skills.

So you don't need the same sysadmin type of type of skills that would otherwise be required.

OK.

So.

So this is what we want to do in this module.

And let's use the resources under this module the videos and other material and deploy our application

and multiple versions of our application this time using elastic beanstalk.

 
 
 
 
 
 
반응형

댓글