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

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

Noventiq 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, we 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.”