Mikä on kokki? - työkalu, jota käytetään kokoonpanon hallintaan



Tämä Mikä on kokki -blogi on kokin blogisarjan ensimmäinen blogi. Siinä puhutaan kokoonpanonhallinnasta ja siitä, miten kokki saavuttaa tämän käyttötapauksen avulla.

Chef on työkalu, jota käytetään kokoonpanon hallintaan ja kilpailee tiiviisti sen kanssa Nukke . Tässä blogissa selitän mikä on kokki, kokoonpanon hallinta ja miten kokki saavuttaa kokoonpanon hallinnan käyttötapauksella.

mikä on kontekstisuodatin taulussa

Mikä on kokki?

Chef on automaatiotyökalu, joka tarjoaa tavan määritellä infrastruktuuri koodiksi. Infrastruktuuri koodina (IAC) tarkoittaa yksinkertaisesti infrastruktuurin hallintaa kirjoittamalla koodia (automatisoimalla infrastruktuuria) manuaalisten prosessien sijaan. Sitä voidaan kutsua myös ohjelmoitavaksi infrastruktuuriksi. Kokki käyttää puhtaan rubiinin, verkkotunnuskohtaista kieltä (DSL) järjestelmäkokoonpanojen kirjoittamiseen. Alla on kokin tekemät automaatiotyypit riippumatta infrastruktuurin koosta:





  • Infrastruktuurin kokoonpano
  • Sovelluksen käyttöönotto
  • Kokoonpanoja hallitaan koko verkossa

Kuten Nukke jolla on Master-Slave-arkkitehtuuri, jopa Chefillä on Client-Server -arkkitehtuuri. Mutta kokilla on ylimääräinen komponentti nimeltä Workstation. Puhun työasemasta seuraavassa blogissani. Katso seuraava kaavio:

Kokki vs nukke - Mikä on kokki - Edureka



Chefissä solmut päivitetään dynaamisesti palvelimen määrityksillä. Tätä kutsutaan Vedä kokoonpano mikä tarkoittaa, että meidän ei tarvitse suorittaa edes yhtä komentoa Chef-palvelimella, jotta voimme siirtää kokoonpanoa solmuihin, solmut päivittyvät automaattisesti palvelimessa olevilla määrityksillä. Seuraava blogini Kokin opetusohjelma selittää kokin arkkitehtuurin ja kaikki kokin komponentit yksityiskohtaisesti.

Katsotaanpa nyt syitä kokin suosioon.

Mikä on kokki - kokin keskeiset mittarit

  • Kokki tukee useita alustoja, kuten AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows ja Ubuntu. Muita asiakasalustoja ovat Arch Linux, Debian ja Fedora.
  • Chef voidaan integroida pilvipohjaisiin alustoihin, kuten Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure ja Rackspace uusien koneiden automaattiseen järjestämiseen ja määrittämiseen.
  • Kokilla on aktiivinen, älykäs ja nopeasti kasvava yhteisön tuki.
  • Kokin kypsyyden ja joustavuuden vuoksi sitä käyttävät jättiläiset, kuten Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, Minnesotan yliopisto, Wharton School Pennsylvanian yliopiston Bonobos, Splunk, Citi, DueDil, Disney ja Cheezburger.

Tuotantosuunnittelija Phil Dibowitz, Facebook



'Infrastruktuurilla on yleensä kolme mittakaavaa: palvelimien määrä, eri kokoonpanojen määrä näiden järjestelmien välillä ja näiden kokoonpanojen ylläpitoon tarvittavien ihmisten määrä. Chef toimitti automaatioratkaisun, joka on tarpeeksi joustava taipumaan mittakaavamme dynamiikkaan vaatimatta meitä muuttamaan työnkulkua. '

Kokki on epäilemättä yksi tunnetuimmista kokoonpanonhallinnan työkaluista ja kilpailee tiiviisti sen kanssa Nukke . Mutta ennen sukellusta syvälle 'Mikä on kokki' -kohtaan, on vain reilua, että selitän ensin, mikä on kokoonpanon hallinta ja miksi se on tärkeää.

Kokoonpanon hallinta

Älä huoli, tässä blogissa ei ole mitään määrittelyä kokoonpanonhallinnasta :)

