Ano ang Chef? - Isang Gamit na Gamit Para sa Pamamahala ng Pag-configure



Ang blog na ito sa Ano ang Chef ay ang unang blog ng serye ng blog ng Chef. Pinag-uusapan nito ang tungkol sa Pamamahala ng Configuration at kung paano ito nakamit ng Chef gamit ang isang use-case.

Ang Chef ay isang tool na ginagamit para sa Configuration Management at malapit na nakikipagkumpitensya Papet . Sa blog na ito, ipapaliwanag ko Ano ang Chef, Configuration Management at kung paano nakamit ng Chef ang Configuration Management sa isang use-case.

Ano ang Chef?

Ang Chef ay isang tool na awtomatiko na nagbibigay ng isang paraan upang tukuyin ang imprastraktura bilang code. Nangangahulugan lamang ang imprastraktura bilang code (IAC) na pamamahala sa mga imprastraktura sa pamamagitan ng pagsulat ng code (Pag-automate ng imprastraktura) sa halip na paggamit ng mga manu-manong proseso. Maaari rin itong ma-term bilang programmable imprastraktura. Gumagamit si Chef ng isang purong-Ruby, wika na tukoy sa domain (DSL) para sa mga pagsasaayos ng system ng pagsulat. Nasa ibaba ang mga uri ng awtomatikong ginawa ng Chef, anuman ang laki ng imprastraktura:





  • Pag-configure ng imprastraktura
  • Pag-deploy ng application
  • Pinamamahalaan ang mga pagsasaayos sa iyong network

Katulad Papet na mayroong isang arkitekturang Master-Slave kahit na ang Chef ay mayroong arkitektura ng Client-Server. Ngunit ang Chef ay may labis na sangkap na tinatawag na Workstation. Pag-uusapan ko ang tungkol sa workstation sa aking susunod na blog. Sumangguni sa diagram sa ibaba:

kung paano sumulat ng isang pamamaraan ng tostring sa java

Chef vs Puppet - Ano ang Chef - Edureka



Sa Chef, ang mga Node ay pabago-bagong nai-update kasama ang mga pagsasaayos sa Server. Tinawag ito Hilahin ang Pag-configure na nangangahulugang hindi namin kailangang magpatupad ng kahit isang solong utos sa Chef server upang itulak ang pagsasaayos sa mga node, awtomatikong i-a-update ng mga node ang kanilang mga sarili kasama ang mga pagsasaayos na nasa Server. Ang aking susunod na blog sa Tutorial ng Chef ipapaliwanag ang arkitektura ng Chef kasama ang lahat ng mga bahagi ng Chef nang detalyado.

Ngayon, tingnan natin ang mga dahilan sa likod ng katanyagan ng Chef.

Ano ang Chef - Mga Sukat ng Susi ng Chef

  • Sinusuportahan ng Chef ang maraming mga platform tulad ng AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows at Ubuntu. Ang mga karagdagang platform ng client ay kasama ang Arch Linux, Debian at Fedora.
  • Ang Chef ay maaaring isama sa mga cloud-based platform tulad ng Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure at Rackspace upang awtomatikong magkaloob at mag-configure ng mga bagong machine.
  • Ang Chef ay may isang aktibo, matalino at mabilis na lumalaking suporta sa pamayanan.
  • Dahil sa kapanahunan at kakayahang umangkop ni Chef, ginagamit ito ng mga higante tulad ng Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Kumuha ng Kasiyahan, IGN, Marshall University, Socrata, University of Minnesota, Wharton School ng University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney, at Cheezburger.

Ayon kay Phil Dibowitz, Production Engineer, Facebook



'Mayroong tatlong sukat ng sukat na karaniwang tinitingnan namin para sa mga imprastraktura - ang bilang ng mga server, ang dami ng iba't ibang mga pagsasaayos sa mga system na iyon, at ang bilang ng mga tao na kinakailangan upang mapanatili ang mga pagsasaayos na iyon. Ang Chef ay nagbigay ng isang solusyon sa awtomatiko na sapat na kakayahang umangkop upang yumuko sa aming mga dinamika sa sukat nang hindi hinihiling sa amin na baguhin ang aming daloy ng trabaho. '

Nang walang pag-aalinlangan si Chef ay isa sa pinakatanyag na mga tool sa Pamamahala ng Configuration at malapit na nakikipagkumpitensya Papet . Ngunit, bago sumisid nang malalim sa 'Ano ang Chef', makatarungang ipaliwanag ko muna kung ano ang Configuration Management at kung bakit ito mahalaga.

Pamamahala ng Configuration

Huwag magalala, hindi magkakaroon ng mabibigat na kahulugan ng Configuration Management sa blog na ito :)

