14
OpenStack A DevOps approach © 2014 Felipe Alfaro Solana Telefónica I+D Telefonica BE MORE

OpenStack and DevOps - WordPress.com · Product (Cloud App like WordPress) ! The DevOps Philosophy: Use Things You Can Program, and Program the Things You Use Telefonica ... OpenStack

Embed Size (px)

Citation preview

OpenStack A DevOps approach

© 2014 Felipe Alfaro Solana Telefónica I+D

Telefonica

BE MORE

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

OpenStack architecture Telefonica

BE MORE

DevOps �  Deploying code is hard

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

The End

Thank you for listening!

Telefonica

BE MORE