DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020

Aloita parhaiden DevOps-työkalujen käyttö jo tänään!

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
DevOps-vallankumous on vihdoin vallannut maailman ja DevOps-työkaluista on tullut uskomattoman suosittuja. Palvelun mukaan Google Trends, "DevOps-työkaluja" koskevien pyyntöjen määrä kasvaa jatkuvasti, ja tämä suuntaus jatkuu.

DevOps-metodologia kattaa koko ohjelmistokehityksen elinkaaren, joten ammattilaiset voivat valita useista työkaluista. Mutta kuten tiedätte, mikään työkalu ei voi olla universaali työkalu kaikille. Jotkut ratkaisut tarjoavat kuitenkin niin laajan valikoiman toimintoja, että ne pystyvät hoitamaan lähes kaikki tehtävät.

Jaetaan DevOps-työkalut luokkiin ja verrataan niitä analogeihin:

  • kehittää ja rakentaa työkaluja
  • testaa automaatiotyökaluja
  • työkalut käyttöönoton järjestämiseen
  • Ajonaikaiset työkalut
  • yhteistyötyökalut.

Onnistunut ja harkittu toteutus DevOps-harjoittaja sisältää instrumentteja kaikista viidestä edellä mainitusta ryhmästä. Analysoi projektisi nykyiset työkalut, jotta et menetä tärkeää osaa CI/CD-putkistosta.

Kehitys- ja rakennustyökalut

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Tämä on CI/CD-liukuhihnapinon perusta. Kaikki alkaa tästä! Tämän luokan parhaat työkalut voivat hallita useita tapahtumavirtoja ja integroida helposti muihin tuotteisiin.

Tässä kehityksen elinkaaren vaiheessa on kolme työkaluryhmää:

  • versionhallintajärjestelmä (SCM)
  • jatkuva integrointi (CI)
  • Tiedonhallinta

GIT on osoittautunut positiiviseksi asiaksi vuonna 2020, joten SCM-työkalullasi pitäisi olla virheetön tuki GIT:lle. CI:n edellytyksenä on kyky suorittaa ja ajaa koontiversioita eristetyssä konttiympäristössä. Tiedonhallinnan osalta se edellyttää kykyä tehdä muutoksia tietokantaskeemaan ja ylläpitää tietokantaa sovellusversion mukaan.

SCM + CI-työkalu #1

Voittaja: GitLab ja GitLab-CI

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
2020 DevOps-syklin paras työkalu on epäilemättä GitLab, ja se tulee varmasti jatkamaan innovaatioiden johtajina lähitulevaisuudessa.

GitLabin päätehtävä on tarjota mukavaa Git-tietovaraston hallintaa. Verkkokäyttöliittymä on intuitiivinen ja helppokäyttöinen. GitLab tarjoaa kaiken tarvitsemasi ilmaisessa versiossa, ja se tulee SaaS- ja on-prem-versiona (omien resurssien avulla ohjelmiston isännöintiin).

Mikään muu SCM-työkalu ei ole käyttänyt jatkuvaa integrointia (CI) suoraan arkistossasi, ja GitLab on tehnyt tätä jo pitkään. Jotta voit käyttää GitLab-CI:tä, sinun on lisättävä .gitlab-ci.yml-tiedosto lähdekoodin juureen, ja kaikki projektiin tehdyt muutokset käynnistävät toimintoja täsmälleen määrittämiesi tietojen perusteella. GitLab ja GitLab-CI tunnustetaan ansaitusti johtajiksi jatkuvan integraation (CI-as-code) alalla.

Keskeiset edut

  • Luotettavuus - Tuote on ollut markkinoilla vuodesta 2013; vakaa; hyvin tuettu.
  • Avoin lähdekoodi - GitLabin ilmainen versio ei rajoita kehitystiimien tarvitsemia ydintoimintoja. Maksulliset palvelupaketit tarjoavat hyödyllisiä lisäominaisuuksia erikokoisille ja -tarpeisille yrityksille.
  • Engrained CI - Mikään muu työkalu markkinoilla ei ole rakentanut jatkuvaa integraatiota suoraan SCM:ään, kuten GitLab-CI. Dockerin käyttäminen varmistaa vaivattoman yksittäisen koontiversion, ja sisäänrakennetut raportit tekevät virheenkorjauksesta helppoa. Emme vaadi monimutkaista integrointia ja useiden työkalujen hallintaa samanaikaisesti.
  • Rajoittamaton integraatio – GitLab tarjoaa helpon integroinnin kaikkiin tarvitsemasi DevOps-työkaluihin. Tämä varmistaa, että kehitys- ja ylläpitotiimeillä on yksi tietolähde sovelluksistaan ​​missä tahansa ympäristössä.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Tässä luokassa on muita suosittuja työkaluja, mutta ne eivät ole yhtä hyviä kuin GitLab. Ja siksi:

