Client Details
The customer is an IOT company with multiple large industrial customers using their data analytics and services platform.
Context
The client is an IoT company building a data & services platform for large industrial customers. The architecture was based on microservices architecture using Spring Cloud & Spring Boot. Microservices were deployed for each site based on the workflow for that site. As the number of use cases grew, the number of microservices was expected to grow to large numbers.
Challenges
- A large number of Microservices based on specific workflows deployed at each customer site
- How to scale building of continuous delivery pipelines for the growing number of microservices
The goal was to build a scalable Continuous Delivery platform where the addition of a new microservice would create the whole delivery pipeline for that microservice without any manual effort.
Solution
- We followed the “Infrastructure as code” & “pipeline as code” approach.
- A one-click solution to deploy the whole CI/CD stack to a new customer environment
- The solution included Gitlab, Jenkins, Sonarqube and Artifactory.
- All components were docker containers orchestrated by Ansible and deployed on AWS.
- We defined Jenkins2 based pipeline templates. Each template represents a unique delivery pipeline.
- For example, a node.js based service would have 2/3 delivery pipeline templates. A spring boot based microservice would have 4/5 delivery pipeline templates.
- A new microservice can simply refer to a “delivery pipeline” template, and the whole delivery pipeline is created on-demand
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.