Case Study: DevOps and Cloud Transformation for MyCarrier
- Team 25 team members (DevOps and developers)
- What we built Scalable project infrastructure and a CI/CD pipeline
- Industry Logistics
- Client Type Startup into a Growing SaaS Company
Services Delivered
- DevOps development services
- CI/CD pipeline implementation
- Test automation
- Codebase transformation into microservices
- Project migration to the cloud
Challenges
During the post-production stage, the team focused on building an application that supported easy scaling, simplified updates, and high performance under growing user load. At a certain point, it was concluded that the project required a transformation to keep up with skyrocketing user needs.
Key challenges included:
- The monolithic codebase became expensive, heavy, and resource-consuming for the client’s long-term growth plans.
- Certain technical limitations started to emerge.
- More efficient delivery processes were required to maintain a flexible and quick response to the requests of the client's business team.
- Changes in the system codebase and infrastructure migration had to go unnoticed for end users, while the development team had to preserve end users' business processes uninterrupted.
Solution
The IT Craft team decided on a microservices architecture and aligned the infrastructure design with it to ensure correct system operation in the cloud. The entire transition towards services-oriented architecture included three major stages: pre-migration, migration, and post-migration, each divided into several sub-steps.
Our team delivered:
- Conducted a system audit and designed a migration plan with 20–28 items on the list.
- Accumulated a library of system components to simplify migration.
- Transferred software part by part, ensuring uninterrupted user access to functionality:
- Migrated non-critical stand-alone jobs by transferring them to the cloud.
- Connected virtual machines that stored and processed user content to the Azure Storage Account.
- Moved the logging system to Mongo Atlas, a cloud server that ensures high viability.
- Transferred all user data and related processes to the cloud.
- Released all new app functionality as microservices.
- Designed and fine-tuned a CI/CD pipeline to automate testing and manage infrastructure deployments.
- Decreased delivery time of app updates through regression test automation.
Technologies:
Azure Cloud
MongoDB Atlas
Azure SQL
Azure App Service
Azure FunctionsAzure Storage Account
Results
- Ensured high fault tolerance by maintaining three shared clusters and switching between them in case one becomes unavailable.
- Achieved 99.9% system availability through infrastructure reorganization and continuous monitoring of system health.
- Increased system stability and scalability, while more predictable software behavior simplified maintenance.
- Introduced automated testing and pipeline, reducing the time needed for delivering updates from hours to minutes.
- Integrated business and software development teams to maintain a flexible organization. The development team can change the Sprint focus every two weeks based on the desired priorities identified by the client’s team.