As part of my #SummerProject of exploring deeper into Infrastructure as Code, Public Cloud and Cloud Native it led me back to a session that I delivered last year at VeeamON.

The concept of the session was to highlight some of the things we had done from a community point of view with CHEF and Veeam to really show Day 0 operations and getting Veeam up and running in a declarative fashion.

Why did we choose to automate Veeam deployments?

We wanted to come up with way to consistently deploy Veeam servers. When you look at the difference between simple deployments and more advanced environments, we found that everyone can benefit from this consistent model

What is configuration management?

Established set of rules by which an application or environment is created, maintained and destroyed

Provides for a consistent methodology of delivery

Advanced concepts allow for self-healing and protection from configuration drift

Ongoing and not a one-time process

Benefits of configuration management

  • Application or environment desired states are declared in a repeatable format
  • Configurations can be versioned like any application code
  • Parameterization allows for a one-to-many delivery of solutions
  • Overall manpower hours and time-to-market reduced for new environments
  • A desired state creates an audit trail and self-healing remediation

What is CHEF?

Server / client configuration management software where configuration ‘recipes’ are applied to servers

Supports a pull method whereby a client checks into a central CHEF server to gather configuration updates and apply those to the host

A cookbook contains one or more recipes with each responsible for a specific configuration state

Key CHEF Terms

CHEF Server: A centralized, multi-tenant aware host to which all clients will connect; Serves as the central storage of configurations and environment specifics

CHEF Client: A client-side application installed on the host, which is responsible for gathering the configuration details from the CHEF Server and applying the desired state to the host

Cookbook: A collection of one or more recipes typically focused on the deployment of an application or set of applications

Recipe: The desired state to which a host should be configured

Why is configuration management important in the enterprise?

  • Reduction in large deployment lead times due to limited number of build engineers
  • Reduction in growing list of outdated templates and images
  • Reduction in yearly release cycle for updated templates
  • Development teams impacted by testing against unsupported images

    Delays in product release

    Back and forth and long lead times for servers

  • Changes to images and deployed servers required manual intervention

Why did we choose CHEF?

Chef gives us a universal delivery method that benefits every size organization. Chef also includes some of the best cross-platform support and testing for Windows environments. Since Veeam is deployed on Windows, this was a major win.

Desired State / Configuration / Consistently Deployed

It is important to consider the difference between a one-time use script and on-going delivery.

By using a tool like Chef, we can create a standardized delivery of all Veeam products that can be consistent across organizations. It was also an Enterprise tool, there are many different Desired State configuration tools available. Our initial investigation showed that CHEF was not only a leader in this space but a visionary in how Configuration as Code can be delivered.

Rapidly spin up / down extra components based on workload (On-Demand)

This is at the heart of what we wanted to accomplish. The ability to quickly add backup capacity as the need arises and release those licenses (this is Windows) when we don’t need them.

Grow, change, expand, shrink, evolve

We saw the DevOps and Cloud as cornerstones to how companies are evolving their business. Why should your backup software not be able to meet those goals?

The Challenge

Veeam traditionally has been really simple to install and deploy, although over the past years I have been involved in some large-scale deployments and installations of Veeam and whilst it works, the number of components required in these environments can take a while in the traditional sense.

Veeam needs at least one Windows OS to run all components, but also all other components can be scaled out in terms of architecture. (this is talking pre v10 where we introduce Linux Proxies) Veeam proxies in pre v10 require multiple VMs or physical systems to act as that data mover. Even with a template to deploy them if you need 10 to 100 that’s a lot of manual labor to get them running.

Now, imagine you have 10,000 VMs to protect, how much effort is it to deploy the scale-out architecture?

This was the reason for what we were doing with CHEF.

The second part of this post will go a little deeper into how and what we have done but also how you can get started here.

Leave a Reply

Your email address will not be published. Required fields are marked *