.tech Podcast - Internal Developer Platform

Blogs· 4min March 15, 2023

Kaspar Von Grünberg is a the CEO and founder of Humanitec. He joins us to discuss what an Internal Developer Platform is and what to focus on when you're building your own. Finally, he provides an overview of Humanitec's platform, which provides open-source tools you can use when you're building your own IDP.

Kaspar Von Grünberg is the CEO and founder of Humanitec. Kaspar is passionate for platform engineering and been building platforms at multiple companies. In 2019, he started building the commercial and open-source products for Internal Developer Platforms, including growing communities at platformengineering.org and PlatformCon. His mission is to consolidate tooling and education for modern internal developer platforms.

Characteristics of Internal Developer Platforms(IDPs)

Kaspar begins by telling us what an internal developer platform is NOT. He underlines that there is no out-of-box Internal Developer Platform (IDP). The vendor solutions are Platform as a Service (PaaS) solutions.

An IDP has two main pillars: standardisation by design and developer self-service. These two pillars can only be achieved by building an IDP, which consists of the tech and tools that a platform engineering team binds into "golden paths" for developers. The platform will look different from organisation to organisation, and even vertical to vertical, so there is no simple answer to what an IDP is.

While there is no one-size-fits-all IDP, Kaspar has seen similarities in the design of IDPs and is keen to share his knowledge on the topic. There is a cost to building an IDP, especially for small teams. Even when the system is small the team can embrace good practices such as separation of concerns and using base Helm charts. This will help engineering teams reuse code and make it easier to extend the system with new services. Humanitec Score is an open-source tool that can help with workload specification. However, Kaspar estimates that a team of less than 40-50 developers that isn't planning to scale probably doesn't need to invest in building an IDP.

IDP focus areas

IDPs can be used abstraction layers between the underlying technology and the developers building workloads. Kaspar recommends that we are careful with hiding details behind shiny interfaces and making things "magically happen". In a good engineering setup, you should never remove context. The developers need to understand exactly what happens under the hood, have good feedback and understand configuration. This is what a golden path is for developers, versus a golden cage that provides no context or freedom. One of the goals of platform engineering is to help developers solve business problems, through frictionless golden paths.

Kaspar has written a blogpost "The top 10 fallacies in platform engineering", which presents findings collected from speaking with 1850 engineering organisations.

While it is difficult to give generalised advice, Kaspar recommends to start building your IDP with configuration management, bringing the idea of layered abstractions which separates the environment agnostic from the environment specific. Developers can specify what they need and the platform team can set certain defaults. Deployments then bring these two together and create configurations dynamically.

The needs of your IDP should be based on your business and engineering organisation. You should take a step back before you start building an IDP, ask your users what they want and try to figure out what the largest return on investment for your efforts is before you decide what your IDP should look like.

The Humanitec platform

Kaspar provides us an overview of the Humanitec platform. It is not an out-of the box IDP or developer portal. It helps you build golden paths by gluing the tools and technologies you use together. They work with large enterprises and have had over 22,000 signups in the last quarter alone. The Humanitec platform can help you build golden paths, but there is a lot of work your organisation must do as well to alleviate tension between developers and operations.

Humanitec provides three tools:

  • Humanitec Score is an open-source tool with over 7,500 GitHub stars. It provides an open format to help developers describe what resources your workload needs in an environment agnostic way. It creates one configuration rule that works across all environments.
  • Humanitec Platform Orchestrator is a context-aware configuration file generator. It takes in the abstract file from the Score specification, reads it and follows a read-match-create-deploy (RMCD) execution pattern. It is available as a SaaS product or it can be used independently, but it will require connectivity to all of your clusters.
  • Humanitec Resource Drivers is open-source and provides drivers that help the Orchestrator connect to various clouds, Crossplane, Terraform etc. They are effectively plugins for the Orchestrator.

The bottomline is that if you are using the Humanitec platform approach, developers have a way of creating golden paths and can always drop down to using Terraform if the need arises. Most importantly, they can deliver fast without being dependent on operations. Humanitec is used by a lot of banks and financial institutions.

Humanitec is running PlatformCon 2023, which is a free, online event taking place 08-09 June. Make sure to join if you are interested in all things platform engineering.

Written by

Adelina Simion Technology Evangelist

Adelina is a polyglot engineer and developer relations professional, with a decade of technical experience at multiple startups in London. She started her career as a Java backend engineer, converted later to Go, and then transitioned to a full-time developer relations role. She has published multiple online courses about Go on the LinkedIn Learning platform, helping thousands of developers up-skill with Go. She has a passion for public speaking, having presented on cloud architectures at major European conferences. Adelina holds an MSc. Mathematical Modelling and Computing degree.