DevOps Days Tel Aviv 2013: Ignite Talk: How to make deployments work on multiple clouds - Leonid...

Post on 05-Dec-2014

520 views 1 download

description

In this talk Leonid will share his experience of taking an AWS only deployment process and extending it to support both private and public clouds (Openstack and Rackspace). If you think that all clouds were born the same, think again! The road to a truly multi cloud provisioning isn't so simple. Leonid will provide some technical tips about what you should expect when you are getting outside of the AWS garden, as well as some practical technical examples of how you can overcome some common pitfalls. Speaker: Leonid Mirsky Leonid has more than 10 years experience in different IT operations roles. Currently, as an Independent consultant, he is helping small to medium sized companies to implement DevOps and to realize the potential power of cloud computing.

Transcript of DevOps Days Tel Aviv 2013: Ignite Talk: How to make deployments work on multiple clouds - Leonid...

@leonidlm

Multi-cloudA Story of

Provisioning

Disaster recoveryWhy go multi-cloud?

Best cloud for the jobWhy go multi-cloud?

Code free HadoopXplenty

Queue

Worker

1 2 3

Cluster deployment architectureXplenty

Worker

Worker

New

Queue

Worker

1 2 3

Cluster deployment architectureXplenty

Worker

Worker

New

How about the others?Amazon just works!

Lack of network automation1

Public DNS: ec2-54-224-106-95.compute-1.amazonaws.com

Public IP: 54.224.106.95

Private DNS: ip-10-31-133-57.ec2.internal

Private IP: 10.31.133.57

Lack of network automation1

Public DNS: ec2-54-224-106-95.compute-1.amazonaws.com

Public IP: 54.224.106.95

Private DNS: ip-10-31-133-57.ec2.internal

Private IP: 10.31.133.57

Lack of network automation1

✓ Use public DNS service (route53)a. Manage your own DNS

Solutions

Tools compatibility2

Typical request for a new ec2 instance:

a. Instance typeb. image idc. Security groupsd. user data (can be a script)

#!/bin/bash

apt-get -y updateapt-get -y upgradeapt-get install puppet

Tools compatibility2

#!/bin/bash

apt-get -y updateapt-get -y upgradeapt-get install puppet

✓ Configure using SSH after instance is ready

Solutions

Variable instance sizes3

m1.xlarge Similar instance size on another provider

CPUs 4 8

Memory 15G 16G

Storage 840G 160G

Production?How does it work in

Weak spots!Each cloud has its own

API behaviour nuances4

Performance5

Cloud Amazon HP Rackspace

Region Virginia Oregon Az1 Az2 Az3 Chicago Dallas

Average launch time

1.5 2 2.5 3 2.5 8 7

Error rate

1.12% 0.63% 3.30% 0.81% 2.33% 12.37% 9.16%

http://www.ravellosystems.com/blog/cloud-dashboard-part-1-vm-provisioning/

Performance5

✓ Easy regions on/off switch✓ Configure different retry times based

on cloud performance

Solutions

a. Lack of network automationb. Tools compatibilityc. Variable instance sizesd. Providers performance &

behaviour differences

Summary

Plan for the lowest common denominator

Thank you!@leonidlm

leonidlm@gmail.com