Maestro vs Chef
Thus, Chef can substantively simplify the process of configuring typical infrastructure models, sparing DevOps specialists' time and efforts on the project.
How does Chef work?
Chef consists of several major components: server, client, roles, cookbooks, recipes, etc.The Chef server is a comprehensive product, containing the database, file storage, web server etc. The server is intended to provide instructions to Chef clients who request these instructions.
- In the beginning, the administrator creates an organization on the Chef server. The authorization to this organization is performed securely with the help of SSH keys.
- The administrator uploads respective public instructions (cookbooks) from the Chef Supermarket. Cookbooks contain a description of how to reach the desired state. Recipes, put together in the cookbook, describe the actions to be performed sequentially.
- The administrator pushes cookbooks to the Chef server using the Chef Knife utility.
- After this, the administrator can set Chef client on new instances, and add the organization’s key to these instances.
- Then clients come to register to the Chef server, and now (using Bootstrap), the administrator can modify their Chef roles by setting defined cookbooks on clients via the Chef Knife.
- Once in a certain time, the client is activated and requests the Chef server to verify its role, version of cookbooks, etc.
- If the administrator wants to provision a new role or install certain software, he goes to the Chef server and updates nodes for the selected instance.
- When the Chef client requests information from the server, the latter returns the updated information based on which the actions will be executed.
Maestro vs Chef
Maestro, on the other hand, significantly simplifies the
Chef native flow. Our users do not need to dive into details of this
complicated schema.
The Maestro approach is the following:- Maestro takes the most popular cookbooks (specific databases, Artifactory, Jenkins, etc.) from the Chef Supermarket and uploads them to our Chef server, maintained by the Maestro Orchestrator. This server contains the pre-configured cookbooks.
- When configuring a new instance in the Run wizard, the user selects a Chef role on the interface of the application. Note that the user does not need to create an organization, and work with such Chef components as Workstation and Knife.
- After this, Maestro, as an external component, sends necessary metadata to the started instance, and a Chef client is installed on the instance.
- The Chef client gets registered on the Chef server, requests information about its Chef role and accomplishes its intended function.
Chef server in a project
Moreover, in this schema, Maestro introduces/provides the third option – flexibility, when the project/client can set up a new Chef server as part of its project:- The project starts a new instance.
- The project selects the Chef server role.
- Maestro sets a Chef client on the instance based on its role.
- The instance with a Chef server role downloads all cookbooks supported and verified by Maestro.
- setup Chef workstations.
- use Chef Knife, i.e. request more recipes from the Chef Supermarket for the Chef server instance deployed in the project.
- perform custom configuration, where an instance is set up with a custom role and sends requests to the project’s custom Chef server.
- the project administrator can download new recipes both from Chef Supermarket and via Chef Knife, thus expanding Maestro orchestration functionality.
Comments
Post a Comment