Daniel Noguerol, senior platform architect at Pivotal, explains how businesses can leverage the power and flexibility of Kubernetes to transform their digital strategy.
Recent Forrester research indicates a dramatic shift in the focus of enterprise process improvement efforts. Two years ago, cost reduction was the primary driver; today it’s accelerating digital business transformation, with a focus on improving customer experience.
A ‘platform-based’ approach is becoming increasingly popular, as it enables enterprises to leverage a flexible, structured, and scalable foundation, while speeding development time, leveraging investments, and incorporating long-tail processes. A platform approach provides flexibility to embrace process changes and emerging capabilities along a business’ transformation journey. And it makes enterprise development process more predictable and repeatable – enabling faster time-to-market with lower risks.
So, how can organisations use a unified platform to deliver better business outcomes?
For purposes of simplicity, we’ll define platform as all infrastructure and services that move an application from source code into the hands of end-users in a reliable and secure way. All companies that deploy software to the cloud are using a platform in some form. Those generally fall into one of two categories: snowflake (do-it-yourself) platforms or platform-as-a-service (PaaS).
Snowflake platforms, so-called because each one is different, are generally created using a combination of open-source and/or commercial tooling. The primary advantages of this approach are flexibility and minimal up-front license costs. The disadvantage is organisational commitment to an ongoing journey of uncertain scope, cost and outcome. Constant maintenance and evolution are required – and the journey will never be complete. This makes predicting costs extremely difficult and they will often far exceed licensing costs over time.
PaaS offerings provide a holistic solution with proven success in other organisations. According to cloud computing stats, almost two-thirds (61%) of companies are already using PaaS. The advantages are a secure, well-integrated, constantly evolving platform curated from the best of leading open source technologies. What typically resonates with customers is the ability to focus on developing business value while minimising the distractions of the underlying technical details. The disadvantages are up-front license cost and less flexibility than the snowflake approach.
Kubernetes is the popular open-source project introduced by Google and contributed to by several companies. As many companies have discovered, it is not a platform – rather it is a foundational component for building platforms. By its very nature, it forces users to delve into its many technical details to achieve meaningful outcomes.
It can be likened to a team starting a restaurant business. The ultimate goal is to deliver food in a comfortable atmosphere that encourages customers to visit often. There are many other details beyond food involved – for example, the need for tables, chairs, fixtures, etc. The team can choose to purchase these things pre-built from a vetted source and customise as needed. Or, a subset of the team can buy hand tools and lumber and become proficient at building furnishings. While one might argue the latter helps achieve the “comfortable atmosphere” goal, it is clearly a distraction and a source of ongoing maintenance.
And that brings us back to Kubernetes. To carry the analogy a bit further, Kubernetes can be thought of as a set of high-quality power tools. To teams that are still working with hand tools, it would generate a lot of excitement. After all, they can dramatically increase the speed and quality with which they create furnishings once they overcome the steep learning curve of mastering their use. In the last two years, the adoption of Kubernetes in businesses has doubled. But that doesn’t change the fact that the time and resources the firms may be allocating to building platforms (or furnishings in the case of the analogy) is keeping them from other things the business needs to be successful – like delivering the best possible customer experience.
The power and flexibility that Kubernetes provides is also its source of considerable complexity. There are many different ways to achieve all tasks, such as creating container images and managing clusters, using a variety of solutions both inside and outside of Kubernetes itself. The challenge is identifying, implementing and operationalising a workable combination of those solutions to get real workloads into production. Operationalising snowflake platforms can be daunting and represent a significant hurdle between proof-of-concept implementations and production-ready ones. And even once operationalised, the effort to monitor and keep up with the rapid pace of change inherent to individual components can be exhausting.
PaaS, on the other hand, offers a holistic solution without a need to deal with (or necessarily care about) individual components. It provides developer productivity, ops efficiency and a common security model – all vital capabilities built upon the container orchestrator foundation. . By leveraging Kubernetes as that container orchestrator, the platform automatically achieves greater standardisation, value-add focus and contributes to a thriving ecosystem.
An ideal PaaS should also be able to meet customers at any point on their cloud application journey. It doesn’t matter if they’re just getting started from scratch, wrestling with the complexities of implementing a snowflake platform, or questioning continued investment in one they’ve already built. For example, some PaaS solutions offer several modular components that can be utilized à la carte.
Although Kubernetes has exponentially increased the capability of companies to integrate technology into their services, as always, the goal is to enable customers to quickly and continually deliver business value while minimising the “furniture building.” As companies continue along their cloud-based application journey and look to digitally transform at the speed of light – while being mindful of achieving their business outcomes – it’s worth considering how PaaS can help accelerate them to their destination.