How to design backends for Internal Developer Platforms
In this article, we discuss the importance of backend design for Internal Developer Platforms (IDPs) and explore two common patterns in their architecture: pipeline-based and graph-based backends. The main value drivers of platform engineering are standardization and automation. A well-designed backend should promote standards, manage the entire lifecycle of a resource, be API-first, interpret abstract requests from users to enable golden paths, allow users to leave the path when needed, design for easy integration, ensure security, have a workflow engine built in, and maintainability. Pipeline-based backends use CI pipelines and IaC but are not ideal for complex business logic in the infrastructure world. They can be difficult to audit and consume with multi-interface approaches. Graph-based backends, such as Platform Orchestrators, provide a dynamic approach by describing dependencies between nodes (resources) based on their edges (dependencies). This allows for easier updates and better standardization compared to pipeline-based designs. However, they may require more time for infrastructure platform engineers to understand the logic and approach.
Company
Humanitec
Date published
May 24, 2024
Author(s)
Kaspar von Grünberg
Word count
2995
Hacker News points
None found.
Language
English