CI/CD implementation
While rapidly developing in-house services, the client increased the number of development teams. In order to remain agile, the client decided to use vertical development within individual teams and move from a monolithic architecture towards microservices. The solution worked very well from a business perspective but also required a change in approach to the design, development and deployment of IT systems. In addition to independent deployments, the client wanted to increase the frequency of delivering new functionalities while reducing the risk of failure after deploying many new functionalities simultaneously.
Project in a nutshell
Industry
Financial
Technologies
Microservices, CI/CD (Jenkins, Octopus, Nexus, Sonar), Containers (Docker, Kubernetes Engine)
Duration
6 + 6 months
Team
1 Project Manager
1 Architect
2 DevOps
Form of cooperation
Agile, Time & Material
Scope
Consulting - tech
Technical stack assessment
Innovations and challenges
The innovation for the client was the introduction and integration of multiple tools for process automation, application building and deployment, creating so-called CI/CD pipelines - they enabled rapid deployment of changes from concept to launch in production. Mechanisms were implemented to create stand-alone CI infrastructures for teams, which were then linked to the CD tool, linking the flexibility of production with the transparency and control of deployment necessary for a client providing financial services. In addition, a deployment framework was imposed on the microservices produced, aligning them with Kubernetes, and reducing the costs associated with IT administration by unifying deployment and management mechanisms.
The biggest challenge was to simultaneously implement comprehensive changes to the tools and culture of software development, with continuous development and maintenance of the systems produced. The client's commitment to leading the digital transformation in this area was also essential - setting a bold hypothesis, ambitious goals and being consistent. Moreover, the CI/CD implementation was linked to the transition from a monolithic to a microservices architecture and from working on a single system to independently producing multiple business products simultaneously.