Developing Infrastructure as Code for a leading Nonprofit organization
Challenge
A large nonprofit organization sought to build an enterprise data platform. As part of the build, they faced the challenge of maintaining and running multiple data environments. This included a risk of different environmental variables growing over time which typically causes an environment drift. The task to manage this was very manual, time consuming, and slowed down deployments considerably. These inconsistencies between environments could result in deployment issues as well as security vulnerabilities. They needed a system which would help them scale and manage the infrastructure in a consistent and cost-effective manner.
Approach
Ugam, a Merkle company, automated this requirement and developed an end-to-end infrastructure as code (IaC) pipeline. This solved the problem of "environmental drift", and changes were replicated across all environments in a consistent and automated manner. The team created templates for infrastructure resources and applications for quick and reliable provisioning called “stacks”. Also, they now can easily update or replicate the stacks as needed.
Additionally, we enabled collaboration around infrastructure configuration and provisioning, most notably between dev and ops using code. This resulted in reducing the DevOps team from 8 full-time equivalents (FTE) to 2 FTEs. The solution was scalable with newer environments getting deployed at greater speed, less risk, and at a significantly reduced cost. Other notable actions:
-
Studied the requirements for environment management and frequency of changes
-
Decided to manage infrastructure via source control
-
Enabled collaboration around infrastructure configuration and provisioning
-
Removed the dependency written documentation
Results
Streamlined the environmental drift in the release pipeline
Reduced team size from 8 to 2 full-time equivalents
Developed an efficient, cost-effective IaC to provision infrastructure
Keys to success
- Managed deployment and ongoing maintenance with automated DevOps frameworks
- Leveraged software engineering tools and practices
- Developed an end-to-end infrastructure as Code (IaC) pipeline