Jenkins and Amazon EC2 Dynamic Agents
Submitted By Jenkins User Leandro Martins
When these technology consultants sought to reduce infrastructure costs and speed up time to delivery for an online retailer, they turned to Jenkins.
Organization: Technology consultancy supporting an international home improvement and gardening online retailer
Industry: E-commerce & Retail
Team Members: Bruno Padilha, SRE and Leandro Martins, DevOps Engineer
Programming Language: PHP
Platform: Docker or Kubernetes, Linux, MacOS
Version Control System: GitHub
Build Tool: Composer
Community Support: Jenkins.io websites & blogs
Reducing infrastructure costs and accelerating pipeline delivery by nearly half.
Background: This development and engineering team was tasked with enhancing the Continuous Deployment solution for the Brazilian division of an international online retailer. For this, they sought to create a unique pipeline to support all stages. Their primary challenge in doing so was the need to use conditionals.
Goals: Reduce costs with infrastructure by using dynamic agents for the Continuous Deployment process.
Solution & Results: To achieve our goals, we introduced a Jenkins Declarative Pipeline using EC2 Dynamic Instances combined with Blue Ocean. We were able to spin up agents just when needed, which was vital for this endeavor.
Using a multi-branch project and the right conditionals on Pipeline, we discovered that we could reduce the build times by up to 60%. We also were able to reduce costs by using spot instances by up to 40%. The new pipeline provided the capability to build and deploy the artifact to our specific environment.
Jenkins rocks because it is a customizable, robust solution, and it yielded great results:
- reduced the pipeline time by 50% including the deployment process
- reduced resource costs by 40%
- provided pipeline visualization – using Blue Ocean – which was helpful for developers