Què és el xef? - Una eina utilitzada per a la gestió de configuracions



Aquest bloc sobre Què és el xef és el primer bloc de la sèrie de blocs del xef. Parla de la gestió de la configuració i de com el Chef ho aconsegueix mitjançant un cas d’ús.

El xef és una eina que s’utilitza per a la gestió de la configuració i que competeix estretament Titella . En aquest bloc, explicaré què és el xef, la gestió de configuracions i com el xef aconsegueix la gestió de la configuració amb un cas d’ús.

Què és el xef?

El xef és una eina d'automatització que proporciona una manera de definir la infraestructura com a codi. La infraestructura com a codi (IAC) significa simplement gestionar la infraestructura escrivint codi (automatitzant la infraestructura) en lloc d’utilitzar processos manuals. També es pot anomenar infraestructura programable. El xef utilitza un llenguatge específic de domini (DSL) de Ruby pur per a la configuració del sistema d’escriptura. A continuació es mostren els tipus d’automatització fets pel xef, independentment de la mida de la infraestructura:





  • Configuració de la infraestructura
  • Desplegament de l'aplicació
  • Les configuracions es gestionen a la vostra xarxa

M'agrada Titella que té una arquitectura Master-Slave fins i tot el Xef té una arquitectura Client-Server. Però el xef té un component addicional anomenat Workstation. Parlaré de l'estació de treball al meu proper bloc. Consulteu el diagrama següent:

Xef vs Titella - Què és el xef - Edureka



Al xef, els nodes s’actualitzen dinàmicament amb les configuracions del servidor. Això es diu Configuració d'extracció el que significa que no necessitem executar ni una sola ordre al servidor del xef per empènyer la configuració als nodes, els nodes s’actualitzaran automàticament amb les configuracions presents al servidor. El meu proper bloc a xef Tutorial explicarà detalladament l’arquitectura del xef juntament amb tots els components del xef.

variable d’instància a l’exemple de java

Ara, vegem els motius de la popularitat del xef.

Què és el xef: mètriques clau del xef

  • Chef admet múltiples plataformes com AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows i Ubuntu. Altres plataformes de clients inclouen Arch Linux, Debian i Fedora.
  • Chef es pot integrar amb plataformes basades en el núvol com Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure i Rackspace per aprovisionar i configurar automàticament màquines noves.
  • El xef té un suport comunitari actiu, intel·ligent i de ràpid creixement.
  • A causa de la maduresa i flexibilitat del xef, l’utilitzen gegants com Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School de la Universitat de Pennsilvània, Bonobos, Splunk, Citi, DueDil, Disney i Cheezburger.

Segons Phil Dibowitz, enginyer de producció de Facebook



'Hi ha tres dimensions d'escala que generalment considerem per a la infraestructura: el nombre de servidors, el volum de diferents configuracions d'aquests sistemes i el nombre de persones necessàries per mantenir aquestes configuracions. Chef va proporcionar una solució d’automatització prou flexible per adaptar-se a la nostra dinàmica d’escala sense necessitat de canviar el nostre flux de treball ”.

Sens dubte, el xef és una de les eines de gestió de configuracions més famoses amb les quals competeix estretament Titella . Però, abans d’endinsar-me en “Què és el xef”, és just que expliqui primer què és la gestió de la configuració i per què és important.

Gestió de la configuració

No us preocupeu, no hi haurà cap definició important de Gestió de configuracions en aquest bloc :)

Comprenem la gestió de la configuració d’aquesta manera: suposem que heu de desplegar un programari a més de centenars de sistemes. Aquest programari pot ser un sistema operatiu o un codi o pot ser una actualització d’un programari existent. Podeu fer aquesta tasca manualment, però què passa si heu d'acabar aquesta tasca d'un dia per l'altre perquè demà pot ser un Dia dels grans mil milions venda a l’empresa o alguna M o bé Venda etc. en què s’espera un trànsit intens. Fins i tot si heu pogut fer-ho manualment, hi ha una gran possibilitat d’errors múltiples al vostre gran dia. Què passa si el programari que heu actualitzat en centenars de sistemes no funciona, com tornareu a la versió estable anterior, podreu fer aquesta tasca manualment? AF, per descomptat, no!

Per solucionar aquest problema, es va introduir la Gestió de la configuració. Utilitzant eines de gestió de configuracions com a xef, titella, etc., podeu automatitzar aquesta tasca. Tot el que heu de fer és especificar les configuracions en un servidor centralitzat i, en conseqüència, es configuraran tots els nodes. Permet l'accés a un registre històric precís de l'estat del sistema per a fins de gestió i auditoria de projectes. Per tant, bàsicament, hem d’especificar les configuracions una vegada al servidor central i replicar-les a milers de nodes. La gestió de la configuració ajuda a realitzar les tasques següents d’una manera molt estructurada i senzilla:

  • Esbrinar quins components cal canviar quan canvien els requisits.
  • Tornant a fer una implementació perquè els requisits han canviat des de la darrera implementació.
  • Tornant a una versió anterior del component si l'heu substituït per una versió nova però defectuosa.
  • Substitució del component incorrecte perquè no podríeu determinar amb precisió quin component se suposava que s’havia de substituir.

