Cloud Automation Versus Cloud Orchestration
The companies most committed to digital innovation—Amazon, Netflix, Facebook—all use the public cloud.
Because the public cloud allows you to bypass years of legacy technology, process, thinking and culture. And this freedom from legacy is fertile ground for genuine digital innovation.
One of the cornerstones of this fertility is automation. Less manual work, means more time spent executing great ideas!
The distributed nature and essentially unlimited resources of the cloud make it a playground for modern automation practices.
However, the building of sophisticated automation and the overall management of the these systems across separate teams and functions is something we often find lacking, even in sophisticated enterprise environments.
When searching for a solution, one question that often comes up is “What’s the difference between cloud automation and cloud orchestration and, which one do we need?”
We thought we’d get down to the nitty gritty of each to show what’s available, what you might need going forward, and where it can potentially take your business.
Cloud Automation: Specific Task Workflows
What Is Cloud Automation?
Automation is a connector or series of connectors that, when triggered, provides a data flow (and possible transformations) to achieve a task between separate functions or systems with no manual intervention.
A typical automation in software development may be that every time a commit is made on a project trunk, it triggers a build. This is an automation created between the versioning software (e.g. Git), and the build software (e.g. Ant).
It’s a combination of these connectors that make the software delivery pipeline automated and frictionless, eliminating manual roadblocks, human error, and the need for developers and operations teams to remember to perform a complex series of tasks every time X happens.
For cloud automation, we can go beyond team development-level automation. It’s about automation across the cloud infrastructure itself.
This kind of cloud automation would be created with tools such as Ansible and Chef. These types of tools allow DevOps/CloudOps teams to create cloud infrastructure automation by writing infrastructure-as-code. Many tools allow you to connect up to different clouds too, seamlessly automating across AWS, Azure, Google, VMWare, etc., so you’re not locked into using one XaaS platform for everything.
For instance, it may involve:
- Automatically provisioning more cloud servers when you run out of resources running all the current instances across an enterprise
- Automating setup of new cloud architecture teams on new projects
- Automatically creating clouded virtual networks for if external parties get involved in the process
- Implementing the continuous deployment pipeline at an enterprise level (expert level!)
Cloud Automation Is the First Step Towards a Mature DevOps/Cloud Model
Crucially, cloud automation is a cornerstone of innovation-enabling DevOps practices.
DevOps relies on practices including automated infrastructure-as-code, continuous delivery and tight feedback loops - all of which are dependent on automation.
Automation is critical not only for reducing the complexity and variability of your tech stack and infrastructure, but then subsequently scaling these across the business in a sustainable, repeatable fashion.
Cloud automation is a great place to start building a more efficient DevOps/CloudOps pipeline. Each automation may have been put in place because there was an identified need or opportunity for optimization at some point (or points) in the pipeline. However these automations may be disparate themselves or not coordinated from an overall perspective.
That’s where cloud orchestration comes in.
How do you make sure you get everything promised to you?
You need to evolve your operating model!
Cloud Orchestration: Coordination of Cloud Automation Services
Cloud orchestration is automation for all your disparate automations, across separate services and separate clouds. It paints the picture of cloud automation services overall. Yes, all your automations can be coordinated (and automated) from a higher level!
Cloud orchestration allows you to create an automation environment across the enterprise that coordinates more teams, functions, cloud services, security and compliance activities, for repeatable end-to-end automated processes - sky-rocketing productivity and throughput, and eliminating costly mistakes. It commonly outlines particular workflows by the series of steps involved, timelines if necessary, and tasks such as manual sign-offs if required.
Let’s take a look at some examples.
Example 1: Repeatable cloud test infrastructure
For instance, an example of cloud orchestration may be spinning up a fully functional test environment, running all software tests, then reporting and shutting down infrastructure upon completion. When used for similar projects, this kind of cloud orchestration template can be efficient, repeatable, and save cloud resources, as it terminates all processes itself.
Example 2: Location-dependent security policies
Your business opens a new branch in a new country, with similar teams in place. You want to spin up a similar cloud environment to what your team uses at your main site, but with location-specific security policies. You utilize the infrastructure-as-code architecture you used for your main site, but layer location-dependant security over the top, which can then be tweaked if you open a branch in another country.
Example 3: Triple redundancy systems
You have mission critical systems in the cloud. While you’ve built in redundancy into your AWS implementation, you’re still concerned about relying on one vendor’s platform completely. You build a Microsoft Azure implementation that can be switched on automatically in the case of systems going down on AWS.
Cloud Orchestration Helps You to Manage the Big Picture
Put simply, cloud orchestration brings together a series of lower-level automations, again through infrastructure as code, and for the enterprise environment it’s a must moving forward. There are simply too many cloud automations to manage on a case-by-case or team-by-team basis. You need to get the bigger picture, and more importantly, you need to be able to effectively manage the bigger picture.
As with cloud automation, there are cloud orchestration tools to help you perform this complex task. Industry leader Terraform (which we’ve talked about previously) and AWS CloudFormation offer complete orchestration, with built-in support for common cloud automation services, and they also utilize the infrastructure-as-code paradigm.
For the enterprise, setting up cloud automation is a good start. When your cloud utilization and automation are maturing (whether it’s onsite cloud services, offsite, or a hybrid model), it’s time to get serious and move towards cloud orchestration. This will require enterprise-level strategy, policy, and orchestration experience - so make sure you have the right team in place to get the job done - and keep in mind that it’s an ever-evolving and refining process.