Moving to serverless architecture
Seamless application migration to a serverless architecture to reduce infrastructure maintenance costs and improve project scalability
Client
Under a non-disclosure agreement (NDA)
Business challenges
- Reduce infrastructure maintenance costs
- Increase system stability
- Eliminate Linux vulnerabilities and reduce security costs
- The backend is on an isolated network
- Increased complexity of mobile application development
Our solutions
- API Gateway
- Templates for API Gateway
- Lambda authorizer
- Automatic vulnerability scanning
- Migration to another Auth provider
- Lazy migration
Project description
At the start of the project, we had analyzed the existing infrastructure and proposed several transition options as part of our modernization services. To confirm the feasibility of the ideas, the client was provided with several PoCs including: Elastic Beanstalk , Lambda functions, AWS ECS (Forgate), AWS ECS (EC2), API Gateway, AWS App Runner.
Next, we performed the migration from WSO2 to API Gateway using REST API. We chose Docker and AWS Fargate as containerization tools along with Amazon ECS technology to run containers. Additionally we created Lambda functions for some daily jobs. We also created several deployment pipelines for API Gateway (REST API), Lambda, AWS ECS (Forgate) to automate the process.
After that, we evaluated ways to migrate from the Gigya authentication provider to Auth0. We developed a solution for converting objects from Gigya to Auth0 format. The customer had a huge amount of data, about 3.5 million objects, which caused additional difficulties. We have developed a strategy to work around the Auth0 API restrictions on importing no more than 150 records and no more than 2 concurrent imports. This migration process would take about a week. In order to reduce the migration time, we implement a "Lazy migration" strategy. You can read more about this type of migration in our blog post. After the migration, the data integrity was tested and verified.
Technology stack
- AWS ECS Fargate
- AWS App Runner
- Docker
- WSO2
- API Gateway
- REST API
- Lambda functions
- Elastic beanstalk
Key activities
Results
Our cloud engineering team delivered the project on schedule, enabling the client to achieve significant operational and financial improvements:
- Obtained a serverless, fault-tolerant backend booste system uptime from 99.5% to 99.99%, virtually eliminating unplanned downtime and reducing user-reported critical incidents by 95%
- The new architecture streamlined the development pipeline, reducing the average feature deployment time from 3 weeks to just 4 days. This resulted in a 70% faster time-to-market for new app updates
- The transition to a serverless model led to a 65% reduction in monthly cloud hosting bills
