Kun DevOps-kulttuuri otetaan käyttöön IT-aloilla, niin myös kiinnostus automaatioalustaan, joka soveltuu hyvin DevOpsin ensisijaisina etuina yleisesti mainostettuun nopeuteen ja ketteryyteen, ja tämä tarkoittaa kasvavaa tarvetta IT-ammattilaisille, jotka eivät ainoastaan halua omaksua Devops-ratkaisujen taustalla olevaa ajattelutapaa ja metodologiaa, vaan myös pystyvät DevOps-taitoja uusilla ohjelmistotyökaluilla, kuten Chef, Puppet ja Ansible ovat merkittävimpiä konfiguraatioiden hallinnan ja käyttöönoton automatisointityökaluja. Jokaisella näistä työkaluista on omat vahvuutensa. Nämä automaatio ja orkestrointi helpottavat elämää kaikenkokoisessa infrastruktuurissa.

Valittaessa parasta sopivaa, etsi itsellesi parhaiten toimiva työkalu, sillä se tekee sinusta tuottavamman, ja se, millaista työkalua tarvitset, riippuu vaatimuksistasi ja tämänhetkisestä ympäristöstäsi. Työkalut, kuten Chef, Puppet ja Ansible, eivät välttämättä ole vain DevOps-palveluita varten, vaan niiden käyttö IT-organisaatiossa voi luoda pohjan esimerkiksi sovellusten toimituksen ja korjausten nopeuttamiselle.

Alhaalla on yhteenveto kunkin työkalun muutamasta vahvuudesta ja muutamasta seikasta, jotka saattavat vaikuttaa siihen, että käytät yhtä enemmän kuin toista:

Miksi Puppet??

Puppet on hitaampi, mutta laajimmin käytetty ja tukee useita käyttöjärjestelmiä. Puppet on konfiguraationhallintajärjestelmä, joka tarjoaa tavan määritellä IT-infrastruktuurin tila ja mahdollistaa oikean tilan automaattisen käyttöönoton. Se nauttii kiistatta suurinta mielenosuutta näistä kolmesta. Se on täydellisin käytettävissä olevien toimien, moduulien ja käyttöliittymän osalta. Puppet edustaa datakeskuksen orkestroinnin kokonaiskuvaa, kattaa lähes kaikki käyttöjärjestelmät ja tarjoaa syvällisiä työkaluja tärkeimpiin käyttöjärjestelmiin

  • Käyttöön Linuxissa, CentOS:ssa, Debianissa, Ubuntussa, Fedorassa, BSD:ssä, MacOS:ssä, Windowsissa ym.
  • Käyttää omaa ”helppoa” syntaksiaan, Puppet DSL:ää eli Domain Specific Languagea. Voit käyttää myös mukautettuja Ruby-moduuleja.
  • Laaja raportointimahdollisuus
  • Puppetin olemassa olevien moduulien suuri kirjasto ja moduulit ovat laadultaan vaihtelevia.
  • Web-käyttöliittymä on saatavilla vain yritysversiossa
  • Yksinkertainen rakenne: Puppet-palvelin ja Puppet-agentit
  • Puppet tarjoaa tehokkaan ja skaalautuvan ohjelmistoratkaisun suurten laitemäärien konfiguraatioiden hallintaan.
  • Järjestelmänvalvojat käyttävät Puppetia laskentaresurssien, kuten fyysisten ja virtuaalisten palvelimien ja verkkolaitteiden, hallintaan.
  • Puppet otetaan käyttöön asiakas-palvelin -järjestelyllä, jossa palvelin tai Puppet-mestari hallinnoi yhtä tai useampaa asiakassolmua.

Miksi Chef??

Chef on monimutkainen, mutta nopea ja tehokas automaatioalusta, joka muuttaa infrastruktuurin koodiksi. Monet Devops-palveluyritykset päättävät ottaa käyttöön Chefin, koska se antaa heille mahdollisuuden kohdella järjestelmäänsä kuin objektia, koska helppokäyttöisyyden mukana tulee kestävyyden puute. Chef on kokonaiskonseptiltaan samanlainen kuin Puppet, sillä siinä on master-palvelin ja hallittuihin solmuihin asennetut agentit, mutta se eroaa todellisessa käyttöönotossa Devops Solutions & Services -palveluiden kanssa.

  • Laaja Ruby-syntaksi konfiguraatioiden ”reseptejä” varten: tämä tuo mukanaan korkeamman oppimiskäyrän, mutta enemmän tehoa
  • Web-käyttäjän käyttöliittymä on vakiomuotoinen ja ilmainen.
  • Arkkitehtuuri on monimutkaisempi: tarvitset Chef-palvelimen, Chef-agentteja ja Chef-työaseman konfigurointiin ja hallintaan.
  • Suuri kirjasto olemassa olevia reseptejä, joiden laatu vaihtelee.
  • Yksinkertainen alustarajat ylittävä ja itsenäinen asennusmenettely.
  • Nopeampi suorituskyky.