GitHub — Tämä on erinomainen SaaS-versionhallintajärjestelmä pienille yrityksille ja kehitysvaiheen alkuvaiheille. Suurille yrityksille, joille on tärkeää pitää IP-osoitteet omassa verkossa, ainoa GitHubin ratkaisu oli .OVA-virtuaalikone, joka ei tue korkean käytettävyyden järjestelmiä. Tämä tekee paikallisesta ylläpidosta vaikeaa, ja lisäksi .OVA sopii vain keskisuurille yrityksille, muuten palvelin yksinkertaisesti kaatuu suuremmalla kuormituksella. GitHub Actions -toimintojen (viime aikoihin asti ja ei vielä on-prem-versiossa) tai CI-as-code -koodin puuttuminen tarkoittaa, että sinun on valittava erillinen CI-työkalu ja sitten hallittava tätä integraatiota. Lopuksi GitHub on paljon kalliimpi kuin kumpikaan GitLabin versio.

Jenkins — Vaikka Jenkinsiä pidetään vakiona jatkuvan integroinnin työkalujen joukossa, siitä on aina puuttunut versionhallintaominaisuudet. Osoittautuu, että käytät Jenkinsiä ja jonkinlaista SCM-työkalua. Se on liian vaikeaa, kun GitLab voi tehdä molemmat. Keskinkertainen UX-muotoilu ei sovellu moderniin verkkosovellukseen ja jättää paljon toivomisen varaa.

BitBucket/Bambu — Minun täytyy tunnistaa hänet automaattiseksi häviäjäksi: miksi kaksi työkalua, kun GitLab tekee kaiken täysin itsenäisesti. BitBucket Cloud tukee GitLab-CI / GitHub Action -toiminnallisuutta, mutta mikään startuppia suurempi yritys ei pysty helposti toteuttamaan sitä. Paikallinen BitBucket-palvelin ei edes tue BitBucket-putkistoja!

#1 Tiedonhallintatyökalu

Voittaja: FlywayDB

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Verkkosovelluskehityksessä tietokantaautomaatiolle ei yleensä kiinnitetä huomiota. Ajatus tietokantaskeeman muutosten käyttöönotosta sovelluksen uusille versioille tulee myöhässä. Kaaviomuutokset johtavat usein sarakkeiden tai taulukoiden lisäämiseen ja uudelleennimeämiseen. Jos sovelluksen versio ei vastaa skeeman versiota, sovellus saattaa kaatua. Lisäksi tietokannan muutosten hallinta sovellusta päivitettäessä voi olla haastavaa, koska järjestelmiä on kaksi. FlyWayDB ratkaisee kaikki nämä ongelmat.

Keskeiset edut

  • Tietokannan versiointi - Flywayn avulla voit luoda tietokantaversioita, seurata tietokannan siirtoja ja siirtää tai peruuttaa skeeman muutoksia helposti ilman lisätyökalua.
  • Binääri tai sulautettu - Voimme valita, suoritetaanko Flyway osana sovellusta vai binäärisuoritustiedostona. Flyway tarkistaa versioiden yhteensopivuuden käynnistyksen yhteydessä ja aloittaa asianmukaiset siirrot pitäen tietokanta- ja sovellusversiot synkronoituna. Suorittamalla cmd-rivin ad-hoc-komennon tarjoamme joustavuutta olemassa oleviin tietokantoihin rakentamatta koko sovellusta uudelleen.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Tällä alalla ei ole paljon työkaluja. Katsotaanpa joitain niistä:

LiquiBase — Liquibase muistuttaa FlywayDB:tä. Haluaisin asentaa sen Flywayn päälle, jos tiimissäni olisi joku, jolla on enemmän kokemusta Liquibasesta.

Flocker - Voi toimia vain konttisovelluksissa. Jotta konttipohjaisia ​​tietokantoja voidaan käyttää onnistuneesti, kaikki on suunniteltava täydellisesti. Suosittelen RDS:n (Relational Database Service) käyttöä tietokantoihin, enkä suosittele tärkeiden tietojen tallentamista säiliöön.

Testaa automaatiotyökaluja

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Aloitetaan keskustelumme testiautomaation työkaluista luokittelemalla ne testauspyramidin perusteella.

