Case Study: Enterprise Service Unification
Client
S&P 100 national telecommunications provider
Project Description
The client, a large national telecom, had recently acquired a startup running Node.js microservices. They wanted to integrate the startup’s existing microservices into the company’s Kubernetes clusters which were operated by corporate IT. The client also wanted to establish a unified deployment process for the newly-acquired applications.
Solution
- Service Analysis: Conducted a comprehensive analysis of the existing Node.js microservices to understand their common dependencies and configurations.
- Migration to Containers: Reconfigured the existing Node.js microservice codebases so that they could be run as Docker containers.
- CI/CD via Helm and GitLab CI: Developed a unified Helm chart to deploy all of the microservices into a staging Kubernetes cluster. This provided a standardized and efficient deployment pipeline for the engineers who were fixing bugs and verifying behavior. We integrated this with the client’s GitLab CI system for continuous integration and deployment.
- UAT Deployment and Validation: After successful testing in the staging cluster, we promoted the microservices to a User Acceptance Testing (UAT) cluster, where QA could compare the candidate application versions to the production environment and ensure parity.
- Switchover: Once satisfied with the results, we orchestrated a switchover to the in-cluster instances of the applications, transferring live production traffic to the new Kubernetes instances without downtime. We also provided a rollback strategy to quickly revert changes if we discovered issues with the new deployments.
Results
- Corporate Cloud Integration: The Node.js microservices were successfully integrated into the corporate cloud environment, leveraging the power of the company’s Kubernetes cluster and allowing the Operations and Security teams to manage these applications according to company policy.
- Unified Deployment Pipeline: The bespoke deployment pipelines for each microservice were replaced with a unified Helm chart. This promoted consistency across codebases and simplified operational work by giving developers one consistent, reliable way to deploy to production.
- Significant Time Savings: By building a pipeline which leveraged continuous integration and deployment, we reduced the time to deploy the entire microservice suite to under 30 minutes, making it easy for developers to rapidly ship their new features to customers.
Conclusion
We successfully integrated the customer’s Node.js microservices into the client’s corporate Kubernetes clusters. Our systematic approach ensured the new apps were integrated into production traffic without downtime. The deployment pipeline we built formed a stable, consistent foundation for developers and enabled them to deploy features to production much more quickly than before. Finally, our work brought these applications under the corporate umbrella, giving the client’s operational teams full visibility into this software and ensuring it ran in a manner compliant with company policy.
Schedule a free consultation
Find out how Monstera can help your business succeed. We'll learn about your project and give you an idea of what we can do for your organization.