Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 2.19 KB

Readme.md

File metadata and controls

48 lines (32 loc) · 2.19 KB

DevOps - The Introduction Course: 1

Introduction to Chef

Configuration management tools: Push vs Pull (Cook vs Buffet):

  • Configuration push is initiated with the master node (from 'cook' to 'servers'), e.g. Ansible, Saltstack
  • pull - you can think of it as a 'buffet', where the customer periodically walks up to the table and takes what they need, e.g. Puppet, Chef

Idempotency & Convergence

Generic concepts used by operating systems and other orchestration tools

  • An idempotent task is one that yields the same result when repeated multiple times

    • e.g. asking a waiter to fill your glass of water: whether it's empty, half-full or already full (requiring no action), you'll always end up with a full glass of water
    • e.g. in user creation, if the user doesn't exist then the user is created; if they do, then the operation is skipped:
        user 'sam' do
          action :create
        end
  • Convergence means "to bring together"

    • e.g bringing together a set of ingredients to cook a dish. The dish requires noodles - if they're already cooked, skip them; otherwise, cook noodles. While adding salt, taste to see if there's enough already before adding more.
    • What's important is that at the end of the process we get the same dish we're expecting that tastes the same, with the right amount of ingredients.
  • Summary

    • No complex scriptting
    • Consistent in heterogenous environment
    • Imperative and declarative patterns
    • Idempotent

Cloud Research

  • SSH'd into an Ubuntu VM
  • Revised YAML
  • Learned about automation in Chef
    • Imperative vs Declaritve programming: is declarative == abstraction? Apparently, yes!
  • Read a chapter of 'The Phoenix Project')

Social Proof

Twitter