DEV Community

Discussion on: Deployment Strategies for Auto-Scaling and Load Balancing EC2 Instances in AWS

kasunmadurar profile image
Kasun Madura

In my experience we could use packer with ci-cd tool like concouse to setup proper build pipline and also easy to manage with dynamic configure or automation tool like ansible(servers less chef or puppet) will solve lot of problems in auto scaling process.

ashanfernando profile image
Ashan Fernando Author • Edited on

Thanks for the response Kasun. I hope it will be useful for the readers when selecting the right tools for CI/CD and configuration management.

However, there are lots of tools for automation both for CI/CD (e.g Jenkins, AWS Tools Stack which includes CodePipeline, CodeBuild, CodeDeploy, Circle CI & etc.) and configuration management tools such as Chef, Puppet (Also AWS provides the Managed Service OpsWorks that supports Chef and Puppet), Ansible, Terraform and the list goes on, including the ones you mentioned.

Based on my experience, most of these tools serve the purpose and has pros and cons over the other. The acceptance also changes with time. Therefore it is also subjective. For example, I used to use Jenkins and OpsWorks with Chef before but now moving to CodePipeline, CodeBuild, and CodeDeploy and Terraform.

However, the core strategies for efficient deployment is mostly (There are exceptions based on the nature of the applications) governed by the support from AWS. In this article, my focus was these core strategies which can be automated or easily managed using these tools.