I had the privilege of joining the Chef Food Fight show today to discuss Chef Metal. John Keiser did a good job showing off the basic points, and it ends up being a nice introduction to the technology.
What really excites me working with Metal is the idea of building out complex, heterogeneous environments in a trivial fashion. Just like Vagrant made the creation of developer environments easy, with Metal the creation of production environments becomes simple, and best of all, portable. I see down the road auto-scaling being fairly easy to set up, which means you can take advantage of multiple service providers (e.g. AWS, DigitalOcean, etc) and optimize your deployment costs (some instances being cheaper than others). While it seems a bit nit-picky, if you’re only dealing with 10-15 instances, once you wander into the 500-1000 instance range those cost-optimizations can add up pretty quickly. Mind, at that scale it’s probably cheaper just to build out your own datacenters.
Another area where I see Metal shining is in high-performance and scientific computing clustering. Because it creates the instances in a parallel fashion, if you need to do a map-reduce style job that requires a quick build-up-and-tear-down, then Metal makes the spinning up of those clusters quite easy (mind, based off the Chef talks I’ve heard in this area, there’s already a bit of tooling, and for simple tasks there’s Spiceweasel).
There’s also a lot of possibility with tying it in to Jenkins, and running nightly (or per-commit) tests, with the ability to build-test-burn entire environments. End-to-end smoke testing need no longer be a pipe dream.