Cleaning Up the Kitchen: Migrating to Enterprise Chef From Open Source - ChefConf 2015

Post on 09-Aug-2015

46 views 1 download

Tags:

Transcript of Cleaning Up the Kitchen: Migrating to Enterprise Chef From Open Source - ChefConf 2015

Cleaning up the Kitchen

@ablytheCleaning up the Kitchen

@ablythe

Lessons• Be Patient/Be Hungry• Look outward– Ask Community– Ask Chef

• You can’t please all the people• Know your constraints and work within them

@ablythe

Recommendations • Have a focused team - Configuration Management does

not just happen• Focus on the Workflow• Incent your community to work together• Define how your collective organization should use

roles/environments/data bags• Educate!!• Involve Your Friends at Chef

@ablythe

http://www.slideshare.net/AaronBlythe/

@ablythe

Aaron Blythe

http://www.meetup.com/DevOps-Kansas-City/

Founded in 1979

@ablythe

2011 2012 2014 20152013

Journey With

@ablythe

20112012 2014 20152013

@ablythe

2011 2014 20152013

2012

@ablythe

http://www.pxleyes.com/photography-picture/50ccc14f7f012/Fork-Off.html

@ablythe

@ablythe

ON

@ablythe

January 2012 – Late March 2012

@ablythe

2011 2012 2014 2015

2013

We 50+

@ablythe

Which Chef Server?

What is the admin password?

How is this being backed up?Where did this cookbook come from?

Is this the original cookbook or a fork?

Why is this in production, but not in Staging?

Is this wiki page up to date with which Server to connect to?

Can we double bootstrap it?? ? ? ?

@ablythe

@ablythe

@ablythe

• Value Proposition of Chef:– Infrastructure as Code• Repeatable/Testable Deployments• Consistency - Staging Like Production

@ablythe

In Kansas City… One Night Only

• http://www.meetup.com/DevOps-Kansas-City/Adam Jacob!!

@ablythe

Later that week…

OpsInfra

@ablythe

Later that Month…

"I have never been in a room with that many system engineers that were all smiling, almost giddy. It was as if we all knew a secret."

@ablythe

@ablythe

Paul Edelhertz - Interview• Senior VP Customer Ops – Chef• Former CEO – Empath, Inc. (bought by

Navigant)

@ablythe

Paul Edelhertz - Interview• Ability to persuade through writing is

becoming a lost art– Make the message short– State exactly how I feel – Different mediums but repeat the message over

and over to many people

@ablythe

Chef – “The List”

• Fuel the love of Chef• Make it easy to be successful• Give organizations reasons to buy• Be their favorite company to work with• Speed matters, be disruptive

@ablythe

We Believe…• A minimal number of associates need to directly touch

nodes (approaching zero)• These tools matter – improve the lives of our users

• Tools should be hardened - so that we can find the root cause and drive corrective action

@ablythe

Identity• Tools Team

• Culture Team

@ablythe

@ablythe

@ablythe

@ablythe

Workflow

Step 1:Source Code

Step 2:?????

Step 3:Production(Profit!!!)

@ablythe

@ablythe

@ablythe

@ablythe

RFC’s

@ablythe

Conway’s Law – Educate who you need to

2 classes * 15 attendess

* Re-delivering to 15-30/month

* Over 1 year__________________200+

https://learn.chef.io/index.html

@ablythe

$20/Class

@ablythe

2011 2012 20152013

2014

Provide the Platform

@ablythe

Migration Workshop• 1st rule of teaching:– Control all variables other than the concept you

are focusing on

@ablythe

Current State of Cookbooks• https://wiki.ucern.com/display/ChefEcosystem/Booksh

elf• 129 Cookbooks listed

– 87% of cookbooks have a metadata.rb. (112/129)– 79% of cookbooks have a cookbooks folder (102/129)– 56% of cookbooks have a Rakefile. (72/129)– 33% of cookbooks have a Berksfile. (42/129)– 30% of cookbooks have a Vagrantfile. (39/129)– 24% of cookbooks have a pom.xml. (31/129)

@ablythe

Good Migrations

@ablythe

Success Engineer

@ablythe

Stephen Lauck

“Usually I show up and I am helping companies go from 0 to 20. You are clearly going from 40 to 60. Keep me in the loop, because I want to continue to be part of your success. We all know the companies that will be able to move fast will be the companies that remain successful in the market.”

@ablythe

• Push Jobs• Analytics• OpenStack• SuperMarket

@ablythe

Push Jobs• Value: Orchestration • Review: Overall positive, have-to-have feature

for most of our teams• Drawbacks: Push Jobs 1.x is not very mature

or feature rich. We have seen issues with Networking.

@ablythe

Analytics• Value: Compliance/Auditing for non-coders• Review: Interesting need to see latest version.

We get asked about creating this functionality regularly… Future features look promising.

• Drawbacks: Early versions search slightly confusing. Filtering was not working right so very busy.

@ablythe

OpenStack Integration• Decision (At this point): Heat Templates

• Still really want to see chef-provisioning mature

@ablythe

SuperMarket • Value: Helps lock down our pipeline• Review: Decided that we need a better pipeline

first.• Drawbacks: Early on was not ready for RHEL,

hacked something together, but need to revisit. Authorization model not there for an Enterprise (CCLA not applicable).

@ablythe

2011 2012 2014

20152013

March toward Continuous Integration/

Continuous Delivery

@ablythe

Where are we now?• We are at about the 1 year mark of a focused

well oiled system• Have over 3000 Chef nodes involved with

100’s of separate systems/sub-systems• Over 400 user accounts created on the server

@ablythe

Wat ta do about CD?• Jenkins – Workflow Plugin• Go.cd• Chef Delivery• All the wonderful things we have seen at the

booths here

@ablythe

Blocker – Sensitive Flaguser 'zabbix' do shell '/sbin/nologin' comment 'Zabbix Monitoring System' supports manage_home: true node.run_state['zabbix_password'] = SecureRandom.base64(36) password node.run_state['zabbix_password'] gid 'zabbix' unless platform_family?('windows') sensitive true action [:create, :lock] endend

@ablythe

Centralized vs. Decentralized

@ablythe

Open Source• 6 associates contribute to core Chef• Another 15 or so contribute to Cookbooks in

SuperMarket

@ablythe

2011 2012 2014 20152013

Journey With

@ablythe

Lessons• Be Patient/Be Hungry• Look outward– Ask Community– Ask Chef

• You can’t please all the people• Know your constraints and work within them

@ablythe

Recommendations• Have a focused team - Configuration Management does

not just happen• Focus on the Workflow• Incent your community to work together• Define how your collective organization should use

roles/environments/data bags• Educate!!• Involve Your Friends at Chef

@ablythe

What do you think? @ablythe

aaron.blythe@gmail.com http://www.slideshare.net/AaronBlythe/ Community room next session 3-4PM