You are the IT manager in a fast growing and competitive space. Digital has become crucial to stay competitive. Your current internal IT platform has delivered all it can over the last 5 years, and now you need to modernise. You need to be able to deliver new software faster and more frequently, have less production issues, optimise costs and more importantly, increase customer satisfaction and revenue.
You have been told that microservices, Kubernetes and DevOps are the way to go. Your teams want to rebuild everything from scratch to “do it really well this time”, but you’ve experienced first hand that big-bang projects and releases are super risky, always take more time and money than expected, and the shop needs to stay open.
You can't afford any mistakes on this.
2 Smart Approaches To Tackle This Challenge
Silicon Valley companies are way ahead when it comes to coming up with smart technologies and approaches to modernize to a fast, scalable and cost-effective platform while “keeping the shop open.”
We’re going to describe two of the most valuable ones, without you having to fly-in expensive consultants that will blow a lot of smoke & mirrors in your face:
- Canary Migration
- Multi-tenant release automation
1) Canary Migration
Let’s take a large eCommerce organization as an example. You are currently on a legacy monolithical eCommerce stack like Intershop, Oracle ATG or Demandware.
And you want to move to a headless eCommerce platform such as Commercetools.
You’re going to modernise your front-ends with React, Vue or maybe you’re planning on adding micro-frontends. You’re going to add a few containerised microservices and/or serverless services for valuable custom business-logic functionality, and you’re going to integrate this all with REST API’s or GraphQL.
But how are you going to add all of this new technology and functionality in a controlled agile way, while keeping the shop open?
With Canary Migrations you can setup a new platform (f.e. based on Kubernetes on a public or private cloud), start developing your first frontend or business-logic service, put it in a container, and deploy it to your new platform. With smart routing components you can now start shaping and segmenting your traffic (visitors or requests). That means you're able to re-route 5% of mobile users with an Apple device from Amsterdam to your new React frontend, while the rest of the visitors still go to your current eCommerce frontend.
This new frontend can now connect all request automatically to the old eCommerce backend (f.e. using a REST API). It could also start forwarding X% of request (f.e. for a specific section of your catalogue, or specific products) to your new headless eCommerce backend.
With dedicated Canary Migration management tools (like Vamp) you can easily observe both the technical AND business performance of your eCommerce functionalities on the new platform, and easily control what visitor segments and percentages are being routed and forwarded to what environment.
If there is an issue or anomaly, the Canary Migration management system will automatically detect and shift traffic to the last-known correct working version. Or you can manually intervene and immediately re-direct all traffic back to a stable environment if needed.
The best part?
You can now start adding more and more components to the new platform in a controlled and risk-free way, while observing technical and business performance, quality of service, and user-experience.
This way you decrease the dependency on the old ecommerce platform step by step, and shifting to the new modern platform until you have moved over entirely. This is also called the “Strangler pattern.”
2) Multi-Tenant Release Automation
Now you have your microservices and serverless services running on the new platform, and traffic-segments are being shifted to the new frontend or services, you will start needing “Day 2” lifecycle management features:
How can I update my services without downtime, in a controlled multi-stage way, with full observability of quality and performance?
A very common challenge we see is that new microservices and serverless functions are designed multi-tenant.
But if you’re going to update your service, because you’re working agile and you want fast iteration-cycles, how can you quickly but safely update AND validate the new version is running without issues, without impacting all your tenants all at once?
With the new breed of smart cloud-native release management solutions you can deploy a new version which will run next to the old version, and shift traffic tenant by tenant to the new version, to validate it’s quality and performance with real production data and traffic. This is of huge value, because it gives you full control and observability, and it minimises and contains the “blast radius” if a bug has not been detected within your test-procedure and is pushed to production.
Vamp is your partner towards microservices
Migrating from monoliths to microservices doesn’t happen overnight. We get that. With Vamp you're able to safely migrate to your new environment and at the same time continuously validate the real impact of your microservices in production.
If you want to learn more about Vamp and how we can support your migration initiative, please get in touch and schedule a free, guided tour of our solution.