eclipse con 2012 - frictionless operations with puppet - luke kanies

Post on 20-Jan-2015

1.495 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Luke KaniesFounder of Puppet

Founder and CEO, Puppet Labs

Frictionless Operationswith Puppet

Tuesday, April 10, 12

The IT Situation

Tuesday, April 10, 12

Absolutely critical

Tuesday, April 10, 12

Gatekeepers

Tuesday, April 10, 12

Bad tools

Tuesday, April 10, 12

Calcification

Tuesday, April 10, 12

DevOps

Tuesday, April 10, 12

2001: Agile Manifesto

Tuesday, April 10, 12

Individuals and interactions over

processes and tools

Tuesday, April 10, 12

Working software over comprehensive documentation

Tuesday, April 10, 12

Customer collaboration over contract negotiation

Tuesday, April 10, 12

Responding to change over following a plan

Tuesday, April 10, 12

Dev: On time, under budget, wrong product

http://diykenya.files.wordpress.com/2010/08/tire_swing.gif

Tuesday, April 10, 12

Ops: Secure, stable, 18 months to deploy

Tuesday, April 10, 12

Process exists for a reason

http://t0.gstatic.com/images?q=tbn:ANd9GcQHJKV3omm4ov_CU7CJovofE_QGi9xsg_vPz1QHZlKXmlYtt2bB-Q

Tuesday, April 10, 12

Confidence through Tooling

http://www.mdpretech.com/images/Products/Precision%20Tooling%20for%20IC%20mold%20and%20Plastic%20mold.jpg

Tuesday, April 10, 12

Cloud Computing

http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-

Tuesday, April 10, 12

Scale

Tuesday, April 10, 12

Agility

Tuesday, April 10, 12

Big Data

Tuesday, April 10, 12

Self-service

Tuesday, April 10, 12

Puppet

Tuesday, April 10, 12

Puppet Users

Scaled from 0 to over 10,000 serversin 2 months without training

287 servers per SysAdminvs. 19 for BMC BladeLogic

Over 50,000 systemsmanaged by Puppet

Deploy 1,800 machines in 2 hoursvs. 25 machines per day with HP Opsware

Financial Entertainment Technology Defense Web

InvestorsMobile  PhoneCompany

Tuesday, April 10, 12

Plenty of others

Tuesday, April 10, 12

Built for the user

Tuesday, April 10, 12

Great Design

http://www.encorbio.com/Album/pages/ChkNFH-neuron1.htm

Tuesday, April 10, 12

ConfigurationPlatform

Tuesday, April 10, 12

Fear

Embarrassment

SSH

Tuesday, April 10, 12

More great sysadmins

Programmers Sysadmins

5000 Assembly Scripts

Millions Ruby, Java, PHP, C ?

Tuesday, April 10, 12

Fully  Automated  Infrastructure

Asynchronous  Management

Centralized  Management

Good  tools

Flatten the climb

Investment

Awes

omen

ess

Tuesday, April 10, 12

Why use Puppet?

Tuesday, April 10, 12

96% of outages are human error

Stability

Tuesday, April 10, 12

1000 nodes x 10s command = no pub

Agility

Tuesday, April 10, 12

Air-gapLeast Privilege

Untrusted clients

Security

Tuesday, April 10, 12

Auditability

Tuesday, April 10, 12

Golden image?

Image  from  http://www.flickr.com/photos/fungep/2516767121/sizes/l_

Tuesday, April 10, 12

Puppet: A brief introduction

Tuesday, April 10, 12

Resource Abstraction Layercomputercronfilegrouphostinterfacek5loginmailaliasmaillistmcxmount

packageportresourcesrouterservicesshkeystageuservcsrepovlanyumrepo

Tuesday, April 10, 12

Cross Platform

Fedora

Debian

Ubuntu

CentOS

SuSE

Red HatOS X

AIX

HP-UX

OpenBSD

FreeBSD

Solaris

Windows

Cisco

F5

Tuesday, April 10, 12

Workflow Define: With Puppet's declarative language you design a graph of relationships between resources within reusable modules. These modules define your infrastructure in its desired state.

1

Simulate: With this resource graph, Puppet is unique in its ability to simulate deployments, enabling you to test changes without disruption to your infrastructure.

2

Enforce: Puppet compares your system to the desired state as you define it, and automatically enforces it to the desired state ensuring your system is in compliance.

3

Report: Puppet Dashboard reports track relationships between components and all changes, allowing you to keep up with security and compliance mandates. And with the open API you can integrate Puppet with third party monitoring tools.

4

DESIREDSTATE

CURRENTSTATE

ITER

ATE

AN

D IN

CREA

SE C

OVERAGE

Tuesday, April 10, 12

Change Propagation

FactsThe node sends normalized data about itself to the Puppet Master.

1

CatalogPuppet uses the Facts tocompile a Catalog thatspecifies how the nodeshould be configured.

2

Report3XSSHW·V�RSHQ�$3,�can also send data to third party tools.

4

ReportThe node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Dashboard.

3

Report Collector(Puppet or 3rd party tool)

Node

PuppetMaster

SSL secure encryption on all data transport

Tuesday, April 10, 12

