Open Delivery Platform


Learn about CD platform engineering and start delivering sotware.

Find out more

Newest Blog Posts


Motivation for OpenDP

30 Dec 2017 • 795 words

I am just kicking off the new open delivery project at the end of the year. I’ve been working ont this project for some time in my spare time. Before I changed position in my company during summer, I was very much involved in building continuous delivery platforms for different customers.

Provisioning App

The last project involved the deployment automation of an Atlassian stack into an Amazon AWS VPC and developing a provisioning app. This provisioning app allows to create the required resources (Confluence spaces, Jira Project, Bitbucket projects and repositories and OpenShift projects and resources), so you a developer can clone a quickstarter project, make some modifications, commit and push it and have access from the internet within 5 minutes. So the provisioning app development also included development of template / quickstarter projects for the defined stack (Angular frontend, Node.JS Backend, Spring Boot Backend, rstudio). Openshift was not directly part of the game, because it was provided as a Red Hat managed service.

More

Features


Cloud agnostic

Run as vagrant boxes, on AWS or extend to any other cloud platform. You might even work on multi-cloud environments.

Flexible

The documentation explains every piece of software used, so you can replace single or multiple building blocks with other systems that support your quality requirements better.

Designed for CD

The platform is focused on providing all the things required for an (opinionated) software development process.

High Availablity

The individual components are set up in HA mode. The production environment of your developers should be available, always and you as a CD engineer need an environment to learn about the HA concepts.

Learning

The system was built with learning in mind. This is why a comprehensive book on "how to build an CD platform" is included. Discussion and contributions are welcome.

Technologies


Nomad

Cluster Scheduler

Flexible cluster scheduler to automate deployment of any application on any infrastructure at any scale.

Terraform

Infrastructure Provisioning

Write, plan and create infrastructure as code. Provisions infrastructure on private or public clouds.

Ansible

Configuration Management

Deploys all the applications that are inside ODP. It is an agentless configuration management and application deployment tool.

fabio

Modern Load Balancing

Consul load balancing made simple. Fabio is an HTTP and TCP reverse proxy that configures itself with data from Consul.

Docker

Container Platform

Used to ship containers, so you are independent of the underlying OS. This is the key for portability across different hosts, systems and platforms.

Clair

Vulnerability Static Analysis for Containers

Vulnerability data is continuously imported from a known set of sources and correlated with the indexed contents of container images in order to produce lists of vulnerabilities that threaten a container.

Portus

Container Registry

Portus is an open source authorization service and user interface for the next generation Docker Registry.

Graylog

Log Management

Collect and process logs and event data, so can analyze and search through logs easily. Create dashboards, visualize metrics and observe trends in one central location.

Prometheus

Monitoring and alerting toolkit

Prometheus is an open-source systems monitoring and alerting toolkit, that works well for recording any purely numeric time series. It fits both machine-centric monitoring as well as monitoring of highly dynamic service-oriented architectures.

Gitlab

Version Control & CI

Create value faster with a single application for the whole software development and operations lifecycle.

Vault

A Tool for Managing Secrets

Vault secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing.

Components / Domains

You must deploy each component seperately.


Runtime Environment

Provides the infrastructure to run distributed applications.

More

Continuous Delivery

Provides components to perform continuous delivery, like NPM or Maven Repos, Static Source Code Analysis, and of course CD pipeline orchestration

Let's Get In Touch!