App Dev Best Practices kubernetes Modernization Best Practices multi-cloud Platform Engineering

The Double-Edged Sword of Modern Software Delivery

Kubernetes offers undeniable benefits—scalability, portability, reliability—and enterprises everywhere are jumping on the bandwagon to adopt it. However, as incredible as Kubernetes is, its adopters are learning a difficult lesson: Without taking the steps to standardize Kubernetes adoption across the organization, costs and risk can skyrocket.

In our recent joint piece with Freeform Dynamics, Kubernetes as an Enterprise Multi-Cloud Enabler, we delve into the opportunities that modern technology such as containerization, cloud native architecture, and micro-services provide, and how to optimally leverage them through a multi-cloud-enabled platform.

Lacking a unified Kubernetes strategy leads to dire consequences 

The enthusiasm behind Kubernetes can lead to individual teams spinning up their own clusters and building their toolkits and DevOps workflows independently, leading to wasted effort, inconsistency, and lack of harmonization. Over time, if modern methods and delivery models aren’t leveraged in a unified and well-managed way, there can be dire consequences. Many of the benefits can be undermined by elevated costs, risks and distractions, and an inability to leverage synergies between projects and teams. The longer this continues, the more difficult it is to eventually reel it in down the line.

The solution: the Kubernetes-enabled multi-cloud approach 

So how do we solve this? Firstly, we know that no one cloud will ever meet all your requirements, so you need the flexibility to mix and match clouds in a way that maintains control and efficiency, as well as a combination that promotes synergies across your organization. To do this effectively, you’ll need to establish appropriate policies and practices, plus the finance and governance processes to go with them. Additionally, you’ll need tools and technology that offer automation, management, monitoring, and reporting capabilities for efficient and effective implementation.

For many organizations, Kubernetes is the no-brainer choice for these types of capabilities. With its ability to orchestrate the deployment and running of containerized applications at scale, Kubernetes plays a vital role within most multi-cloud environments.

While it’s relatively easy to spin up a Kubernetes cluster in the cloud and start gaining experience, deploying and managing Kubernetes in a high-scale business-critical context is a different matter, especially as you accumulate more clusters. Therefore, it’s critical to have a set of tools to help deploy, secure, and operate the Kubernetes environment itself, along with other components to deal with the delivery cycle automation, orchestration, and management needs not covered by Kubernetes out of the box. This is where modern multi-cloud delivery platforms come in.

The fundamentals of a multi-cloud delivery platform 

Multi-cloud delivery platforms help standardize operations across the cloud native delivery pipeline, as well as between pipelines in your broader project or service portfolio. There are numerous stakeholders involved, including developers, operations staff, release managers, site reliability engineers (SREs), security and compliance teams, and of course, your business-side stakeholders. A multi-cloud platform that checks all the boxes will need to satisfy the requirements of all these stakeholders, being that they should ultimately: 1) make everyone’s lives easier, and 2) boost productivity.

A robust multi-cloud platform enables each team member to focus on the activities that are important to their role, giving them quick and easy access to what they need when they need it. Meanwhile, non-core activities are either automated or routed to someone more appropriate, getting rid of those universally hated manual hand-off mechanisms. In order to pull this off, a multi-cloud delivery platform must embrace or interoperate with the existing systems and toolchains used by delivery teams. This includes the likes of Git, Jenkins, Puppet, Chef, as well as the IDEs and other tools that developers and operations staff love and trust—in particular, Kubernetes.

Freeform Dynamics surveyed senior IT professionals on the importance of capabilities of a multi-cloud delivery platform, and unsurprisingly, some of the biggest priorities were infrastructure automation, app deployment automation, and real-time monitoring, as shown in the image below.

Perceived importance of key platform capabilities.

With regard to monitoring, administration, and optimization, the word unified and the phrase across your estate are particularly important. These capabilities enable you to eliminate silos and ultimately increase efficiency across your organization, and the integrated approach to data plays a huge role here. By adding real-time security and compliance monitoring the scope of a multi-cloud platform immediately goes far beyond standard Kubernetes functionality.

Considerations for a multi-cloud delivery platform 

Clearly, a multi-cloud platform approach has powerful benefits, like enabling consistency and standardization across teams and integrating automation and self-service capabilities. The likelihood of gaining significant business advantage will grow as you take a broader and more holistic approach to platform adoption.

One thing to note: it often makes sense to take a step-by-step approach to implementation, starting with a core set of functions and slowly branching out from there. Whether you’ve chosen a commercial platform or built your own, if you’ve chosen wisely, you should be able to notionally switch on individual components or functions only as you need them. By phasing your adoption process, you can learn as you go and reduce risk during implementation.

Learn more 

Ultimately, multi-cloud delivery platforms can create immense business value if implemented correctly at scale. To learn how to set your modern delivery platform up for success, read our white paper with Freeform Dynamics. 

Additional resources