Rozsah nástrojů využívaných v technice vývoje softwaru DevOps je stále širší. Dnes jsou na výběr tisíce, každý nástroj má své důvody, proč jej použít ve vašem podnikání: podle toho, jak pomáhá dosahovat vašich cílů nebo dokonce každodenních úkolů. A ať už jste nový nebo zkušený vývojář, můžete být ohromeni závoděním za správnou volbu.
I když to zúžíte na seznam potenciálních nástrojů (těch, které vás zajímají), typy problémů, které byste řešili, jsou různé. Můžete například chtít konkrétní správu konfigurace nebo nasazení aplikací v infrastruktuře informačních technologií (IT), takže výběr je obtížný. Chef a Ansible jsou zatím předními nástroji.
Pokud se zajímáte o DevOps, musíte pochopit, kdy vybrat konkrétní zásobník automatizačních technologií a proč. V tomto příspěvku rozeberu dva automatizační nástroje s ohledem na to, že každý vývojář bude mít jedinečné potřeby. A i když je „nejlepší“ nástroj subjektivní, ukážu vám rozdíly, zmíním společné atributy, a pomohu vám tak učinit informovanou volbu.
Table of Contents
Podmínky DevOps Automation, které byste měli znát
Než se ponoříme do celé dohody mezi Ansible a Chef, stálo by za to seznámit se s nejpoužívanějšími termíny v automatizaci DevOps, aby bylo možné plynule porozumět doméně.
Co je Ansible?
Ansible je nástroj pro automatizaci IT, který v roce 2012 vytvořila Ansible Works, její mateřská společnost, k automatizaci celého životního cyklu aplikace v prostředí IT. Ansible pomáhá automatizovat správu konfigurace, organizovat pracovní postupy a vývoj aplikací; seznam je dlouhý. Operační model Ansible provádí úkoly v určitém pořadí, jednom ze svých vlastních, a konzistentně provádí procesy IT prostředí.
Ansible zvyšuje kvalitu a produktivitu a zároveň snižuje náklady optimalizací IT prostředí. Může to být také řešení, které zavádí chytrost v oblasti IT. Ansible spojuje tradiční IT prostředí s agilní implementací softwaru. Je to open source a spoléhá na model klient-server. Návrháři Ansible tvrdí, že je to jediný automatizační stroj, který robotizuje celý životní cyklus APK v rámci nepřetržité časové osy dodání. Automatizace zahrnuje přeměnu složitých úkolů na opakovatelné příručky, zjednodušení procesů a nakonec zrychlení výroby.
Není překvapením, že název „ansible“ je odvozen z literatury sci-fi. Popisuje okamžitý hyperprostorový komunikační systém.
Ansible řídicí stroje jsou založeny na Linuxu/Unixu – jako Debian, RedHat Enterprise Linux a macOS. Ansible můžete spustit na Pythonu 2.7 nebo 3.5. Když přejdete na cloudové platformy, Ansible běží na webových službách Amazon (AWS), Microsoft Azure, Google Cloud a Docker v dlouhém seznamu dodavatelů. Ansible používá winRM a OpenSSH pro vzdálená připojení, nabízí samoobslužné služby, provádí řízení přístupu na základě rolí (RBAC) a umožňuje rozšířená oprávnění. Výsledkem je, že Ansible poskytuje spolehlivost a zabezpečení v DevOps a IT operacích.
Ansible může být využit k automatizaci IT infrastruktury mnoha operátory v doméně, včetně operátorů, IT manažerů, manažerů a release techniků. Nyní, když jsem Ansible svázal s jeho uživateli, co organizace? Ať už provozujete velké nebo malé podniky, můžete si osvojit Ansible pro zefektivnění vašich IT operací. Mnoho společností využívajících Ansible je však přizpůsobeno v oblasti informačních technologií a komunikací.
Klíčové vlastnosti Ansible
Výhody Ansible
- Jednoduché se naučit. Nepotřebujete žádné předpoklady.
- Zjednodušená správa konfigurace a nasazení aplikací.
- Zvýšená bezpečnost a spolehlivost.
- K dispozici centralizovaný řídicí panel automatizace a vizualizace.
- Podporuje shodu s předpisy IT.
- Časově efektivní.
- Umožňuje nepřetržitou integraci.
- Větší komunita
Nevýhody Ansible
- Nepodporuje macOS.
- Nedostatečně vyvinuté grafické uživatelské rozhraní (GUI)
- Bezstavový, a proto nesleduje změny v závislostech.
- Nežádoucí schopnost ladění.
co je šéfkuchař?
Chef byl vytvořen v roce 2009 její mateřskou společností OpsCode. Technologie Chef je následný software po starém konfiguračním nástroji zvaném Puppet, který bylo obtížné pochopit a měl strmou křivku učení. Chef je na rozdíl od Ansible trochu hůře pochopitelný. Ale s praxí to jde snadno, jako s každým programovacím jazykem. Kuchař a loutka jsou loutkováni programovacím jazykem Ruby.
„Chef je výkonná automatizační platforma, která mění infrastrukturu na kód…“
– Šéfkuchaři
Chef je tedy dalším automatizačním nástrojem, který vykazuje zdatnost v nepřetržitém nasazení a správě konfigurace. A ať už jsou vaše operace on-premise, hybridní prostředí nebo cloudové, Chef automatizuje konfiguraci, nasazení a správu prostřednictvím vaší sítě bez ohledu na velikost.
Chef běží na více platformách, jako jsou Windows, Cisco IO a Nexus. A pokud jste typ vývojáře nadšeného pro cloudové technologie, Chef podporuje platformy jako Microsoft Azure, Amazon Web Services (AWS) a Google Cloud Platform. Seznam přesahuje zde; proveďte průzkum, abyste potvrdili, že váš preferovaný dodavatel cloudu je podporován.
Na rozdíl od Ansible, kterou mnoho uživatelů používá, je Chef zaměřený výslovně na inženýry DevOps a DevSecOps. Řešení je ze své podstaty přijímáno středními až vyššími společnostmi v oblasti informačních technologií a služeb.
Klíčové vlastnosti šéfkuchaře
Chef Solutions má mnoho zásadních architektonických prvků; tady je rozpis.
- Chef Infra – Tento nástroj vám umožňuje efektivně automatizovat, konfigurovat, spravovat a nasazovat vaši IT infrastrukturu. Chef Infra převádí infrastrukturu na kód a poskytuje stabilní nasazení napříč ní. Chef Infra se skládá ze tří složek; Šéfkuchař server, pracovní stanice a klienti. Jako klíčový hráč běží pracovní stanice na jakékoli platformě a podporuje testování kódu pomocí různých nástrojů.
- Chef Habitat – Tento nástroj jako open-source produkt podporuje nasazení aplikací bez ohledu na vaši platformu. Definuje, balí a dodává aplikace automaticky, pokud se podíváte na jeho základní komponenty, formáty balíčků, které jsou často izolované, auditovatelné a neměnné, a správce stanoviště, který tyto balíčky řídí.
- Chef InSpec – Tento open-source testovací rámec běží na jakékoli platformě. Rámec je čitelný jak pro lidi, tak pro stroje. Je to také řešení pro zvýšení bezpečnosti a dodržování předpisů. Další výhodou je, že jej můžete použít k testování fyzického hardwaru.
- Chef Automate – Toto je vaše brána k integraci produktů s otevřeným zdrojovým kódem, jako jsou Chef InSpec a Habitat. Poskytuje úplné nepřetržité zabezpečení a dodržování předpisů. Můžete také použít Chef Automate k zobrazení celého svého IT ekosystému a vytváření přehledů, které by byly užitečné.
Výhody šéfkuchaře
- Předbalené šablony, které zjednodušují konfiguraci.
- Snadné použití; rychle vyvíjí kuchařky.
- Prosazuje konzistenci a kvalitu nasazení.
- Dobré přizpůsobení nástroje; přizpůsobte si palubní desku tak, aby vyhovovala vašim potřebám.
- Chef nelze snadno migrovat.
- Automatizuje soulad s IT.
- Poskytuje bezpečné a plynulé doručování kritickým aplikacím.
Nevýhody šéfkuchaře
- Mnoho nástrojů potřebuje mezi uživateli vyjasnění.
- Potřebuje, abyste rozuměli programovacímu jazyku Ruby.
- Strmá křivka učení.
- Není to nejlepší pro mikroorganizace.
- Dodržuje přístup master-klient, takže je pomalý.
- Relativně vyšší náklady.
Klíčové rozdíly mezi Ansible a Chef
Ačkoli jsou Ansible i Chef ohledně automatizace na stejné vlně, mají charakteristické rysy. Tato část zdůrazňuje rozdíly mezi Ansible a Chef.
FeatureAnsibleChefInstallation Snadno se instaluje, protože používá architekturu bez agenta. Využívá kritéria master-client, která vyžadují spuštění Chef Agenta na každém klientském počítači. Komponenta pracovní stanice Chef také potřebuje konfiguraci, což zpomaluje její celkový instalační proces. Použitý jazyk Používá kritéria master-client, která vyžadují, aby Chef Agent běžel na každém klientském počítači. Vázaný na jeho nativní, Ruby, který je více založen na vývojářích. Soubory ConfigurationConfiguration v Ansible se nazývají playbooky. Ansible používá model operace push konfigurace. Konfigurační soubory v Chef se nazývají kuchařky. Šéfkuchař používá techniku konfigurace pull.Community
(Různorodé operace, které se neomezují na setkání, přítomnost na sociálních sítích, knihy a školení.) Nový produkt a relativně méně věcí k učení.
Má velkou komunitu. Chef je starší produkt, takže jeho dokumentace je lepší.
Relativně menší komunita.
Dát to všechno dohromady
Jak jste viděli, Chef a Ansible jsou nejplodnější automatizační a konfigurační systémy ovládající DevOps, DevSecOps a další IT procesy. Ansible je jednoduchý a snadno použitelný a může se naučit mnoho uživatelů. Naopak Chef přichází s řadou funkcí a pomáhá provádět složité operace informačních technologií.
Také jste viděli výhody a omezení Ansible i Chef. Chcete-li si vybrat své řešení automatizace, musíte vyhodnotit své požadavky. A i když jsou vaše požadavky splněny, existuje několik dalších faktorů, které je třeba zvážit z hlediska pohodlí; aktuální funkce dostupné na vámi zvoleném řešení a výhled v dlouhodobém horizontu. Zvažte další faktory, jako je budoucí pracovní zatížení nebo růst velikosti vaší organizace v průběhu času.
Pokud jste se dostali až sem, DevOps vzbudil váš zájem. Pokud tomu tak je, navrhuji, abyste postoupili vpřed s výběrem povolání nebo myšlenkami; proto byste se měli podívat na našeho průvodce, kterého naši odborníci pečlivě vybrali na ty nejlepší kurzy DevOps.