Testauspyramidissa (testeissä) on 4 tasoa:

  • Yksikkötestit - Tämä on koko automaattisen testausprosessin perusta. Yksikkötestejä pitäisi olla enemmän muihin testeihin verrattuna. Kehittäjät kirjoittavat ja suorittavat yksikkötestejä varmistaakseen, että sovelluksen osa (tunnetaan nimellä "yksikkö") noudattaa suunnitteluaan ja toimii odotetulla tavalla.
  • Komponenttitestit − Komponenttitestauksen päätarkoitus on varmistaa testiobjektin tulo/lähtökäyttäytyminen. Meidän on varmistettava, että testiobjektin toiminnallisuus on toteutettu oikein spesifikaatioiden mukaisesti.
  • Integrointitestit - Testaustyyppi, jossa yksittäiset ohjelmistomoduulit yhdistetään ja testataan ryhmänä.
  • Päästä päähän -testit - Tämä vaihe on itsestään selvä. Valvomme koko sovellusta ja varmistamme, että se toimii suunnitellusti.

Koska yksikkötestejä ja komponenttien testausta tekevät vain kehittäjät ja ne ovat usein ohjelmointikielikohtaisia, emme arvioi näitä työkaluja DevOps-verkkotunnukselle.

#1 Integration Testing Tool

Voittaja: Kurkku

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Cucumber yhdistää tekniset tiedot ja testidokumentaation yhdeksi eläväksi asiakirjaksi. Tekniset tiedot ovat aina ajan tasalla, koska Cucumber testaa ne automaattisesti. Jos haluat rakentaa automaattisen testauskehyksen tyhjästä ja mallintaa käyttäjien käyttäytymistä verkkosovelluksessa, Selenium WebDriver Java- ja Cucumber BDD:llä on loistava tapa oppia ja toteuttaa kurkkua projektissa.

Keskeiset edut

  • BDD-lähestymistapa (Behavior Driven Development - "kehitys käyttäytymisen kautta" toisin kuin "testilähtöinen kehitys") - Cucumber on suunniteltu BDD-testaukseen, se luotiin alun perin juuri tätä tehtävää varten.
  • Elävä dokumentointi - Dokumentointi on aina tuskaa! Koska testisi on kirjoitettu koodina, Cucumber testaa automaattisesti luotua dokumentaatiota varmistaakseen, että testit ja dokumentaatio ovat synkronoituja.
  • Tuki - Voimme valita monista työkaluista, mutta Cucumberilla on tarvittavat taloudelliset resurssit ja hyvin organisoitu tukijärjestelmä, joka auttaa käyttäjiä kaikissa vaikeissa tilanteissa.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Muiden puitteiden ja teknologiakohtaisten työkalujen joukossa vain Kurkkua voidaan pitää universaalina ratkaisuna.

Päästä päähän -testaustyökalut

Kun suoritat päästä päähän -testausta, sinun on keskityttävä kahteen avainkohtaan:

  • toiminnallinen testaus
  • Stressitestaus.

Toiminnallisessa testauksessa tarkistamme, tapahtuuko kaikki mitä haluamme. Esimerkiksi kun napsautan tiettyjä SPA (yksisivuisen hakemukseni) osia, täytän lomakkeet ja valitsen "Lähetä", tiedot ilmestyvät tietokantaan ja näytölle tulee viesti "Onnistuminen!".

Meidän on myös tärkeää tarkistaa, että tietty määrä samaa skenaariota käyttäviä käyttäjiä voidaan käsitellä ilman virheitä.

Näiden kahden testaustyypin puuttuminen on merkittävä haitta CI/CD-putkistossasi.

#1 päästä päähän -testaustyökalu. Toiminnallinen testaus

Voittaja: SoapUI Pro

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
SoapUI on ollut API-testaustilassa pitkään siitä lähtien, kun SOAP-pohjaiset verkkopalvelut olivat vakiona. Vaikka emme enää luo uusia SOAP-palveluita ja työkalun nimi ei ole muuttunut, se ei tarkoita, etteikö se olisi kehittynyt. SoapUI tarjoaa erinomaisen kehyksen automatisoitujen taustajärjestelmän toimintatestien luomiseen. Testit voidaan helposti yhdistää jatkuvan integroinnin työkaluihin ja käyttää osana CI/CD-putkilinjaa.

Keskeiset edut

  • Yksityiskohtainen dokumentaatio - SoapUI on ollut markkinoilla melko pitkään, joten on monia online-resursseja, jotka voivat auttaa sinua ymmärtämään, kuinka testit tehdään.
  • Helppokäyttöisyys – Vaikka työkalu tukee useita protokollia API-testaukseen, SoapUI:n yhteinen käyttöliittymä useille palveluille helpottaa testien kirjoittamista.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Seleeni on toinen loistava instrumentti tässä ryhmässä. Suosittelen sen käyttöä, jos rakennat ja käytät Java-pohjaista sovellusta. Jos kuitenkin rakennat täyttä verkkosovellusta useilla teknologioilla, siitä voi tulla raskasta muille kuin Java-komponenteille.

