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

20
@leonidlm Multi-cloud A Story of Provisioning

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...

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

@leonidlm

Multi-cloudA Story of

Provisioning

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

Disaster recoveryWhy go multi-cloud?

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

Best cloud for the jobWhy go multi-cloud?

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

Code free HadoopXplenty

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

Queue

Worker

1 2 3

Cluster deployment architectureXplenty

Worker

Worker

New

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

Queue

Worker

1 2 3

Cluster deployment architectureXplenty

Worker

Worker

New

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

How about the others?Amazon just works!

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

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

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

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

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

Lack of network automation1

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

Solutions

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

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

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

Tools compatibility2

#!/bin/bash

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

✓ Configure using SSH after instance is ready

Solutions

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

Variable instance sizes3

m1.xlarge Similar instance size on another provider

CPUs 4 8

Memory 15G 16G

Storage 840G 160G

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

Production?How does it work in

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

Weak spots!Each cloud has its own

API behaviour nuances4

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

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/

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

Performance5

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

on cloud performance

Solutions

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

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

behaviour differences

Summary

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

Plan for the lowest common denominator

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

Thank you!@leonidlm

[email protected]