Background: We were challenged in many ways, but, first and foremost, we needed to change the old IT mindset within our bank's architecture. That meant revisiting the vendors and support tools we had used in the past to focus on accelerating product delivery. We also wanted to improve quality on SDLC due to adding testing and quality gates on the pipelines that assure products are ready to upload to the running platform. Our biggest challenge was to demonstrate the power of "automation" to plant the seed so that we could begin to fix and improve other business processes by using DevOps.
Goals: Prove to IT teams that we can: improve quality and provide shorter Dev cycles; accelerate and improve product deployment, delivery, and pollination; and embrace innovative DevOps best practices.
Solution & Results: We first conducted a discovery process to identify the pain points of the customer. We detected that artifact delivery and deployment were performed by the "Gmail share folder." Due to that, customer errors and some deployment errors were affecting the availability of those products. To solve this issue, we created a corporate CI/CD based on Jenkins and Gitlab – all connected to our development teams to automate the CI part. We also built over 100 pipelines to deploy microservices, properties, and all the components for the platform for three different environments.
Regarding quality for those products, we assembled a squad to improve it, and then we created a regression + smoke + sanity test. We integrated them into the pipelines. By doing that, we saw potential failures in the early stages in the SDLC that may impact an incorrect deployment due to code errors.
Jenkins provided the cost-effective tools we needed to allow us to implement DevOps in an easy, fast way. Doing so enables us to increase business value.
For this, we relied on the StageView and Blue Ocean plugins. And now, to continue our DevOps innovation, we are constantly seeking new plugins. :)
Our work was put to the test in short order. Due to a security issue, our customer did a significant platform update which included more than 30 microservices. They did it in only one hour. We estimate that update probably would have taken up to 2 weeks before our upgrades. Other results included: