24
8/23/13 Puppet, Now With Google! file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 1/24 Puppet, Now With Google! Using Puppet to manage Google Compute Engine Marc Cohen - Developer Programs Engineer, Google Eric Johnson - Technical Program Manager, Google

Puppet, now with google!

Embed Size (px)

DESCRIPTION

Marc Cohen Developer Programs Engineer, Google Eric Johnson Technical Program Manager, Google

Citation preview

Page 1: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 1/24

Puppet, Now With Google!Using Puppet to manage Google Compute Engine

Marc Cohen - Developer Programs Engineer, GoogleEric Johnson - Technical Program Manager, Google

Page 2: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 2/24

AgendaA Whirlwind Tour of the Google Cloud Platform

Dive into Google Compute Engine

Google Compute Engine + Puppet = Awesome

·

·

·

2/24

Page 3: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 3/24

Google Cloud Platform

App Engine - PaaSCompute Engine - IaaSCloud Storage - Object StoreCloud SQL - Stuctured DataCloud Datastore - NoSQL key/value storeBigQuery - fast big data analysisMany other APIs available

·

·

·

·

·

·

·

Photo: Google/Connie Zhou google.com/datacenters 3/24

Page 4: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 4/24

App Engine

4/24

Page 5: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 5/24

Compute Engine

5/24

Page 6: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 6/24

Cloud Storage

6/24

Page 7: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 7/24

Cloud SQL

7/24

Page 8: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 8/24

Cloud Datastore

8/24

Page 9: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 9/24

BigQuery

9/24

Page 10: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 10/24

Other APIs (Chrome, Drive, Maps, YouTube, ...)

10/24

Page 11: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 11/24

Google Compute Engine 101Infrastructure as a Service (IaaS)

Virtual Machines, Networks, Storage

Built with Google DNA

·

·

·

Scale

Speed

Global Footprint

Engineering expertise & experience

-

-

-

-

11/24

Page 12: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 12/24

Fast, Consistent Startup

12/24

Page 13: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 13/24

Know Your Storage!

Scratch Disk

Persistent Disk

Cloud Storage

Cloud SQL

Cloud Datastore

Bring your own data store

13/24

Page 14: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 14/24

Persistent DisksSweet spot: Durable, flexible and consistent

Features: Global snapshots, bootable, attachable, read-only sharable

Uses: Database storage, fast boot, static data distribution, migration

·

·

·

14/24

Page 15: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 15/24

Fast, Consistent, Persistent Disk Performance

15/24

Page 16: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 16/24

NetworkingIsolated networks per project

Private IPv4 space (RFC 1918)

IP Level (Layer 3) network

Flat across geographical regions

Internal facing DNS

Load balancing brings stability and scale

Geographic diversity: zones and regions

·

·

·

·

·

VM name = DNS name-

·

·

Open source: nginx, HAProxy

Available now: Google hosted load balancing

·

·

16/24

Page 17: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 17/24

17/24

Page 18: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 18/24

Sorting 1TB in 55s

18/24

Page 19: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 19/24

GCE + Puppet Enterprise = Awesome!Just Works! Current GCE Operating Systems (Linux x86_64):

Variety of machine types

Useful features for organizing your puppet nodes

·

Debian 7 (Wheezy) and Debian 6 (Squeeze)

CentOS 6.4 Enterprise Linux

Build your own custom images

·

·

·

·

Micro/small, HighCPU, HighMem, and 'Standards

CPU: 1-8 cores, RAM: 0.6-30 GB, plenty of disk options

·

·

·

Metadata (key/value pairs) available in your instance

Instance tagging

·

·

19/24

Page 20: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 20/24

Demo: GCE + Puppet = Awesome!Puppet Enterprise 3 Console

Page 21: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 21/24

All we want are the facts, ma'amFacter support ~~(coming soon)~~

Instance and project 'metadata' key/value pairs such as,·

Machine type, image, zone, disks, tags, sshKeys, and more...·

activeprocessorcount => 1architecture => amd64;blockdevice_sda_model => PersistentDisk...gce_instance_machinetype => n1-standard-1gce_instance_zone => us-central1-bgce_project_numeric_project_id => 12345678901gce_project_project_id => gs_test...virtual => gce

CLI

21/24

Page 22: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 22/24

Moar Awesome: GCE Resources the PuppetWay

Forge: gce_compute module·

Provision GCE resources with Puppet's DSL in your site manifest file

Provides native types for instances, disks, firewalls, and load-balancer

Bootstrap agent node features:

·

·

·

Specify a list of forge modules or github repos

Create a manifest file on the node

Or use External Node Classifiers to merge in additional classes

·

·

·

22/24

Page 23: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 23/24

Demo: A load-balanced web siteGCE Provisioning with Puppet's DSL

Page 24: Puppet, now with google!

8/23/13 Puppet, Now With Google!

file:///Users/marccohen/marc-pres/PuppetConf2013/index.html#3 24/24

Thank You!Google Cloud Platform: scalable, consistent, managed, high performance

Compute Engine and Puppet work great together.

Give it a try:

These slides: http://bit.ly/gce-puppet

Learn more about Google Cloud Platform: http://cloud.google.com

Marc Cohen

http://about.me/marc1 Eric Johnson

http://about.me/erjohnso

·

·

·

Puppet users sign up here: http://goo.gl/rgPNUX for $2000 USD credit.-

·

·

24/24