domain => localfacterversion => 1.5.8fqdn => sliver.localhardwaremodel => i386hostname => sliverinterfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0ipaddress => 192.168.174.1ipaddress_lo0 => 127.0.0.1ipaddress_vmnet1 => 192.168.174.1kernel => Darwinkernelmajversion => 10.6kernelrelease => 10.6.0macosx_productname => Mac OS Xmacosx_productversion => 10.6.6netmask => 255.255.255.0netmask_lo0 => 255.0.0.0netmask_vmnet1 => 255.255.255.0network_lo0 => 127.0.0.0network_vmnet1 => 192.168.174.0operatingsystem => Darwinoperatingsystemrelease => 10.6.0path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binps => ps auxwwwpuppetversion => 2.6.4rubysitedir => /opt/local/lib/ruby/site_ruby/1.8timezone => PSTuptime => 1 dayrubyversion => 1.8.7sp_bus_speed => 1.07 GHz

Automatic Inventory

Tuesday, April 10, 12

Centralized, Serverless, or Hybrid

MCollectivehandlesorchestration

Puppet Master

Puppet Dashboard 3rd Party SystemsPuppet Module Forge

Modules

Puppet AgentFacter

NODE

Puppet AgentFacter

NODE

Puppet AgentFacter

NODE

Data

Tuesday, April 10, 12

Scales like HTTPS

2 known 50k node sites

Multiple 30k node sites

Tens of 3k node sites

Tuesday, April 10, 12

Built as a platform

Tuesday, April 10, 12

Model-based hackability

•Hosts•Inventory data• IP, hostname, platform, etc.

•Resource lists•Resource dependencies•Change events

Tuesday, April 10, 12

Puppet Faces

cacatalogcertificatecertificate_requestcertificate_revocation_listconfigfactsfilehelp

keymannodeparserpluginreportresourceresource_typestatus

Tuesday, April 10, 12

MCollective: Infrastructure message

bus

Tuesday, April 10, 12

Puppet Forge301 modules

Tuesday, April 10, 12

How to use Puppet

Tuesday, April 10, 12

Seek the pain

Image  from  http://www.flickr.com/photos/pagedooley/2147718252/sizes/l/Tuesday, April 10, 12

Solve the simple problems

Tuesday, April 10, 12

Add the infrastructure features you always

wanted

Tuesday, April 10, 12

Think like Puppet thinks

•Resources, not text snippets or lines added to files•What resources are you managing?•How are they related to each other?

Tuesday, April 10, 12

Replace Shell Scripts with Resources

Becomes:

This:

Tuesday, April 10, 12

Relationships matter but are often implicit

Package

Service

Service should restart whenconfiguration changes

Configuration

Configuration should get modifed after package installation

Tuesday, April 10, 12

Explicit Relationships

Tuesday, April 10, 12

Relationships provide ordering and notification

"Exec[createrepo-PM-RHEL5-noarch]"

"Yumrepo[PM-RHEL5-x86_64]"

"Yumrepo[PM-RHEL5-noarch]"

"Package[postgresql-server]"

"Package[thttpd]"

"File[/var/www/thttpd/html/yum-PM-RHEL5-noarch]""File[/var/www/thttpd/html/yum-PM-RHEL5-x86_64]"

"Exec[rsync-rpmdir-PM-RHEL5-x86_64]"

"Exec[createrepo-PM-RHEL5-x86_64]"

"Postgres::Role[puppet]"

"Exec[rsync-rpmdir-PM-RHEL5-noarch]"

Tuesday, April 10, 12

Classes document Intent

Tuesday, April 10, 12

Organize files into modules

Tuesday, April 10, 12

Provide platform abstraction

Debian

Red  Hat

Tuesday, April 10, 12

Portability and Naming

Tuesday, April 10, 12

Roles

Tuesday, April 10, 12

Puppet Enterprise

Tuesday, April 10, 12

Detail  of  node  status  to  pinpoint  specific  issues

High-­‐level  status  of  nodes  for  instant  

visibility

Time-­‐based  display  for  insight  into  rate  of  

change

Reporting

Tuesday, April 10, 12

Cloud Provisioning

VMware

Amazon AWS

OpenStack

Tuesday, April 10, 12

Choose  nodes  to  clone  to  ensure  consistency

Preview  the  impact  before  you  clone  

nodes

Browse  for  managed  nodes  in  your  infrastructure

Resource Browsing

Tuesday, April 10, 12

Accept  or  reject  changes  to  update  

your  baseline

See  specific  differences  between  node  configurations  

Compliance

Tuesday, April 10, 12

Find  out  the  status  of  each  node  group  and  its  last  Puppet  run

Orchestration

Tuesday, April 10, 12

Resources  currently  under  Puppet  management

Current  set  of  managed  nodes

Orchestration

Tuesday, April 10, 12

2.5 Released today

•Windows support•Puppet Forge integration•Puppet Data Library

Tuesday, April 10, 12

Summary

Tuesday, April 10, 12

IT is critical but needs to improve

Tuesday, April 10, 12

DevOps is bringing change

Tuesday, April 10, 12

The Cloud is Coming

http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-

Tuesday, April 10, 12

Puppet gets you there

Tuesday, April 10, 12

Questions?

Tuesday, April 10, 12

Give Feedback on the Sessions

1 Sign In: www.eclipsecon.org

2 Select Session Evaluate

3 Vote

Tuesday, April 10, 12

top related