Every enterprise wants to become cloud-native. Their goal is to be able to transform and reinvent business at will as well as deliver new features to customers quickly and continuously. Cloud-native has become the proven path to this goal. It can drive scale, power innovation and improve business velocity. There are scores of examples around us. Take the case of cloud-native retailers who routinely roll out dynamic pricing changes and run targeted digital campaigns aimed at millions of customers on a daily basis; or the B2B exchanges that have developed application APIs that allow third parties to connect and transact dynamically on their cloud native platforms. It isn’t surprising that as per some studies more than 60% of enterprises are now on a cloud-native journey.
The cloud-native approach to application and service development has tremendous appeal to both traditional and new enterprises because it fosters a deep partnership between business and IT. Cloud-native is the only way IT can deliver the demands of business.
But the change is not easy for legacy businesses. There is no switch, knob or slider that an enterprise can use to change “culture”. And when the change occurs, it has a dramatic impact on the way IT departments are structured and how they function. The shift from large, monolithic development to a continuous integration/continuous delivery (CI/CD) approach can take months, if not years. The merger between software development and IT operations (that’s DevOps for you) can be slow and demands that the enterprise make investment in new skills, tools, platforms and processes. Cloud-native is a prerequisite to this state.
To make the cloud-native journey easier, there are four foundational elements that give enterprises a head start. These elements comprise of framing business outcomes, reimagining the organization structure, processes and empowering developers.
Frame and execute business outcomes collaboratively
Business defines the outcomes they want to achieve. We have also seen revenue generation becoming an integral aspect of a Line of Business’ (LOB’s) agenda. The means of achieving the business outcomes have to be thought through carefully. In order to be successful, business or the LOBs have their own IT, tools, portals and self-serve models. Meanwhile, horizontal services are managed by central IT. In effect, we have the parallel existence of LOB IT and CIO IT, which can cause tensions. The goals should be to work holistically, collaborate and reduce tension. Successful organizations marry the two, defining specific value streams and metrics within each team, for clearly charted user journeys – such as the business user, developer, platform and operations. Agile teams compose these value streams to achieve successful outcomes.
Create a service-oriented organization
Organizational structures dictate how systems are developed, layered and managed. The traditional organizational construct has resulted in monolithic applications that are invariably rigid, cannot scale nor adapt to dynamic business demands (see Figure 1 for a graphic look at how organizational structure shape outcomes). This is Conway’s Law in action: “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure”.1
The cloud-native development paradigm requires a nimble organization that works in smaller teams to achieve business outcomes. Team sizes vary from 2-6 people for small to medium applications. Each team is responsible for autonomous containerized services. Each service uses its own language, framework and run time. Services that belong to an application are loosely coupled, and discover each other in runtime. For cloud-native applications to succeed, each team must assume complete ownership from develop to operate (see Figure 2 for the DevOps way of working).
Each service of an application has its own lifecycle, independent of other services. This level of collaboration – that calls for complete independence but seamless operations -- is possible only through an agile DevOps process/culture. Collaboration with business ensures a feedback loop that, in turn, drives a CI/CD pipeline. This development paradigm allows businesses to release newer functionalities to differentiate, faster time to market, and creates a competitive edge.
Adopt DevOps way of working
The key to adopting a DevOps culture is in operational transparency. Traditionally, there has always been conflict between the "change-the-business" (development) and "run-the-business" (operations) teams. Now, Dev and Ops teams have to trust each other, collaborate and adopt integrated DevOps practices and redefine success metrics that are key to their businesses (for example, frequency of release, deployment time, failed deployments, etc.). This approach changes the way enterprise business and IT work. It forces the IT operational fabric, along with its underpinnings in technology tools, processes and team structure, to evolve. At the bottom of this change is buy-in from leadership. Without leadership engagement and sponsorship, the change cannot be driven or sustained.
Empower developers with the right stacks and CI-CD
For the approach to work, enterprises need to standardize the required technology stacks including languages, runtimes and DevOps processes. Connecting these to automated pipelines simplifies the complexities of agile delivery. In most enterprises, developers have to deal with multiple technology stacks, fragmented processes and tool choices that potentially blur continuous delivery automation. These need to be replaced or integrated into newer processes.
Next, enterprises need to examine the bottlenecks and wastage in the current delivery pipeline. A good start point is investing in deployment automation and progressively maturing towards continuous deployment using cloud-native templates or Infra-as-a-Code best practices. It is equally necessary to focus on accelerating automation in CI or the build, test and release processes (these also become excellent success metrics to track for the DevOps team). Finally, build the foundational processes such as source control, repo, registry, security, configuration and release management into the pipeline approach.
To back this, enterprises would benefit from setting up an independent Cloud Native COE that has a single charter: Of driving the changes mentioned above within the enterprise. The COE should be entrusted with defining the goals, guidelines, best approaches and practices to pivot the enterprise on its cloud-native journey.
In the next blog in this series, I will highlight the additional steps that an enterprise needs to take to accelerate its cloud-native journey.
Reference
1- https://en.wikipedia.org/wiki/Conway%27s_law
Related reads:
https://www.wipro.com/blogs/tom-richer/5-key-elements-of-a-cloud-native-approach/
Industry :
Click here to download your copy of State of IT infrastructure report 2020