Ansible is dead, Long live AWS Beanstalk

Photo by William Krause on Unsplash

All configuration management systems suck in equal measure, but each in a different fashion. Pick the one that sucks the least for your particular use-case and hope that two years down the line you made the right choice.

Ansible is hard

With Ansible, we do not see the same ability to be transportable. Templates begin with the relationship of your services to the business. It becomes difficult to adopt an idea that does not match with your context.

Configuration management also seems to be the place most people want a “standard” for. “Just tell us how to do it,” the phrase uttered from many teams who are using Ansible realize the level of work they will need to do to figure out where to start.

Ansible is hard because;

  • Everyone in your team must commit to the process.
  • It depends on the organizational context.
  • It may require significant organizational change AND individual change (e.g., Learning Ansible)

All configuration management systems suck in equal measure, but each in a different fashion. Pick the one that sucks the least for your particular use-case and hope that two years down the line you made the right choice.

Developer productivity

Elastic Beanstalk provisions and operates the infrastructure and maintains the application stack (platform) for you, so you don’t have to spend the time or develop the expertise. It will also keep the underlying platform running your application up-to-date with the latest patches and updates. Instead, you can focus on writing code rather than spending time managing and configuring servers, databases, load balancers, firewalls, and networks.

Agile and easy to begin

Elastic Beanstalk is a neat tool and is the fastest and simplest way to deploy your application on AWS. From my limited experience so far, it manages to hide most of the complexity when dealing with EC2 instances.

You simply use the AWS Management Console, a Git repository, or an integrated development environment (IDE) such as Eclipse or Visual Studio to upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. Within minutes, your application will be ready to use without any infrastructure or resource configuration work on your part.

Conclusion

If you’re building an monolith application, micro-services, service oriented applications that don’t have a lot of complexity (which is the most of the case) you can easily use AWS Beanstalk otherwise you can with old-school EC2, fancy K8s+Docker to come through your load.

∞ Travel | Coding | Lifestyle ⦿ Bangkok | ✧ #freelancer ▷ Got a project? ⭣ www.upwork.com/fl/al3rez