As a Chef user, you’ll want to easily deploy Chef cookbooks to applications in the cloud. This could involve a lot of work and time, or can more easily be done. Let’s dive into the situation.
Your goal is to deploy a Chef cookbook to an application in the cloud. You have the cookbook from the Chef Supermarket, or maybe you have your own one, which describes an application that is specific to your organization. The Chef cookbook contains all the steps to get your application up and running, so it should be an easy task. But guess what? It’s not. There are still a number of steps that you have to go through before the cookbook can start doing its magic, building and running the application for you.
For starters, you need to set up a Chef infrastructure, namely a Chef server and a client. First, install and set up a Chef server, or alternatively subscribe to Hosted Chef. Once this is in place, you need to make sure your selected cookbook is available on the Chef server, and of course to configure the role for your application properly. This would include specific variables (the “attributes”) that your application needs, for example the password of the database.
The Chef client will have to run on the cloud node that will host your application. You now need to create this node on your preferred cloud. You have to make a choice between cloud providers and then use either the cloud provider’s control panel, API or maybe Chef knife with an appropriate plugin to create it, with the required compute and storage resources.
Furthermore, you need to install the Chef client on the cloud node, either manually or by utilizing the knife bootstrap command. Finally, you need to assign the cloud node to the role specified earlier, and execute the role to initiate the bootstrap operations. What if the cookbook doesn’t entirely deliver what you want, what if you need to register your node to extra services like New Relic for monitoring or SumoLogic for machine data analytics? Then you need to either modify your cookbook or, if you’re not comfortable with it, run custom bootstrap scripts manually.
After all those steps and time, your vanilla cloud node has finally become your desired application.
After all this work, you still have more work to do. Your application probably needs to serve some kind of web workload, so you have one more step: to dig for the IP address that was assigned by the cloud provider and map it to a DNS entry. To achieve this, you’ll probably use yet another third party management console.
Now imagine, like in most cases actually, that you need to repeat the last part of this process for every cloud node that needs to be part of that role. It wastes time and resource! If you have an array of servers performing the same role, this process needs to be completed manually each time you want to grow the array.
Imagine a tool to help you cut down this time consuming and resource hungry process. A tool designed to deliver what goes between a cookbook and a fully deployed application in the cloud. Flexiant Concerto is that tool. Flexiant Concerto is the fastest way to deploy and automate applications consistently across multiple clouds. Much of this automation comes from its deep integration with Chef.
To reduce wasted time on repetitive and unproductive tasks, Flexiant Concerto offers an intuitive UI and of course an API to:
- Select from one of our hundreds of predefined cookbooks (from the Chef Supermarket), or easily upload your own
- Create and configure a blueprint from your chosen recipe. This includes creating a role, customizing the attributes and adding any other bootstrap script you want.
- Create the node on your cloud provider of choice, in whatever geography you need. You can create it on AWS, Google, Azure, Digital Ocean and other public clouds with the exact same user experience.
- Create a series of nodes from the same blueprint and role as a single entity called “server array”, that immediately starts distributing workload across them thanks to the embedded network load balancer.
- Start and bootstrap the created server or the server array.
- Automatically install agents (like New Relic) and register them to third party services.
- Map the resulting servers to the embedded geo-DNS service with your own domain of choice. Forget about IP numbers, they always change.
Flexiant Concerto provides a hosted Chef server that is already setup and ready to serve your nodes. It helps you by creating the infrastructure and automating all that is required to run your selected Chef cookbook, to give you back a fully configured application, running in your cloud of choice and published to the world as an FQDN. Sounds great, doesn’t it?
Sign up to Flexiant Concerto for free to see just how easy it makes deploying a Chef cookbook to an application in the cloud.