Infrastructure as code

Preview:

DESCRIPTION

 

Citation preview

Infrastructure as code Pixelpark Innovation Lab

Cologne, 8 November 2011

1 Introduction

2 Just enough… OS

3 Just enough… image building

4 Just enough… infrastructure code

5 Summary

|

Agenda

1. Introduction

3 © p i x e l p a r k

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

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

| |

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

|

Agenda

2. Just enough… OS

7 © p i x e l p a r k

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

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

„A cloud in your Pocket“

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

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

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

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

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

But… Paranoid? Do you trust these boxes?

|

Agenda

3. Just enough… image building

14 © p i x e l p a r k

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

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

What about Public Clouds?

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

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

What about Private Clouds?

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

|

Agenda

4. Just enough… infrastructure code

20 © p i x e l p a r k

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

| | 22

Chef Solo

© p i x e l p a r k

Reconfigure

Chef Solo

Cookbooks

JSON

Push

Configuration

Source: peritor

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

| | 24

Scenarios

© p i x e l p a r k

Chef Server or

Puppet Server

Chef Server

EC2

VirtualBox

Crowbar

AMI Boxes

|

Agenda

5. Summary

25 © p i x e l p a r k

|

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

|

DevOps.

|

Dev to all Ops Ops is a Black Box

Ops Dev

We‘re looking forward to receiving your feedback.

| |

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 axel.quack@pixelpark.com

www.pixelpark.com

30

Imprint

© p i x e l p a r k