Service Orchestration and Automation Platform (SOAP), A Case Study on Kubernetes

Tomas Valasek
3 min readDec 14, 2020

You may have heard of Service Orchestration and Automation Platform (SOAP) before. In fact, it seems to be the new buzz. According to Gartner:

“Through 2024, 80% of organizations using workload automation tools will switch to service orchestration and automation platforms [SOAPs] to orchestrate cloud-based workloads.”

But in all the articles I’ve read on the subject, no one has given concrete examples of how to apply the concept. So I decided to do just that.

This article is based on my own experience.

DevOps Team needs

Sean — DevOps engineer

Sean works as DevOps engineer on our team. His team successfully adopted Infrastructure as Code (IaC) best practices. Their Git repositories are a great collection of Terraform, Puppet, CloudFormation, Ansible playbooks, almighty shell scripts…and other unsorted code. Oh and I almost forgot (!) — manuals explaining how to use it all for infrastructure build outs and maintenance tasks.

This mess of tools is apparently common:

“Most Gartner clients report that they have at least eight tools among their overall automation tooling portfolio…. These tools frequently are deployed and utilized in silos, and may be duplicated.”

Sean would rather focus on creative and challenging tasks and knows that to get there he needs to:

  • Be able to orchestrate all the IaC.
  • Be able quickly run a build or maintenance task.
  • Have visibility to every executed task.

Mike — Manager

Mike works as Infrastructure and Operations (I&O) leader for our team. Mike sees room for business improvements. Specifically he would like to:

  • Decrease IT costs.
  • Increase project velocity.
  • Create standards around workflows and products.
  • Eliminate monkey work.
  • Make employees appreciate their work environment.

If you found yourself in either Sean or Mike’s place, keep reading. I might have a solution for you.

SOAP in use: Building cloud infrastructure

We needed to automate Kubernetes cluster build-outs and offer it as a self-service.

From our previous project we had most of the infrastructure code in our Git repositories. We wanted a tool that puts all the code together, and executes it with speed and visibility.

We found the open-source Argo products family, specifically Argo Events and Argo Workflows.

The two Argo products come with a large set of features. Parallelism, dependencies, retries and conditionals allowed us to orchestrate all the IaC. We are able to quickly run build or maintenance tasks (workflows) via an Argo Events API. And finally Argo Workflows comes with a sweet UI where finding a failing task and its corresponding log is a piece of cake.

Using these tools allowed us to run the project with a very small team of engineers AND deliver 3 months ahead of the project deadline. It also helped establish project delivery standards and improve team culture on how we do IT. Monkey work is now reduced to a bunch of API calls or cron workflows.

And, personally, I can’t wait for the next day to find out what other automation we can do with Argo :-).

We found the perfect combination: Imperative Orchestration, Declarative Automation

Production ready K8s cluster built with Argo Workflows

Conclusion

With Service Orchestration and Automation Platforms (like Argo) we are able to address technical challenges holistically and orchestrate a large number of tools with detailed visibility, which leads to employee time free up. Self-service automation empowers business users and others to orchestrate their own jobs. These are game changing business improvements every team leader is looking for.

Read the story Building Kubernetes Clusters using Argo and Kubernetes to find out how we achieved a successful implementation of a Service Orchestration and Automation Platform (Argo) on Kubernetes.

--

--

Tomas Valasek

If you want to make small changes, change the way you do things. If you want to make major changes, change the way you see things.