Abstraction and Orchestration - In The Cloud

In the previous blog post, we dissected the definition of cloud computing as per NIST and ISO/IEC. Before you proceed further, I urge you to read it before continuing. In this blog post, we will learn about traditional virtualisation and how cloud is an extension of it via the abstraction and orchestration mechanism.

Consider this scenario :

John is a security administrator and wants to implement a firewall ( primary & secondary), a mailing server and a server managing legacy applications. In the traditional IT workspace, John would require 2 separate physical boxes for implementing the firewall ( one for primary & the other one for secondary), a mailing server box and probably as many boxes as the number of applications. This would be highly cost-prohibitive.

The intelligent minds gather together and hail virtualisation as the solution to reduce cost. Virtualization is a technology that lets you create useful IT services using resources that are traditionally bound to hardware. It allows you to use a physical machine’s full capacity by distributing its capabilities among many users or environments.

So instead, John deploys 2 firewalls ( including IPS) through use of virtualization from one single box and creates a single server where mails, as well as all legacy applications, are supported.

I will not go into the technical details as this point (it’s just the beginning), but let’s briefly understand the details of virtualization. A software called hypervisor is used to create a virtual instance which can run a server, application or even an operating system. For example, you have a windows laptop and wish to run Linux on this machine to work on a particular application which is supported only over the Linux platform. One way is to install Linux by removing the Windows OS, but then you need an additional laptop if you want to run Windows also. Use of hypervisor will help you create a virtual machine on this system and you can run Linux on this machine itself ( this is not dual boot), but running an instance of Linux virtually.

Hypervisors take the physical resources and separate them so they can be utilized by the virtual environment. They are able to sit on top of an OS or they can be directly installed onto the hardware. There are many flavours of virtualisation out there - desktop, os, server etc.

So, does virtualisation mean that we have created a cloud? Well, the answer is NO. The key techniques to create a cloud are abstraction and orchestration. Abstraction is provided by virtualisation. Abstraction in cloud computing terms refers to mapping a logical identity or address to a physical identity or address. We will discuss this in detail in upcoming blog posts.

Using abstraction through virtualization, you have only solved half the problem. To solve the other half, we need orchestration. ( Yeah, I can imagine the look on your face … one more  ****ion).

If you remember what we learnt from the post on cloud computing, the various features that make the cloud involved a lot of automation at the back end. A person can set up a server in just minutes without even needing a human administrator intervention. If we look at the scale of the cloud, typically thousands of servers would be created or destroyed every minute. This calls for intelligent automation, multiple workload executions, hundreds of workflows etc.

Cloud orchestration is the process to manage these multiple workloads, in an automated fashion, across several cloud solutions, with the goal being to synthesize this into a single workflow.

 Have you ever been to an orchestra? Yeah, a man with a wand like Harry Potter who keeps on waving it to all the musicians with their instruments and they play along with the waving of the wand. The technique required to make all the music flow and all these musicians to be in sync with each other is achieved through orchestration ( terms of cloud).

Cloud orchestration involves the coordination of multiple tasks. The manual coding requirements are frequently less, as the coding from cloud automation is built upon, which avoids redundant work. Compared to cloud automation, cloud orchestration works on a higher level of coordination as the processes are already streamlined through cloud automation.

These two techniques help make a cloud function like a cloud - Abstraction and Orchestration.

What are your thoughts on this? Just pour them out in the comments section below.


You may also like to read...

Identification, Authentication, Authorization, and Accountability

Access Control Models - DAC, MAC, RBAC , Rule Based & ABAC

How to Pass SSCP Exam in the First Attempt

Understanding Security Modes - Dedicated , System high, Compartmented , Multilevel

Cloud Computing - The Logical Model