Ipaalam sa amin na maunawaan ang Pamamahala ng Pag-configure sa ganitong paraan - ipagpalagay na kailangan mong mag-deploy ng isang software sa tuktok ng daan-daang mga system. Ang software na ito ay maaaring isang operating system o isang code o maaari itong maging isang pag-update ng isang mayroon nang software. Maaari mong gawin ang gawaing ito nang manu-mano, ngunit kung ano ang mangyayari kung kailangan mong tapusin ang gawaing ito sa magdamag dahil bukas ay maaaring isang Malaking Bilyong Araw pagbebenta sa kumpanya o ilan M o Pagbebenta atbp kung saan inaasahan ang matinding trapiko. Kahit na nagawa mong gawin ito nang manu-mano mayroong isang mataas na posibilidad ng maraming mga error sa iyong malaking araw. Paano kung ang software na na-update mo sa daan-daang mga system ay hindi gumagana, kung gayon paano ka babalik sa nakaraang matatag na bersyon, magagawa mo bang gawin ang gawaing ito nang manu-mano? AF-syempre hindi!

Upang malutas ang problemang ito, ipinakilala ang Pamamahala ng Configuration. Sa pamamagitan ng paggamit ng mga tool sa Pamamahala ng Configuration tulad ng Chef, Puppet, atbp. Maaari mong i-automate ang gawaing ito. Ang kailangan mo lang gawin ay upang tukuyin ang mga pagsasaayos sa isang sentralisadong server at naaayon ang lahat ng mga node ay mai-configure. Pinapayagan ang pag-access sa isang tumpak na makasaysayang tala ng estado ng system para sa mga layunin sa pamamahala at pag-audit ng proyekto. Kaya karaniwang, kailangan naming tukuyin ang mga pagsasaayos nang isang beses sa gitnang server at kopyahin iyon sa libu-libong mga node. Ang pamamahala ng Configuration ay tumutulong sa pagganap ng mga gawain sa ibaba sa isang napaka-istraktura at madaling paraan:

  • Pag-alam kung aling mga bahagi ang babaguhin kapag nagbago ang mga kinakailangan.
  • Ang muling paggawa ng isang pagpapatupad dahil ang mga kinakailangan ay nagbago mula noong huling pagpapatupad.
  • Pagbabalik sa dating bersyon ng bahagi kung pinalitan mo ng bago ngunit may depekto na bersyon.
  • Pinalitan ang maling bahagi dahil hindi mo tumpak na natukoy kung aling sangkap ang dapat palitan.

Sumangguni sa aking blog sa Puppet upang malaman kung paano nag-save ang NYSE ng milyun-milyong dolyar sa tulong ng Configuration Management

Mayroong malawak na dalawang paraan upang pamahalaan ang iyong mga pagsasaayos katulad ng Push at Pull configurations.

windows magdagdag ng java sa landas
  • Hilahin ang Pag-configure: Sa ganitong uri ng Pamamahala sa Pag-configure, ang mga node ay nag-poll ng isang sentralisadong server pana-panahon para sa mga pag-update. Ang mga node na ito ay dinamika naka-configure kaya karaniwang hinihila nila ang mga pagsasaayos mula sa sentralisadong server. Ang pagsasaayos ng hilahin ay ginagamit ng mga tool tulad ng Chef, Puppet atbp.
  • I-configure ang Push: Sa ganitong uri ng Pamamahala ng Pag-configure, itinutulak ng sentralisadong Server ang mga pagsasaayos sa mga node. Hindi tulad ng Pag-configure ng Hilahin, may ilang mga utos na kailangang maipatupad sa sentralisadong server upang mai-configure ang mga node. Ang Push Configuration ay ginagamit ng mga tool tulad ng Ansible.

Alamin ang iba't ibang mga bahagi ng Pamamahala ng Configuration sa aking Puppet Tutorial Blog

Ngayon ang tamang oras na ihahatid ko kayo sa paghanap na ito ng pag-unawa sa 'Ano ang Chef' sa pamamagitan ng pagpapaliwanag kung paano nakamit ng Chef ang Configuration Management.

Ano ang Chef - Pamamahala ng Configuration Sa Chef

Naiintindihan namin kung ano ang Chef, ngayon ay ipapaliwanag ko sa iyo kung paano nakamit ng Chef ang Configuration Management sa isang use-case. Ang Gannett ay isang traded ng publiko na kumpanya ng media sa Amerika. Ito ang pinakamalaking publisher ng pahayagan sa U.S. na sinusukat ng kabuuang pang-araw-araw na sirkulasyon.

