DevOps Facilitates Frequent Innovation at Good Earth
Good Earth India is a design house which celebrates the heritage of Asia. The company offers apparels, lifestyle, design and wellness accessories that brings to life sustainable luxury—pure designs with an emphasis on hand crafted things.
Guided by lofty ideals of aesthetics—rich in culture and beauty—the business is built on a foundation of customer experience. Its distinct positioning targets discerning consumers with eclectic taste, leveraging an omnichannel strategy to create experiences.
Good Earth positions its business itself as immersive experiences where products beckon customers by sheer force of stories they tell
Good Earth
www.goodearth.in
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
- Infrastructure Automation: Infrastructure deployment and configuration management was manual creating operational challenges such as tracking and managing versions. It also created dependence on individuals familiar with deployment.
- Application Challenges: Good Earth was in the process of stabilizing its new application architecture with distributed framework. It was creating build locally and uploading manually to production servers which is challenging in a distributed environment.
03. Key Business Requirements
In keeping with its business objective of continuously delighting customers, Good Earth wanted technology to facilitate the following business goals:
- Innovate frequently: Make frequent enhancements as application has been re-architected to optimize performance and customer experience.
- Agility: Leverage online and physical presence by making data-driven personalized offers, requiring high level of application flexibility.
- High Performance: Automate infrastructure and code release to deliver wow customer experience with high application uptime.
- Increase operational efficiencies: Achieve high operational efficiencies with infrastructure-as-code and standardized environment for staging and production; automate release management for high-quality code and continuous improvement.
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
- Infrastructure-as-code with CloudFormation
- Central Configuration Management with Ansible
- Jenkins used with Ansible playbook to make reusable
- Source code in BitBucket and artefacts in S3
- Integrated CodePipeline orchestrates CodeBuild and CodeDeploy
- IAM based access to CodeDeploy, and MFA for root access and AWS console access
- CloudWatch for infrastructure monitoring
- Infrastructure tracking and version control with CloudFormation using CodeCommit
- Auto roll back if deployment fails
07. Infrastructure and Code Release Automation at GoodEarth
08. Business Benefits
- Good Earth is making frequent application releases to stabilize new applications architecture and create innovative customer experiences. From two releases a month, frequency has increased to two releases a week with DevOps-enablement.
- Cost savings up to 15% from increased operational efficiency accruing through automation of infrastructure and code release management.
- High uptime and website performance reinforces Good Earth positioning of delivering every customer engagement as experience.
- Enhanced compliance enabled by higher visibility into IT operations with tracking and close monitoring.
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.”
Related Success Stories
Global Software
DevOps Enablement
Cashify
DevOps Enablement