Golden images allow users to rapidly deploy additional nodes to a service, as well as provide a baseline to build a disaster recovery plan. Golden images are **not** full backups, nor are they meant to be a one-stop-shop for emergencies. Rather they are meant to be a supplementary tool in order to recover from issues quicker and scale rapidly as needed.
What is a golden image?
Simply put, a golden image is a copy of a working server intended to provide a baseline of installed applications and services during a build-out or recovery scenario. It is important to note that up-to-date data regarding those services and applications is not included in a golden image. These images are meant to simply get the working ‘bones’ of a server in place, to allow other systems to fill in the ‘muscle’ (your data) later.
What is the advantage of a golden image?
Golden images allow for two key advantages. The first is speed. Creating a server from an image with the necessary applications and services already installed and configured is often much faster than spinning up a fresh server and starting from scratch installing everything. It also means less headaches and mistakes made during a scenario where time is critical and techs are stressed, such as during an emergency outage.
Speed also comes in to play here with the time to restore services. If a user were to use a ‘regular’ image instead, it may contain much more data and thus take longer to create a server from. Often times, a combined method of a golden image + a backup system restore is quicker than trying to lump the applications and the data together in one massive restore or image.
The second advantage is convenience and accuracy. Once a golden image is created and tested to ensure it is working as intended, it will work that same way until updated or replaced with a new image. This means in the event that a server needs to be replaced or restored that a vetted working device will be put in its place and you know exactly what to expect of the replacement device.
Creating a golden image
Creating a golden image is pretty straightforward, as it is essentially the same process as taking a regular server image of any server. However, the differentiator for a golden image is it is meant to only backup the server’s applications and services and their configurations. Any data included on a golden image will reduce its effectiveness as the image is meant to be as lightweight as possible to speed up recovery times.
As such the recommended process for creating a golden image is to start from a fresh new server. Take this server, and configure it with the applications and services you would place on one of your production servers. Once you have everything installed and configured, you would normally add a copy of the most recent data and then add it into your node rotation. However, in this case, we want to take an image of the server before data is added.
The newly created image should be a working golden image, but it is recommended to test the image prior to including it in your build out and disaster recovery plans. A test of the image can be considered valid if you can spin up a server from it, restore data, and the server works as intended for the pool it would be entering.
If additional steps are needed for any reason, you may wish to perform them and re-image to include them ahead of time. Be careful not to include any test data in the image if tweaks are needed, as this will bloat the image and cut down on the speed advantage a golden image provides.
Repeat the above process to create additional golden images for the various server roles in your environment. Once done you should have a set of images that allow you to recover faster from emergencies as well as ease the pain of building out additional resources for an environment.