OpenStack � An open-source cloud OS
� Shared commodity
� Encompasses compute, network, storage, and more …
� Web-based administration and provisioning
� REST API
Telefonica
BE MORE
An open source cloud OS � Extensible, customizable, free as in beer
� Developed and supported by big players (e.g. Red Hat, AT&T)
� Massively scalable:
� Public clouds (e.g. Rackspace, HP)
� Private clouds (e.g. Telefónica’s dSN)
Telefonica
BE MORE
DevOps � Process + Infrastructure+ Product = DevOps
� Repeatable and verifiable processes (e.g. deploying a new Cloud App, upgrading front-ends to a new release, scaling up, etc.)
� Infrastructure (network, storage, computers, etc.)
� Product (Cloud App like WordPress)
� The DevOps Philosophy: Use Things You Can Program, and Program the Things You Use
Telefonica
BE MORE
Automation Telefonica
BE MORE
� Visibility Accountability Automation
� Don’t automate what you don’t understand (visibility)
� Don’t automate what you cannot validate (accountability)
� Automate with the tool that suits better
� Ansible, Chef, Puppet, Bash, Python, etc.
Automation Telefonica
BE MORE
� Treating infrastructure as code
� Human-readable, textual files, describing configuration and deployment (e.g. Puppet, Chef, logstash, etc.)
� Under version control (e.g. Github)
� OpenStack provides REST APIs for AAA, compute, storage, networking, metering, etc.
OpenStack Heat � Automates and orchestrates the cloud
� Human- and machine-accessible service
� Manages entire lifecycle of infrastructure and applications
� A Heat template describes the infrastructure in a text file
� Currently, two template languages currently supported:
� AWS CloudFormation and HOT
Telefonica
BE MORE
OpenStack HOT � Heat Orchestration Template (HOT)
� Domain-specific language (DSL), expressed as YAML
� Details everything that is needed to carry out an orchestration
� Example
� https://github.com/openstack/heat-‐templates/blob/7ec1eb98707dc759c699ad59d46e098e6c06e42c/hot/F20/WordPress_Native.yaml
Telefonica
BE MORE
OpenStack HOT � More documentation in the OpenStack Wiki:
� https://wiki.openstack.org/wiki/Heat/DSL
Telefonica
BE MORE
Deploying with Heat � Same Heat template can be used to create customized
deployments, via parameters.
� Continuing with the previous example:
$ heat stack-‐create wordpress \ -‐-‐template-‐file=WordPress_Native.yaml \ -‐-‐parameters=“db_username=wp;db_password=secret”
Telefonica
BE MORE
Some scenarios � Automated deployment
� Application upgrades
� Machine failure
� Scaling
Telefonica
BE MORE