PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp,...

28
Best Practices for Puppet in the Cloud Randall Hunt – AWS Tech Evangalist Andrew Popp – DevOps System Engineer (ServiceChannel)

Transcript of PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp,...

Page 1: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Best Practices for Puppet in the Cloud

Randall Hunt – AWS Tech Evangalist Andrew Popp – DevOps System Engineer (ServiceChannel)

Page 2: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Contents / Agenda

Who is SC ?

Moving into AWS

Im in a Cloud Now … Whats Next ?

Deploying Puppet in AWS

Puppetlabs AWS Module

2 Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All

Page 3: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

ServiceChannel At a Glance Who is this guy, and what does this company do?

3

Page 4: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

4

Andrew Popp DevOps Systems Engineer

@doctahpopp99

Page 5: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

5

Page 6: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 6

200+ Employees around the globe

300+ Clients from many industries

50K+ Commercial contractors & suppliers

200K Locations under management

63 Countries using service daily

1.4Million Work orders processed per month

Page 7: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Where we started …

7

Page 8: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

8

Page 9: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 9

•  Dev Env •  Single Server •  IIS/MSSQL colo

•  Prod Env •  6 Servers (Web) •  1 DB Server

•  No Load balancers •  No CI/CD •  No Codebase

No Cfg Mgmt !

Page 10: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Moving into AWS When the going gets tough … virtualize dat.

10

Page 11: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 11

There is a road, no simple highway …

•  Exploration •  Single function

•  Classic EC2 •  No VPC •  Hybrid Approach •  Majority of Production Payload still on prem.

Page 12: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 12

Page 13: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Somethings shaking, on Shakedown Street …

Became …

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 13

Page 14: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 14

Page 15: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

AWS 2012

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 15

Page 16: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

So I'm in the cloud now This is awesome, but what's next ?

16

Page 17: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

AWS Today

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 17

94 EC2 Nodes

62 ELBs

39 Cache Clusters

DevOps Team

90 SQS Queues

500 SNS Queues

92 Dynamo DB tables

Page 18: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 18

•  Understand your Services •  Know your Limits (API)

•  Decide on a Network Config (Region) •  Available across AZ •  VPC Architecture

•  Enable CloudTrail •  Meta-data URI •  User-Data •  IAM Roles

Page 19: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Initial Network Deployment

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 19

•  Single Region •  Single VPC

•  Subnets Across AZ’s •  NAT Instance •  Security Group Inbound Rules •  Route 53

Page 20: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com
Page 21: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Deploying Puppet in your VPC The beginning of great things …

21

Page 22: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Key Management Features

•  Puppet Architecture in Cloud (Prod/Testing)

•  EC2 Auto-Signing

•  EC2 Tags

•  Class creation and resource organization

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 22

Page 23: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 23

https://docs.puppet.com/puppet/latest/reference/ssl_attributes_extensions.html#puppet-specific-registered-ids

Page 24: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Puppetlabs-AWS Now were cooking w/ gas

24

Page 25: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

DevOps Team Performance

Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 25

•  Throughput •  A deploy a day keeps the …

•  X Deploys per year. •  Lead time for changes ~3 hours

•  We can do 60 min •  Stability

•  Recovery •  1-2 hour range and its getting smaller …

•  Rate of failure •  15-20% •  Increase of confidence

Page 26: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

So What Happens If Hurricane Sandy Comes back ?

26

Page 27: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com

Thanks! Q/A?

@jrhunt @doctahpopp99

Page 28: PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazon & Andrew Popp, Servicechannel.com