ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    What is Chef?

    IT Discussion
    chef puppet
    7
    16
    4.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by

      http://www.getchef.com/

      So I've been asked this a couple of times recently because people see me working with Chef and attending a class this week and I figured that it would be more valuable to talk about it here since lots of people are probably wondering but not mentioning it.

      First, let me state very clearly, that products like Chef (and it's competition like Puppet, SaltStack, cfEngine, etc.) are certainly not for everyone or every business. Not by a long shot. In fact, they are for a relative minority of businesses - but the minority that get a lot of attention, primarily publicly facing large scale web application companies (you know the type, Salesforce, Facebook, Google, Twitter, Netflix, etc.) So because these big, in your face, players need tools like this they become popular and get massive attention. And they are great tools, but they have a place and what Facebook does is important, but it hardly suggests that Bob's Flower Shop and Garden Center needs to use the same tools and approaches for their one, five year old Windows Server that Facebook needs for managing hundreds of datacenters full of scaling web instances.

      Chef is an IT automation framework aimed, primarily, at cloud computing and DevOps roles (both of which are almost unheard of in the SMB realm.) Chef is a tool designed to allow you to "define infrastructure as code." That is, you write code (in Ruby and a Ruby DSL for Chef) that is used to define your servers. The idea behind the new cloud computing + DevOps + automation movement is that you will never log into a server again and all management, changes, installations, patching and even initial builds will be handled via definitions in an automation system. This sounds ridiculous to normal SMB admins who can't imagine trying to work this way (never log into a server, really?) and especially odd to Windows admins but if you look at the majority of modern, horizontally scaling web-based applications that run on cloud computing (think AWS, Azure and Rackspace) there is actually a ton of sense here.

      The problem is, only a tiny fraction of companies run those apps on those platforms. For most of us, each server is unique and complex and would never get replicated or built out in an automated way. Tools like Chef give you a ton of power, but also bring a lot of overhead and risk. It is a great tool to know about and understand but one you need to think carefully to decide if it is useful for you. There is a huge movement in the start up, Silicon Valley and "trendy" spaces to think that DevOps and this fully automated approach will rule every shop, but in reality that is incredibly silly and short sighted. Mostly this is a massive trend and nothing more. But for shops where it makes sense, it is a beautiful thing.

      What you do is make config files that get pushed to a Chef server and the Chef server applies configurations to servers. Those configurations determine what processes are running, what apps are installed, what files are where, etc. Pretty much anything you can imagine. Any configuration you can do on a box itself Chef can push out from a central server. This allows you to easily track and replicate changes. If you spend a week getting a web server "just right", you can spend seconds making a second, or a third or a twentieth one just like it. And instead of taking a full system backup, if you are not storing data on the server (if it is stateless) then you might not even need backups. Instead just let Chef rebuild a failed server from its profile in minutes!

      It's a great tool that everyone should be exploring. But don't look at it and be like most people who react with a "this is stupid why does this exist" or the opposite "this is amazing and this is going to take over the world." It is a specialized tool that is very powerful and useful but hardly right for every business.

      1 Reply Last reply Reply Quote 2
      • scottalanmillerS
        scottalanmiller
        last edited by

        I spent the last two days (yesterday and today) taking a formal Chef class directly from OpsCode. So I'm decently versed in the basics.

        1 Reply Last reply Reply Quote 0
        • scottalanmillerS
          scottalanmiller
          last edited by

          Chef, or Puppet, et. al., make for good home projects too. Many of them are available for free. Chef has an unlimited use open source version and they have both a hosted and on premise non-open "Enterprise" version which is free for up to five servers under management. So for people to use at home it is extremely accessible. Nothing to stop someone from using it to manage their own home environment. Right now it supports Windows, Mac OSX, Solaris and most major Linux distros (RHEL family, Suse, Debian and Ubuntu formally but I've seen official Arch and other packages in there.) I've not seen BSD support but it might work, I don't know.

          1 Reply Last reply Reply Quote 1
          • JoyJ
            Joy
            last edited by

            Thanks for the information. Me too wondering what is Chef before..

            1 Reply Last reply Reply Quote 0
            • lanceL
              lance
              last edited by

              Thanks for the info.

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller
                last edited by

                Chef and Puppet really seam to have come out on top as the two leading players in the DevOps / Cloud automation space. They get the vast majority of the media attention.

                1 Reply Last reply Reply Quote 0
                • C
                  Carnival Boy
                  last edited by

                  Disappointed. I thought you were planning a career change involving cooking.

                  scottalanmillerS 1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller @Carnival Boy
                    last edited by

                    @Carnival-Boy said:

                    Disappointed. I thought you were planning a career change involving cooking.

                    Or this, love this show...

                    http://www.bbc.co.uk/comedy/chef/

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User
                      last edited by

                      Should I learn Chef or Puppet?

                      scottalanmillerS 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User
                        last edited by

                        Youtube Video

                        1 Reply Last reply Reply Quote 0
                        • alexntgA
                          alexntg
                          last edited by

                          Was that video at the Javits Center?

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @alexntg
                            last edited by

                            @alexntg No Idea.

                            1 Reply Last reply Reply Quote 0
                            • scottalanmillerS
                              scottalanmiller @A Former User
                              last edited by

                              @Aaron-Studer said:

                              Should I learn Chef or Puppet?

                              Good question. The answer is squarely... It depends.

                              Do you want hosted or on premise?

                              How many machines do you want to support?

                              Do you need a graphical interface?

                              What platforms do you want to support?

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @scottalanmiller
                                last edited by

                                @scottalanmiller said:

                                @Aaron-Studer said:

                                Should I learn Chef or Puppet?

                                Good question. The answer is squarely... It depends.

                                Do you want hosted or on premise? On Prem

                                How many machines do you want to support? 25ish

                                Do you need a graphical interface? Yes.

                                What platforms do you want to support? Windows, and Linux.

                                scottalanmillerS 1 Reply Last reply Reply Quote 0
                                • MattKingM
                                  MattKing
                                  last edited by

                                  Glad to hear the conference went well! I think it's a great concept, I'm looking forward to seeing developments in that sector (expecially OpenCompute).

                                  1 Reply Last reply Reply Quote 0
                                  • scottalanmillerS
                                    scottalanmiller @A Former User
                                    last edited by

                                    @Aaron-Studer said:

                                    @scottalanmiller said:

                                    @Aaron-Studer said:

                                    Should I learn Chef or Puppet?

                                    Good question. The answer is squarely... It depends.

                                    Do you want hosted or on premise? On Prem

                                    How many machines do you want to support? 25ish

                                    Do you need a graphical interface? Yes.

                                    What platforms do you want to support? Windows, and Linux.

                                    Then Puppet as Chef doesn't do graphical.

                                    1 Reply Last reply Reply Quote 0
                                    • 1 / 1
                                    • First post
                                      Last post