SlideShare a Scribd company logo
Chef
The InstallShield®
of the 21st Century
InstallShield is a registered trademark of Flexera Software LLC
Neither Circonus nor Chef or their related companies have or make any claim thereto.
Monday, May 6, 13
Hi, I’m @postwait
My background is in computing systems engineering
hardware debugging
cut kernel code
network debugging
storage debugging
cut user-space code
operating system release managment
Monday, May 6, 13
Circonus is...
An API-accessible, self-service, state-of-the-art,
scalable monitoring and telemetry analysis platform.
With Chef cookbooks available to make monitoring
your architecture elegant and simple.
Run as a SaaS... sometimes.
Monday, May 6, 13
This talk is...
not really about the Circonus service.
Monday, May 6, 13
This talk is...
about the challenges involved with
turn-key software installation.
Monday, May 6, 13
Installing software
Installing (most closed and some open) software
is easy.
RPM, deb, IPS, etc.
(they all suck, but they all work passably well)
<pkgcommand> install <pkgname>
e.g. on OmniOS:
pkg install chef
Monday, May 6, 13
Configuring Software
Varies widely from product to product.
This sucks.
This will never change.
Period.
Monday, May 6, 13
Operating Software
Is actually not that hard.
Most software that survives consumers, runs.
Except when it doesn’t.
This is why we monitor and measure things.
Monday, May 6, 13
What if...
Your software was a complex distributed system?
Your software was the monitoring system itself?
Your software wasn’t your SaaS,
but instead your customer’s SaaS on their IaaS.
Monday, May 6, 13
We didn’t start here...
Our software started as SaaS only.
We ran the one, true copy.
Turns out there is still a strong business model around
selling enterprise software that
companies run on-premise.
(in their own cloud.... whatever).
Monday, May 6, 13
Right tool for the job...
In SaaS, we take the “right tool for the job” seriously.
In shipped software, we historically have not.
integration costs are high
support costs are high
licensing challenges
Monday, May 6, 13
A brief look at Circonus
PostgreSQL/pg_amqp, RabbitMQ, redis, memcached,
Apache/mod_perl, Node.js, ElasticSearch, OpenSSL
(ca)
CEP system (Ernie), case management system (Bert),
real-time OLAP system (Razalbath), websockets/etc.
(Enzo), metric storage (Srollup & Snowth), API services,
web portal, broker (noitd), metric transit (stratcond),
long-tail storage services
Monday, May 6, 13
More than 20
asynchronous components
Everything can go wrong...
it’s just like a Internet infrastructure
Despair.
Monday, May 6, 13
How Chef helped
First: Chef did not save the day.
It did help us quite a bit.
It provided a framework for
converging on an expected state.
Monday, May 6, 13
Chef...
Solo.
Think about it.
It just make sense.
Monday, May 6, 13
1 databag to rule them all
One databag ‘site.json’ that describes
the global topology of all that is Circonus.
It exposes all tunables our clients can control.
A special role called ‘self-configure’
/opt/circonus/bin/run-chef self-configure
builds a node file with appropriate roles
Monday, May 6, 13
Chef templating...
Services need to know about other services
site.json has what and where
Chef uses that to template out
all the configs for
all the services running
on the current node
Monday, May 6, 13
Chef’s upsides
Chef knows how to start services and
how to restart them if they are disabled/in maintenance
(this is crucially important in distributed systems)
It means that all dependent services can
self-recover simply through diligence.
Monday, May 6, 13
Chef’s upsides
As everything is “automated,” the system is far less
tolerant of procedures that sometimes don’t work.
It has the effect of
automating the QA around
installation and maintenance tasks
Monday, May 6, 13
Chef’s downsides
It has been horribly impracticable to
perform good upgrades (due to packaging)
act as omnipotent state control (due to cost)
Monday, May 6, 13
Chef’s downsides
We support OmniOS and Linux
I want to do the same thing on both:
Apps should live in their own filesystem, logs in
another, data in another, use a filesystem for
everything. And, of course, use ZFS.
Instead of role: “ernie”
we have roles: “ernie,” “ernie-omnios”, “ernie-rhel”
Monday, May 6, 13
Summary
Chef sucks. Long live Chef.
The process of automating through Chef has:
improved the quality of our deployment process
made it possible to ship a software platform to clients
that runs all the same bits as our production SaaS
and stays up-to-date with our latest bits
Monday, May 6, 13
Thanks
Eric Sproul ~ Circonus Release Engineer
(who implemented all of these things)
Monday, May 6, 13

More Related Content

