DevOps Facilitates Frequent Innovation at Good Earth
01. Existing Systems
The company had hosted its ecommerce portal on AWS, Mumbai region. Application had monolithic architecture with application and database running on two EC2 instances. Infrastructure was deployed using Cloud Formation templates and server configuration done manually using remote desktop protocol.
Application was written in .Net platform which customer wanted to rearchitect and change to Python on Django framework. Source code was stored in BitBucket and developers were creating build locally and uploading artefacts to production using FTP.
02. Key Challenges
03. Key Business Requirements
In keeping with its business objective of continuously delighting customers, Good Earth wanted technology to facilitate the following business goals:
04. AWS Services & Third Party Tools
Umbrella used Cloud Formation templates to automate infrastructure and Ansible for configuration management.
For CICD pipeline: AWS services S3, Code Pipeline to orchestrates CodeBuild and CodeDeploy and third-party tools BitBucket and Ansible.
CloudWatch is used for monitoring logs and deployment; access to Code Deploy is IAM based.
05. Solution Overview
To automate infrastructure deployment and code release management, Umbrella set up systems for infrastructure-as-code and CICD pipeline.
To enable customer to easily set up separate environments for staging and production, track changes and version control, CloudFormation templates were set up. Configuration is centrally enabled with Ansible for server set up, configuring application environment, server hardening and installing AWS monitoring agent SSM. Jenkins is used to make Ansible playbooks re-usable.
BitBucket is used as source code repository and whenever code is committed to BitBucket, CodePipeline triggers build in CodeBuild and deposits artifacts in S3 from which CodeDeploy deploys artefacts in a highly available and scalable manner.
This automates complete process of code commit and deployment, eliminating errors and auto roll-back to previous version in case of failure. Entire process has enhanced visibility as CloudTrail logs API calls to CodeDeploy and stores in S3.
CloudWatch and Site 24×7 monitors infrastructure and NewRelic is used to monitor application performance.
06. Solution Highlights
07. Infrastructure and Code Release Automation at GoodEarth
08. Business Benefits
Says Dinesh Joshi, Head Technology at Good Earth, “DevOps-enabled operations helped us stabilize new application architecture with frequent releases and created brand distinction with faster innovations to deliver superior experiences.”