1 of 28

What is cloud orchestration?

Iman Tabrizian

iman.tabrizian@gmail.com

2 of 28

Outline

  • Introduction
    • Preliminaries
    • Cloud Automation
    • Challenges
    • Approaches
  • Tools
    • Cloud Orchestrators
  • Conclusion

3 of 28

What does “Orchestration” mean?

  • orchestration (noun) the arrangement or scoring of music for orchestral performance.
  • orchestration (noun) the planning or coordination of the elements of a situation to produce a desired effect, especially surreptitiously.

4 of 28

What is “Cloud Computing”?

Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing.

5 of 28

Figure 1 - Hypervisor

6 of 28

Figure 2 - Crucial part in cloud computing required for Cloud Orchestration

Request For a virtual machine with detailed specification

REST API

Hypervisor allocates resources

1 GB RAM

2 CPU Cores

1 NIC

...

7 of 28

What is “Cloud Orchestration”?

Cloud orchestration is the use of programming technology to manage the interconnections and interactions among workloads on public and private cloud infrastructure.

8 of 28

Cloud Automation

Automation focuses on making one task repeatable rapidly with minimal operator intervention.

  • Eases large-scale deployments

9 of 28

Why does cloud orchestration matter?

  • Multi-cloud deployment has become inevitable
  • Configuring infrastructure at scale is daunting
    • Install MongoDB on 10 server one by one and cluster them.
  • State management and scalability

10 of 28

Approaches to Cloud Orchestration

  • REST API
  • Infrastructure as Code (More common)

Infrastructure Definition file

REST API Calls

11 of 28

Infrastructure as Code

Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.

12 of 28

Infrastructure as Code

  • AWS CloudFormation
  • HOT (Heat Orchestration Template)
  • TOSCA

13 of 28

IaC - AWS CloudFormation

  • Used for Amazon Web Services
  • CLI, web interface, API
  • JSON and YAML are supported
  • Updating Stacks

14 of 28

Figure 4 - AWS CloudFormation Hello World

15 of 28

IaC - HOT

  • OpenStack Heat Orchestration Template
  • Presented in YAML format
  • Replacing CloudFormation compatible format for OpenStack

16 of 28

Figure 5 - HOT orchestration template

17 of 28

TOSCA

  • Specification intended to support multiple cloud platforms
  • Standardized specification of applications
  • Widely supported
    • OpenStack Heat
    • Cloudify

18 of 28

Figure 6 - TOSCA Specification

19 of 28

Configuration Management

Configuration management (CM) refers to the process of systematically handling changes to a system in a way that it maintains integrity over time.

20 of 28

Configuration Management Tools

  • Infrastructure Complexity
  • Learning Curve
  • Cost
  • Community and Support

21 of 28

Configuration Management Tools

Ansible

Puppet

Chef

Script Language

YAML

Custom DSL based on Ruby

Ruby

Requires specialized software for nodes

No

Yes

Yes

Provides centralized point of control

No. Any computer can be a controller

Yes, via Puppet Master

Yes, via Chef Server

Task Execution Order

Sequential

Non-Sequential

Sequential

22 of 28

Bonus!

23 of 28

Genorch!

  • A generic orchestration platform (multiple cloud support)
  • Uses ansible for configuration management
  • Monitoring using Prometheus
  • Completely open source

24 of 28

Figure 7 - Genorch Hello World (I)

25 of 28

Figure 8 - Genorch Hello World (II)

26 of 28

Genorch Contribution

  • Adding more drivers other than OpenStack
  • Improve the speed by parallelization
  • Better output logs
  • ….

27 of 28

References

  • aws.amazon.com/cloudformation (CloudFormation)
  • www.oasis-open.org/committees/tosca/ (OASIS TOSCA)
  • docs.openstack.org/heat/latest/template_guide/hot_spec.html (HOT specification)�

28 of 28

Thanks!

iman.tabrizian@gmail.com