In the mainstream application development, everything is riding on web-based applications. Ever since browsers became powerful, the web development took off and this created new trend in software delivery models like SaaS. Now, building web application is easier than ever due to frameworks and platforms that are available in all the popular programming languages. The hard part is how to deploy those applications and manage them.
If you want to use cloud to deploy your applications, then you would benefit a lot from Elastic Beanstalk from AWS. In this article, I will go over some of the important benefits of using Elastic Beanstalk.
Application - An application is an logical group of a workload that encompasses the environments, configurations etc. Consider an application as a single services in your microservice architecture or a monolithic application that serves its users.
Environment - An environment is where your application runs. It encapsulates all the resources for your application.
Environment Tier - You have 2 tiers to choose. One is for worker environment and another is for web-server environment. Worker environment is suitable for running long-running processes or in other words background jobs. Web-server environment is suitable for serving requests i.e. web applications.
Overall, AWS ElasticBeanstalk helps to build and run web applications at scale without a lot of operational overhead. It uses the CloudFormation as the underlying technology to create and manage stacks. It can speed up your deployment time as well as time to market. ElasticBeanstalk work as a great solution between managing VMs (low-level operational burden) and running Kubernetes clusters (high-level operational burden). In some use cases, you can just get started with ElasticBeanstalk and move to other complicated orchestration tools when you reach that level of scaling requirements.
Look out for DeepDive articles on ElasticBeanstalk to learn more about this amazing service.