Going cloud native, the right way
Moving from a traditional IT organization to one that’s cloud native is an inevitability for all businesses. This is because all real software innovation is now cloud-first or cloud-only, so organizations that rely on innovation to succeed – and in our digital world that means pretty much all of them – need to migrate to cloud native systems. It’s imperative: everything from natural language processing and artificial intelligence to mixed reality is now sourced in the cloud; so it makes total sense to build apps in the cloud native style.
Cloud native refers to the design, delivery and management of applications that moves beyond just migrating traditional applications to a new platform, and instead truly exploits the unique characteristics of the cloud: faster translations of ideas into new products, as well as greater elasticity, scale and resiliency. The approach enables businesses to innovate faster and keep pace with market disruption.
The challenges of migrating to cloud native
Embracing cloud native requires an approach to app development that’s completely different to anything that’s come before. It demands a new set of technologies and processes underpinned by new ways of organizing teams and delivering innovation. If you’re a startup operating in a green field site this is a relatively easy thing to do: you simply build a cloud-first business from the outset, leveraging the very best in automation technologies and hiring the very best technicians. However, more established businesses are finding that the transition to cloud native is not without its challenges.
This is particularly the case where organizations run a range of technologies that include both legacy and cloud native systems. In some organizations, cloud native is run almost as a separate IT department, working on discreet projects to the traditional IT organization, which continues to do things in the old way. The result is a bimodal company with two technology stacks and two very different ways of working. It’s a challenge to integrate these two operations into a single, cohesive hybrid schema, particularly when it comes to the question of data. If cloud native apps are expected to run using data from old school on-prem databases, many of the benefits of cloud native development will be unachievable.
When’s the right time to go cloud native?
The key question facing incumbent enterprises today is, therefore, when to switch to a completely cloud native environment. Go too soon and you risk overreaching, go too late and you risk irrelevancy. These decisions are not easy, and as a result many organizations are hedging their bets. Many companies today operate a spectrum of technologies that include everything from mainframe databases to client servers, SOA architectures, microservices and even serverless architectures. This mishmash of technology is expensive, inefficient and unnecessary.
My advice to any company setting out on its journey to cloud native is this: understand your business case. Until you know why you need to modernize it’s impossible to figure out the best path to modernization. At the risk of oversimplification, the foundation of a successful move to cloud native is understanding how your business will benefit – whether that’s cost savings through automation, reducing risk by taking best-in-class cloud services, increasing speed and agility, or getting access to new innovations faster. Understanding this takes preparation and guidance. The risk is that a less than perfect experience deploying one element of cloud native will poison the entire concept and cause organizations to fall back on tried and tested legacy approaches. If this happens, businesses could lose out to more agile and innovative companies that have succeeded in their cloud native migrations.
Getting cloud native right
So, what can organizations do to ensure their move to cloud native delivers maximum value with minimum disruption? The first thing is to have the right mindset: you should prepare your enterprise for widespread change. In particular, the effects on organization, people and culture need to be effectively managed. Old roles will disappear and new ones will emerge. Skills definitions will change and, likely, talent gaps will emerge.
To help organizations think and do in a cloud native way, we’ve come up with some key insights. These should help you deepen your own maturity in cloud-native development:
- Become more service-oriented. Organize your teams around specific services or capabilities. This change needs to be carefully managed to avoid resistance.
- Provide access to the tools your developers need. By empowering your developers, you will increase your devops capabilities.
- Employ modern architectures. Get rid of old architecture patterns: cloud native means using microservices and a reactive type of architecture.
- Rearchitect your organization. The organization needs to rearchitect itself so it can react and think in a way that takes advantage of a cloud-native architecture.
- Enjoy the cloud-native journey. The move to cloud native should be exciting, and the IT leadership should work to enthuse everyone in the company about the journey at hand.
No business transformation is easy, but they are almost always necessary. The move to cloud native is no exception. Doing nothing is not an option and the companies that successfully embrace cloud native first stand to benefit the most. Get your journey underway today.
By Miha Kralj, Managing director, cloud strategy, architecture and delivery at Accenture