Anna meidän ymmärtää kokoonpanon hallintaa tällä tavalla - oletetaan, että sinun on asennettava ohjelmisto satojen järjestelmien päälle. Tämä ohjelmisto voi olla käyttöjärjestelmä tai koodi tai se voi olla olemassa olevan ohjelmiston päivitys. Voit tehdä tämän tehtävän manuaalisesti, mutta mitä tapahtuu, jos joudut suorittamaan tehtävän yön yli, koska huomenna voi olla a Suuri miljardi päivä myynti yrityksessä tai joissakin M tai Myynti jne., missä odotetaan vilkasta liikennettä. Vaikka pystyisitkin tekemään tämän manuaalisesti, suurella päivälläsi on suuri mahdollisuus saada useita virheitä. Entä jos sadoissa järjestelmissä päivittämäsi ohjelmisto ei toimi, kuinka palaat takaisin edelliseen vakaan versioon, pystytkö tekemään tämän tehtävän manuaalisesti? AF-kurssi ei!

Tämän ongelman ratkaisemiseksi otettiin käyttöön Configuration Management. Voit automatisoida tämän tehtävän käyttämällä kokoonpanonhallintatyökaluja, kuten kokki, nukke jne. Sinun tarvitsee vain määrittää kokoonpanot yhdessä keskitetyssä palvelimessa ja kaikki solmut määritetään vastaavasti. Se mahdollistaa pääsyn tarkkaan historialliseen tietueeseen järjestelmän tilasta projektin hallintaa ja tarkastusta varten. Joten periaatteessa meidän on määritettävä kokoonpanot kerran keskuspalvelimessa ja toistettava ne tuhansille solmuille. Kokoonpanon hallinta auttaa suorittamaan alla olevat tehtävät hyvin jäsennellysti ja helposti:

  • Selvittää mitkä komponentit vaihdetaan vaatimusten muuttuessa.
  • Toteutetaan uudelleen, koska vaatimukset ovat muuttuneet edellisen käyttöönoton jälkeen.
  • Palataan komponentin edelliseen versioon, jos olet korvannut uuden, mutta virheellisen version.
  • Väärän komponentin vaihtaminen, koska et voinut määrittää tarkasti, mikä komponentti piti korvata.

Katso blogini Puppetista saadaksesi lisätietoja siitä, kuinka NYSE säästää miljoonia dollareita kokoonpanonhallinnan avulla

Kokoonpanoja voidaan hallita kahdella tavalla: Push and Pull -määritykset.

  • Vedä kokoonpano: Tämän tyyppisessä kokoonpanonhallinnassa solmut kysyvät keskitetystä palvelimesta säännöllisesti päivityksiä. Nämä solmut on määritetty dynaamisesti, joten pohjimmiltaan ne vetävät kokoonpanoja keskitetystä palvelimesta. Pull-kokoonpanoa käyttävät työkalut, kuten kokki, nukke jne.
  • Push-kokoonpano: Tämän tyyppisessä kokoonpanonhallinnassa keskitetty palvelin työntää kokoonpanot solmuihin. Toisin kuin Pull Configuration, on tiettyjä komentoja, jotka on suoritettava keskitetyssä palvelimessa solmujen konfiguroimiseksi. Työntöasetuksia käyttävät työkalut, kuten Ansible.

Opi eri kokoonpanonhallinnan komponentteja Nukkeopetusblogistani

Nyt on oikea aika, jonka vietän sinut eteenpäin pyrkimyksessä ymmärtää 'Mikä on kokki' selittämällä kuinka kokki saavuttaa kokoonpanonhallinnan.

Mikä on kokki - Kokoonpanon hallinta kokin kanssa

Olemme ymmärtäneet mikä on kokki, nyt selitän sinulle kuinka kokki saavuttaa kokoonpanonhallinnan käyttötapauksella. Gannett on julkisesti noteerattu amerikkalainen mediayhtiö. Se on suurin Yhdysvaltain sanomalehtien kustantaja mitattuna päivittäisellä levikillä.

