![]() |
VOOZH | about |
We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.
Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.
Follow TNS on your favorite social media networks.
Become a TNS follower on LinkedIn.
Check out the latest featured and trending stories while you wait for your first TNS newsletter.
Whether to build or buy an internal developer platform (IDP) is a common question for organizations starting their platform engineering journey. However, there is no one-size-fits-all answer. Both options have pros and cons that can help you make the best decision for your organization.
What does it mean to build or buy? The Cloud Native Computing Foundation (CNCF) Platforms White Paper uses Martin Fowler and Evan Bottcher’s definition of an internal developer platform (or digital platform):
“A digital platform is a foundation of self-service APIs, tools, services, knowledge and support … arranged as a compelling internal product. Autonomous delivery teams can make use of the platform to deliver product features at a higher pace, with reduced coordination.”
Some argue that this definition means that IDPs must be built and cannot be bought. However, this distinction can be confusing as some vendors advertise their products as IDPs. Understanding what qualities distinguish built platforms from bought ones is more valuable.
An IDP that can be purchased is often called a Platform as a Service (PaaS). Whereas an IDP is a collection of different tech and tools glued together, a PaaS is one tool that covers some (but not necessarily all) of the same functionality.
Another key distinction is who decides how developers work. With a PaaS, the vendor defines the user experience and the platform’s limits. With a bespoke IDP, the company defines the user experience and the platform’s boundaries; the limitations arise from the platform team’s skills, budget and business context.
Building an IDP in-house from scratch and buying a PaaS are two ends of a spectrum: build vs. buy is not a binary choice.
Given the restrictive nature of PaaS offerings, you won’t see many organizations buying a PaaS and building the rest of the platform around it. However, they might buy an internal developer portal, platform builder, control plane, DevOps platform, application delivery platform or some other kind of platform tooling from a vendor and build in-house only what’s necessary. Most organizations leverage some combination of built, bought and open source tools for their platform.
Keeping this spectrum of approaches in mind is helpful when reviewing their advantages and disadvantages.
Platform engineering is hard to get right, but it’s gaining traction anyway — for good reason. Building an IDP empowers organizations, particularly enterprises, to create something perfectly suited to their needs. Many organizations build their IDP because of these advantages:
In short, custom-building an IDP offers unparalleled control and compatibility with existing systems for organizations with specific needs, strict compliance requirements or hyper growth. CVS Health’s experience emphasizes that PaaS solutions don’t make sense at a certain size.
Building an IDP isn’t without challenges. If you’ve been following the platform engineering conversation for any time, you’ve likely heard war stories from organizations that quickly got in over their head building their platform. Organizations pursuing this approach should consider:
“What will you do with your platform when the base platform grows? … You can leave your platform the same because you invested all this kind of money, and we call this a sinking platform as the water level rises, right; it might be justified from the investment, but you are kind of duplicating things that are now available in the base platform. … Or you build a ‘floating platform’ where, when the base platform gains the capabilities you have built, you say ‘Oh perfect! I don’t need that part anymore. I can let the base platform handle that, and I can innovate further on top.’”
Source: “The Magic of Platforms” by Gregor Hohpe delivered at PlatformCon 2022
The best way to mitigate these challenges is to follow a platform-as-a-product approach: conducting user research, creating a product roadmap, soliciting user feedback, continuously iterating and improving, and getting internal buy-in from all stakeholders. Not only will this approach help your platform team avoid common pitfalls, but it also helps you build a platform developers actually want to use.
Some organizations lack the headcount, legacy systems or rapid growth that necessitate a custom IDP. For these organizations, a PaaS can be a wiser investment. The benefits of PaaS for these organizations include:
In sum, PaaS empowers smaller organizations with less legacy tech to unlock the power of an IDP without the monumental effort and expense of building from scratch. For those without specific needs or extensive legacy systems that necessitate a custom platform, PaaS offers a cost-effective and supported path to improving developer experience.
As alluded to earlier, PaaS is not suitable for all types of organizations due to some significant drawbacks:
Given these limitations, organizations that expect to outgrow their PaaS in the short term should consider building an IDP instead. Otherwise, you’ll force your developers into one vendor’s workflows and approaches just to switch them to something different soon after. Frequent major changes to the platform can increase cognitive load and worsen the developer experience.
Most organizations build some parts of their IDP and buy others, leveraging a combination of open source, commercial and built-in-house tools in their platform. This build-and-buy approach allows them to enjoy more benefits while mitigating disadvantages.
However, this approach comes with its challenges. The CNCF Landscape, pictured below, is as vast as it is confusing. Platform teams often need help understanding how to choose the right tools and how best to glue them together. However, the Platform Engineering Community has done great work by creating a new and improved platform tooling landscape.
In general, platform engineering experts recommend avoiding reinventing the wheel wherever possible. Syntasso’s Abby Bangser writes:
“In general, as platform components become more of a commodity in the industry, it becomes more likely that you should purchase a solution to benefit from the investment other organizations are putting in to maintain their product in a competitive landscape.”
This advice applies to both the start and continuation of your platform engineering journey. Therefore, as you make your build or buy decision, it is important to understand how your platform might evolve and what tools your organization can leverage along the way.
Note also that the build-and-buy approach still runs the risk of vendor lock-in and high subscription fees. In theory, built-and-bought IDPs are more extensible but must be architected well to be extensible in practice. The cost of third-party platform components can quickly increase and become unmanageable if platform teams aren’t careful. Organizations should do their due diligence, whether buying a full PaaS or a platform component.
There is no one-size-fits-all answer to whether to build or buy an IDP. By carefully considering the pros and cons of each approach and getting feedback from users and other stakeholders, you can make the best decision for your organization.
The key factors to consider when deciding whether to build or buy your IDP include:
Most importantly, no approach (building, buying or both) can guarantee your platform’s success. There is so much more to sound platform engineering.
For more insight, check out this free guide on how to evolve into a platform company.