Use case
One-Click Build, Deploy, Test, and Cleanup for Conflict-Free Development
- Lavish Gupta
About the Customer
CyvexTech is a platform dedicated to securing the software supply chain, offering features like code assurance, tamper-proof evidence documentation, anomaly detection, and seamless operations. By leveraging advanced frameworks, the customer ensures that code artifacts are safeguarded throughout the software lifecycle, from production to delivery.
Customer Challenge
The customer’s development and testing process faced two major challenges:
1) Shared Testing Environments:
- Developers working on different pull requests (PRs) encountered conflicts due to shared environments, leading to issues like migration conflicts, failed tests, and disrupted workflows. Shared environments caused significant bottlenecks, impacting productivity and delaying the development cycle.
2) Database Migration Conflicts:
- Database migrations introduced by one developer in a shared environment affected others’ testing efforts, causing tests to fail when incompatible migrations were present. This lack of isolation in the development environment created roadblocks in efficiently testing code changes before merging.
Solution
IAMOPS designed a comprehensive DevOps solution that enabled isolated development environments using AWS services.
Key steps in the solution included:
1) Automated Namespace and Database Creation:
- The solution leveraged GitHub Actions to trigger a CI/CD workflow upon each PR creation. This workflow included building the code, creating a unique Kubernetes namespace, and deploying the code within this isolated environment. Additionally, a dedicated PostgreSQL pod was deployed in each namespace to handle database migrations in isolation, ensuring other environments remained unaffected.
2) Kubernetes and AWS ECR Integration:
- The solution utilized AWS Elastic Container Registry (ECR) to store Docker images of the application. Kubernetes was employed to dynamically create namespaces and manage deployment processes for each PR. Helm charts automated the deployment of these environments, with custom values set for each instance.
3) End-to-End (E2E) Testing and Cleanup:
- Once deployed, the environment ran automated E2E tests to verify the changes. After the tests completed, the system automatically deleted the namespace and PostgreSQL pod, minimizing ongoing resource consumption and reducing costs.
Results & Benefits
The implemented solution provided the customer with significant improvements:
- Conflict-Free Development: Isolated environments for each PR completely eliminated environment conflicts.
- Improved Productivity: 35% increase in productivity due to parallel testing capabilities.
- Cost Efficiency: 20% savings in database costs.
- Accelerated PR Merging: Reduced time to merge PRs by 25%.
- Scalability for Growth: The solution supports scalable, isolated environments on demand.
About IAMOPS
IAMOPS is a full DevOps suite company that supports technology companies to achieve intense production readiness.
Our mission is to ensure that our clients’ infrastructure and CI/CD pipelines are scalable, mitigate failure points, optimize performance, ensure uptime, and minimize costs.
Our DevOps suite includes DevOps Core, NOC 24/7, FinOps, QA Automation, and DevSecOps to accelerate overall exponential growth.
As an AWS Advanced Tier Partner and Reseller, we focus on two key pillars: Professionalism by adhering to best practices and utilizing advanced technologies, Customer Experience with responsiveness, availability, clear project management, and transparency to provide an exceptional experience for our clients.