#1 päästä päähän -testaustyökalu. Stressitestaus

Voittaja: Hienosäätö

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Selitys: Kun on aika testata kaikki sovelluksesi elementit, vain LoadRunner voi suorittaa tehtävän. Kyllä, se on aluksi kallista ja vaikeaa, mutta LoadRunner on ainoa työkalu, joka antaa minulle teknisenä arkkitehtina täydellisen varmuuden siitä, että uusi koodi toimii äärimmäisissä kuormitusolosuhteissa. Uskon myös, että on aika ottaa LoadRunner kehitystiimien haltuun testitiimien sijaan.

Keskeiset edut

  • Laaja dokumentaatio - LoadRunner on ollut markkinoilla jo jonkin aikaa, joten on olemassa monia verkkoresursseja, jotka auttavat sinua ymmärtämään, kuinka kuormitustestit määritetään.
  • Protokollatuki - Load Runner tukee kaikkea ODBC:stä AJAX:iin, HTTPS:ään ja mitä tahansa muuta ei-triviaalia protokollaa, jota sovelluksesi saattaa käyttää. Yritämme olla käyttämättä useita työkaluja kuormitustestaukseen, koska tämä vain vaikeuttaa prosessia.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Tällä alalla ei taaskaan ole monia universaaleja työkaluja, joten paras ratkaisu on sellainen, joka toimii missä tahansa ympäristössä millä tahansa tekniikalla.

Käyttöönottotyökalut

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Käyttöönottotyökalut ovat luultavasti vähiten ymmärretty osa kehitystä. Käyttötiimille, joilla ei ole syvällistä ymmärrystä sovelluksen koodista ja toiminnoista, on vaikea käyttää tällaisia ​​työkaluja. Kehittäjille käyttöönoton hallinta on uusi vastuu, joten heillä ei ole vielä tarpeeksi kokemusta tällaisten työkalujen kanssa työskentelystä.

Ensinnäkin jaetaan kaikki käyttöönottotyökalut kolmeen alaluokkaan:

  • esineiden hallinta
  • kokoonpanon hallinta
  • ottaa käyttöön.

#1 Artefakttien hallintatyökalu

Voittaja: yhteys

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Nexuksen artefaktivarasto tukee lähes kaikkia tärkeimpiä tekniikoita Javasta NPM:ään Dockeriin. Voimme käyttää tätä työkalua kaikkien käyttämiemme esineiden tallentamiseen. Etäpakettien hallintaohjelmien välityspalvelin nopeuttaa myös merkittävästi CI-rakennusprosessia, mikä tekee paketeista helpommin saavutettavia rakentamista varten. Toinen etu on kyky saada täydellinen näkymä kaikista useissa ohjelmistoprojekteissa käytetyistä paketeista, mikä estää vaaralliset avoimen lähdekoodin paketit (ne voivat toimia hyökkäysvektorina).

Keskeiset edut

  • Tekninen tuki - Luotettava tuote; hyvin tuettu.
  • Open Source - Ilmainen versio ei rajoita kehitystiimien tarvitsemia ydintoimintoja.

#1 Konfiguroinnin hallintatyökalu

Voittaja: Ansible

Ansible on johtaja yhdestä yksinkertaisesta syystä: valtioton. Aikaisemmin samankaltaiset työkalut keskittyivät konfiguraatiotilan hallintaan. Kun tällainen työkalu käynnistetään, se yrittää korjata nykyisen sovelluksen kokoonpanon saatuaan halutun kokoonpanon. Ja uudessa lähestymistavassa on vain valtiottomia komponentteja. Uudet koodiversiot ovat artefakteja, jotka otetaan käyttöön nykyisten tilalle. Tätä voidaan pitää eräänlaisena ohimenevänä, lyhytaikaisena ympäristönä.

Keskeiset edut

  • Stateless – Playbook käynnistetään käyttöönottokoneesta ja suoritetaan kohdepalvelimilla. Minun ei tarvitse huolehtia etäobjektin tilasta käyttämällä Packerin kaltaista työkalua käyttöönotettavien objektien luomiseen.
  • Avoin lähdekoodi - Kuten CentOS, myös Ansiblea tukee RedHat. Se auttaa ylläpitämään yhteisöä ja tarjoaa korkealaatuisia, helppokäyttöisiä moduuleja.
  • Testaus molekyylillä (ansible framework) - Koska konfiguraatioiden hallinta on koodia, kuten kaikki muukin, testaus on välttämätöntä. Moleculen Ansible-roolitestauskehys toimii virheettömästi ja varmistaa, että kokoonpano on samaa laatua ja noudattaa samaa CI/CD-putkilinjaa kuin sovelluskoodi.
  • YAML - Verrattuna muihin työkaluihin YAML on helpompi ymmärtää. Koska konfiguraatioiden hallinta on tyypillisesti uusi haaste DevOps-käytäntöjen toteuttajille, yksinkertaisuus on sen valttikortti.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

