How to Win at Cloud Native Migrations
Cloud migrations have become one of the hottest topics in IT in 2018 and the category gaining the most attention is the transformation of software from traditional architectural styles to “cloud native”.
Business leaders have accepted that in order to modernize their business and remain competitive in today’s climate, they need to also transform their software as they embrace cloud computing. Transformation involves the migration method of refactoring or replatforming and typically that is done to cloud-native architectures.
But what is cloud native?
The CNCF has defined cloud native as:
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. Read more
If that’s just a jumble of words to you, let me attempt to simplify:
Cloud native style applications use technology available to you from the cloud providers that is, provided to you on-demand, programmatically, inherently elastic to dynamically scale and meet your needs. Cloud native applications leverage the best practices of DevOps and Infrastructure as Code for continuous deployment, giving your business the agility it needs to compete.
The icing on the cake for cloud native applications is that they require no upfront licensing fees, allowing you to build your application and pay for just what you need when you need it. Hence the rise of new businesses being started on the cloud with little more than an idea and a credit card.
Sounds good. How can I adopt it?
I get it, cloud native is different to how you typically deliver software in your organization and culture change is hard — so where do you start?
There is one method to influence that culture change that is working well in other transformation initiatives: demonstrating capability with pilot projects.
By forming a tiger-team and demonstrating a single successful cloud native application you will show other business leaders and staff that it is possible to embrace the cloud in your organization. What’s more, the benefits of this new style of application, from a delivery, maintainability and support perspective will become evident to more people. Faster time to market, shorter time to resolve issues, automated disaster recovery processes, etc.
Identifying an application to transform first is the next priority. You don’t want to pick one at random. You need an application where the current technology is easy to refactor to cloud native and where the application is important enough to the business that the value of modernization will be real. This will be your lighthouse project, the beacon for other transformation initiatives to reference.
The most important part of this application assessment is to recognize what an application is. Too often we see IT teams confusing an application with its infrastructure, leading to analysis paralysis and lengthy data center discovery initiatives. If you have read this far, you get it — so forgive me for preaching to the choir:
An application’s most important component is its source code. It is not the SAN, the switches, the firewall rules or the x86 CPU model number. So why spend so much time assessing the infrastructure if what you really want to migrate is the application?
Discover your applications, rank them in order of business value and assess them for cloud migration difficulty. You will then have your low-hanging fruit at the top of your list. Transform the first one as your lighthouse project and show the organization what is possible.
That’s how you win at cloud native migrations.
-David Colebatch, Chief Migration Hacker
- Build a tiger-team of cloud native capability in your organization
- Find the low-hanging fruit applications for transformation
- Demonstrate your capability.
- Scale your tiger-team out and modernize more of your business