AWS Migrating to Serverless
Migration Patterns
The migration can be seen in two ways:
- Computer infrastructure implementation
- Application development and deployment
A migration plan is determined by:
- Your organization's present state
- Your application's current state
- Your desired state
There are three general migration strategies to create a serverless application:
- Leapfrog
- Organic
- Strangler
The Leapfrog Strategy
The Leapfrog skips intermediate phases and moves straight to a serverless cloud architecture.
The Organic Strategy
With the Organic strategy, you "lift and shift" on-premises programs to the cloud.
Current apps are maintained running on Amazon EC2 instances, Amazon ECS or AWS Fargate.
The Strangler Strategy
The Strangler breaks down monolithic programs by establishing APIs and event-driven components.
A monolitic program combines user interface and data access code.
They slowly replace legacy components.
It allows faster development of new features with less risk than the Leapfrog strategy.
The Strangler is the most common strategy.
Migration Considerations Video
W3schools.com collaborates with Amazon Web Services to deliver digital training content to our students.
Migration Considerations
There are also three cost factors to consider:
- The cost of an infrastructure
- The cost of development
- The cost of maintenance
You must also consider the enhanced commercial value of serverless.
If you disassemble existing programs, you can upgrade them quickly after the initial learning curve.
Because expenses arise as events occur, they can be evaluated per event or per client.
Cost increases closely track business development.
Serverless isn't ideal for every architecture, so weigh all of your alternatives.
You must also consider the enhanced commercial value of serverless.
After that, you'll be able to update your applications fast and easily after a short learning curve.
Application Load Balancer vs. API Gateway
You can use Amazon API Gateway or Application Load Balancer for different targets.
Both can be easily added without disturbing the system.
Your choice of using either depends on your needs.
The table below compares Application Load Balancer and Amazon API Gateway.
Application Load Balancer | Amazon API Gateway |
---|---|
Good for application traffic management | Good for REST APIs, services, and Lambda functions |
Supports OIDC-capable providers, such as Amazon Cognito user pools | Authorization using AWS IAM, Amazon Cognito, and Lambda authorizers |
Charged per hour | Charged per request |
It may be cheaper for a consistent volume of traffic | Cheaper for spiky designs |
Related reads:
Domain-Driven Design Community: Learning DDDEvaluating applications total cost of ownership