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.

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 system

Add new types, whether entities or relations, as new tools, workflows, infrastructure, resources and configuration are incorporated.

Inheritance and polymorphism

Query 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 type

Understand how everything is connected, whether applications to environment configuration or workflows to infrastructure changes.

Built-in reasoning

Use 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.