VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together

Post on 13-Jan-2017

137 views 1 download

Transcript of VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together

VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put

togetherEduardo Patrocinio

Technical Leader Client Cloud Implementation

@patrocinio

What??

Scenario: etherpad lite

• Collaboration tool

• Node.js and a database

• https://beta.etherpad.org/p/athens

Node.js

Database (DirtyDB, mysql)

VMware vSphere

VMware vSphere

• Server (x86) Virtualization

• Powerful storage (VMFS, Thin Provisioning)

• High availability (vMotion)

VMware Steps• Request IP address

• Create Virtual Machine

• Assign IP address

• Install many libraries

• Install node.js

• Clone git repository

• Run

VMware - Good and bad

Good

• Everywhere

• Widely known

• HA capable

Bad

• Vendor lock-in

• Familiarity

• Many steps

Chef

Chef

• Configuration Management

• Ruby

• Chef Server Chef solo

chef Steps• Request IP address

• Create Virtual Machine

• Assign IP address

• Install chef-solo

• Download chef recipes

• Run chef solo

• Run etherpad

chef - Good and bad

Good

• Idempotent

• DevOps

• Cross Platform

Bad

• Difficult to configure

• ruby

• Knowledge on chef

SoftLayer

SoftLayer

• Managed Hosting / Cloud Provider

• IaaS

• Flexible (API,BareMetal)

SoftLayer Steps• Request Virtual Machine

• Install many libraries

• Install node.js

• Install npm

• Clone git repository

• Run

SoftLayer - Good and bad

Good

• Simple

• Public Cloud

• Many Data Centers

Bad

• Public Cloud

OpenStack

OpenStack

• Cloud Software Platform

• Open source

• Many projects /components

OpenStack Steps

• Request Virtual Machine

• Install many libraries

• Install node.js

• Clone git repository

• Run

OpenStack - Good and bad

Good

• Simple

• No Vendor Lock-in

Bad

• Need to understand OpenStack concepts

OpenStack Heat

OpenStack Heat

• Orchestration

• Composite cloud application

• Application resilience

Heat Steps

• Launch a Stack

• Point to Etherpad Heat template

heat_template_version: 2013-05-23

description: Simple template to deploy a single compute instance

resources: my_instance: type: OS::Nova::Server properties: image: Eduardo-CentOS-2 flavor: m1.small user_data: | #!/bin/bash yum -y install gzip git curl python openssl-devel > /tmp/install.log yum -y groupinstall "Development Tools" >> /tmp/install.log curl --silent --location https://rpm.nodesource.com/setup | bash - yum -y install nodejs >> /tmp/install.log git clone git://github.com/ether/etherpad-lite.git cd etherpad-lite bin/run.sh --root >> /tmp/install.log

outputs: URL: description: Etherpad URL value: str_replace: template: http://host:9001 params: host: { get_attr: [my_instance, first_address] }

Hea

t Tem

plat

e

Heat- Good and bad

Good

• Deploys application in 1 shot

• Auto-scaling

• Resilience

Bad

• Writing Heat Templates can be frustrating

Cloud Foundry

Cloud Foundry

• PaaS

• Supports full lifecycle (continuous delivery)

• Scalable

Cloud Foundry Steps• Obtain an account in a Cloud Foundry

environment (Bluemix, for example)

• Download CF CLI

• Download Etherpad for CF

• Log in

• Push the application

Cloud Foundry - Good and bad

Good

• Scalable PaaS

• Focus on development

• Magical

Bad

• Rethink the way you develop apps

Docker

Docker

Docker Steps

• Log on to a Docker environment (Bluemix or your local Linux machine)

• Run the Docker application

• Obtain the mapped port

Dockerfile# DOCKER-VERSION 0.4.0

from ubuntu:12.04 run echo 'deb http://us.archive.ubuntu.com/ubuntu/ precise universe' >> /etc/apt/sources.list run apt-get -y update run apt-get -y install python-software-properties run add-apt-repository ppa:chris-lea/node.js

# Install required packages run apt-get -y update run apt-get -y install nodejs git-core curl python libssl-dev pkg-config build-essential

# Install etherpad-lite run mkdir /src run git clone https://github.com/ether/etherpad-lite.git /src/etherpad-lite #add ./settings.json /src/etherpad-lite/settings.json run /src/etherpad-lite/bin/installDeps.sh

expose :9001

entrypoint ["/src/etherpad-lite/bin/run.sh", "--root"]

Docker - Good and bad

Good

• Density

• Fast

• Enables microservice

Bad

• Rethink the way you develop apps

• Not for all workloads

Kubernettes

Kubernettes

Ansible

Ansible

Ansible Steps

• Install Ansible

• Set up an SSH key pair

• Copy the key pair

• Download ansible playbook

Conclusion