KEY
Joomla! Day Poland 2012 - Active Security for Joomla! sites
ODP
CMS and security / privacy
PDF
There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...
PPTX
Chef onlinuxonpower
PDF
DEVNET-1007 Network Infrastructure as Code with Chef and Cisco
PDF
What is Chef and how we use it at tripsta
PDF
Network Infrastructure as Code with Chef and Cisco
PDF
Introduction to Chef - Techsuperwomen Summit
Joomla! Day Poland 2012 - Active Security for Joomla! sites
CMS and security / privacy
There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...
Chef onlinuxonpower
DEVNET-1007 Network Infrastructure as Code with Chef and Cisco
What is Chef and how we use it at tripsta
Network Infrastructure as Code with Chef and Cisco
Introduction to Chef - Techsuperwomen Summit

Similar to The InstallShield of the 21st Century – Theo Schlossnagle (20)

PDF
Introduction to Chef
PDF
Chef: Smart infrastructure automation
PDF
DOO-009_Powering High Velocity Development for your Infrastructure
PDF
Chef - Configuration Management for the Cloud
PPTX
Chef Workflow Demo
ODP
DevOps and Chef improve your life
PPTX
A Bit of Everything Chef
PDF
PPTX
Building a PaaS using Chef
PDF
Automating your infrastructure with Chef
PDF
Introduction to Cooking with Chef
PPTX
How Cloudify uses Chef as a Foundation for PaaS
PDF
TXLF: Chef- Software Defined Infrastructure Today & Tomorrow
PDF
How to be a Chef (Developer Edition)
PDF
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
PDF
OpsWorks for Chef Automate - Auckland AWS
PDF
OSDC 2013 | Introduction into Chef by Andy Hawkins
PPTX
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
PDF
Infrastructure Automation with Chef
PDF
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
Introduction to Chef
Chef: Smart infrastructure automation
DOO-009_Powering High Velocity Development for your Infrastructure
Chef - Configuration Management for the Cloud
Chef Workflow Demo
DevOps and Chef improve your life
A Bit of Everything Chef
Building a PaaS using Chef
Automating your infrastructure with Chef
Introduction to Cooking with Chef
How Cloudify uses Chef as a Foundation for PaaS
TXLF: Chef- Software Defined Infrastructure Today & Tomorrow
How to be a Chef (Developer Edition)
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
OpsWorks for Chef Automate - Auckland AWS
OSDC 2013 | Introduction into Chef by Andy Hawkins
Improving DevOps through Cloud Automation and Management - Real-World Rocket ...
Infrastructure Automation with Chef
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
Ad

More from Chef Software, Inc. (20)

PDF
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
PDF
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
PDF
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
PDF
Chef Fundamentals Training Series Module 2: Workstation Setup
PDF
Chef Fundamentals Training Series Module 1: Overview of Chef
PPTX
Opscode Webinar: Managing Your VMware Infrastructure with Chef
PPTX
Opscode Webinar: Cooking with Chef on Microsoft Windows
PDF
Opscode tech festa july 2013
PPTX
Opscode Webinar: Automation for Education May 08-2013
PDF
Utility HPC: Right Systems, Right Scale, Right Science
PDF
The Berkshelf Way
PDF
Using Kanban and Chef: A Case Study – Jeffrey Hulten
PDF
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
PDF
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
PDF
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
PDF
Chef ignited a DevOps revolution – BK Box
PDF
The unintended benefits of Chef
PDF
Push jobs: an orchestration building block for private Chef
PDF
Multi-provider Vagrant and Chef: AWS, VMware, and more
PDF
Welcome to the IT Industrial Revolution! Are you ready?
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 1: Overview of Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Cooking with Chef on Microsoft Windows
Opscode tech festa july 2013
Opscode Webinar: Automation for Education May 08-2013
Utility HPC: Right Systems, Right Scale, Right Science
The Berkshelf Way
Using Kanban and Chef: A Case Study – Jeffrey Hulten
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
Chef ignited a DevOps revolution – BK Box
The unintended benefits of Chef
Push jobs: an orchestration building block for private Chef
Multi-provider Vagrant and Chef: AWS, VMware, and more
Welcome to the IT Industrial Revolution! Are you ready?
Ad

Recently uploaded (20)

PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Architecture types and enterprise applications.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Tartificialntelligence_presentation.pptx
PDF
August Patch Tuesday
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Getting Started with Data Integration: FME Form 101
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
observCloud-Native Containerability and monitoring.pptx
WOOl fibre morphology and structure.pdf for textiles
Architecture types and enterprise applications.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Module 1.ppt Iot fundamentals and Architecture
A novel scalable deep ensemble learning framework for big data classification...
Tartificialntelligence_presentation.pptx
August Patch Tuesday
cloud_computing_Infrastucture_as_cloud_p
Programs and apps: productivity, graphics, security and other tools
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Assigned Numbers - 2025 - Bluetooth® Document
A contest of sentiment analysis: k-nearest neighbor versus neural network
Getting Started with Data Integration: FME Form 101
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
1 - Historical Antecedents, Social Consideration.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Hindi spoken digit analysis for native and non-native speakers
NewMind AI Weekly Chronicles – August ’25 Week III
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...

