About Maestro

What is Maestro?

Maestro is a service for configuring and managing the infrastructure required to serve and support containerized applications.

Maestro uses Docker and Kubernetes for container and application management, but it also supports many of the non-containerized services used by a typical application including components like databases and load-balancers.

Maestro is designed as a complete solution - it can manage every aspect of your container infrastructure - but it can also be integrated with other services.

Maestro is server-agnostic - it supports both physical and virtual servers and both public and private clouds.

Version 1 vs Version 2

There are two versions of Maestro:

Version 1 (also called CSv1) is a legacy product and is only available by special request. We have many customers who are perfectly happy using Version 1, but our default option is Version 2 (CSv2) because it uses Kubernetes which is fast becoming the global standard in containerized application management.

Throughout this documentation, you will find references to these versions. If you’re in any doubt, you should rely on the information for Version 2.

Maestro architecture

Version 2

In order to manage containerized applications, Maestro Version 2 (CSv2) relies on three core components:

The Docker runtime supports the elements that make up a container, and acts as a broker between those elements and the underlying infrastructure. It is the engine that makes containers “work”.

The Kubernetes platform orchestrates the entire lifecycle of a containerized application including deployment, grouping, container-to-container networking and service discovery. It also facilitates the deployment of native components directly to servers, where required. This is often done with stateful components (like databases), although these can also be containerized if necessary.

In the context of CSv2, Nginx is mainly used for SSL termination and load balancing. In the case of applications that span across different Kubernetes clusters, Nginx is used for communication between those clusters.

Version 1

In order to manage containerized applications, Maestro Version 1 (CSv1) relies on three core components:

The Docker runtime supports the elements that make up a container, and acts as a broker between those elements and the underlying infrastructure. It is the engine that makes containers “work”.

The Cloud 66 container management service performs much the same task as Kubernetes does in CSv2 (see above) - it manages the lifecycle of containers in your environments. This includes container-to-container networking, as well as container-to-non-container (e.g. DBs) networking. It also includes DNS based service discovery

In the context of CSv1, Nginx is responsible for managing Layer-7 (HTTP/HTTPS) traffic from outside of the application into the containers and facilitates functions like SSL termination and load balancing.

Maestro vs Skycap

Maestro and Skycap are designed to be complementary services that handle different parts of your application’s lifecycle.

Skycap is a Container Deployment Pipeline (CDP) that automates the building and deployment of software as containerized applications. Skycap is focussed on configuring and building your application into containers, and their deployment to Kubernetes clusters.

Maestro is a Container Lifecycle Management Service - a complete solution for building and operating containerized infrastructure based on Kubernetes. Maestro is focused on building and managing the Kubernetes clusters on which your containerized application(s) run, and managing all the other components and resources required to support those clusters (such as databases, storage, backups and load balancers).

So, in a nutshell, Skycap helps you to containerize, configure and deploy your application, and Maestro provides the platform to host and orchestrate that application. Skycap is aimed primarily at developers, while Maestro is aimed at operators.

About Docker

Docker is an open-source project that helps developers publish applications inside containers. There are many benefits to using Docker:

Cloud 66 Docker support

Cloud 66 builds Docker containers in two ways:

  1. Pulling code from Git: This option uses Cloud 66 BuildGrid to automatically build a Docker image from your code. You just need to provide a Dockerfile that specifies how you’d like us to build the image. Once your image is ready, it is deployed to your servers and managed. We also version the image and allow you to download it if needed.
  2. Pre-built image: You provide a Docker image that you’ve built or one from a public repo. We deploy that image to your servers and manage its lifecycle.

Maestro features

Maestro includes the following:

Maestro applications also enjoy the same benefits as other Cloud 66 applications, including: