In this blog post, we’ll cover the highlights of how we implemented DevOps technologies and managed to achieve zero downtime for the application deployments, eliminate a huge number of bugs by creating limitless development environments, shorten a full regression test cycle by a factor of 4, and enable a 15-minute infrastructure set up to replace their previous 4-hour set up!
Long deployment cycles were limiting innovation
A successful startup company providing unique software and hardware solutions for the healthcare industry needed to shorten the downtime for the applications update and decrease the number of bugs that appeared in the production. Also, since the project grew larger as the number of users increased, they required a scalable environment that would adapt to the load and could be set up easily.
When our team began the project, they already had an application and a code for us to work with. In the beginning, the deployments to the applications led to an hour-long downtime which was significant for users. Since the applications were initially poorly covered by tests, and it took 4 weeks to carry out a full regression test cycle, numerous bugs ended up in production. Finally, system engineers required about 4 hours to set up a new development infrastructure which led to the necessity of extra technical power and budget correspondingly.
Introduction of DevOps with a CI/CD process to remove waste
Considering healthcare industry standards in terms of security, user safety, and high performance, we turned to the latest DevOps algorithms and implemented the CI/CD pipeline for this project. For resolving the customer’s problems of long application downtime, poor test coverage, and for bringing the system to a new productivity level, we came up with an automation strategy that encompasses the following:
New infrastructure in a couple of clicks
Deploying the IaC (Infrastructure as code) approach, we enabled the productive work of several development teams and minimized the number of bugs in production. Now the DevOps engineers can create an unlimited amount of programming environments identical to the production using the ready-made code. This eliminates cases where the application behaves properly on the development environment but fails when it enters production. Also, team members can work on new builds simultaneously using separate environments.
Now, thanks to the IoC, anytime the customer requires an environment for a new project, they have it set up in 15 minutes rather than the 4-hour set up needed previously.
Test automation with a full regression test cycle in a week
We implemented continuous testing which allowed deploying regular changes to the applications. Since we established an automated build, testing, and deployment process, no changes can be done on the production environment without a multilayered testing procedure on multiple environments.
Check the test automation flow within an environment:
Blue-Green Deployment with zero downtime
For reaching zero application downtime, we went with the blue-green deployment approach using the AWS platform. This approach allows an invisible switch since we have moments when both versions of the app, the current and the new one, work simultaneously. The best part about the blue-green deployment is if there are any issues with a new version, you can always go back to the previous version in one click.
Amazing results with DevOps
With the implementation of DevOps algorithms and the CI/CD pipeline, we managed to solve all the acute problems and we also added extra benefits to the customer’s project. Here are the key benefits we were able to achieve:
- Reduced the time for creating stable builds and deployment environments
- Eliminated bugs from entering the deployment process to production
- Improved application testing time and automated test execution in the CI/CD process
- Shortened time-to-market and delivery times for improving ROI
- Saved time and money for the project maintenance
- With organized and transparent teamwork, chaos was eliminated.
Energize your development team!
The DB Best team is ready to update and optimize the development and deployment of your application. Find out more about the DevOps services that we offer and feel free to apply for a consultation on the best way to boost the performance of your solution and automate the daily routine of your development team.