A DevOps szoftverfejlesztési technikában használt eszközök köre egyre szélesebb. Ma már több ezer közül lehet választani, minden eszköz megvan a maga indokaival, hogy miért használja az Ön vállalkozásában: hogyan segíti elérni céljait vagy akár napi feladatait. És akár új, akár tapasztalt fejlesztő vagy, előfordulhat, hogy túlterheli a versenyzést a megfelelő opcióért.
Még ha leszűkítette is a lehetséges eszközök listájára (azokra, amelyek érdeklik Önt), a megoldandó problémák változatosak. Előfordulhat például, hogy speciális konfigurációkezelést vagy alkalmazástelepítést szeretne az információtechnológiai (IT) infrastruktúrában, ezért nehéz a választás. A Chef és az Ansible a vezető eszközök eddig.
Ha szereti a DevOps-t, meg kell értenie, mikor és miért válasszon egy adott automatizálási technológiai készletet. Ebben a bejegyzésben a két automatizálási eszközt fogom lebontani, szem előtt tartva, hogy minden fejlesztőnek egyedi igényei lesznek. És bár a „legjobb” eszköz szubjektív, megmutatom a különbségeket, megemlítem a közös tulajdonságokat, és így segítek a megalapozott választásban.
A DevOps Automation feltételei
Mielőtt belemerülnénk az Ansible és a Chef közötti megállapodásba, érdemes lenne tisztában lenni a DevOps automatizálás leggyakrabban használt kifejezéseivel, hogy a tartomány zökkenőmentesen megérthető legyen.
Mi az Ansible?
Az Ansible egy olyan informatikai automatizálási eszköz, amelyet 2012-ben az Ansible Works, anyavállalata alkotott meg, hogy automatizálja az alkalmazások teljes életciklusát IT-környezetekben. Az Ansible segít automatizálni a konfigurációkezelést, a munkafolyamatokat és az alkalmazásfejlesztést; hosszú a lista. Az Ansible működési modellje meghatározott sorrendben hajtja végre a feladatokat, saját maga egyikében, következetesen végrehajtva az informatikai környezeti folyamatokat.
Az Ansible növeli a minőséget és a termelékenységet, miközben csökkenti a költségeket az informatikai környezet optimalizálásával. Ez egy olyan megoldás is lehet, amely okosságot vezet be az IT területen. Az Ansible áthidalja a hagyományos informatikai környezeteket agilis szoftvermegvalósítással. Nyílt forráskódú, és a kliens-szerver modellre támaszkodik. Az értelmes tervezők azt állítják, hogy ez az egyetlen automatizálási motor, amely az APK teljes életciklusát robotizálja egy folyamatos szállítási idővonalon belül. Az automatizálás magában foglalja az összetett feladatok megismételhető játékkönyvekké alakítását, a folyamatok egyszerűsítését és végső soron a termelés felgyorsítását.
Nem meglepő módon az „ansible” név a tudományos-fantasztikus irodalomból származik. Egy pillanatnyi hipertér kommunikációs rendszert ír le.
A lehetséges vezérlőgépek Linux/Unix alapúak – mint például a Debian, a RedHat Enterprise Linux és a macOS. Az Ansible futtatható Python 2.7-es vagy 3.5-ös verzióján. Amikor áttér a felhőplatformokra, az Ansible az Amazon webszolgáltatásokon (AWS), a Microsoft Azure-on, a Google Cloudon és a Dockeren fut, a szállítók hosszú listáján. Az Ansible winRM-et és OpenSSH-t használ a távoli kapcsolatokhoz, önkiszolgálót kínál, szerepalapú hozzáférés-vezérlést (RBAC) hajt végre, és lehetővé teszi a bővített engedélyeket. Ennek eredményeként az Ansible megbízhatóságot és biztonságot nyújt a DevOps és az IT-műveletek terén.
Az Ansible-t a tartomány számos üzemeltetője használhatja fel az IT-infrastruktúra automatizálására, beleértve az üzemeltetőket, az IT-vezetőket, a menedzsereket és a kiadási mérnököket. Most, hogy összekapcsoltam az Ansible-t a felhasználókkal, mi a helyzet a szervezetekkel? Függetlenül attól, hogy nagy- vagy kisvállalkozásokat vezet, az Ansible alkalmazásával egyszerűsítheti IT-műveleteit. Azonban sok Ansible-t használó vállalat az információs technológia és a kommunikáció területén működik.
Az Ansible legfontosabb jellemzői
Az Ansible előnyei
- Könnyű megtanulni. Nincs szükség előfeltételekre.
- Egyszerűsített konfigurációkezelés és alkalmazástelepítés.
- Fokozott biztonság és megbízhatóság.
- Elérhető központi automatizálási és vizualizációs irányítópult.
- Támogatja az informatikai előírások betartását.
- Idő hatékony.
- Folyamatos integrációt tesz lehetővé.
- Nagyobb közösség
Az Ansible hátrányai
- Nem támogatja a macOS-t.
- Fejlett grafikus felhasználói felület (GUI)
- Állam nélküli, így nem követi nyomon a függőségek változásait.
- Nem kívánatos hibakeresési képesség.
Mi az a Chef?
A Chefet 2009-ben az anyavállalata, az OpsCode alkotta meg. A Chef technológia egy sikeres szoftver egy régi, Puppet nevű konfigurációs eszköz után, amelyet nehéz volt megérteni, és meredek tanulási görbéje volt. A szakácsot kicsit nehezebb megérteni, ellentétben az Ansible-vel. De gyakorlással könnyebbé válik, mint minden programozási nyelv. A Chefet és a Puppet-et Ruby programozási nyelv bábozza.
„A Chef egy hatékony automatizálási platform, amely az infrastruktúrát kóddá alakítja…”
– Szakácstervezők
Tehát a Chef egy újabb automatizálási eszköz, amely a folyamatos telepítés és konfigurációkezelés terén is kiváló. És függetlenül attól, hogy a műveletek helyszíni, hibrid környezetben vagy felhőalapúak, a Chef a mérettől függetlenül automatizálja a konfigurációt, a telepítést és a felügyeletet a hálózaton keresztül.
A Chef több platformon fut, például Windowson, Cisco IO-n és Nexuson. És ha Ön az a fajta fejlesztő, aki rajong a felhőtechnológiáért, a Chef olyan platformokat támogat, mint a Microsoft Azure, az Amazon Web Services (AWS) és a Google Cloud Platform. A lista itt túlmutat; végezzen kutatást annak megerősítésére, hogy az Ön által előnyben részesített felhőszolgáltató támogatott-e.
Az Ansible-től eltérően, amelyet sok felhasználó használ, a Chef kifejezetten a DevOps és DevSecOps mérnökei felé fordul. A megoldást a középszintű informatikai és szolgáltató cégek eleve alkalmazzák.
A séf legfontosabb jellemzői
A Chef Solutions számos létfontosságú építészeti jellemzővel rendelkezik; itt egy bontás.
- Chef Infra – Ez az eszköz lehetővé teszi az informatikai infrastruktúra hatékony automatizálását, konfigurálását, kezelését és üzembe helyezését. A Chef Infra az infrastruktúrát kóddá alakítja, és stabil telepítést biztosít rajta. A Chef Infra három összetevőből áll; Chef szerver, munkaállomás és ügyfelek. Kulcsszereplőként a munkaállomás bármilyen platformon fut, és támogatja a kódtesztelést különféle eszközök segítségével.
- Chef Habitat – Nyílt forráskódú termékként ez az eszköz platformtól függetlenül támogatja az alkalmazások telepítését. Automatikusan meghatározza, csomagolja és szállítja az alkalmazásokat, ha megnézi az alkotóelemeit, a gyakran elszigetelt, auditálható és megváltoztathatatlan csomagolási formátumokat, valamint egy élőhely-felügyelőt, aki ezeket a csomagokat kezeli.
- Chef InSpec – Ez a nyílt forráskódú tesztelési keretrendszer bármilyen platformon fut. A keretrendszer ember és gép számára egyaránt olvasható. Ez egyben a biztonságot és a megfelelőséget is javító megoldás. Extra előny, hogy a fizikai hardver tesztelésére használhatod.
- Chef Automate – Ez az Ön átjárója a nyílt forráskódú termékek, például a Chef InSpec és a Habitat integrálásához. Teljes körű, folyamatos biztonságot és megfelelőséget biztosít. A Chef Automate segítségével megtekintheti a teljes informatikai ökoszisztémát, és olyan betekintést nyerhet, amely hasznos lehet.
A séf előnyei
- Előre csomagolt sablonok, amelyek egyszerűsítik a konfigurációt.
- Könnyen kezelhető; gyorsan fejleszti a szakácskönyveket.
- Következetességet és minőséget biztosít a telepítés során.
- Jó szerszám testreszabás; szabja testre irányítópultját igényeinek megfelelően.
- A Chefet nem tudod könnyen áttelepíteni.
- Automatizálja az IT megfelelőséget.
- Biztonságos és zökkenőmentes szállítást biztosít a kritikus alkalmazások számára.
A séf hátrányai
- Számos eszközt kell tisztázni a felhasználók körében.
- Meg kell értened a Ruby programozási nyelvet.
- Meredek tanulási görbe.
- Nem a legjobb mikroszervezetek számára.
- Követi a mester-kliens megközelítést, így lassú.
- Viszonylag magasabb költségek.
Főbb különbségek az Ansible és a Chef között
Bár az Ansible és a Chef ugyanazon az oldalon van az automatizálást illetően, vannak megkülönböztető jellemzőik. Ez a rész rávilágít az Ansible és a Chef közötti különbségekre.
FeatureAnsibleChefInstallationKönnyen telepíthető, mert ügynök nélküli architektúrát használ. A fő-kliens kritériumokat használja, amelyekhez Chef Agent szükséges minden ügyfélgépen. A Chef munkaállomás-összetevőjének is konfigurálásra van szüksége, ami lelassítja az általános telepítési folyamatot. Használt nyelv A fő-kliens kritériumokat használja, amelyekhez Chef Agent szükséges minden ügyfélgépen. A natív Rubyhoz kötődik, amely inkább fejlesztői alapú. ConfigurationConfigurationConfiguration Fájlokat az Ansible-ben játékkönyveknek nevezzük. Az Ansible a push konfigurációs működési modellt használja. A Chef konfigurációs fájljait szakácskönyveknek nevezzük. Chef a pull konfigurációs technikát alkalmazza.Közösség
(Változatos műveletek, amelyek nem korlátozódnak a találkozókra, a közösségi médiában való jelenlétre, a könyvekre és a képzésekre.) Új termék és viszonylag kevesebb tanulnivaló.
Nagy közösséggel rendelkezik. A Chef egy régebbi termék, így a dokumentációja jobb.
Viszonylag kisebb közösség.
Mindent összerakva
Mint láthatta, a Chef és az Ansible a legtermékenyebb automatizálási és konfigurációs rendszerek, amelyek irányítják a DevOps, DevSecOps és más IT-folyamatokat. Az Ansible egyszerű és könnyen használható, és sok felhasználó megtanulhatja. Ezzel szemben a Chef számos funkcióval rendelkezik, és segít összetett információs technológiai műveletek végrehajtásában.
Láttad az Ansible és a Chef előnyeit és korlátait is. Az automatizálási megoldás kiválasztásához fel kell mérnie igényeit. És bár a követelmények teljesülnek, számos egyéb tényezőt is figyelembe kell venni a kényelem szempontjából; a választott megoldáson elérhető aktuális funkciókat és a hosszú távú kilátásokat. Vegye figyelembe az egyéb tényezőket, például a jövőbeni munkaterhelést vagy a szervezet méretének időbeli növekedését.
Ha idáig eljutott, a DevOps felkeltette az érdeklődését. Ha ez a helyzet, javaslom, hogy haladjon előre a pályaválasztással vagy a gondolataival; ezért érdemes elolvasnia útmutatónkat, amelyet szakértőink gondosan összeállítottak a legjobb DevOps-tanfolyamokon.