Miksi Ansible??

Ansible on kirjoitettu Python-kielellä, ja se vaatii vain Python-kirjastojen olemassaolon konfiguroitavilla palvelimilla. Se ei tue Windowsia, mutta erittäin helppo, nopea ja kevyt ja täysin erilainen kuin Chef ja Puppet. Ansiblen keskipisteenä on olla virtaviivainen ja nopea, eikä se vaadi node-agentin asennusta. Niinpä Ansible suorittaa kaikki toiminnot SSH:n kautta. Saatavilla on paljon moduuleja aina järjestelmästä, tietokannasta pilvihallintaan. Omien moduulien kirjoittaminen on suhteellisen helppoa. Monia kieliä tuetaan, mutta jos python on tuttu, oman moduulin luominen ei vie paljon aikaa. Ne tukevat kaikkia tärkeimpien pilvipalveluntarjoajien, kuten AWS:n, Rackspacen, Digital Oceanin, GCE:n, OpenStackin jne. keskeisiä palveluja.

  • Ansible on Python-pohjainen
  • Nuorin näistä kolmesta teknologiasta, joten sillä on pienin yhteisö
  • Toimii ilman agentteja, mutta siinä on paljon python-riippuvuuksia, kun aloitat monimutkaiset operaatiot
  • Yksinkertainen arkkitehtuuri: Tarvitset vain Ansible-työaseman ja SSH-palvelimet. Ei agentteja eikä palvelinta, mutta sinulla on Python-riippuvuuksia asiakaskoneissa.
  • Web-käyttöliittymä saatavilla, mutta rajoitetuilla ominaisuuksilla, koska sitä kehitetään erillään pääprojektista.
  • Skriptejä ja moduuleja voi rakentaa millä tahansa kielellä, rajallinen kirjasto tarjotaan
  • Ei Windows-tukea
  • helpoin syntaksi ja pienin oppimiskäyrä
  • Ansible voi käyttää Paramikoa, Pythonin SSH2-toteutusta tai tavallista SSH:ta kommunikaatioon, mutta mukana on myös kiihdytystila, joka mahdollistaanopeamman ja suuremman mittakaavan kommunikaation.
  • Ansiblellä on kokoelma moduuleja, joilla voidaan hallita erilaisia järjestelmiä sekä pilvi-infrastruktuuria, kuten Amazon EC2:ta ja OpenStackia

Puppet vai Chef vai Ansible?

  • Puppet ja Chef auttavat kehittäjiä ja kehityspainotteista organisaatiota, kun taas Ansible on paljon joustavampi järjestelmänvalvojien tarpeisiin
  • Ansiblen yksinkertainen käyttöliittymä ja käytettävyys sopivat hyvin järjestelmänvalvojan psykologiaan, ja organisaatiossa, jossa on paljon Linux- ja Unix-järjestelmiä, Ansible on verrattain nopea ja helppo ajaa.
  • Puppet on käytettävyydeltään näistä kolmesta kehittynein ja kätevin, mutta Rubyn vankka osaaminen on erittäin suositeltavaa.
  • Puppet ei ole yhtä virtaviivainen kuin Ansible, ja sen konfigurointi voi olla toisinaan monimutkaista. Se on turvallisin tapa sekalaisiin ympäristöihin, mutta Ansible saattaa sopia paremmin isompaan tai samankaltaisempaan infrastruktuuriin.
  • Chefillä on erittäin vakaa ja hyvin suunniteltu ulkoasu, ja vaikka se ei raa’an ominaisuuksien osalta yllä aivan Puppetin tasolle, se on erittäin pätevä ratkaisu. Chef saattaa aiheuttaa vaikeimman oppimiskäyrän ylläpitäjille, joilla ei ole merkittävää ohjelmointikokemusta, mutta se voi olla loogisin vaihtoehto kehityshenkiselle henkilölle ja kehitysorganisaatiolle.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *