One of the crowning achievements of cloud computing is the significant reduction in time required to provision new infrastructure and services. Traditional hardware procurement, installation, configuration and deployment were laborious processes requiring careful planning and often took weeks or months. Efficiencies introduced by modern cloud environments have reduced the time required to complete the same procedure down to hours and minutes. How is this achieved? The key is software automation.
Intel's vision for software-defined infrastructure in the datacenter is centred on the idea that virtual components in a cloud stack are defined purely within software constructs. This allows specifically designed cloud management and orchestration tools to interact with the system and rapidly perform tasks a human operator might take much longer to complete. To support this vision, Intel recently unveiled the new Xeon E5 v3 processor bringing a range of performance improvements and cost savings to software virtualised environments such as an OpenStack cloud.
In this article we will take a look at cloud orchestration and supporting software designed to automate the deployment and management of virtual instances, applications and services within an OpenStack cloud environment.
The term "orchestration" in the context of cloud computing refers to the central control process tasked with managing entire workflows through infrastructure and application lifecycles. Orchestration software automates processes which provision and integrate compute, storage, and network resources to deliver a service defined by policies. It also oversees the monitoring of service availability, resource usage and performance in order to effectively scale an application to meet changing demands.
In Intel's software-defined infrastructure model, orchestration forms part of the crucial top layer simplifying the management of cloud automation based on clearly defined business goals or needs. Application developers need only define a set of characteristics establishing basic requirements and the orchestration layer will assign appropriate resources and dynamically optimize allocations in response to changing demand and service objectives. Here are some software projects that implement orchestration layer technology within the OpenStack platform.
Heat is OpenStack's main orchestration component implementing an engine capable of launching composite cloud applications described in text-based templates. Heat templates define infrastructure resource requirements, the relationship between these resources, and any software configuration necessary in order to manage a complete application lifecycle. Changes in requirements can be automatically adjusted by simply modifying the existing template, and when an application is no longer required, the tool manages the deletion of allocated resources.
The ability to dynamically adjust resource usage based on usage demands is a fundamental capability implimented by orchestration software, and through integration with Ceilometer, Heat is able to provide such an auto-scaling service. By defining a scaling group and policy triggerable through a Ceilometer monitoring alert, Heat can provision additional resources to meet demand and remove them when no longer required.
One of Heat's original project goals was to implement AWS Cloud Formation orchestration functionality in the OpenStack framework. Even today it endeavours to maintain template format compatibility with it's public cloud counterpart, a crucial step towards facilitating OpenStack & AWS hybrid cloud integration. As an official component of the OpenStack project, Heat is growing in popularity and is employed by many OpenStack cloud distributions including Red Hat's Enterprise Linux OpenStack Platform.
A joint initiative between Intel and HP, Graffiti was designed to provide a unified searchable aggregation point for OpenStack resource metadata. Its main task is to facilitate Enhanced Platform Awareness (EPA) allowing greater awareness of specialized hardware capabilities within the cloud. This is important for orchestration tools to be able to make intelligent decisions on optimal resource allocation for particular use cases. For example, compute service agents can enumerate LSPCI information and CPUID data from Intel Xeon E5 v3 processors so workloads can be assigned to the most appropriate underlying hardware infrastructure. Graffiti integrates tightly with Heat in order to optimise usage of virtual infrastructure within an OpenStack cloud.
OpenStack has a rich ecosystem of modules available to facilitate automation throughout all stages of the cloud lifecycle, resulting in greatly reduced time-to-market for many IT projects. Heat is the leading orchestration tool for OpenStack-based clouds and is currently used in at least one in five OpenStack deployments. With strong enterprise support and substantial on-going development, Heat adoption rates continue to increase as the orchestration tool of choice for OpenStack private and public clouds.
Learn how OpenStack Heat can help your business streamline cloud deployment and management using Red Hat Enterprise Linux OpenStack Platform by registering for this exclusive webinar.