OpsCode-kokki — Aloitin DevOps-urani keittokirjojen kehittäjänä. Ruby ja Chef ovat tietysti sydäntäni lähellä, mutta ne eivät yksinkertaisesti ratkaise nykyaikaisten valtiottomien, pilvipohjaisten sovellusten ongelmia. OpsCode Chef on loistava työkalu perinteisempiin sovelluksiin, mutta tässä artikkelissa keskitymme tulevaisuuteen.

nukke — Puppetilla ei ole koskaan ollut paljon faneja, varsinkin Chefiin ja Ansibleen verrattuna. Se soveltuu erinomaisesti laitteiston valmisteluun ja työskentelyyn, mutta siitä puuttuu nykyaikainen kokoonpanonhallinnan tuki verkkosovellukselle.

Käyttöönottotyökalu #1

Voittaja: terraform

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Terraform ratkaisee ongelman, joka liittyy infrastruktuurin kuvaamiseen koodina verkkokomponenteista täydellisiin palvelinkuviin. Tämä tuote on edennyt pitkän tien alkuperäisestä julkaisustaan, sillä siinä on luotu niin paljon laajennuksia ja rakennettu niin vahva yhteisö, että saat varmasti apua kaikissa käyttöönottoskenaarioissa. Kyky tukea kaikentyyppisiä ympäristöjä (paikan päällä, pilvessä tai muualla) on vertaansa vailla. Lopuksi, uusin versio tarjoaa suurelta osin samat logiikkatoiminnot ja luokat HCL:ssä kuin missä tahansa muussa perinteisessä ohjelmointikielessä, mikä tekee Terraformista helposti kehittäjien omaksuttavan nopeasti ja helposti.

Keskeiset edut

  • Ympäristön agnostikko – Terraform käyttää toimintoja, jotka toimivat rajapintana Terraform-koodisi, kaikkien API:iden ja sisäisen logiikan välillä kommunikoidakseen infrastruktuurin tarjoajan kanssa. Tämä tarkoittaa, että hallitsen vain yhden työkalun ja voin sitten työskennellä missä tahansa.
  • Avoin lähdekoodi - Ilmaisia ​​työkaluja on vaikea voittaa! Yhteisön tuki korkeimmalla tasolla.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

AWS-pilven muodostuminen — Vaikka työskentelet vain AWS-pilviympäristössä, seuraava työsi saattaa käyttää eri työkalua. Kaiken aikasi ja energiasi omistaminen vain yhdelle alustalle on lyhytnäköinen päätös. Lisäksi monet uudet AWS-palvelut ovat usein saatavilla Terraform-moduuleina ennen kuin ne ovat saatavilla CloudFormationissa.

Ajonaikaiset työkalut

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020

Minkä tahansa kehitysprojektin perimmäisenä tavoitteena on käynnistää sovellus tuotantoon. DevOps-maailmassa haluamme olla täysin tietoisia kaikista mahdollisista ympäristöön liittyvistä ongelmista, ja haluamme myös minimoida manuaaliset toimet. Oikeiden ajonaikaisten työkalujen valinta on olennaista sovelluskehitysnirvanan saavuttamiseksi.

Ajonaikaisten työkalujen alaluokat:

  • X-as-a-service (XaaS)
  • orkestrointi
  • seurantaa
  • puunkorjuu.

X-tool-as-a-service #1

Voittaja: Amazon Web Services

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Amazon on aina ollut pilviteknologioiden edelläkävijä, mutta se ei lopu tähän: uusien palveluiden valikoima kehittäjille avaa silmiä. Tuo mikä tahansa tekniikka ja malli AWS:ään, niin se rakennetaan ja toimii. Työkalun hinta on varsin kohtuullinen: vertaa sitä oman datakeskuksesi laitteiden kokoamiseen, hallintaan ja ylläpitoon. Ilmainen versio antaa sinun kokeilla ja tehdä oikean päätöksen ennen kuin käytät rahaa.

Keskeiset edut

  • Yleisyys – Jos sinulla on kokemusta sovellusten rakentamisesta AWS:ssä, voit työskennellä missä tahansa. Yritykset rakastavat AWS:ää, ja startup-yritykset arvostavat myös sen edullisia kustannuksia.
  • Ilmainen versio on todella merkittävä tekijä, joka erottaa AWS:n muista vastaavista. Anna minun kokeilla palvelua ja katsoa kuinka se toimii, ennen kuin teen ostopäätöksen, en halua tuhlata tuhansia dollareita mihinkään tarpeettomaan. Ilmainen versio riittää minulle aina minkä tahansa konseptin testaamiseen.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Taivaansininen "Azure on kulkenut pitkän matkan ensimmäisestä julkaisustaan, ja se on kiitettävää. Halu olla erilainen on kuitenkin johtanut palveluiden outoihin nimiin, mikä usein vaikeuttaa työtä. Mitä "blob-tallennus" tarkoittaa? Ja vaikka .NET-koodi toimii paremmin Microsoftin ekosysteemissä, on epätodennäköistä, että käytät vain .NET-koodia sovelluksesi jokaisessa osassa.

Heroku — En koskaan ajaisi Herokussa muuta kuin henkilökohtaista projektia luotettavuuden ja läpinäkyvyyden heikon tason vuoksi, joten yritysten ei pitäisi käyttää sitä alustana. Heroku sopii mainiosti esittelemään jotain blogissa, mutta käytännön käyttöön - "Ei, kiitos!"

#1 Orkesterityökalu

Voittaja: OpenShift

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Käytät todennäköisesti Dockeria tai muita säilöjä sovelluspinossasi. Palvelimettomat sovellukset ovat mahtavia, mutta ne eivät välttämättä sovi jokaiseen arkkitehtuuriin. Konttien käyttäminen ilman orkestrointialustaa ei yksinkertaisesti toimi. Kubernetes Core (K8s) on verraton turvallisuuden ja työkalujen suhteen. OpenShift on ainoa Kubernetes-pohjainen alusta, joka voi kerätä Source2Imagea, tukee automaattista käyttöönottoa podeihin ja tukee seurantaa ja seurantaa. OpenShift voidaan ajaa on-prem, pilvessä tai on-prem ja pilvessä samanaikaisesti.

Keskeiset edut

  • Sisäänrakennettu suojaus – K8s-tietoturvan hallinta voi edellyttää ylempää tutkintoa. Jokainen yksityiskohta on harkittava huolellisesti ja otettava huomioon! OpenShiftin oletusarvoisesti sisäänrakennetut suojausmekanismit ottavat kehittäjien taakan ja tarjoavat turvallisemman alustan sovelluksille.
  • All-in-one-ratkaisu – Toisin kuin perus K8s, joka ei sisällä oletuksena kuormituksen tasapainotustyökaluja, OpenShiftillä on kaikki. Voin käyttää sitä luomaan ja isännöimään säiliöitä, ajamaan CI/CD-työkaluja, hallitsemaan ulkoisia prosesseja, hallita avaimia ja paljon muuta. Vaikka GUI on vielä kaukana täydellisestä, API-lähtöinen lähestymistapa tarkoittaa, että kaikki voidaan kuvata skriptillä. Toisin kuin muut K8:n graafiset käyttöliittymät, OpenShift tekee Kubernetesin perusteiden oppimisesta paljon helpompaa. Sinun ei tarvitse edes hankkia tutkintoa!

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Docker-parvi — Docker Swarm yritti yksinkertaistaa K8:ita päästämällä eroon monista asioista. Se on hieno pienille sovelluksille, mutta yrityssovelluksille se ei vain toimi. Lisäksi ratkaisut, kuten AWS ECS, noudattavat samanlaista lähestymistapaa, mutta helpottavat työskentelyä muiden palveluiden kanssa, joiden kanssa voin myös olla vuorovaikutuksessa (Lambda, IAM jne.).

Valvontatyökalu #1

Voittaja: Uusi jäänne

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
New Relicin varhaiset julkaisut tekivät yhden asian hyvin - APM (Application Performance Monitoring) -valvonnan. Se on nyt täysin varusteltu seurantatyökalu, jonka avulla voit seurata palvelimen, säilön, tietokannan suorituskykyä, loppukäyttäjäkokemuksen seurantaa ja tietysti sovellusten suorituskyvyn seurantaa.

Keskeiset edut

  • Helppokäyttöisyys - Kun työskentelin järjestelmäinsinöörinä, käytin monia valvontatyökaluja, mutta en ole koskaan tavannut yhtä yksinkertaista ja helppokäyttöistä kuin New Relic. Se on SaaS, joten sinun ei tarvitse asentaa sitä itse.
  • Näkyvyys päästä päähän – Muut työkalut yrittävät valvoa yhtä tiettyä sovelluksesi elementtiä. Esimerkiksi prosessorin käytön tai verkkoliikenteen mittari, mutta kaikkea tätä on seurattava kattavasti, jotta sovellus toimisi oikein. New Relic antaa sinulle mahdollisuuden koota kaikki tietosi yhteen saadaksesi kattavan kuvan siitä, mitä tapahtuu.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Zabbix — Ensimmäinen ja suosikkini seurantajärjestelmäni, mutta se on jäänyt menneisyyteen pilviteknologioiden ja APM-sovellusten suorituskyvyn valvonnan kehityksen puutteen vuoksi. Zabbix hoitaa edelleen hyvin perinteisen palvelininfrastruktuurin valvonnan, mutta siinä se.

DataDog — Keskittyi liikaa sovelluksen tuotantoympäristön hallintaprosessiin, ei itse koodiin. Kun kehittäjät ovat mukana DevOps-tiimeissä, meidän ei tarvitse luottaa vaikeisiin työkaluihin tarjotaksemme huippuluokan tukea.

Kirjaustyökalu #1

Voittaja: Splunk

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Splunkin kanssa on vaikea kilpailla! Hän pysyy pitkään metsänkorjuun johtajana ja tekee sen edelleen paremmin kuin kukaan muu. On-prem- ja SaaS-tarjousten avulla voit käyttää Splunk-palvelua missä tahansa. Suuri haittapuoli on sen hinta: Splunk on edelleen pirun kallista!

Keskeiset edut

  • Levittävyys – Yritykset rakastavat Splunkia, ja yrityksillä on rahaa ostaa se.
  • Vaikka startupit yrittävät saada kustannuksia takaisin, monet toiminnot voidaan ratkaista avoimen lähdekoodin analogien ansiosta.
  • Ylläpidettävyys - Yksinkertaisesti sanottuna Splunk toimii ja tekee sen hyvin. Siinä on monia oletusasetuksia ja käyttövalmiita ominaisuuksia. Sinun ei tarvitse tuhlata aikaa asiakirjojen lukemiseen ja yrittää saada Splunk toimimaan tai tulkitsemaan mitään.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

ELK Stack (ElasticSearch, LogStash ja Kibana) "Nämä työkalut näyttävät olevan suosikkeja, koska sinun ei tarvitse edes myydä maksaa käyttääksesi niitä." Kuitenkin, kun lokisarja kasvaa ja hakemusten määrä laivalla kasvaa, työ muuttuu yhä vaikeammaksi. Verrattuna Splunkiin ELK Stackilla käytin paljon enemmän aikaa työkalujen määrittämiseen ennen koontinäyttöjen luomista kuin koskaan ennen.

Yhteistyötyökalut

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
DevOps on ensisijaisesti organisaation kulttuurin muuttaminen. Minkään työkalun ostaminen ei muuta nykyisiä käytäntöjä yhdessä yössä, mutta se voi varmasti kannustaa yhteistyöhön ja uusiin vuorovaikutustapoihin.

Yhteistyötyökalujen alaluokat:

  • tehtävän seuranta
  • ChatOps
  • dokumentointi.

#1 Ongelmanseurantatyökalu

Voittaja: JIRA

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Jira säilyttää johtavan asemansa, vaikka kilpailu tällä alueella lisääntyy. Jiran uskomattoman joustavuuden ansiosta kehitys- ja ylläpitotiimit voivat hallita projektityötä ja sprinttitehtäviä. Sisäänrakennetut standardit, joissa käytetään ketterää terminologiaa, helpottavat siirtymistä perinteisistä työtavoista tehokkaampiin prosesseihin.

Keskeiset edut

  • Suosio - Kuten monia muita työkaluja, Jiraa käytetään melkein kaikkialla. Pienet tiimit käyttävät halvempaa, helpompaa versiota ja saavat kaiken tarvitsemansa, kun taas suuremmilla yrityksillä on varaa kalliimpaan lisenssiin.
  • Integraatiot - Jira on alansa edelläkävijä. Tämä tosiasia ja tuotteen nopea kehitys johtavat siihen, että muut yritykset valitsevat Jiran luodakseen omia integraatioita, mikä lisää työkalun arvoa. Voimme integroida Jiran kaikkiin tässä artikkelissa lueteltuihin työkaluihin pienellä kokoonpanolla.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Trello — Trello saavutti nopeasti suosion ilmaisen Kanban-työkalunsa ansiosta. Kuitenkin, kun prosessit skaalautuvat ja siirryt kymmenistä tehtävistä tuhansiin, Trellossa on vaikea navigoida, etsiä ja raportoida.

Pivotal Tracker – Olin tämän työkalun suuri fani, kun työskentelin startupissa. Pivotal Tracker keskittyy kuitenkin enemmän tuotehallintaan kuin teknisiin tehtäviin. Vaikka Jiran tuotehallinta on hieman monimutkaisempaa, se voidaan silti toteuttaa siellä ilman lisätyökalua.

ChatOps-työkalu #1

Voittaja: MatterMost

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Selitys: Ehkä suurin yllätys sinulle valikoimassani, ja se on hyvä uutinen! MatterMost saavutti suosion ottamalla parhaat puolet aikaisemmista työkaluista, mutta laittamalla ne käyttöön. Tämä on erittäin tärkeää yrityksille: MatterMost antaa sinun hallita tietojasi ja auttaa sinua myös integroimaan ne paikallisesti toimiviin työkaluihin. Meidän ei enää tarvitse mennä palomuurin ulkopuolelle tarkistaaksemme työkeskusteluja.

Keskeiset edut

  • Avoin lähdekoodi – MatterMostin avoimen lähdekoodin versio toimii erinomaisesti sekä keskisuurille että suurille ryhmille. Toisin kuin Slackin ilmainen sopimus, joka poistaa viestihistoriasi, oman palvelimen käyttäminen tarkoittaa, että säilytät kaikki tietosi.
  • Integraatiot - Koska API perustuu lähes 100-prosenttisesti Slack API:hen, lähes kaikkia Slackin integraatioita voidaan käyttää suoraan MatterMostin kanssa.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

New Rose Hotel – Slack on siistiä, mutta nämä kaverit ovat kasvaneet niin paljon, että he alkoivat etsiä voittoa. Liiketoiminnan takaisinmaksuvaihe lähestyy, mikä vie niiden pääarvon: Slack tarjosi palvelut ilmaiseksi; Ilmaisversion tärkein haittapuoli on keskusteluhistorian poistaminen.

Microsoft-tiimit — Yritä integroida Microsoft-tuote johonkin muuhun kuin Microsoftin omistamaan... Onnea! Siinä kaikki, mitä minulla on sanottavaa tästä työkalusta!

Dokumentaatiotyökalu #1

Voittaja: yhtymäkohta

DevOps-työkalut, jotka kaikkien pitäisi oppia vuonna 2020
Laadukkaan teknisen dokumentaation luominen ja ylläpito on monimutkainen prosessi riippumatta siitä, mitä työkalua käytät. Vaikka monet SaaS-dokumentaatiotyökalut ovat tulleet markkinoille viime aikoina, minun olisi vaikeaa ulkoistaa kriittisten sovellusten teknisen dokumentaation tallentamista kolmannelle osapuolelle. On suositeltavaa tallentaa tiedot ja asiakirjat on-prem, ja näin Confluence ratkaisee sen.

Keskeiset edut

  • Helppokäyttöinen - Useimmat erilliset työkalut voivat olla hieman monimutkaisia ​​asentaa ja käyttää, ja niiden ylläpito vaatii jonkin verran tietoa. Confluence Server toimii erinomaisesti heti alusta alkaen 10 tai 10,000 XNUMX käyttäjälle.
  • Plugins - Kiitokset Confluencelle kauniista, helppokäyttöisestä navigoinnista ja mahdollisuudesta lisätä laajennus lähes kaikkeen, mikä avaa Wikin kaltaisia ​​mahdollisuuksia.

kilpailijat

Osallistui taisteluun, mutta ei voittanut

Lue asiakirjat — Hienoa avoimeen lähdekoodiin, mutta älä edes ajattele kriittisen tiedon tallentamista tänne.

hinnanalennus - Erinomainen koodin dokumentointiin, mutta vaikea lähettää arkkitehtuuria, prosesseja tai muun tyyppistä dokumentaatiota MarkDownin erityisen muotoilun vuoksi.

Jekyll — Teknistä tietämystä dokumentoidessani en halua luoda uutta staattista sivustoa, joka otetaan käyttöön aina, kun tapahtuu muutos. Confluencen yksinkertainen versionhallintajärjestelmä yksinkertaistaa huomattavasti sisäistä dokumentointia.

Yhteenvetona

Markkinoilla on kirjaimellisesti satoja DevOps-työkaluja, joten on vaikea tietää, mitä käyttää ja milloin ne tulisi ottaa käyttöön. Noudata tätä yksinkertaista opasta DevOps-työkalujen valitsemiseksi täydelliselle CI/CD-putkilinjalle.

Muista valita työkalut kaikista viidestä kategoriasta:

  • kehittää ja rakentaa työkaluja
  • testaa automaatiotyökaluja
  • käyttöönottotyökalut
  • Ajonaikaiset työkalut
  • yhteistyötyökalut.

Pääsuositus: Automatisoi kaikki!

Kiitos Zach Shapiro!

Lähde: will.com

Lisää kommentti