A Chef egy olyan eszköz, amelyet a Konfigurációkezeléshez használnak, és vele szorosan verseng Báb . Ebben a blogban elmagyarázom, hogy mi a séf, a konfigurációkezelés és hogy a séf hogyan éri el a konfigurációkezelést egy használati esettel.
Mi a szakács?
A Chef egy automatizálási eszköz, amely lehetővé teszi az infrastruktúra kódként történő meghatározását. Az infrastruktúra mint kód (IAC) egyszerűen azt jelenti, hogy az infrastruktúra kezelése a kód beírásával (az infrastruktúra automatizálása), nem pedig a manuális folyamatok használata. Programozható infrastruktúrának is nevezhető. A séf egy tiszta rubin, tartományspecifikus nyelvet (DSL) használ a rendszerkonfigurációk írásához. Az alábbiakban bemutatjuk a Chef által végzett automatizálás típusait, függetlenül az infrastruktúra méretétől:
- Infrastruktúra konfigurációja
- Alkalmazás telepítése
- A konfigurációkat a hálózaton keresztül kezeljük
Tetszik Báb amely Master-Slave architektúrával rendelkezik, még a Chef is Client-Server architektúrával rendelkezik. De a séfnek van egy extra alkatrésze, amelyet Workstationnek hívnak. A következő blogomban a munkaállomásról fogok beszélni. Lásd az alábbi ábrát:
szubsztring az SQL szerver példában
A Chef-ben a csomópontok dinamikusan frissülnek a kiszolgáló konfigurációival. Ezt nevezik Húzza a konfigurációt ami azt jelenti, hogy nem kell egyetlen parancsot sem végrehajtanunk a Chef szerveren ahhoz, hogy a csomópontokon lenyomjuk a konfigurációt, a csomópontok automatikusan frissítik magukat a kiszolgálón található konfigurációkkal. A következő blogom a Szakács bemutató részletesen elmagyarázza a séf architektúráját a séf összes összetevőjével együtt.
Most nézzük meg a Chef népszerűségének okait.
Mi a séf - a séf legfontosabb mutatói
- A séf számos platformot támogat, például AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows és Ubuntu. További ügyfélplatformok: Arch Linux, Debian és Fedora.
- A Chef integrálható felhőalapú platformokba, mint például az Internap, az Amazon EC2, a Google Cloud Platform, az OpenStack, a SoftLayer, a Microsoft Azure és a Rackspace az új gépek automatikus létrehozásához és konfigurálásához.
- A szakács aktív, okos és gyorsan növekvő közösségi támogatással rendelkezik.
- A szakács érettsége és rugalmassága miatt olyan óriások használják, mint a Mozilla, az Expedia, a Facebook, a HP Public Cloud, a Prezi, a Xero, az Ancestry.com, a Rackspace, az elégedettség, az IGN, a Marshall Egyetem, a Socrata, a Minnesotai Egyetem, a Wharton School a Pennsylvaniai Egyetem Bonobos, Splunk, Citi, DueDil, Disney és Cheezburger.
Phil Dibowitz, gyártási mérnök, Facebook
„A skálának három dimenziója van, amelyet általában az infrastruktúra szempontjából nézünk - a kiszolgálók száma, a különböző konfigurációk mennyisége ezeken a rendszereken, valamint a konfigurációk fenntartásához szükséges emberek száma. A Chef olyan automatizálási megoldást nyújtott, amely elég rugalmas ahhoz, hogy a skála dinamikájához igazodjon anélkül, hogy megváltoztatnánk a munkafolyamatunkat. '
Kétségtelen, hogy a Chef az egyik leghíresebb Konfigurációkezelő eszköz, és szorosan versenyez vele Báb . Mielőtt azonban mélyen belemerülnék a „Mi az a séf” -be, csak tisztességes, hogy először elmagyarázom, hogy mi a konfigurációkezelés és miért fontos.
Konfiguráció-menedzsment
Ne aggódjon, ebben a blogban nem lesz súlyos meghatározás a Konfigurációkezelésről :)
Engedje meg, hogy megértsük így a Konfigurációkezelést - tegyük fel, hogy szoftvert kell telepítenie a több száz rendszer tetejére. Ez a szoftver lehet operációs rendszer vagy kód, vagy egy meglévő szoftver frissítése. Ezt a feladatot manuálisan is elvégezheti, de mi történik, ha egyik napról a másikra be kell fejeznie ezt a feladatot, mert holnap a Nagy milliárd nap eladás a cégben vagy néhány M vagy Eladás stb., amelyekben nagy forgalom várható. Még akkor is, ha ezt manuálisan tudta megtenni, nagy a valószínűsége a többszörös hibának a nagy napon. Mi van, ha a több száz rendszeren frissített szoftver nem működik, akkor hogyan térhet vissza az előző stabil verzióra, képes lesz-e manuálisan elvégezni ezt a feladatot? AF-tanfolyam nem!
A probléma megoldására a Configuration Management került bevezetésre. Konfigurációkezelő eszközök, például Chef, Báb stb. Használatával automatizálhatja ezt a feladatot. Mindössze annyit kell tennie, hogy megadja a konfigurációkat egy központi szerveren, és ennek megfelelően az összes csomópont konfigurálásra kerül. Lehetővé teszi a rendszerállapot pontos előzményeinek elérését projektmenedzsment és audit céljából. Alapvetően tehát egyszer meg kell adnunk a konfigurációkat a központi szerveren, és ezt meg kell ismételnünk több ezer csomóponton. A Konfigurációkezelés segít az alábbi feladatok nagyon strukturált és egyszerű végrehajtásában:
- Kitalálni, hogy mely alkatrészeket kell megváltoztatni, ha a követelmények változnak.
- A megvalósítás átdolgozása, mert a követelmények megváltoztak a legutóbbi bevezetés óta.
- Visszatérés az összetevő előző verziójára, ha új, de hibás verzióval cserélte ki.
- Helytelen alkatrész cseréje, mert nem tudta pontosan meghatározni, melyik alkatrészt kellett volna cserélni.
A konfigurációk kezelésének nagyjából két módja van, nevezetesen a Push és a Pull konfigurációk.
- Húzza a konfigurációt: Az ilyen típusú Konfigurációkezelésben a csomópontok rendszeresen lekérdeznek egy központi szervert a frissítésekről. Ezek a csomópontok dinamikusan vannak konfigurálva, így alapvetően konfigurációkat húznak a központosított szerverről. A pull konfigurációt olyan eszközök használják, mint a Chef, Báb stb.
- Push konfiguráció: Az ilyen típusú Konfigurációkezelésben a központosított kiszolgáló a csomópontokra tolja a konfigurációkat. A Pull Configuration-től eltérően vannak bizonyos parancsok, amelyeket a központi szerveren kell végrehajtani a csomópontok konfigurálásához. A push konfigurációt olyan eszközök használják, mint az Ansible.
Tanulja meg a Konfigurációkezelés különféle elemeit a Báb-oktató blogomban
Itt az ideje, hogy előre vigyelek benneteket a „Mi az a séf” megértésében, azzal, hogy elmagyarázom, hogyan éri el a séf a konfigurációkezelést.
Mi a séf - Konfigurációkezelés séffel
Megértettük, mi a séf, most elmagyarázom, hogyan éri el a séf a Konfigurációkezelést egy használati esettel. Gannett egy nyilvánosan forgalmazott amerikai média holding. Ez a legnagyobb amerikai újságkiadó a napi teljes példányszám alapján mérve.
Gannett hagyományos telepítési munkafolyamatát többszörös átadás és kézi tesztek jellemezték. Nézzük meg, milyen problémákkal szembesültek ebben a folyamatban:
- A pontos, megismételhető összeállítások fenntartása nehéz volt.
- Sok összeállítási hiba történt, és a tesztek gyakran rossz környezetben futottak.
- A telepítés és a kiépítés ideje néhány naptól több hétig terjedhet.
- Az operációs csapatnak nem volt hozzáférése a felhőhöz vagy a fejlesztői környezetekhez.
- Minden csoport a saját eszközkészletét használta, és nem volt elszámoltatható a finanszírozás vagy a biztonság. Senki sem tudta, hogy egy alkalmazás valójában mennyibe kerül. A biztonságnak nem volt módja a szoftverkötegek ellenőrzésére.
Gannett készen állt a változásra. A fejlesztők gyorsan telepíteni akarták alkalmazásaikat. A műveletek stabil infrastruktúrát akartak, ahol megismételhető módon tudnának kiépíteni és kiépíteni. A Pénzügy tudni akarta az alkalmazás valódi költségeit. A biztonság meg akarta tekinteni és ellenőrizni az összes halmot, és nyomon követni a változásokat.
Gannett úgy látta, hogy a felhő szolgáltatásként számos előnyt kínál. A fejlesztők szabványosított erőforrásokhoz férhettek hozzá. Könnyebb volt kezelni a csúcsforgalmat a felhő számítási igény szerinti modellje miatt, és az átadások minimálisra csökkentek.
A séf lehetővé teszi, hogy dinamikusan kiépíthesse és kikapcsolja az infrastruktúráját igény szerint, hogy lépést tarthasson a felhasználás és a forgalom csúcsaival. Lehetővé teszi az új szolgáltatások és funkciók gyakrabban történő telepítését és frissítését, kis leállási kockázat nélkül. A Chef segítségével kihasználhatja a felhő által kínált rugalmasságot és költségmegtakarítást.
Nézzük meg, milyen funkciókat végzett a Chef a Gannettnél:
- Gannett elkezdte a VPC (Virtual Private Cloud) fejlesztését olyan fejlesztői környezet számára, amely utánozza a gyártást. Az általuk már használt eszközök egyike sem volt megfelelő. De azt tapasztalták, hogy a szakács jól együttműködött a felhővel, valamint a Linux és a Windows környezettel. A Chef segítségével olyan fejlesztési környezetet építettek ki, amely tökéletesen illeszkedik a gyártási környezethez.
- Ahhoz, hogy egy alkalmazás bekerüljön a VPC-be, azt a Chef-rel kellett kiépíteni és telepíteni.
- A biztonságot már korán bevonják, és kezelni fogja a szakácshoz való hozzáférés és a rendszerbiztonsági előírások betartásának kötelező ellenőrzését.
Itt az ideje megérteni, mi volt ennek a folyamatnak az eredménye:
- Gannett bevetése gyorsabb és megbízhatóbb lett. Az alkalmazás kiépítése és telepítése, amely egyszer hetekig tartott, a Chef használata után percekbe telt.
- Az összes új alkalmazást a Chef mellett telepítették a felhőbe. Ezeket az alkalmazásokat ugyanúgy telepítették az összes környezetbe, mint a gyártásba. Tesztelés történt minden környezetben, így a telepítések megbízhatóak voltak.
- Az összes infrastruktúrát kódként kezelték, ami nagyban növeli a láthatóságot a bekövetkezett változásokban. A fejlesztés, a műveletek, a biztonság és a pénzügyek mind részesültek ebben.
Után ' Mi a Chef ”A következő blogom, azaz Szakács bemutató a Chef architektúrájára és annak összetevőire összpontosít. Azt is elmagyaráztam, hogyan telepítsem az Apache2-t a Chef segítségével.
Ha ezt a blogot a “ Mi a Chef ' ide vonatkozó, nézd meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka DevOps tanúsító tanfolyam segít a tanulóknak szaktudást szerezni a különféle DevOps folyamatokban és olyan eszközökben, mint például a Báb, a Jenkins, a Nagios és a GIT az SDLC több lépésének automatizálásában.