Javist Being Cheftain
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Javist Being Cheftain

Uploaded on

An introduction to the automated infrastructure management with Chef for those who live (not exclusively) in the (Java) development world

An introduction to the automated infrastructure management with Chef for those who live (not exclusively) in the (Java) development world

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 31

http://lanyrd.com 18
http://www.feedspot.com 7
https://twitter.com 5
http://feedly.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. JAVIST BEING CHEFTAIN @ladislavGazo gazo@seges.sk
  • 3. CHANGELOG #cag hs rcrs hne ot eod vm/t/ot i echss vm/t/otae i echsnm #otoal rbo pinly eot rbo eot #t rfehrp ls o ers eo it sd atgtudt uo p-e pae #t isaludts o ntl pae sd atgtugae uo p-e prd sd atgtisaltu m uo p-e ntl mx c ht:/w.nrwutnt21/51/euiga-bnusre/ tp/wwadeal.e/000/7scrn-nuut-evr sd sst - ntiv.ofalacp_orerue0 uo ycl w e.p4cn.l.cetsuc_ot= sd sst ​ ntiv.ofdfutacp_orerue0 uo ycl- e.p4cn.eal.cetsuc_ot= w sd attd - isaldnhss uo piue y ntl eyot sd attd - isaltgr uo piue y ntl ie sd attd - isalpa uo piue y ntl sd sd ckoti uo hrokt
  • 4. ... BUT WHAT IF there are more servers change log for every one I want to setup development environment manually go through the changelog and probably do mistakes the changelog has some blank places usually it is not that detailed Holy crap... now what?
  • 5. COMPARISON? Only subjective: Chef feels more community friendly & I like community projects
  • 6. ALTERNATIVES Of course there are many: Puppet CFEngine Capistrano Fabric glu ... There is a difference between infrastructure management and deployment management.
  • 7. Chef Solo vs. Chef Server Knife
  • 8. CHEF Solo for local/one node no central repository of configuration Server installed internally or bought from Opscode central repository of cookbooks easy to install on supported OS Ubuntu
  • 10. COMPONENTS II. attributes run-lists roles data bags environments
  • 11. THE ESSENCE COOKBOOKS: Attributes Recipes Templates Files Metadata + Version + Dependencies
  • 12. COOKBOOKS managed by Knife source code stored in Git repository uploaded to the Chef Server downloaded by Chef Client on a particular Node
  • 13. HOW TO START COOKING? You do not need to know Ruby up-front = wheew for Javist ;) but http://docs.opscode.com/just_enough_ruby_for_chef.html
  • 14. NEXT Install Chef Workstation if it does not exist Set up Git repo ( BB | GitHub | ... ) git clone git://github.com/opscode/chef-repo.git Follow the guide precisely Note: I keep separate user for development and separate for deployment
  • 15. WRITE FIRST COOKBOOK It is simple kiecobo cet hprc nf okok rae yei c hprc d yei vmrcpsdfutr i eie/eal.b you get along with 90% of what is already there for most recipes you are fine with basic programming techniques kthnii ice nt testing is important
  • 16. TESTING gmisalts-ice -pe e ntl etkthn -r gmisalbrsefb> e ntl ekhl<r gmisalkthnvgatb> e ntl ice-arn<r SSH to running Vagrant machine when test-kitchen is executed /hfrp/okok/yei/kthnkthnvgatdfutuut-24 vgatsh ce-eocoboshprc.ice/ice-arn/eal-bnu10$ arn s When everything is ready, "fire in the hole" vm.ice.m i kthnyl kthnts ice et
  • 17. CACHE http://fgrehm.viewdocs.io/vagrant-cachier It saves time! vgatpui isalvgatccir arn lgn ntl arn-ahe But does not work with current Kitchen version without hacking configuration file
  • 18. NOTABLE RESOURCES http://docs.opscode.com/resource.html drcoy"tpfle"d ietr /m/odr o onr"ot we ro" gop"ot ru ro" md 05 oe 75 ato :rae cin cet ed n ue "yei"d sr hprc o spot :aaehm = tu uprs mng_oe > re hm "hm/{yei_sr" oe /oe#hprcue} sel"bnbs" hl /i/ah ato :rae cin cet ed n rmt_ie"yei_ude d eoefl hprcbnl" o pt hprcsc ah yei_r onrhprcue we yei_sr suc nd[hprc]'gn'[bnl_r' ore oe'yei'[aet]'udeul] md 064 oe 04 ed n
  • 19. OTHER tmlt "ecii./{evc_ae"d epae /t/ntd#srienm} o ato :raei_isn cin cet_fmsig onr"ot we ro" md 070 oe 00 suc "yei-gn.r" ore hprcaeteb vrals aibe( :evc_ae= srienm, srienm > evc_ae :gndr= hprcaeti, aeti > yei_gndr :sr= hprcue, ue > yei_sr :aahm = jv_oe jv_oe > aahm ) ed n sriesrienm d pten"gn-{yei_eso} evc evc_ae o atr aet#hprcvrin" ato [:nbe :tr ] cin eal, sat ed n bs "xrc_c"d cd:Fl.inm(c_onpt) ah etattc o w :iedraetcdw_ah cd <-O oe <EH con- #nd.c.sr:{oetcgop #nd.c.oain hw R {oetcue}#nd.c.ru} {oetclcto} EH O ed n
  • 20. NOTABLE HINTS (re)create, not update rather don’t update file, find a way how to create it at once more detailed steps then you expected if you thought there are 10 steps what to execute in such an automated way in your head, there are 60 at least cookbook wrapper pattern describe the possibility to override resources in the “cookbook wrapper”
  • 21. QUESTIONS? @ladislavGazo gazo@seges.sk