The art of Orchestration

In the fast-paced world of digital services, speed and agility is everything. You, your team and your beautiful crafted application are the musicians playing the sound of cloud natives.

To succeed you need orchestration on all levels of your organisation and technology stack. This blog post gives you some insides what orchestration (opinionated) means and how to make you and your team even agiler.

What is orchestration?

If you more of a musician, an orchestration is the arrangement or scoring of music for orchestral performance. In you are into politics; Orchestration is the planning or coordination of the elements of a situation to produce the desired effect.

From a technology perspective, the orchestration is the process of getting all the (infrastructural) components lined up to deliver your digital service to your customers. The orchestration isn't bound to scheduling a service to your cluster. All moving parts are orchestration.

From a code change to production, everything is orchestration. Orchestration is the heartbeat of your lifecycle of every iteration you made.

Everything is orchestration.

You and your team are responsible for directing this orchestration to maximise the velocity of delivering software services.

Let us take a closer look at orchestration using a top to bottom approach. The following steps are part of software service orchestration:

  • running and deploying your service in production
  • provisioning your infrastructure
  • building and testing your service
  • coding your service and commit changes

Running your service in production

When you are running your service in production you need to orchestrate how your software is delivered to your cluster. In a containerised world this is your image getting pulled to the host which the orchestration engine will select. This process is called scheduling.

When the service is started, health checks make sure you are in a green state and ready to take the load, a load balancer will switch traffic to the new version of this service. Zero downtime deployments for the win. Of course, you need to orchestrate to keep your service healthy and alive; monitoring and logging are what you need.

Provisioning your infrastructure

Before you can even think about running something in the cloud, you need a foundation for all your services. We need to build an (cloud) infrastructure. This foundation doesn't stop after spinning up some VM instances.

The orchestration consists of spinning up VM's, adding security and firewall rules, installing packages, database management, agents and overlay networks. When your infrastructure is health, you can deploy your services.

Building and testing your service

When you are done coding your service you check-in your code and your CI solution will start pulling the latest code and create an artefact, in a containerised world this your image, which can be tested against some unit- and integration tests. When the test are green your service can be shipped to the next part of your orchestration.

Note: The orchestration is a combination of directing the technology and people who are using it. Your team, tech and tools is a symbioses and this process can take a while to find the right settings of your musicians

Orchestration is a perfect team, tech and tools symbioses.

Coding your service and commit changes

Every feature requested need some code changes. Those code changes will trigger all the musicians in the chain of orchestration. Every member of your team should be aware what the mighty orchestration engine will kick in.

Fuelling the orchestration engine starts with smart architecture, code conventions, code reviews, code coverage and a strategy how to check-in code. It's a team effort to get this right.

Fuelling the orchestration engine starts with smart architecture and modern software craftsmanship.

Orchestration with Cloud 66

We love the art of orchestration, because we are developers and want to make operations and orchestration a good friend of us.

From day one of Cloud 66 we created our own bespoke orchestration engine and tooling for you to use. You get all the orchestration bit and pieces to start deploying your services in a reliable and secure manner.

Daniël van Gils

Daniël van Gils is a developer advocate at Cloud 66. He helps other developers craft web apps and container based architectures with ♥, to deploy on any server or public cloud.

Amsterdam & London
Subscribe and get updates

Have feedback? Please get in touch @cloud66 on Twitter.

Everything you need to build, manage and maintain containers in production on your own servers and any cloud

Try Cloud 66 — 14 Days Free Trial, No credit card required