What is our primary use case?
My primary use case for Chef has been always for infrastructure provisioning. For example, infrastructure as a cloud, provisioning it in a multi-cloud environment. That's predominantly what we're using Chef for.
How has it helped my organization?
I wanted to monitor a hybrid cloud environment, one using AWS and Azure. If I have to provision/orchestrate between multiple cloud platforms, I can use Chef as a one-stop solution, to broker between those cloud platforms and orchestrate around them, rather than going directly into each of the cloud-vendors' consoles. It works like a centralized broker/control management solution, which has helped broker in a hybrid cloud environment. AWS and Azure just two examples. This cloud platform keeps expanding.
What is most valuable?
The best are some of the default, out-of-the-box capabilities that are available. Plug-ins with multiple vendors and other infra-cloud platforms. The templates are very easy to use. Ease of use, overall, is an advantage of Chef.
What needs improvement?
The time that it takes in terms of integration. Cloud integration is comparatively easy, but when it comes to two-link based integrations - like trying to integrate it with any monitoring tools, or maybe some other ticketing tools - it takes longer. That is because most of the out-of-the-box integration of the APIs needs some revisiting. They should make it into a larger toolset.
I would also like to see more analytics and reporting features. Currently, the analytics and reporting features are limited. I'll have to start building my own custom solution with Power BI or Tableau or something like that. If it came with built-in analytics and reporting features that would be great.
For how long have I used the solution?
One to three years.
What do I think about the stability of the solution?
I have had minor issues with development and configuration but we have an in-house team that takes care of most of it.
What do I think about the scalability of the solution?
My scaling is taken care of, predominantly, with the native capabilities with my cloud. Most of our environments are cloud-first companies, so that has not been much of a challenge.
When I start adding more engines to it, so far I haven't faced issues because I have a different level of scaling up. But in terms of horizontal scalability, like adding more technology, for instance, I think Chef has a ways to go. Vertical scalability is still good but the horizontal, adding more technologies, platforms, tools, integrations, Chef should take a look into that.
How are customer service and technical support?
Vendor support has been decent. It's okay from that perspective. But sometimes it takes a while. They could have more dedicated support. Sometimes that is a challenge. If my in-house team cannot handle it, getting dedicated vendor support is a challenge and something that comes at a premium. Because they charge us a premium, I use my partner's channel rather than directly with Chef. Except for some proofs of concept and some demos, I haven't used much help.
But presale support was very good.
Which solution did I use previously and why did I switch?
I mostly wrote scripts, predominantly with Python and some others. Compared them, Chef has definitely been more satisfactory.
How was the initial setup?
Setting up initially was quite straightforward. What was challenging was when our platforms kept changing. We had an on-premise environment and we evolved to the cloud world. Then there was AWS and Azure. We keep adding and expanding. Maybe we haven't thought much about our architecture - that's been through some changes. And maybe the horizontal capabilities I was talking about earlier, the scalability might be another aspect. But the initial setup itself was quite straightforward.
What's my experience with pricing, setup cost, and licensing?
There are some flexible pricing models which you get from multiple partners, and then we bundle our solution. From that perspective, it is okay so far. But maybe when we go to the enterprise level, there will be components we have to pay for, when it comes to DevOps with customers who already have an existing license. Those things are always complicated. But otherwise, for regular commercial licensing, it can be flexible.
Which other solutions did I evaluate?
We used SPO Orchestrator. And before Chef there was one proof of concept with Puppet but for some reason, Puppet was not as developer-oriented. Many of our in-house people found Chef to be more user-friendly, from an administrative perspective, so we narrowed it down to Chef.
What other advice do I have?
If you're looking for an environment where there is an ROI business case, or looking into or orchestrating multiple environments, it makes sense to go with Chef. But if it's a minor orchestration you're looking into, the best tool would always be native solutions. In other words, if I you are looking at a platform where there will be two or three moving parts, you should look at the platform's built-in, native solution. If you have a wider range of moving parts and automation to be done, configuration-wise, you can bring in an orchestrator like Chef.
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner.