Over the last week I spent my first time at VMworld. If you don’t know it’s VMware’s conference where they announce new products or processes for enterprises to consume. Talking to the different IT professionals there where three terms that kept getting thrown around. This document is my understanding of these, and if I’m wrong I hope someone reaches out and corrects me.

What is a Day 0 (zero) release?

Unlike what most people assume a Zero-Day exploit, a Day 0 release in the VMware ecosystem is this: A VM or object (say container or network appliance) in the most vanilla way possible. Either cloned or bootstrapped with an OS and no extra configuration.

Think of it this way, a machine that as fresh and installed handed over to you. You have to do the configuration and implementation of what you want done.

What is a Day 1 (one) release?

Day 1 release is the extension of the Day 0 release. You have the fresh install of your OS, but then you need something more. Take for instance a Linux web server, you’ll need the OS, you web server application, (Apache, Nginx, etc), and possibly your seed code.

This is where most people associate Chef. When it’s not wrong per se, it’s short sighted. Yes you should bootstrap/provision an instance, and then install a layer of configuration via chef, but the real magic is in Day 2 releases.

What is a Day 2 (two) release?

A Day 2 release is the full cycle of an instance. This is where you can provision a machine, install the required software and patches to get it to the state you want, then have the continued maintenance. This seems to be the golden goose from the VMware side.

Most of the VMware products have a way to provision, and even possibly do some post build tasks, think vRealize automation, but the continued patch and software management is where they lack. Chef shines here.