No downtime is allowed for this mission-critical application.
Minimal involvement from producers and consumers during the migration.
Approach
HTTPS Producer Migration:
Replaced individual producer endpoints with a proxy endpoint.
Replaced individual producer-specific Lambda functions with a shared Lambda function.
Used a DynamoDB table to store producer configurations.
SQS Producer Migration:
Created a shared Lambda function to process messages from all producer SQS queues.
Used the DynamoDB table to store producer configurations.
SQS Consumer Migration:
Extracted compute resources (Lambda functions) from the consumer stacks.
Kept only the necessary infrastructure (SQS queues, alarms) in the consumer stacks.
Created a shared Lambda function to process messages from all consumer SQS queues.
Used a DynamoDB table to store consumer configurations.
Results
Benefits of Multi-Tenancy Approach
Faster deployments (down to 1 minute)
No need for complete redeployment during software upgrades (only shared components updated)
Reduced costs (no per-stack CloudWatch alarms, KMS keys)
Better Lambda utilization and optimization opportunities
Addressing Disadvantages
No strict compliance requirements for the Ebe application
Minimal customization needed per producer or consumer (handled through configurations)
Addressed the noisy neighbor issue by adjusting the Lambda concurrency
Conclusion
Single-tenancy is a great starting point, but multi-tenancy can be beneficial when facing scaling and cost challenges.
The right approach depends on factors like compliance requirements, customization needs, and growth projections.
Revisiting the architecture and making improvements is crucial to get the best results.
Your Digital Journey deserves a great story.
Build one with us.
This website stores cookies on your computer.
These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.
If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.