OpenStack Cloud Orchestration – Automation for Cloud Infrastructure Deployment

There is lots of diversity in technology, platform, tools, applications and infrastructure and we often do mixing of these for our business. Preparing infrastructure for such business is become tedious and time consuming job hence we require technology not only to automate your infrastructure but also to manage & provide different services as needed.

Many times, it happens that we deploy more resources then what we required and some time we have shortage of resources. What if we get resources on-demand? Getting resources on-demand with automated provisioning infrastructure will solve these resources problems.

Main benefit of orchestration is to reduce time to provision cloud services. It provides quick and easy automated solution for your cloud configuration, provisioning and deployment. It simplifies building, managing cloud infrastructure as per business requirement. We can customize it to solve our business requirement

Developing infrastructure with heterogeneous compute, networks, storage devices from variety of vendors become very difficult. It will take more cost & time. Cloud orchestration is the solution for this. It is easily interconnects all such heterogeneous components using simplified automation which minimize the errors & manual workload.

Using orchestration, we can achieve below 4Ms

  • Monitoring,
  • Metering,
  • Manage,
  • Maintenance

Orchestration helps in easy deployment of resources, applying patches or doing changes into infrastructure, providing security compliance. It provides monitoring, metering service. It helps for usage, accounts, capacity management.

In typical IT environment when request come to build new environment then engineers should perform hundreds of manual tasks to deliver requested environment even though some tasks are automated. Here, Cloud Orchestration is come into picture to perform such tasks.

Orchestration will enumerate different resources; it will do configuration & interconnection between them with the help of declarative template. AWS Cloud Formation, OpenStack Heat provides such declarative template that orchestrates all IT processes to build environment as single workflow and when we execute these templates it will run as single process.

Orchestration has potential to reduce IT cost, save engineer’s time for new assignment. It will overall improve delivery time. Orchestration lets you easily and quickly deploy your infrastructure in a consistent & repeatable using fully configure template.

It works in easy three steps

  1. Select your predefined template
  2. Modify it as per your requirement
  3. Deploy the template

OpenStack Heat

Heat is main project of OpenStack orchestration. It helps users to deploy complex cloud environment with the help of simple plain text called as template. User just needs to modify this template and run in OpenStack environment. This will allow user to spawn multiple instances, network resources and storage resources in automated fashion.

Openstack Services
Openstack Services

Heat composed of following components:

  1. Heat-api: This component provides support for OpenStack native Rest API.
  2. Heat-api-cfn: This component provides API which are compatible with AWS Cloud Formation
  3. Heat-engine: This main component which provide actual orchestration facility

Heat provides orchestration using template which called as Heat Orchestration Template (HOT). We can write Heat template with native heat format or it also support AWS Cloud Formation format. Heat natively understand template written for AWS or OpenStack, it simplifying application portability between AWS & OpenStack. Heat template often written in YAML format but it also understands JSON format.

Simple Template structure:

HOT templates are defined in YAML as below

heat_template_version: 2016-10-14
Description:
  # a description of the template
Parameters:
  # Declaration of input parameters
Resources:
  # Declaration of template resources
Outputs:
  # Declaration of output parameters

heat_template_version: 2016-10-14
	This indicate which template version we are using for orchestration 
Description:
  # a description of the template
	This is optional description filed, gives information about workload that can be deployed using this template 	
Parameters:
  # Declaration of input parameters
	Input parameters needed during initiating template 
Resources:
  # Declaration of template resources
	This define resource information
Outputs:
  # Declaration of output parameters
	This specify how to pass information back to user

Basic Heat Template Deployment

Below you can see a very simple HOT template

openstack heat template

heat_template_versiontell template of version which we are using for deployment. We are using 2013-05-23 version

Resourcessection more details about what kind of instance, its type, flavour, and network we are deploying with this instances

Create stack using template

 $ heat stack-create my_first_stack -f heat_1a.yaml

Openstack stack template

Shrinivas Kulkarni

Shrinivas Kulkarni

Sr. Principle QA Engineer at Calsoft Inc.
Working as senior QA member, having 11 year of experience in storage, filesystem, linux, cloud, virtualization technology. worked with top leading storage MNC across geos.
Shrinivas Kulkarni

Leave a Reply

Your email address will not be published. Required fields are marked *