![]() |
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.
If I had to name the single biggest misconception some people have about platform engineering, it would be that the result of a successful platform engineering endeavor is a shiny user interface with lots of buttons to click and dashboards to look at.
Many people conflate developer portals and service catalogs with internal developer platforms (IDPs), but they aren’t the same. And there are real consequences to the confusion. At best, that shiny UI allows organizations to gain only a small part of the return on investment (ROI) they can get from platform engineering.
In 2022, I spoke with roughly 300 platform engineering teams. Many of these teams started their platform engineering journey with building a developer portal. However for 95% of them, other platforming initiatives would have had a bigger impact on developer productivity and ROI. Less than 20% of the teams see developers actually adopt and use the developer portal.
In 2022, Gartner clarified the relationship between developer portals and internal developer platforms:
“Internal developer portals serve as the interface through which developers can discover and access internal developer platform capabilities.”
For example, Netflix built a developer portal on top of its existing platform tooling.
An internal developer platform is the sum of all tech, tools and processes that a platform engineering team binds into a golden path for developers. The golden path reduces cognitive load and drives standardization by design. An IDP doesn’t even need to have a user interface. IDPs are about so much more than aggregating information and displaying it — from configuration and infrastructure management to environment and deployment management. Designing IDPs is about listening to what developers actually need on a daily basis and building solutions that address those needs. A developer portal can visualize the underlying platform, but it is not a necessary component of an IDP.
A developer portal or service catalog is a user interface that pulls data from several APIs and consolidates them against different views. A service catalog shows you a list of available services, which APIs they feature and the owner of the service. It pulls and aggregates the metadata from GitHub, ticketing systems and continuous integration (CI). Service catalogs often have a “templating gallery,” which is a more or less fancy collection of GitHub templates and dashboards.
If developer portals and service catalogs aren’t necessary, why do so many organizations focus on building them first? Here are some of the most common reasons I’ve seen:
After investing time and resources into developer portals and service catalogs, many organizations are disappointed with the results. Here’s why:
Instead of focusing on building developer portals or service catalogs, you should prioritize the features that benefit developers the most. You can figure out which features your organization needs by taking a product approach. With a product approach, you aren’t going to start by building the stuff some influencer tells you to or whatever feels obvious. Instead, you start with user research. Go to your developers and ask them what they need or want to do.
Then it’s your responsibility to prioritize those concerns. One way to do this is by noting how often developers do a certain task every 100 deployments and how long it takes. You’ll wind up with a table that looks something like the one below.
Sample Calculation
| Procedure | Frequency (% of deployments) | Dev Time in hours (including waiting and errors) | Ops Time in hours
(including waiting and errors) |
| Add/update app configurations (e.g., env variables) | 5%* | 1h* | 1h* |
| Add services and dependencies | 1%* | 16h* | 8h* |
| Add/update resources | 0.38%* | 8h* | 24h* |
| Refactor and document architecture | 0.28%* | 40h* | 8h* |
| Waiting due to blocked environment | 0.5%* | 15h* | 0h* |
| Spinning up environment | 0.33%* | 24h* | 24h* |
| Onboarding devs, retrain and swap teams | 1%* | 80h* | 16h* |
| Roll back failed deployment | 1.75% | 10* | 20* |
| Debugging, error tracing | 4.40% | 10* | 10* |
| Waiting for other teams | 6.30% | 16* | 16* |
*Per 100 deployments. Source: https://humanitec.com/blog/top-10-fallacies-in-platform-engineering
You can use this table to figure out the ROI for your internal developer platform.
In most cases, I’ve found that two changes yield the biggest results. Making sure you really have basic CI/CD flows set up reduces toil and increases efficiency. Restructuring your configuration management from “static” to dynamic configuration management enables standardization by design, separation of concerns and continuous self-service with low cognitive load.
This is not to say that there are no good reasons to build a developer portal. If your developers are creating an incredibly large number of services and resources and need to categorize them for inner-source endeavors, a portal is very beneficial. However, there are not many organizations that have the thousands of services and developers required to get to a positive ROI.
Sometimes you have to build a developer portal because management tells you to. You don’t have a choice. But if none of these cases apply to you, don’t waste your time focusing on the developer portal as a starting point. Instead, start with architecting your IDP. Your developers will thank you!