The InstallShield of the 21st Century – Theo Schlossnagle

  • 1. Chef The InstallShield® of the 21st Century InstallShield is a registered trademark of Flexera Software LLC Neither Circonus nor Chef or their related companies have or make any claim thereto. Monday, May 6, 13
  • 2. Hi, I’m @postwait My background is in computing systems engineering hardware debugging cut kernel code network debugging storage debugging cut user-space code operating system release managment Monday, May 6, 13
  • 3. Circonus is... An API-accessible, self-service, state-of-the-art, scalable monitoring and telemetry analysis platform. With Chef cookbooks available to make monitoring your architecture elegant and simple. Run as a SaaS... sometimes. Monday, May 6, 13
  • 4. This talk is... not really about the Circonus service. Monday, May 6, 13
  • 5. This talk is... about the challenges involved with turn-key software installation. Monday, May 6, 13
  • 6. Installing software Installing (most closed and some open) software is easy. RPM, deb, IPS, etc. (they all suck, but they all work passably well) <pkgcommand> install <pkgname> e.g. on OmniOS: pkg install chef Monday, May 6, 13
  • 7. Configuring Software Varies widely from product to product. This sucks. This will never change. Period. Monday, May 6, 13
  • 8. Operating Software Is actually not that hard. Most software that survives consumers, runs. Except when it doesn’t. This is why we monitor and measure things. Monday, May 6, 13
  • 9. What if... Your software was a complex distributed system? Your software was the monitoring system itself? Your software wasn’t your SaaS, but instead your customer’s SaaS on their IaaS. Monday, May 6, 13
  • 10. We didn’t start here... Our software started as SaaS only. We ran the one, true copy. Turns out there is still a strong business model around selling enterprise software that companies run on-premise. (in their own cloud.... whatever). Monday, May 6, 13
  • 11. Right tool for the job... In SaaS, we take the “right tool for the job” seriously. In shipped software, we historically have not. integration costs are high support costs are high licensing challenges Monday, May 6, 13
  • 12. A brief look at Circonus PostgreSQL/pg_amqp, RabbitMQ, redis, memcached, Apache/mod_perl, Node.js, ElasticSearch, OpenSSL (ca) CEP system (Ernie), case management system (Bert), real-time OLAP system (Razalbath), websockets/etc. (Enzo), metric storage (Srollup & Snowth), API services, web portal, broker (noitd), metric transit (stratcond), long-tail storage services Monday, May 6, 13
  • 13. More than 20 asynchronous components Everything can go wrong... it’s just like a Internet infrastructure Despair. Monday, May 6, 13
  • 14. How Chef helped First: Chef did not save the day. It did help us quite a bit. It provided a framework for converging on an expected state. Monday, May 6, 13
  • 15. Chef... Solo. Think about it. It just make sense. Monday, May 6, 13
  • 16. 1 databag to rule them all One databag ‘site.json’ that describes the global topology of all that is Circonus. It exposes all tunables our clients can control. A special role called ‘self-configure’ /opt/circonus/bin/run-chef self-configure builds a node file with appropriate roles Monday, May 6, 13
  • 17. Chef templating... Services need to know about other services site.json has what and where Chef uses that to template out all the configs for all the services running on the current node Monday, May 6, 13
  • 18. Chef’s upsides Chef knows how to start services and how to restart them if they are disabled/in maintenance (this is crucially important in distributed systems) It means that all dependent services can self-recover simply through diligence. Monday, May 6, 13
  • 19. Chef’s upsides As everything is “automated,” the system is far less tolerant of procedures that sometimes don’t work. It has the effect of automating the QA around installation and maintenance tasks Monday, May 6, 13
  • 20. Chef’s downsides It has been horribly impracticable to perform good upgrades (due to packaging) act as omnipotent state control (due to cost) Monday, May 6, 13
  • 21. Chef’s downsides We support OmniOS and Linux I want to do the same thing on both: Apps should live in their own filesystem, logs in another, data in another, use a filesystem for everything. And, of course, use ZFS. Instead of role: “ernie” we have roles: “ernie,” “ernie-omnios”, “ernie-rhel” Monday, May 6, 13
  • 22. Summary Chef sucks. Long live Chef. The process of automating through Chef has: improved the quality of our deployment process made it possible to ship a software platform to clients that runs all the same bits as our production SaaS and stays up-to-date with our latest bits Monday, May 6, 13
  • 23. Thanks Eric Sproul ~ Circonus Release Engineer (who implemented all of these things) Monday, May 6, 13