Ang tradisyonal na daloy ng trabaho sa pag-deploy ni Gannett ay nailalarawan sa pamamagitan ng maraming handoffs at manu-manong mga pagsubok. Tingnan natin kung ano ang mga problemang kinaharap nila sa prosesong ito:

  • Ang pagpapanatili ng tumpak, mauulit na build ay mahirap.
  • Maraming pagkabigo sa pagbuo at ang mga pagsubok ay madalas na tumatakbo sa mga maling kapaligiran.
  • Ang mga oras ng pag-deploy at pagkakaloob ay maaaring saklaw mula sa ilang araw hanggang sa maraming linggo.
  • Ang koponan ng mga operasyon ay walang access sa ulap o mga kapaligiran sa pag-unlad.
  • Ang bawat pangkat ay gumagamit ng sarili nitong tool-set, at walang pananagutan sa pananalapi o seguridad. Walang nakakaalam kung magkano talaga ang gastos ng isang application. Ang seguridad ay walang paraan upang ma-audit ang mga stack ng software.

Handa na si Gannett para sa pagbabago. Nais ng mga tagabuo na maipalipat ang kanilang mga application nang mabilis. Nais ng mga operasyon ang isang matatag na imprastraktura kung saan maaari silang bumuo at ma-deploy sa isang paulit-ulit na paraan. Nais malaman ng pananalapi ang totoong halaga ng isang aplikasyon. Nais ng security na tingnan at i-audit ang lahat ng mga stack at upang masubaybayan ang mga pagbabago.

Nakita ni Gannett ang ulap na iyon bilang isang serbisyo na nag-aalok ng maraming mga kalamangan. Ang mga developer ay may access sa na-standardize na mga mapagkukunan. Madali itong hawakan ang matalim na trapiko dahil sa modelo ng compute-on-demand na cloud, at ang pag-handoff ay nai-minimize.

Pinapayagan ka ng Chef na pabagu-bago ang pagbibigay at i-de-pagkakaloob ang iyong imprastraktura kapag hiniling na makasabay sa mga taluktok sa paggamit at trapiko. Nagbibigay-daan ito sa mga bagong serbisyo at tampok na mai-deploy at mai-update nang mas madalas, na may maliit na peligro ng downtime. Sa Chef, maaari mong samantalahin ang lahat ng kakayahang umangkop at pagtipid sa gastos na inaalok ng ulap.

Tingnan natin kung ano ang mga pagpapaandar na isinagawa ni Chef sa Gannett:

  • Sinimulan ni Gannett ang pagbuo ng VPC (Virtual Private Cloud) para sa pag-unlad na kapaligiran na gagaya sa paggawa. Wala sa mga tool na ginagamit na nila ang naaangkop. Ngunit nalaman nila na ang Chef ay gumana nang maayos sa cloud at parehong kapaligiran sa Linux at Windows. Ginamit nila ang Chef upang bumuo ng isang kapaligiran sa pag-unlad na perpektong tumutugma sa kapaligiran sa produksyon.
  • Para sa isang application na lumipat sa VPC, kailangan itong ibigay at ipadala sa Chef.
  • Ang seguridad ay sangkot nang maaga at pamahalaan ang mga ipinag-uutos na kontrol para sa pag-access sa Chef at para sa pagpapanatili ng mga pamantayan sa seguridad ng system.

Ngayon ang oras upang maunawaan kung ano ang mga resulta ng prosesong ito:

  • Ang pag-deploy ni Gannett ay naging mas mabilis at mas maaasahan. Ang paglalaan ng aplikasyon at pag-deploy, na minsan ay tumagal ng linggo, pagkatapos gamitin ang Chef tumagal ng ilang minuto.
  • Ang lahat ng mga bagong application ay na-deploy sa cloud kasama si Chef. Ang mga application na ito ay na-deploy sa lahat ng mga kapaligiran sa parehong paraan na na-deploy sa produksyon. Gayundin, naganap ang pagsubok sa bawat kapaligiran, upang ang mga pag-deploy ay maaasahan.
  • Ang lahat ng mga imprastraktura ay itinuring bilang code, na labis na nagdaragdag ng kakayahang makita sa anumang mga pagbabagong naganap. Pag-unlad, Pagpapatakbo, Seguridad at Pananalapi lahat ay nakinabang dito.

Pagkatapos ng ' Ano si Chef ”Ang susunod kong blog ibig sabihin Tutorial ng Chef nakatuon sa arkitektura ng Chef kasama ang mga bahagi nito. Ipinaliwanag ko rin kung paano i-deploy ang Apache2 gamit ang Chef.

Kung nakita mo ang blog na ito sa “ Ano si Chef 'Nauugnay, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios at GIT para sa pag-automate ng maraming mga hakbang sa SDLC.

ano ang pamamahala ng pagkuha ng proyekto