Consulteu el meu bloc a Puppet per saber com NYSE va estalviar milions de dòlars amb l'ajut de Configuration Management

En general, hi ha dues maneres de gestionar les vostres configuracions, és a dir, les configuracions Push i Pull.

  • Configuració d'extracció: En aquest tipus de gestió de configuració, els nodes consulten periòdicament un servidor centralitzat per obtenir actualitzacions. Aquests nodes es configuren de manera dinàmica, de manera que bàsicament estan extret configuracions del servidor centralitzat. La configuració de pull és utilitzada per eines com Chef, Puppet, etc.
  • Configuració push: En aquest tipus de gestió de configuracions, el servidor centralitzat empeny les configuracions als nodes. A diferència de Pull Configuration, hi ha certes ordres que s'han d'executar al servidor centralitzat per configurar els nodes. La configuració push és utilitzada per eines com Ansible.

Apreneu diversos components de la gestió de configuracions al meu bloc de tutorial de titelles

Ara és el moment correcte per avançar-vos en aquesta recerca d’entendre “Què és el xef” explicant com el xef aconsegueix la gestió de la configuració.

Què és el xef: gestió de la configuració amb el xef

Hem entès què és el xef, ara us explicaré com el xef aconsegueix la gestió de la configuració amb un cas d’ús. Gannett és un holding de mitjans de comunicació nord-americà que cotitza en borsa. És l’editor de diaris més gran dels Estats Units mesurat per la difusió diària total.

El flux de treball de desplegament tradicional de Gannett es va caracteritzar per múltiples transferències i proves manuals. Vegem quins van ser els problemes que van afrontar amb aquest procés:

  • Va ser difícil mantenir versions precises i repetibles.
  • Hi va haver molts errors de construcció i sovint s’executaven proves en entorns equivocats.
  • Els temps de desplegament i subministrament poden anar des d’uns dies fins a diverses setmanes.
  • L’equip d’operacions no tenia accés al núvol ni als entorns de desenvolupament.
  • Tots els grups utilitzaven el seu propi conjunt d’eines i no hi havia cap responsabilitat financera ni de seguretat. Ningú no sabia quant costava una aplicació. La seguretat no tenia manera d’auditar les piles de programari.

Gannett estava preparat per al canvi. Els desenvolupadors volien desplegar les seves aplicacions ràpidament. Les operacions volien una infraestructura estable on poder construir i desplegar de manera repetible. Finances volia conèixer el cost real d’una aplicació. Seguretat volia veure i auditar totes les piles i poder fer un seguiment dels canvis.

Gannett va veure que el núvol com un servei oferia molts avantatges. Els desenvolupadors tenien accés a recursos estandarditzats. Va ser més fàcil gestionar el trànsit de màxima intensitat a causa del model de càlcul a la carta del núvol i es van minimitzar les transferències.

Chef us permet aprovisionar i desaprovisionar dinàmicament la vostra infraestructura sota demanda per mantenir-vos al dia amb els pics d’ús i trànsit. Permet desplegar i actualitzar nous serveis i funcions amb més freqüència, amb poc risc de temps d'inactivitat. Amb Chef, podeu aprofitar tota la flexibilitat i l’estalvi de costos que ofereix el núvol.

Vegem quines van ser les funcions realitzades pel xef a Gannett:

com utilitzar el mètode de divisió a Java
  • Gannett va començar a construir VPC (Virtual Private Cloud) per a entorns de desenvolupament que imitessin la producció. Cap de les eines que ja feien servir era adequada. Però van trobar que el xef funcionava bé amb el núvol i amb l'entorn Linux i Windows. Van utilitzar Chef per crear un entorn de desenvolupament que s’adaptés perfectament a l’entorn de producció.
  • Perquè una aplicació es traslladés al VPC, s’havia de subministrar i desplegar amb el xef.
  • La seguretat s’implicaria al principi i gestionaria els controls obligatoris per a l’accés al xef i per mantenir els estàndards de seguretat del sistema.

Ara és el moment d’entendre quins van ser els resultats d’aquest procés:

  • El desplegament de Gannett es va fer més ràpid i fiable. El subministrament i el desplegament de l'aplicació, que un cop van trigar setmanes, després d'utilitzar el xef van trigar minuts.
  • Totes les noves aplicacions es van desplegar al núvol amb Chef. Aquestes aplicacions es van desplegar a tots els entorns de la mateixa manera que es van desplegar a la producció. A més, es van fer proves a cada entorn, de manera que els desplegaments eren fiables.
  • Tota la infraestructura es va tractar com a codi, cosa que augmenta considerablement la visibilitat dels canvis que es van produir. Tot això es va beneficiar de Desenvolupament, Operacions, Seguretat i Finances.

Després de ' Què és Xef 'El meu pròxim bloc és a dir xef Tutorial se centra en l'arquitectura del xef juntament amb els seus components. També he explicat com implementar Apache2 mitjançant Chef.

Si heu trobat aquest bloc a “ Què és Xef 'Rellevant, fes un cop d'ull al per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs Edureka DevOps Certification Training ajuda els estudiants a adquirir experiència en diversos processos i eines DevOps com Puppet, Jenkins, Nagios i GIT per automatitzar diversos passos en SDLC.