Gannettin perinteiselle käyttöönoton työnkululle oli ominaista moninkertainen kanavanvaihto ja manuaaliset testit. Katsotaanpa, mitkä olivat ongelmat, joita he kokivat tässä prosessissa:

  • Tarkkojen, toistettavien koontiversioiden ylläpitäminen oli vaikeaa.
  • Rakennusvirheitä oli paljon, ja testit olivat usein käynnissä väärissä ympäristöissä.
  • Käyttöönotto- ja valmisteluajat voivat vaihdella muutamasta päivästä useisiin viikkoihin.
  • Operatiivisella tiimillä ei ollut pääsyä pilvi- tai kehitysympäristöihin.
  • Jokainen ryhmä käytti omaa työkalupakettiaan, eikä vastuuta rahoituksesta tai turvallisuudesta ollut. Kukaan ei tiennyt, kuinka paljon sovellus todella maksaa. Tietoturvalla ei ollut tapaa tarkastaa ohjelmistopinoja.

Gannett oli valmis muutokseen. Kehittäjät halusivat ottaa sovelluksensa käyttöön nopeasti. Operaatiot halusivat vakaan infrastruktuurin, jota he voisivat rakentaa ja ottaa käyttöön toistettavalla tavalla. Rahoitus halusi tietää sovelluksen todelliset kustannukset. Turvallisuus halusi tarkastella ja tarkastaa kaikki pinot ja pystyä seuraamaan muutoksia.

Gannett näki, että pilvi palveluna tarjosi monia etuja. Kehittäjillä oli pääsy standardoituihin resursseihin. Huippuliikennettä oli helpompi käsitellä pilvipalvelun kysyntälaskentamallin takia, ja kanavanvaihdot minimoitiin.

Kokin avulla voit järjestää ja purkaa infrastruktuuria dynaamisesti tarvittaessa, jotta pysyt ajan tasalla käytön ja liikenteen huippuista. Se mahdollistaa uusien palvelujen ja ominaisuuksien käyttöönoton ja päivittämisen useammin, ilman seisokkien riskiä. Chefin avulla voit hyödyntää pilven tarjoamaa joustavuutta ja kustannussäästöjä.

Katsotaanpa, mitä toimintoja kokki suoritti Gannettissa:

  • Gannett aloitti VPC: n (Virtual Private Cloud) rakentamisen kehitysympäristöä varten, joka jäljittelisi tuotantoa. Mikään heidän jo käyttämistään työkaluista ei ollut sopiva. Mutta he havaitsivat, että kokki toimi hyvin pilven sekä sekä Linux- että Windows-ympäristön kanssa. He käyttivät Chefiä rakentamaan kehitysympäristön, joka sopisi täydellisesti tuotantoympäristöön.
  • Jotta sovellus siirtyisi VPC: hen, se oli hankittava ja otettava käyttöön kokin kanssa.
  • Turvallisuus olisi mukana varhaisessa vaiheessa, ja se hallitsisi pakollisia valvontatoimia, jotta pääsy kokille ja ylläpidetään järjestelmän turvallisuusstandardeja.

Nyt on aika ymmärtää, mitkä olivat tämän prosessin tulokset:

  • Gannettin käyttöönotto muuttui nopeammaksi ja luotettavammaksi. Sovellusten valmistelu ja käyttöönotto, joka kesti kerran viikkoja, kokin käytön jälkeen kesti minuutteja.
  • Kaikki uudet sovellukset otettiin käyttöön pilvessä Chefin kanssa. Nämä sovellukset otettiin käyttöön kaikissa ympäristöissä samalla tavalla kuin tuotantoon. Lisäksi testaus tapahtui jokaisessa ympäristössä, joten käyttöönotot olivat luotettavia.
  • Kaikkia infrastruktuureja kohdeltiin koodina, mikä lisää huomattavasti näkyvyyttä kaikkiin tapahtuneisiin muutoksiin. Kehitys, toiminta, turvallisuus ja rahoitus hyötyivät tästä kaikesta.

Jälkeen ' Mikä on kokki ”Seuraava blogini eli Kokin opetusohjelma keskittyy kokin arkkitehtuuriin ja sen komponentteihin. Olen myös selittänyt, kuinka Apache2 otetaan käyttöön Chefin avulla.

Jos löysit tämän blogin Mikä on kokki ”Asiaankuuluva, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edureka DevOps -sertifiointikoulutus auttaa oppijoita saamaan asiantuntemusta erilaisista DevOps-prosesseista ja työkaluista, kuten Puppet, Jenkins, Nagios ja GIT SDLC: n useiden vaiheiden automatisoimiseksi.