SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
JAVIST BEING CHEFTAIN
@ladislavGazo
gazo@seges.sk
JAVIST PART
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
... 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?
COMPARISON?
Only subjective:
Chef feels more community friendly
&
I like community projects
ALTERNATIVES
Of course there are many:
Puppet
CFEngine
Capistrano
Fabric
glu
...
There is a difference between infrastructure management and
deployment management.
Chef Solo vs. Chef Server

Knife
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
COMPONENTS
COMPONENTS II.
attributes
run-lists
roles
data bags
environments
THE ESSENCE
COOKBOOKS:
Attributes
Recipes
Templates
Files
Metadata + Version + Dependencies
COOKBOOKS
managed by Knife
source code stored in Git repository
uploaded to the Chef Server
downloaded by Chef Client on a particular Node
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
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
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
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
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
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
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
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”
QUESTIONS?
@ladislavGazo
gazo@seges.sk
THANK YOU... FOR...

ATTENTION

Contenu connexe

Similaire à Javist Being Cheftain

Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
Mattias Gees
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
 
Marko Gargenta_Remixing android
Marko Gargenta_Remixing androidMarko Gargenta_Remixing android
Marko Gargenta_Remixing android
Droidcon Berlin
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
Edorian
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...
Odoo
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnit
Edorian
 

Similaire à Javist Being Cheftain (20)

Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS Preprocessors
 
Noah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsNoah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku Secrets
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting Started
 
Hubot: a look inside our robot friend
Hubot: a look inside our robot friendHubot: a look inside our robot friend
Hubot: a look inside our robot friend
 
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debianDebian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
 
Marko Gargenta_Remixing android
Marko Gargenta_Remixing androidMarko Gargenta_Remixing android
Marko Gargenta_Remixing android
 
Automated tests - facts and myths
Automated tests - facts and mythsAutomated tests - facts and myths
Automated tests - facts and myths
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
 
Theme Development and Customization
Theme Development and CustomizationTheme Development and Customization
Theme Development and Customization
 
Using Phing for Fun and Profit
Using Phing for Fun and ProfitUsing Phing for Fun and Profit
Using Phing for Fun and Profit
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnit
 
Learn Frontend Testing
Learn Frontend TestingLearn Frontend Testing
Learn Frontend Testing
 
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
Wildcard13 - warmup slides for the "Roundtable discussion with Oracle Profess...
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...
 
What's New in ECMAScript 2015
What's New in ECMAScript 2015What's New in ECMAScript 2015
What's New in ECMAScript 2015
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnit
 
톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment톰캣 #05+a-배치-parallel deployment
톰캣 #05+a-배치-parallel deployment
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Javist Being Cheftain

  • 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.
  • 6. COMPARISON? Only subjective: Chef feels more community friendly & I like community projects
  • 7. ALTERNATIVES Of course there are many: Puppet CFEngine Capistrano Fabric glu ... There is a difference between infrastructure management and deployment management.
  • 8. Chef Solo vs. Chef Server Knife
  • 9. 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
  • 13. COOKBOOKS managed by Knife source code stored in Git repository uploaded to the Chef Server downloaded by Chef Client on a particular Node
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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”