AWS Beanstalk and AWS Cloud Formation

AWS Beanstalk and AWS Cloud Formation

In the article about AWS Outposts and CloudFront, we talked about how to interact with AWS services which are SDK's, Command line, and Management console. But there are some automated services by which we can easily provision AWS resources. 

How to Provision AWS Resoruces?

                At this point, we might know the resources like AWS EC2 and AWS lambda and we are so excited to use one of these but how to get started with making one of them and use them in our business, The most obvious answer for this might be the AWS Management console which is nothing but a GUI from which we can create and update instances. But there is more to it, Every time when you want to create resources you need to go to the dashboard and create it manually which is so much tedious to do, But don't worry AWS has caught our backs by providing Resource provision services like AWS Beanstalk and CloudFormation. Let's talk in detail about each of the services.

AWS Beanstalk:

            It is a Platform as a Service (learn more about types of services here.) that enables developers to develop their code without worrying about the underlying infrastructure. It's just similar to a Hosting service like Heroku etc. The point to be noted here is this is PAAS where we can mention the necessary condition for our application but do not worry how the infrastructure or the provider is making or implementing it. It's like telling how many EC2 instances we need, what are the network configurations, Autoscaling configurations, Load balancing, Health monitoring, etc, the services will make the environment with all the mentioned attributes and you do not need to worry about how the services made it rather focus on how to use it and develop your application.

AWS CloudFormation:

                Cloudformation is yet another service that is used to provision AWS resources. In this cloud formation, you need to mention the dependencies, environments, configurations in markup languages like JSON or YAML, using these services you can deploy most of AWS resources like Databases, VPC's, Compute instances, etc. One more Advantage of using cloud formation is that you can deploy the same type of instance using the template multiple types in multiple regions without any additional configurations and all the environments will be created exactly the same as mentioned in the File. When to want to deploy a full stacked application you can write the configurations like js 3.0.1 version, MySQL 1.0.0 version, apache server, etc in the JSON or YAML file and upload it to the Cloudformation service then after a few minutes, the environment will be created. You can also deploy multiple instances using a single template

What is the Difference?

            Whether you're using beanstalk or Cloudformation the major thing we are doing using these services is making resources without using other cloud provision tools like SDK, management console. But what makes this different from other services?. The point to note here is that most of the work in other provisions is done manually but in this, it's done once and reused. Beanstalk whereas is more undisclosed or has hidden implementations because it's only a PAAS. So if you are just a developer who wants to use cloud services and do not have much information on how to configure stuff then it's best to go with Beanstalk. There are also some Advantages and Disadvantages of using this kind of service.

                If there is some mistake while configuration the error will be reflected in all the machines which are deployed using that template, so care needs to be taken while making templates. If you have a good knowledge and want more specific configurations for your application then Cloudformation is best for you, All the AWS monitoring, scaling, and load balancing features are available in both services.

Post a Comment

Previous Post Next Post