diff options
| author | Franck Cuny <fcuny@saymedia.com> | 2012-11-26 14:55:47 -0800 |
|---|---|---|
| committer | Franck Cuny <fcuny@saymedia.com> | 2012-11-26 15:49:41 -0800 |
| commit | f8d2aabeb2362cac3441f142df1abeed382a17ca (patch) | |
| tree | db9d1be6b9beb843b2c92b4f092d5246a74fd5a9 | |
| parent | Don't ignore the drafts (diff) | |
| download | lumberjaph-f8d2aabeb2362cac3441f142df1abeed382a17ca.tar.gz | |
Start a new article about ansible and chef
| -rw-r--r-- | _drafts/ansible-and-chef.mdown | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/_drafts/ansible-and-chef.mdown b/_drafts/ansible-and-chef.mdown new file mode 100644 index 0000000..87b1000 --- /dev/null +++ b/_drafts/ansible-and-chef.mdown @@ -0,0 +1,68 @@ +--- +layout: post +category: devops +title: Where we talk about ansible and chef +--- + +I've been using Chef for some time now, but it was always via Vagrant, +so a few weeks ago I decided to get more familiar with it. Since a +friend of mine set up a Chef server for his own use and was OK to let +me use it for my own server, I put to profit the Thanksgiving weekend +to reinstall my Linode server with it. + +I'm not going to talk about installation, configuration, set up and +all that kind of stuff, there's enough blog posts, articles and books +about that subject. Instead, I will focus on my experience and share +my (very valuable) opinion (because, clearly, the world deserve to +know what I think). + +## Writing cookbooks for Chef + +For the few of you who don't know, cookbooks, in Chef's world, are a +group of files (templates, static files) and code to change the state +of your machine. + +I've a few services on my server: git, gitolite, Jenkins, graphite, +collectd and phabricator, and I wanted a coobook for all of them. +I've started by looking for some cookbooks on the web and try to use +them without any modification. Usually, I would fetch them as a +submodule in my cookbooks repository. But for all of them, I had to +give up and import them in the repo, so I could modify them. + +That's probably my biggest concern with cookbooks: I doubt code +re-usability is possible. Cookbooks should just provides LWRP +(Lightweight Resources and Providers), that's the only thing that I +can see as really re-usable. + +Another annoying thing, I've not found a way to run the chef-client +with only one specific cookbook (well, I was able to, by commenting +all the cookbooks except one in my role, but that's gross). + +## Using Ansible + +ansible was a new tool for me. A few friends mentionned it to me last +October when I was at OSDC.fr and it was also suggested to me by a +colleague at work. + +~~~~~~ description of what ansible is +It's probably less known that Chef. + +~~~~~~REWORK THAT PART +With ansible you write playbooks don't write code, you only write a description in +YAML. They don't encourage to share your entire playbooks, but +instead they incite you to write modules (in Python). (you can see modules as being +similar to LWRP in Chef's world). + +## Chef vs Ansible + +I've decided to stick to this: use Chef for my supporting application +(nginx, MySQL, etc) and ansible for my applications. + +So far, I prefer ansible to Chef. There's definitely less available +material about ansible on the net, but the quality is better, and it's +usually well organized. I've never spend more than 10 minutes looking +for something and to implement it. It can't say the same with Chef: +the wiki is confusing, there's way too many cookbooks available, their +quality is very disparate, etc. + + |
