his blog on Openstack modelled using Archimate follows on from the previous Blog on OpenStack Cloud Identity in Archimate – Part 8.
Heat = Orchestration
Mission: Heat as the OpenStack Orchestration program is to create a human- and machine-accessible service for managing the entire lifecycle of infrastructure and applications within OpenStack clouds. Why Heat? It makes Clouds Rise!
Heat is the main project in the OpenStack Orchestration program. It implements an orchestration engine to launch multiple composite cloud applications based on templates in the form of text files that can be treated like code. A native Heat template format is evolving, but Heat also endeavours to provide compatibility with the AWS CloudFormation template format, so that many existing CloudFormation templates can be launched on OpenStack. Heat provides both an OpenStack-native ReST API and a CloudFormation-compatible Query API.
Heat = Orchestration Structural Logical Architecture
- A Heat template describes the infrastructure for a cloud application in a text file that is readable and writable by humans, and can be checked into version control, diffed, etc. Infrastructure resources that can be described include: servers, floating ips, volumes, security groups, users, etc.
- Heat also provides an autoscaling service that integrates with Telemetry, so you can include a scaling group as a resource in a template.
- Templates can also specify the relationships between resources (e.g. this volume is connected to this server). This enables Heat to call out to the OpenStack APIs to create all of your infrastructure in the correct order to completely launch your application.
- Heat manages the whole lifecycle of the application – when you need to change your infrastructure, simply modify the template and use it to update your existing stack. Heat knows how to make the necessary changes. It will delete all of the resources when you are finished with the application, too.
- Heat primarily manages infrastructure, but the templates integrate well with software configuration management tools such as Puppet and Chef. The Heat team is working on providing even better integration between infrastructure and software.
This Architecture appears to be in a state of constant refactoring and enhancement, so follow the Architecture here: https://wiki.openstack.org/wiki/Heat/Vision
Heat = Orchestration Behavioural Services Architecture
Orchestration services to create and manage the life-cycle of cloud applications are described like this:
- How do we model the cloud application deployment (YAML/JSON)? Heat provides Template (Openstack:HOT & AWS Cloud Formation:CFN)
- How do we configure the cloud application? Heat provides Software-Configuration
- How do we customize the cloud application? Heat provides Parameters & Environments
- How do we create and manage the cloud application? Heat provides Stack
- How do we model the cloud application element such as instances, volumes, etc ? Heat provides Resource (as resource plug-in)
- How do we manage the cloud application scalability? Heat provides Auto-scaling
- How do we track the progress of life-cycle operations ? Heat provides Events
The next blog in the series is OpenStack Cloud Metering in Archimate – Part 10