VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
-
Upload
eduardo-patrocinio -
Category
Technology
-
view
138 -
download
1
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