Infrastructure as code

30
Infrastructure as code Pixelpark Innovation Lab Cologne, 8 November 2011

description

 

Transcript of Infrastructure as code

Page 1: Infrastructure as code

Infrastructure as code Pixelpark Innovation Lab

Cologne, 8 November 2011

Page 2: Infrastructure as code

1 Introduction

2 Just enough… OS

3 Just enough… image building

4 Just enough… infrastructure code

5 Summary

Page 3: Infrastructure as code

|

Agenda

1. Introduction

3 © p i x e l p a r k

Page 4: Infrastructure as code

| | 4 © p i x e l p a r k

Page 5: Infrastructure as code

| | 5

Cloud Stack

© p i x e l p a r k

Flexibilitx of Purpose Le

vel o

f Abs

tract

ion

Control / Governance

SaaS Software as a Service

Public Hybrid Private

PaaS Platform as a Service

IaaS Infrastructure as a Service

§  e.g. Salesforce etc.

§  e.g. Google App Engine, §  Windows Azure, Heroku

§  e.g. Amazon EC2, §  Rackspace etc.

Page 6: Infrastructure as code

| |

Middleware to scale

Golden Image

Snapshot Snapshot

Raw image e.g. Debian

Basic Installation § Network § Config § Partitions § …

Software Stack Software Configuration

Application Configuration

ISO

Chef Cookbook Autoconfig (Saved once)

6 © p i x e l p a r k

TIME

Page 7: Infrastructure as code

|

Agenda

2. Just enough… OS

7 © p i x e l p a r k

Page 8: Infrastructure as code

| | 8

Deployment models

© p i x e l p a r k

Public Cloud Private Cloud “Cloud in your Pocket“

Hybrid Cloud

§  Eucalyptus §  OpenStack §  Crowbar §  OpenNebula §  …

§  Amazon Web Services §  Rackspace §  Google App Engine §  vCloud §  …

Eucalyptus, Deltacloud

Page 9: Infrastructure as code

| | 9 © p i x e l p a r k

„A cloud in your Pocket“

Page 10: Infrastructure as code

| | 10 © p i x e l p a r k

Page 11: Infrastructure as code

| | 11

Vagrant

© p i x e l p a r k

Git (e.g. for

storing dotfiles)

Vagrant file

Virtual Box

DB App 2 App 1 LB

Boxes

Page 12: Infrastructure as code

| | 12 © p i x e l p a r k

You want to get more boxes? Try Vagrantbox.es.

Page 13: Infrastructure as code

| | 13 © p i x e l p a r k

But… Paranoid? Do you trust these boxes?

Page 14: Infrastructure as code

|

Agenda

3. Just enough… image building

14 © p i x e l p a r k

Page 15: Infrastructure as code

| | 15

VeeWee

© p i x e l p a r k

VeeWee

Box n Box 2 Box 1 JeOS

Predefined lists

Vagrant file

(Hosting e.g. S3, Dropbox, Local)

Kickstart definition.rb (Red Hat)

preseed.cfg [ alt. e.g. FAI ] (Debian GNU Linux / Ubuntu)

AutoYaST (openSUSE)

Git

postinstall.sh

Page 16: Infrastructure as code

| | 16 © p i x e l p a r k

What about Public Clouds?

Page 17: Infrastructure as code

| | 17

Mccloud

© p i x e l p a r k

Git (Dotfiles)

Mccloudfile Fog (similar to boto)

EC2

LB App 2 App 1 …

AMIs Porting Boxes to

AMIs soon

Page 18: Infrastructure as code

| | 18 © p i x e l p a r k

What about Private Clouds?

Page 19: Infrastructure as code

| | 19

Crowbar

© p i x e l p a r k

Bare Iron

Network Discovery

BIOS/RAID config

OS install

Chef Client install

OpenStack config

Ready for service

Server Crowbar Chef Server

Wget

PXE

Wget

PXE

Wget Data Store

WGE

Chef Comms

Chef takes over control

PXE, DHCP, DNS

Source: Rob Hirschfeld

Page 20: Infrastructure as code

|

Agenda

4. Just enough… infrastructure code

20 © p i x e l p a r k

Page 21: Infrastructure as code

| | 21 © p i x e l p a r k

Page 22: Infrastructure as code

| | 22

Chef Solo

© p i x e l p a r k

Reconfigure

Chef Solo

Cookbooks

JSON

Push

Configuration

Source: peritor

Page 23: Infrastructure as code

| | 23

Chef Server

© p i x e l p a r k

Reconfigure

Chef Client

Cookbooks

Chef Server

Cookbooks

JSON

Pull

Configuration & Cookbooks

Source: peritor

Page 24: Infrastructure as code

| | 24

Scenarios

© p i x e l p a r k

Chef Server or

Puppet Server

Chef Server

EC2

VirtualBox

Crowbar

AMI Boxes

Page 25: Infrastructure as code

|

Agenda

5. Summary

25 © p i x e l p a r k

Page 26: Infrastructure as code

|

Cloud Abstraction Library

Private Cloud Abstraction Library

Public Cloud

Private Cloud Xen

KVM

lxc

vSphere

„Cloud in your Pocket“

Mccloud

Crowbar

Vagrant

AWS

Rackspace

vCloud

VMware Player

VMware fusion

VirtualBox

Fog (Ruby)

Boto (Python)

jclouds (Java)

libvirt

APIs CLIs

APIs CLIs

Just enough… Operating System

Just enough… infrastructure code

Just enough… coordination

Just enough… image building

VeeWee

Rundeck Pie

Deployinator

Cfengine Puppet

Chef

Source: Patrick Debois

Page 27: Infrastructure as code

|

DevOps.

Page 28: Infrastructure as code

|

Dev to all Ops Ops is a Black Box

Ops Dev

Page 29: Infrastructure as code

We‘re looking forward to receiving your feedback.

Page 30: Infrastructure as code

| |

The ideas and proposals included in this presentation are the intellectual property of Pixelpark and subject to current copyright laws. The total or partial reproduction, and any disclosure to third parties is permitted.

Axel Quack Director Innovation Management Pixelpark AG Cäcilienkloster 2 50676 Köln

Tel: +49.221.951515-994 Fax: +49.221.951515-66 [email protected]

www.pixelpark.com

30

Imprint

© p i x e l p a r k