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
The project was completed by our cloud engineers on time and allowed the client to achieve the following results:
- Obtain serverless fault tolerant backend
- Simplify mobile app development
- Reduce infrastructure and support costs
- Scale the project