Platform Engineering
Platform engineers bringing together a set of tools, services and workflows (or pipelines) to create an internal developer platform (IDP) need a unified data model that represent the entire lifecycle – from building and testing to deploying and monitoring, infrastructure provisioning to application and environment configuration.
IDP webinar
Learn how to create an extensible data model for internal development platforms that infers dependencies and issues.
IDP project
Download a TypeDB Studio project to create a core IDP schema, load sample workflow data and infer dependencies.
Discord channel
Visit the #platform-engineering channel on our Discord Server to discuss solutions and get advice from our research engineers.
Requirements
IDPs, and their individual components, must be structured enough to streamline the deployment of "golden paths" via abstraction and automation, but flexible enough to incorporate new tools, services and workflows as needed.
Internal Developer Platforms (IDPs)
Provide developers with a self-service option for deploying applications and services by unifying the tools, processes and workflows that represent golden paths.
Developer Portals
Create a centralized view of deployed infrastructure, applications and services – as well as their configuration, dependencies, status, ownership and history.
Control Planes
Provide developers with a higher abstraction for deploying code and infrastructure to the cloud via automated workflows and configurable resource definitions.
Continuous Delivery (CD)
Configure, manage and run the build and deployment process of applications and services, including those with multiple modules, artifacts and interdependencies.
Challenges
When a diverse set of tools and services are brought together to create self-service workflows for developers, it's difficult to create a single data model that can capture and expose all of the dependencies and connections within it – and evolve naturally.
Continuous evolution
The adoption of new golden paths is challenging when the platform requires customization, as is adding support for new types of deployments, dependencies and workflows.
Unexpected complexity
As platform engineers bring together more infrastructure, repositories, deployments and workflows to streamline the process, the data models become increasingly complex.
Unknown consequences
It's difficult to answer questions that span multiple phases such as which services will a failed resource impact or how will a configuration change impact deployed infrastructure.
Fragmented data
It's hard to make connections between things like build dependencies and infrastructure changes, and see the big picture, when processes store data in different databases.
TypeDB Solution
TypeDB provides platform engineers with a database they can use to model every component and workflow in an IDP (and all of the interactions and connections between them) – and surface meaningful insight from current state and behavior.
Extensible type systemAdd new types, whether entities or relations, as new tools, workflows, infrastructure, resources and configuration are incorporated. | |
Inheritance and polymorphismQuery all subtypes without having to specify each one in a query with joins (e.g., all infrastructure rather than all proxies, databases, etc). | |
Relations as a core typeUnderstand how everything is connected, whether applications to environment configuration or workflows to infrastructure changes. | |
Built-in reasoningUse the reasoning engine to infer data and provide insight to developers and stakeholders (e.g., services affected by a broken workflow). |
Further Learning
Download sample projects to get up and running in minutes, and check out the latest blogs from our research engineers.
IDP webinar
Learn how to create an extensible data model for Internal Development Platforms that infers dependencies and issues.
IDP project
Download a TypeDB Studio project to create a core IDP schema, load sample workflow data and infer dependencies.
Discord channel
Visit the #platform-engineering channel on our Discord Server to discuss solutions and get advice from our research engineers.