If haven't yet had a chance to watch Netflix's Chef's Table, do it!
Now, I'm not on the Netflix payroll nor would pop television normally come up as a topic of discussion for a tech automation blog BUT Chef's Table is a little different. Is it a touch overblown? Yes. Is it a little pretentious? No. It's massively pretentious. Is it actually extremely good quality television and a excellent source of inspiration? Yeah, it's that too.
Aside from all the usual notes about the show and the fact that it is a cooking documentary and has very little (if anything) to do with automation it does touch on a topic that I have been using for quite some time: mise en place. Mise en place is a chef's preparation technique and I will steal The Reluctant Gourmet's definition:
All mise en place, pronounced (MEEZ ahn plahs) or (mi zɑ̃ ˈplas), means is to have all your ingredients prepared and ready to go before you start cooking. Translated, “ to put in place.” The Reluctant Gourmet
There is even a book on the subject, Work Clean, which isn't half bad but belabours the subject a little in my humble opinion. The idea of mise en place essentially boils down to "preparation prior to cooking" and for me this is analogous to similar ideas in DevOps, if not explicitly set out at the very least implied. In DevOps the day-to-day can involve any number of tasks but at their core the idea of automate all the things including build and release pipelines, testing, infrastructure, the coffee machine..... and a certain culture. For me mise en place was something I practised prior to DevOps becoming a massive part of my career.
For me, the original mise on place was an SCCM task sequence. I could go from no operating system at all to a fully built Windows client in under an hour. Now of course much of this can be easily achieved with Chocolatey and really probably doesn't sound all that impressive these days. But for my workflow having the preparation in place prior to working is completely essential. It also helps to have your software and settings requirements well known so recovery is a cinch as well. And for those of us from more of a Windows based background
choco install docker remains something akin to magic. Well, for me anyway! As with all things this isn't a perfect system and not every single piece of my client installation process is fully automated but with tools like Chocolatey is't that much simpler. And it's a constant work in progress.
So what does a the recovery setup look like?
Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install docker vagrant packer googlechrome nodjs -y
choco install ALLTHETHINGS -y
You get the idea. In a later post I'll update and show the full script along with some other examples including Docker and Vagrant guest setups. The point I am trying to get to here though is less about the technology and more about the inspiration. Mise en place is a traditional French chef's technique which guided my thinking on how system builds could be designed. Chef's Table has been a refreshing reminder of that and has further served as inspiration itself, great soundtrack and all. So don't be surprised when inspiration comes knocking, even if it's on Netflix.