
Large migrations are always fraught with potential dangers. The team has built trust with customers over years and years on a platform that the organization chose many years ago. The team knows the platform inside and out, including all of its quirks and odd little behaviors. It feels a bit like a team member itself.
But when the platform is no longer suitable for the next phase of business growth or the new features and functionality that will continue to delight the customers, it’s time to take a hard look and reevaluate its fit for purpose. Any technology can become technical debt over time as requirements, assumptions, customer behaviors and priorities change. Potential gains begin to outweigh the risk and resources necessary to take the plunge and rearchitect.
A significant investment in resources is needed for a major platform migration, and the issues or struggles with an existing solution really need to have a negative impact on end users in order to justify change. Problems that create incidents, lower reliability and have a negative effect on user satisfaction compound as technologies age. Teams may see the decay in real time, like bad deployments causing user-facing incidents. It’s one thing for the team to recognize declining performance, but it is another thing altogether when customers start to lose trust in the products’ reliability.
Approaching a Major Migration
For many larger or long-established technical organizations, a platform migration has to be carefully considered. Customer expectations and SLAs hamper migrations just for the sake of migrating. So what can an engineering team, obsessed with reliability and customer satisfaction, do to facilitate a successful migration from a legacy platform to Kubernetes?
Kubernetes is now the safe and boring thing that everyone uses, and it has established a reputation as a learning community of other practitioners also focused on reliability. A migration target with a vibrant community of experienced professionals who are just as obsessed with reliability is a huge benefit.
The technical migration is only part of the story, like the installing of new packages or buying of new services. Preparing application engineering teams to migrate their apps to the new target platform requires engaging with each team, collecting lessons learned along the way and making new information available to everyone on a regular basis.
Early adopters who give good feedback are a godsend
Early adopters are an important group to engage with during any change or migration, especially those who have opted-in on their own! Early adopters become champions and can even help support other folks with their later migrations. Teams can help trial components, provide feedback on the proposed workflows and encourage later teams to embrace the new platform.
Engage your early adopters with a post-migration survey to collect their thoughts on what went well and what challenged them during the migration. Ask them what else they are hoping to get out of the new platform, and if they miss anything about the old platform that might be useful as the new platform matures.
Small Steps for a Long Journey
With a large migration project looming, it can be tempting to deal with all the aspects at once: implement a service mesh, adopt new ingress patterns, enforce identity and access management roles for service accounts (IRSA) and everything else on your roadmap.
Resist the temptation!
Large projects are composed of smaller, more achievable goals to hit along the way. Set the team up for success by deconstructing the larger project into a series of smaller benchmarks for teams to reach. Focus on migrating code off the old platform before adding all of the amazing features the new platform will provide. That win will invigorate teams and inspire them to move forward.
Track and Communicate Progress
Communication is a core component of every change project or migration, and moving from a legacy platform to Kubernetes will be no exception.
It’s probably impossible to over communicate with a large project. Executives and managers will want to know how things are going, but so will individual contributors. Be sure to keep everyone informed about how things are going. Post updates in public places such as Wikis or public channels in your chat application. It makes everyone feel good that the project is successful and is moving forward. As the initial teams start to show progress and experience the benefits of using Kubernetes vs. the old platform, any teams that are reluctant to migrate will see what they are missing.
Documentation isn’t the only way people learn
Documentation is another form of communication that you can’t have too much of during a large migration effort. Document in the places your engineering team is already documenting processes and activities. Written documentation is just the start.
Give your teams different options for migration documentation. Some teams will be fine with written guides and instructions. Others might want examples or sample code and configurations to start from. Others might benefit more from some 1:1 time with the expert team, or some office hours where they can ask specific questions and get answers in real time. Offer flexibility to teams when you can.
Surprises along the way
Joining the Kubernetes ecosystem is a bit like putting a boat into a swiftly running river. The ecosystem is dynamic and constantly evolving.
The pace of change in the Kubernetes environment has been surprising overall, compared to how much more conservative some legacy platforms can be. Keeping up with important changes and enhancements may play a much larger role in platform management and engineering practice than it has in the past.
There is also a lot of opportunity to provide additional features and services as part of the Kubernetes platform once teams have migrated off the legacy platform. Celebrate the retirement of the old system and investigate what can be added to the new environment to make the developer experience better and create more features that customers will love!
KubeCon + CloudNativeCon EU 2025 is coming to London from April 1-4, bringing together cloud-native professionals, developers, and industry leaders for an exciting week of innovation, collaboration, and learning. Don’t miss your chance to be part of the premier conference for Kubernetes and cloud-native technologies. Secure your spot today by registering now! Learn more and register here.