Client Details
A technology company with Software as a Service (SaaS) offering for public sector budgeting, reporting, communications, and performance.
Problem Statement
InfraCloud to improve developer experience by simplifying the developer workflow for Kubernetes based microservices applications. The workflow should enable a developer to:
- Spin up an ephemeral full stack environment on AWS EKS from developer workstation.
- Spin up ephemeral full stack environment from a pull request (PR) on demand.
- Managing per environment secrets securely and centrally. Some may be generated on demand for the full stack.
- Starting all the datastores in the cluster without persistence.
- Be cost efficient by ensuring the unused resources are released time to time.
Solutions Deployed
-
Choosing the right tools (which are under active development and provide an end-to-end solution to developer workflows) was a challenge. Skaffold and Garden were the final contenders which met the client requirements.
-
Considering the specific client requirements, Skaffold was selected, which is backed by Google and is heavily invested in the tool and other tools in the ecosystem such as Kaniko, Bazel etc. We do believe that from simplicity and future stability POV this is the best choice.
Solution Implementation
- Parameterised developer workflow with Skaffold to enable developers to perform on-demand testing of their changes on AWS EKS.
- Github Actions for spinning up ephemeral environments from Pull Requests reusing the parameterized developer workflow
- Cluster Setup & configuration, Helm chart updates & testing with microservices and Skaffold configurations.
- Deploying Postgres database with pre-seeding of data.
- CleanUp controller – to ensure ephemeral environments are cleaned up when no longer needed
- Spot Instance Manager – to use AWS Spot instances leading to a cost effective cluster.
- Deployment and configuration of cluster autoscaler.
- Setup & configuration for secured public endpoint with NGINX Ingress controllers & AWS Certificate Manager
- Managing domain names with external-dns and Route53
Benefits
- Improved deliverable quality with developers being able to test using full stack environments.
- Faster Time to Market with efficient QA processes.
- Increased parity between development and production environment.
- Beyond the original scope, the ephemeral environments helped fast track certain other activities like Disaster Recovery testing, demo environment creations and so on.
Why InfraCloud?
- Our long history in programmable infrastructure space from VMs to containers give us an edge.
- We are one of cloud native technology thought leaders (speakers at various global CNCF conferences, authors, etc.).
- DevOps engineers who have pioneered DevOps at Fortune 500 companies.
- Our teams have worked from data center to deploying apps and across all phases of SDLC, bringing a holistic view of systems.