Javist Being Cheftain

664 views
476 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
664
On SlideShare
0
From Embeds
0
Number of Embeds
44
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Javist Being Cheftain

  1. 1. JAVIST BEING CHEFTAIN @ladislavGazo gazo@seges.sk
  2. 2. JAVIST PART
  3. 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. 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. 5. COMPARISON? Only subjective: Chef feels more community friendly & I like community projects
  6. 6. ALTERNATIVES Of course there are many: Puppet CFEngine Capistrano Fabric glu ... There is a difference between infrastructure management and deployment management.
  7. 7. Chef Solo vs. Chef Server Knife
  8. 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
  9. 9. COMPONENTS
  10. 10. COMPONENTS II. attributes run-lists roles data bags environments
  11. 11. THE ESSENCE COOKBOOKS: Attributes Recipes Templates Files Metadata + Version + Dependencies
  12. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21. QUESTIONS? @ladislavGazo gazo@seges.sk
  22. 22. THANK YOU... FOR... ATTENTION

×