It’s been over two years since Pivotal shined a light on the reasons why building your own platform might not the best use of your time. We even went so far as to publish a white paper on the topic.
Since then, a lot has happened. Two years is a long time in business and an even longer time when measured in cloud years. Building your own platform wasn’t a good idea in 2017. But now that it’s 2019, it must be okay. Right?
Wrong. All the same risks still apply. Building a platform is complicated. It takes a long time. It’s a risky investment. And it’s still not your core business. The do-it-yourself approach to building and running a cloud platform is still a bad idea for just about everyone.
But it is true that a lot has changed in two years. That’s why we’ve updated the aforementioned white paper, The Upside Down Economics of Building Your Own Platform, to account for the world of enterprise IT in 2019. Let’s recap a few of the new developments.
What Makes up a “Platform” is a Moving Target
What can you do with a platform? Certainly more than you could two years ago. As the cloud industry hurtles forward, platforms do as well. This is one reason why building a platform is so hard. The requirements are always changing in unpredictable ways.
You will notice some changes to the reference architectures outlined in the original white paper. There are new components, like a container registry. You’ll also see a clear distinction between platform and application observability. These pieces (and others) deliver functionality that the market now expects in a modern cloud-native platform. It’s Pivotal’s core business to keep up with these features, so it’s not a surprise that Pivotal Cloud Foundry (PCF) delivers on practically all of them. Can your homebrew platform say the same?
Kubernetes is Ubiquitous. But Achieving Great Outcomes with K8s is Hard.
Nearly every company is now experimenting with Kubernetes. And it’s easy to see why—K8s is a powerful tool for managing the deployment, scaling, and availability of containers. As a result, many IT organizations have tried to use Kubernetes as the foundation of their DIY platform. The problem is, K8s is really just one component of a broader platform solution.
Kubernetes is a platform for building platforms. It's a better place to start; not the endgame.
— Kelsey Hightower (@kelseyhightower) November 27, 2017
Kubernetes is an infrastructure framework. It's YAML based configuration files and the kubectl command line tool make it approachable to developers, but far from the developer productivity you find in a PaaS or FaaS platform.
— Kelsey Hightower (@kelseyhightower) March 2, 2018
It’s also becoming clear that multi-tenancy is hard with Kubernetes. So development teams are creating many clusters to support different sets of users. This requires a platform that supports self-service, on-demand provisioning of Kubernetes clusters. That’s a difficult thing to engineer on your own.
Strong agree. Everyone wants actual isolation, but tbh I’m not sure k8s is the best abstraction for the job. It’s so complex and leaves so much room for error. One config gone wrong or one missed patch and it’s game over for your cluster. https://t.co/2hKWXmVeBp
— jessie frazelle 👩🏼🚀 (@jessfraz) December 26, 2018
This is just one of the issues addressed by Pivotal Container Service (PKS). PKS delivers a rock-solid Kubernetes experience to your developers while solving many of the operational challenges for you (thanks BOSH!).
With PCF, we give you a family of products that can handle your apps, containers, and functions. Enterprise customers need a commercial platform that can handle any abstraction while providing a consistent operational experience. And speaking of a consistent operational experience…
Scaling Operations for a Homegrown Platform is Nearly Impossible
Once your developers see how productive they can be with a platform, adoption grows quickly. Before long, your platform is running thousands of apps. With a homebrew platform, it’s very hard to achieve the right level of efficiency and cost savings when running at scale. How do you scale your platform, without scaling your operations team at the same rate?
Gartner recently published an enlightening paper highlighting how to scale your DevOps capability with Platform Ops—that small dedicated team that owns the delivery and maintenance of the platform itself. One of the key findings from this paper—“platform operations is needed to achieve economies of scale.”
Operations teams can quickly fall behind on their maintenance duties just working to keep the platform lights on as more and more apps are deployed to their homegrown solution. Pivotal Cloud Foundry has the ability to run hundreds of thousands of application instances while also championing the idea of a continuously integrated platform using a continuous delivery pipeline. This lets platform operators treat their platform as a product to more efficiently operate at scale. The chart below shows the relative efficiency of PCF and a DIY platform.
Take 20 Minutes to Read this White Paper. You’ll be Glad You Did.
Are you considering building your own application platform? Have you started looking at building a platform yourself using Kubernetes and other open source technologies? Make sure you read our revised white paper before you make any firm commitments on your platform strategy. The economics of a DIY platform might seem compelling at first. But they can become ugly very quickly as complexity grows from ever-evolving technologies and business demands. That's a lesson you don't want to learn the hard way.