EIDP platform overview
EIDP delivers a complete (internal) developer platform for running your applications. This developer platform provides and automates the common infrastructure needs for your product. We make running your apps as easy as possible, so you can focus on delivering products, features, and code. For more information on what an internal developer platform is, see What is an Internal Developer Platform?
This document provides an introduction and overview of how our services work.
Run your apps
When you deploy an app or product to EIDP, you do this to a workload cluster. The workload cluster is an environment that provides compute resources to run your app, as well as opinionated, golden path resources that apps and products commonly need.
The workload cluster provides the following resources:
- API Gateway / Load balancer: making your product or app accessible to the world.
- Compute: run any workload that you can package as a container image.
- Database: store relational data in a database, such as a PostgreSQL database.
- Storage: store data on block storage or S3-compatible object storage.
- DNS management: automatically manage DNS records for your apps and products.
- Certificate management: automatically manage TLS certificates for your apps and products.
- Backups: automatically back up your data, and restore it when needed.
- Logs and metrics: automatically collect logs and metrics for your apps.
For each of your apps and products, you can run multiple instances of them in one or more of the available workload clusters that serve as environments, such as development, test, and production.
Common facilities for workloads - the infrastructure cluster
When working with one or multiple products, typically there are a few support processes that you'd like to have shared across them. For example, you'd like to view logs and metrics in a single place, store and release container images for workloads, and share authentication information across environments. These facilities are provided in an infrastructure cluster.
- Viewing logs and metrics: logs and metrics for all workloads are viewable in a single place.
- Dashboards and alerts: create dashboards and alerts that span multiple workloads or environments.
- Container registry / OCI artifact storage: release and fetch container images and other OCI artifacts from a single location.
- Shared authentication: authenticate to internal services using a single set of credentials per user.
Developing and releasing
EIDP is designed to integrate with your existing code and CI/CD platform, so you can test and release from the place you're already developing.
We provide standardised, reusable actions and scripts to release new versions of your apps to the EIDP platform. Your CI/CD systems connect with your workload clusters, in order to manage the apps running in your workload clusters. For this we are using GitOps principles, where the desired state of your apps is stored in a Git repository, and the workload cluster automatically reconciles the actual state to match the desired state.
At the moment, EIDP supports GitHub Actions. See the CI/CD documentation section for more information on CI/CD with EIDP. Support for other CI/CD systems is planned.