The Importance of Orchestration in Cloud Computing

The orchestration of workflow processes is an essential part of cloud computing.  Without orchestration, many of the benefits and characteristics of cloud computing cannot be achieved at the price point that cloud services should be offered.  Failure to automate as many processes as possible results in higher personnel labor costs, slower time to deliver the new service to customers, and ultimately higher cost with less reliability.

What is meant by automation?   Automation is technique used in traditional data centers–and critical in a cloud environment–to install software or initiate other activities.   Traditional IT administrators use sequential scripts to perform a series of tasks (e.g. software installation or configuration); however, this is now considered   an antiquated technique in a modern cloud-based environment.   Orchestration differs from automation in that it does not rely entirely on static sequential scripts but rather sophisticated workflows; multiple automated threads; query-based and if/then logic; object-oriented and topology workflows; and even the ability to back-out a series of automated commands if necessary.

Orchestration can best be explained through a typical use case example of a customer placing an order within their cloud service web-portal, and following the steps necessary to bring the service online.  The actions below illustrate a very high level scenario where the cloud management software performs the orchestration:

  1. Customer logs into web-based cloud portal, views a catalog of available services.
  2. Customer selects a cloud service such as a medium-sized virtual machine running the Linux operating system.  The service catalog shows this size of VM comes with 2 CPUs, 4GB of memory and 50GB of disk storage at a price of $250 per month.  Customer choses quantity 2 of this VM, and goes to the checkout section of web site.
  3. Customer pays for services using a credit card or an existing financial account/credit on file already with the cloud provider.  Customer completes the checkout.
  4. Customer may have an approval process in place (especially for a private cloud deployment) that requires their financial/procurement team to bless the order before it is finalized.  So the cloud management system sends an email to the designated approver of this order.  The customer approver receives the email, clicks on the URL link, logs into the cloud portal, and approves the order for $250 per month with quantity 2, or $500 per month in total.
  5. The cloud management system sees the order was approved and immediately begins the process of building the requested virtual machines. The system knows which server farms and pools of available resources it has, and automatically selects which physical server node will host the VMs initially.  Storage is allocated/assigned to the VM and a template used for the VM.
  6. The VMs are booted for the first time and any needed patches or updates automatically installed.  The cloud management system detects that the VM has launched and is ready for the customer.  It charges the customer’s credit card or deducts funds from the customer’s online account with the provider.
  7. The cloud management system send a welcome email to the customer indicating the network address and login instructions for how to use their new VMs, along with information on where to obtain documentation and whom to call for support.
  8. Customer logs into the VMs and performs any further application installations, configurations, and loading of production data.  The cloud provider manages all future system updates and ensure systems are operational at all times.  Customer manages their own applications and custom configurations themselves.
  9. Cloud management system automatically renews and re-bills customer every month (or whatever the billing cycle length is).  Depending on the type of service offered, there may also be variable expenses, such as if the customer wanted the VMs to automatically increase memory, CPU, or storage upon increased load.  The cloud management system will provide the metered resource information to the customer, and charge them accordingly.

As you can see in the above case scenario, a human being does not need to be involved within the cloud service provisioning anywhere in this process.  In a real public cloud scenario, this process is repeated at all hours, thousands of times per day.  This is where the cloud provider gains such scales of economy that the customer is paying less for their cloud service then they would had they built and hosted the service themselves.  Without automated processes and cloud management systems, none of these economies of scale are possible and the cloud provider’s costs will be anti-competitive is using legacy labor-intensive manual service provisioning.  There are some smaller cloud providers today that still manually configure IT systems–behind the scenes with little or no automation–this business model is usually not profitable for the provider causing less accuracy, consistency, slower provisioning, higher-cost, and ultimately a poor customer experience.

NIST Model for Cloud Orchestration

NIST Model for Cloud Orchestration

What to ask your potential cloud provider:

When evaluating your cloud provider choices, ask for  detailed workflow diagrams or processes that the cloud provider uses  for orchestration.  The cloud provider should be able to provide you a live demonstration of their cloud management platform, ordering process, and show the orchestration workflows.

If you are building your own private or enterprise cloud, you should carefully evaluate and deploy your own cloud management platform with a robust orchestration capability.  This orchestration system will also allow you to bridge your traditional IT and cloud systems–allowing you to leverage existing scripts and automation tools (e.g. Puppet, Chef, static sequential scripts and batch routines) while transitioning long-term to more sophisticated orchestration workflows.

Advertisements


Categories: cloud computing

Tags: , , , , , , ,

5 replies

  1. This is a great summary of the automated provisioning process.

    It would be great to see a follow on post with view extend flow in scenario where more than resource was provisioned. e.g. fully configured dev or test environment – requires installing apps/tools/monitoring components, additional steps of service validation etc

    Thank you.

  2. Great blog on cloud automation and how important it is for DevOps/NoOps.
    Cloud Management

  3. Thank you for the comment. Regarding figure 1.5, I originally included “managed” IaaS services, offered by some providers, in the roles shown. You are correct that most generic–and certainly public cloud–service providers do not offer managed IaaS services to include the operating system. I will make a correction in the book to reflect the fact, as you pointed out, that most IaaS providers do not manage the operating system as a base offering. I have also updated the blog post on this site to reflect the latest diagram that you can download if you like (https://mycloudblog7.wordpress.com/2013/06/19/who-manages-cloud-iaas-paas-and-saas-services).

  4. James Bond, no kidding, love it. Great blog, thank you. None of existing automation tools are ready for prime time. Think, over 3000 apps and daily maintenance. And there are no infinite resources to Chef all day long, it’s not easy. And if I am a small enterprise, I have no skill to provision apps and services. What is the latest in this area? And I don’t want to pay a fortune to managed providers either.

Trackbacks

  1. Friday Reading List: Orchestration and Automation in the Cloud Era | VMware CloudOps - VMware Blogs

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: