DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima

Alustage parimate DevOpsi tööriistade kasutamist juba täna!

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
DevOpsi revolutsioon on lõpuks vallutanud maailma ja DevOpsi tööriistad on muutunud uskumatult populaarseks. Vastavalt teenindusele Google Trends, kasvab DevOpsi tööriistade taotluste arv pidevalt ja see trend jätkub.

DevOpsi metoodika hõlmab kogu tarkvaraarenduse elutsüklit, nii et spetsialistid saavad valida erinevate tööriistade vahel. Kuid nagu teate, ei saa ükski tööriist kõigile universaalseks tööriistaks. Mõned lahendused pakuvad aga nii laia valikut funktsioone, et saavad hakkama peaaegu iga ülesandega.

Jagame DevOpsi tööriistad kategooriatesse ja võrdleme neid analoogidega:

  • arendada ja ehitada tööriistu
  • automatiseerimistööriistade testimine
  • vahendid kasutuselevõtu korraldamiseks
  • Runtime tööriistad
  • koostöövahendid.

Edukas ja läbimõeldud rakendamine DevOpsi praktik sisaldab instrumente kõigist viiest eespool loetletud rühmast. Analüüsige oma projekti praegust tööriistakomplekti, et mitte jätta tähelepanuta CI/CD konveieri olulist elementi.

Arendus- ja ehitustööriistad

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
See on CI/CD konveieri pinu alus. Kõik algab siit! Selle kategooria parimad tööriistad saavad hallata mitut sündmuste voogu ja hõlpsasti integreerida teiste toodetega.

Selles arendustsükli etapis on kolm tööriistade rühma:

  • versioonikontrollisüsteem (SCM)
  • pidev integreerimine (CI)
  • Andmehaldus

GIT on 2020. aastal tõestanud end positiivse asjana, seega peaks teie SCM-i tööriistal GIT-i laitmatu tugi olema. CI puhul on eeltingimuseks võime käivitada ja käitada järge isoleeritud konteinerikeskkonnas. Andmehalduse puhul eeldab see võimalust teha andmebaasi skeemis muudatusi ja säilitada andmebaasi vastavalt rakenduse versioonile.

SCM + CI tööriist nr 1

Võitja: GitLab ja GitLab-CI

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
2020. aasta DevOpsi tsükli parim tööriist on kahtlemata GitLab ja see jätkab kindlasti ka lähitulevikus innovatsiooni juhti.

GitLabi põhiülesanne on pakkuda Giti hoidla mugavat haldamist. Veebiliides on intuitiivne ja hõlpsasti kasutatav. GitLab pakub kõike, mida vajate, tasuta versioonis ning saadaval nii SaaS-i kui ka kohapealse versioonina (kasutades tarkvara hostimiseks oma ressursse).

Ükski teine ​​SCM-i tööriist pole otse teie hoidlas kasutanud pidevat integreerimist (CI) ja GitLab on seda juba pikka aega teinud. GitLab-CI kasutamiseks peate oma lähtekoodi juure lisama faili .gitlab-ci.yml ja kõik projekti muudatused käivitavad toimingud täpselt teie määratud andmete põhjal. GitLab ja GitLab-CI on teenitult tunnustatud pideva integratsiooni (CI-as-code) valdkonna liidritena.

Peamised eelised

  • Töökindlus – Toode on turul olnud alates 2013. aastast; stabiilne; hästi toetatud.
  • Avatud lähtekoodiga – GitLabi tasuta versioon ei piira põhifunktsioone, mida arendusmeeskonnad vajavad. Tasulised teenusepaketid pakuvad täiendavaid kasulikke funktsioone erineva suuruse ja vajadustega ettevõtetele.
  • Engrained CI – ükski teine ​​turul olev tööriist pole loonud pidevat integreerimist otse SCM-i nagu GitLab-CI. Dockeri kasutamine tagab probleemideta isoleeritud järgud ja sisseehitatud aruanded muudavad silumise lihtsaks. Me ei nõua mitme tööriista samaaegset keerukat integreerimist ja haldamist.
  • Piiramatu integratsioon – GitLab pakub kõigi vajalike DevOpsi tööriistade hõlpsat integreerimist. See tagab, et arendus- ja hooldusmeeskondadel on üksainus teabeallikas nende rakenduste kohta igas keskkonnas.

konkurentide

Osales lahingus, kuid ei võitnud

Selles kategoorias on ka teisi populaarseid tööriistu, kuid need pole nii head kui GitLab. Ja sellepärast:

GitHub — See on suurepärane SaaS-i versioonihaldussüsteem väikeettevõtetele ja varajastele arendusfaasidele. Suurettevõtete jaoks, kelle jaoks on oluline hoida IP-aadresse oma võrgus, oli GitHubi ainus lahendus .OVA virtuaalmasin, mis ei toeta kõrge kättesaadavusega süsteeme. See muudab kohapealse hoolduse keeruliseks, pealegi sobib .OVA ainult keskmise suurusega ettevõtetele, vastasel juhul jookseb server suurema koormuse korral lihtsalt kokku. GitHubi toimingute (kuni viimase ajani ja mitte kohapealse versiooni) või CI-as-code puudumine tähendab, et peate valima eraldi CI-tööriista ja seejärel seda integratsiooni haldama. Lõpuks on GitHub palju kallim kui kumbki GitLabi versioon.

Jenkins — Kuigi Jenkinsit peetakse vaikimisi pideva integreerimise tööriistade seas standardiks, on sellel alati puudunud versioonihaldusvõimalused. Selgub, et kasutate Jenkinsi pluss mingit SCM-i tööriista. See on liiga raske, kui GitLab saab teha mõlemat. Keskpärane UX disain ei sobi kaasaegsesse veebirakendusse ja jätab soovida.

BitBucket/Bamboo — Pean teda tunnistama kui automaatset kaotajat: miks kaks tööriista, kui GitLab teeb kõike täiesti iseseisvalt. BitBucket Cloud toetab GitLab-CI / GitHub Actioni funktsioone, kuid ükski idufirmast suurem ettevõte ei saa seda hõlpsalt rakendada. Kohapealne BitBucketi server ei toeta isegi BitBucketi torujuhtmeid!

#1 Andmehaldustööriist

Võitja: FlywayDB

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Veebirakenduste arendamisel ei omistata tavaliselt andmebaaside automatiseerimist tähtsusele. Idee juurutada andmebaasiskeemi muudatused rakenduse uutele versioonidele tuleb hilja. Skeemi muutmise tulemuseks on sageli veergude või tabelite lisamine ja ümbernimetamine. Kui rakenduse versioon ei ühti skeemi versiooniga, võib rakendus kokku kukkuda. Lisaks võib andmebaasi muudatuste haldamine rakenduse värskendamisel olla keeruline, kuna tegemist on kahe erineva süsteemiga. FlyWayDB lahendab kõik need probleemid.

Peamised eelised

  • Andmebaasi versioonide loomine – Flyway võimaldab luua andmebaasiversioone, jälgida andmebaasi migratsioone ning hõlpsasti üle kanda või tagasi võtta skeemimuudatusi ilma selleks lisatööriista kasutamata.
  • Binaarne või manustatud – saame käivitada Flyway rakenduse osana või binaarse käivitatava failina. Flyway kontrollib käivitamisel versioonide ühilduvust ja alustab sobivaid migratsioone, hoides andmebaasi ja rakenduse versioonid sünkroonis. Käitades cmd rea ad-hoc käsu, pakume olemasolevatele andmebaasidele paindlikkust ilma kogu rakendust uuesti üles ehitamata.

konkurentide

Osales lahingus, kuid ei võitnud

Sellel alal pole palju tööriistu. Vaatame mõnda neist:

LiquiBase - Liquibase sarnaneb FlywayDB-ga. Tahaksin selle Flyway peal üles seada, kui minu meeskonnas oleks keegi, kellel on Liquibase'iga rohkem kogemusi.

Flocker - Saab töötada ainult konteinerrakenduste puhul. Konteinerandmebaaside edukaks käitamiseks peab kõik olema ideaalselt planeeritud. Soovitan kasutada andmebaaside jaoks RDS-i (Relational Database Service) ega soovita olulist teavet konteinerisse salvestada.

Automatiseerimistööriistade testimine

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Alustame arutelu testimise automatiseerimise tööriistade üle, klassifitseerides need testimispüramiidi alusel.

Testimispüramiidil (testidel) on 4 taset:

  • Üksustestid – see on kogu automatiseeritud testimisprotsessi aluseks. Võrreldes teist tüüpi testidega peaks olema rohkem ühikuteste. Arendajad kirjutavad ja käitavad üksuseteste tagamaks, et rakenduse osa (tuntud kui "üksus") vastab selle disainile ja käitub ootuspäraselt.
  • Komponentide testid – komponentide testimise põhieesmärk on kontrollida testitava objekti sisend/väljundkäitumist. Peame tagama, et testitava objekti funktsionaalsus on spetsifikatsiooni kohaselt õigesti rakendatud.
  • Integratsioonitestid – testimise tüüp, mille käigus kombineeritakse ja testitakse üksikuid tarkvaramooduleid rühmana.
  • End-to-End testid – see samm on iseenesestmõistetav. Jälgime kogu rakendust ja veendume, et see toimib plaanipäraselt.

Kuna seadmeteste ja komponentide testimist viivad läbi ainult arendajad ja need on sageli programmeerimiskeelepõhised, ei hinda me neid tööriistu DevOpsi domeeni jaoks.

#1 Integratsiooni testimise tööriist

Võitja: Kurk

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Kurk ühendab spetsifikatsioonid ja katsedokumentatsiooni üheks elavaks dokumendiks. Spetsifikatsioonid on alati ajakohased, kuna Cucumber testib neid automaatselt. Kui soovid luua nullist automaattestimise raamistikku ja modelleerida kasutaja käitumist veebirakenduses, siis on Java ja Cucumber BDD-ga Selenium WebDriver suurepärane võimalus Kurgi õppimiseks ja projektis juurutamiseks.

Peamised eelised

  • BDD-lähenemine (Käitumisest juhitud arendus – „areng käitumise kaudu” erinevalt „testipõhisest arendustegevusest”) – Kurk on mõeldud BDD testimiseks, see loodi algselt just selle ülesande jaoks.
  • Elav dokumentatsioon – dokumenteerimine on alati piin! Kuna teie testid on kirjutatud koodina, testib Cucumber automaatselt loodud dokumentatsiooni, et tagada testide ja dokumentatsiooni sünkroonis.
  • Tugi – saame valida paljude tööriistade vahel, kuid Kurgil on olemas vajalikud rahalised ressursid ja hästi organiseeritud tugisüsteem, mis aitab kasutajaid igas keerulises olukorras.

konkurentide

Osales lahingus, kuid ei võitnud

Muude raamistike ja tehnoloogiaspetsiifiliste tööriistade hulgas võib universaalseks lahenduseks pidada vaid Kurki.

End-to-End testimise tööriistad

Täieliku testimise läbiviimisel peate keskenduma kahele põhipunktile:

  • funktsionaalne testimine
  • Stressi testimine.

Funktsionaalsel testimisel kontrollime, kas kõik, mida soovime, ka tegelikult juhtub. Näiteks kui klõpsan oma SPA (ühe lehe taotlus) teatud elementidel, täidan vormid ja valin "Esita", ilmuvad andmed andmebaasi ja ekraanile ilmub teade "Edu!"

Samuti on meie jaoks oluline kontrollida, kas teatud arvu sama stsenaariumi kasutavaid kasutajaid saab vigadeta töödelda.

Nende kahte tüüpi testimise puudumine on teie CI/CD konveieri oluliseks puuduseks.

#1 täielik testimise tööriist. Funktsionaalne testimine

Võitja: SoapUI Pro

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
SoapUI on API testimisruumis olnud pikka aega, kuna SOAP-põhised veebiteenused olid standardsed. Kuigi me ei loo enam uusi SOAP-teenuseid ja tööriista nimi pole muutunud, ei tähenda see, et see pole arenenud. SoapUI pakub suurepärast raamistikku automatiseeritud taustafunktsiooni testide loomiseks. Teste saab hõlpsasti kombineerida pideva integreerimise tööriistadega ja kasutada CI/CD torujuhtme osana.

Peamised eelised

  • Üksikasjalik dokumentatsioon – SoapUI on turul olnud üsna pikka aega, seega on palju veebiressursse, mis aitavad teil mõista, kuidas teste seadistada.
  • Kasutuslihtsus – kuigi tööriist toetab API-de testimiseks mitut protokolli, muudab SoapUI mitme teenuse jaoks ühise liidese olemasolu testide kirjutamise lihtsamaks.

konkurentide

Osales lahingus, kuid ei võitnud

Seleen on veel üks suurepärane instrument selles rühmas. Soovitan seda kasutada, kui loote ja käitate Java-põhist rakendust. Kui aga koostate mitme tehnoloogiaga täielikku veebirakendust, võib see mitte-Java komponentide jaoks muutuda kohmakaks.

#1 täielik testimise tööriist. Stressi testimine

Võitja: LoadRunner

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Selgitus: Kui saabub aeg teie rakenduse iga elemendi laadimistestimiseks, saab ülesande täita ainult LoadRunner. Jah, see on alguses kallis ja keeruline, kuid LoadRunner on ainus tööriist, mis annab mulle tehnilise arhitektina täieliku kindlustunde, et uus kood töötab äärmuslikes koormustingimustes. Samuti arvan, et on aeg, et LoadRunner võtaksid testimismeeskondade asemel üle arendusmeeskonnad.

Peamised eelised

  • Ulatuslik dokumentatsioon – LoadRunner on olnud turul juba mõnda aega, seega on palju veebiressursse, mis aitavad teil mõista, kuidas koormusteste seadistada.
  • Protokolli tugi – Load Runner toetab kõike alates ODBC-st kuni AJAX-i, HTTPS-i ja muude mittetriviaalsete protokollideni, mida teie rakendus võib kasutada. Püüame mitte kasutada koormustestimiseks mitut tööriista, kuna see muudab protsessi ainult keerulisemaks.

konkurentide

Osales lahingus, kuid ei võitnud

Jällegi, selles valdkonnas pole palju universaalseid tööriistu, seega on parim lahendus selline, mis töötab igas keskkonnas ja mis tahes tehnoloogiaga.

Juurutustööriistad

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Juurutustööriistad on ilmselt arenduse kõige vähem mõistetav aspekt. Operatsioonimeeskonna jaoks, kes ei tunne sügavalt rakenduse koodi ja funktsioone, on selliste tööriistade kasutamine keeruline. Arendajate jaoks on juurutamise haldamine uus kohustus, mistõttu neil pole veel piisavalt kogemusi selliste tööriistadega töötamiseks.

Kõigepealt jagame kõik juurutustööriistad kolme alamkategooriasse:

  • artefaktide haldamine
  • Konfiguratsiooni juhtimine
  • kasutusele võtta.

#1 Artefaktide haldamise tööriist

Võitja: Nexus

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Nexuse artefaktihoidla toetab peaaegu kõiki peamisi tehnoloogiaid, alates Javast kuni NPM-i ja Dockerini. Seda tööriista saame kasutada kõigi kasutatavate artefaktide salvestamiseks. Kaugpaketihaldurite puhverserver kiirendab oluliselt ka CI koostamise protsessi, muutes paketid ehitamiseks juurdepääsetavamaks. Teine eelis on võimalus saada täielik ülevaade kõigist mitmes tarkvaraprojektis kasutatavatest pakettidest, blokeerides ohtlikud avatud lähtekoodiga paketid (need võivad toimida rünnakuvektorina).

Peamised eelised

  • Tehniline tugi - Usaldusväärne toode; hästi toetatud.
  • Avatud lähtekoodiga versioon – tasuta versioon ei piira põhifunktsioone, mida arendusmeeskonnad vajavad.

#1 Konfiguratsioonihaldustööriist

Võitja: Võimalik

Ansible on juht ühel lihtsal põhjusel: kodakondsuseta. Varem keskendusid sarnased tööriistad konfiguratsiooni oleku haldamisele. Käivitamisel proovib selline tööriist pärast soovitud konfiguratsiooni saamist praegust rakenduse konfiguratsiooni parandada. Ja uue lähenemisviisi korral on olemas ainult kodakondsuseta komponendid. Koodi uued versioonid on artefaktid, mis juurutatakse olemasolevate asendamiseks. Seda võib pidada omamoodi efemeerseks, lühiajaliseks keskkonnaks.

Peamised eelised

  • Stateless – Playbook käivitatakse juurutusmasinast ja käivitatakse sihtserverites. Ma ei pea muretsema kaugobjekti oleku pärast, kasutades juurutatavate objektide loomiseks sellist tööriista nagu Packer.
  • Avatud lähtekoodiga – nagu CentOS, toetab ka RedHat Ansiblet. See aitab kogukonda säilitada ja pakub kvaliteetseid ja hõlpsasti kasutatavaid mooduleid.
  • Testimine molekuliga (ansible framework) – kuna konfiguratsioonihaldus on kood, nagu kõik muu, on testimine hädavajalik. Molecule'i Ansible rollitestimise raamistik töötab laitmatult, tagades, et konfiguratsioon on sama kvaliteediga ja järgib sama CI/CD konveieri kui rakenduse kood.
  • YAML – võrreldes teiste tööriistadega on YAML-i lihtsam mõista. Kuna konfiguratsioonihaldus on DevOpsi tavade juurutajate jaoks tavaliselt uus väljakutse, on lihtsus selle trump.

konkurentide

Osales lahingus, kuid ei võitnud

OpsCode'i peakokk — Alustasin oma DevOpsi karjääri kokaraamatute arendajana. Ruby ja Chef on mulle loomulikult väga südamelähedased, kuid nad lihtsalt ei lahenda tänapäevaste kodakondsuseta pilvepõhiste rakenduste probleeme. OpsCode Chef on suurepärane tööriist traditsioonilisemate rakenduste jaoks, kuid selles artiklis keskendume tulevikule.

Nukuteater — Puppetil pole kunagi palju fänne olnud, eriti võrreldes Chefi ja Ansiblega. See on suurepärane riistvara ettevalmistamiseks ja sellega töötamiseks, kuid sellel puudub veebirakenduse jaoks kaasaegne konfiguratsioonihalduse tugi.

Juurutustööriist nr 1

Võitja: Terraform

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Terraform lahendab teie infrastruktuuri koodina kirjeldamise probleemi, alates võrgukomponentidest kuni täielike serveripiltideni. See toode on alates selle esialgsest väljalaskmisest kaugele jõudnud – loodud on nii palju pistikprogramme ja loodud nii tugev kogukond, et saate kindlasti abi mis tahes juurutusstsenaariumi korral. Võimalus toetada mis tahes tüüpi keskkondi (kohapealne, pilves või mujal) on võrratu. Lõpuks pakub uusim versioon HCL-is suures osas samu loogikafunktsioone ja klasse nagu mis tahes muus traditsioonilises programmeerimiskeeles, muutes Terraformi arendajatele hõlpsasti ja hõlpsasti haaratavaks.

Peamised eelised

  • Keskkonnaagnostik – Terraform kasutab funktsioone, mis toimivad liidesena teie Terraformi koodi, kõigi API-de ja sisemise loogika vahel, et suhelda infrastruktuuri pakkujaga. See tähendab, et omandan vaid ühe tööriista ja saan seejärel töötada kõikjal.
  • Avatud lähtekoodiga – tasuta tööriistu on raske ületada! Ühenduse toetus kõrgeimal tasemel.

konkurentide

Osales lahingus, kuid ei võitnud

AWS CloudFormation — Isegi kui töötate ainult AWS-i pilvekeskkonnas, võib teie järgmine töö kasutada teistsugust tööriista. Kogu oma aja ja energia pühendamine ühele platvormile on lühinägelik otsus. Lisaks on paljud uued AWS-teenused sageli saadaval Terraformi moodulitena, enne kui need on saadaval CloudFormationis.

Runtime tööriistad

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima

Iga arendusprojekti lõppeesmärk on käivitada rakendus tootmisse. DevOpsi maailmas tahame olla täielikult teadlikud kõigist meie keskkonnaga seotud võimalikest probleemidest ning samuti soovime minimeerida käsitsi sekkumist. Rakenduste arendamise nirvaana saavutamiseks on oluline valida õige käitusaja tööriistade komplekt.

Käitusaja tööriistade alamkategooriad:

  • X-as-a-service (XaaS)
  • orkestreering
  • jälgimine
  • metsaraie.

X-tööriist teenusena nr 1

Võitja: Amazon Web Services

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Amazon on alati olnud pilvetehnoloogiate liider, kuid see ei piirdu sellega: arendajatele mõeldud uute teenuste mitmekesisus avab silmi. Tooge mis tahes tehnoloogia ja mall AWS-i ning see luuakse ja töötab. Tööriista hind on üsna mõistlik: võrrelge seda teie enda andmekeskuse seadmete kokkupanemise, haldamise ja hooldamisega. Tasuta versioon võimaldab teil enne raha kulutamist katsetada ja teha õige otsuse.

Peamised eelised

  • Levimus – kui teil on AWS-is rakenduste loomise kogemusi, saate töötada kõikjal. Ettevõtted armastavad AWS-i ja alustavad ettevõtted hindavad ka selle madalat hinda.
  • Tasuta versioon on tõeliselt oluline tegur, mis eristab AWS-i oma kaaslastest. Las ma proovin teenust ja vaatan, kuidas see töötab, enne kui ma ostuotsuse langetan, ma ei taha kulutada tuhandeid dollareid millegi mittevajaliku peale. Tasuta versioonist piisab mulle alati mis tahes kontseptsiooni testimiseks.

konkurentide

Osales lahingus, kuid ei võitnud

Taevasina "Azure on oma esimesest väljalaskest saati teinud pika tee ja see on kiiduväärt. Soov eristuda on aga viinud teenustele kummaliste nimetusteni, mis teeb töö sageli keeruliseks. Mida tähendab "blob storage"? Ja kuigi .NET-kood toimib Microsofti ökosüsteemis paremini, on ebatõenäoline, et kasutate oma rakenduse iga komponendi jaoks ainult .NET-i.

Heroku — Madala usaldusväärsuse ja läbipaistvuse tõttu ei juhiks ma Herokus kunagi midagi muud peale isikliku projekti, seega ei tohiks ettevõtted seda platvormina kasutada. Heroku sobib suurepäraselt millegi ajaveebis demonstreerimiseks, kuid praktiliseks kasutamiseks - "Ei, aitäh!"

#1 Orkestreerimistööriist

Võitja: avatud vahetus

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Tõenäoliselt kasutate oma rakenduste virnas Dockerit või muid konteinereid. Serverita rakendused on suurepärased, kuid need ei pruugi sobida iga arhitektuuriga. Konteinerite käivitamine ilma orkestreerimisplatvormita lihtsalt ei tööta. Kubernetes Core (K8s) on turvalisuse ja tööriistade poolest konkurentsitu. OpenShift on ainus Kubernetesel põhinev platvorm, mis suudab koguda Source2Image'i, toetab automaatset juurutamist kaustadesse ning jälgimist ja jälgimist. OpenShifti saab käivitada kohapeal, pilves või kohapeal ja pilves korraga.

Peamised eelised

  • Sisseehitatud turvalisus – K8-i turbe haldamine võib nõuda kõrgharidust. Iga detail tuleb hoolikalt läbi mõelda ja arvestada! OpenShiftiga vaikimisi sisseehitatud turvamehhanismid võtavad arendajatelt koormuse maha ja pakuvad rakendustele turvalisemat platvormi.
  • Kõik-ühes lahendus – erinevalt tavalistest K8-dest, mis vaikimisi ei sisalda koormuse tasakaalustamise tööriistu, on OpenShiftil kõik olemas. Saan seda kasutada konteinerite loomiseks ja hostimiseks, CI/CD tööriistade käitamiseks, väliste protsesside haldamiseks, võtmete haldamiseks ja paljuks muuks. Kuigi graafiline kasutajaliides pole veel kaugeltki täiuslik, tähendab API-põhine lähenemine, et kõike saab kirjeldada skriptis. Erinevalt teistest K8-de GUI-dest muudab OpenShift Kubernetese põhitõdede õppimise palju lihtsamaks. Sa ei pea isegi kraadi omandama!

konkurentide

Osales lahingus, kuid ei võitnud

Dockeri sülem — Docker Swarm üritas K8-sid lihtsustada, vabanedes paljudest asjadest. See on suurepärane väikeste rakenduste jaoks, kuid ettevõtte rakenduste jaoks see lihtsalt ei tööta. Lisaks kasutavad sellised lahendused nagu AWS ECS sarnast lähenemist, kuid hõlbustavad töötamist teiste teenustega, millega saan samuti suhelda (Lambda, IAM jne).

Seiretööriist nr 1

Võitja: Uus reliikvia

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Uue Relici varajased väljalasked tegid ühe asja hästi – APM (Application Performance Monitoring) monitooringu. See on nüüd täisfunktsionaalne jälgimistööriist, mis võimaldab jälgida serveri, konteineri, andmebaasi jõudlust, lõppkasutaja kogemuse jälgimist ja loomulikult ka rakenduste jõudluse jälgimist.

Peamised eelised

  • Kasutuslihtsus – kui töötasin süsteemiinsenerina, kasutasin paljusid jälgimistööriistu, kuid ma pole kunagi kohanud nii lihtsat ja hõlpsasti kasutatavat kui New Relic. See on SaaS, nii et te ei pea seda ise installima.
  • Täielik nähtavus – muud tööriistad püüavad jälgida teie rakenduse üht konkreetset elementi. Näiteks protsessori kasutuse või võrguliikluse mõõdik, kuid seda kõike tuleb igakülgselt jälgida, et rakendus korralikult töötaks. Uus reliikvia annab teile võimaluse koondada kõik oma andmed, et saada toimuvast terviklik ülevaade.

konkurentide

Osales lahingus, kuid ei võitnud

Zabbix — Minu esimene ja lemmik seiresüsteem, kuid see on jäänud minevikku pilvetehnoloogiate ja APM-i rakenduste jõudluse jälgimise valdkonna vähese arengu tõttu. Zabbix teeb endiselt hästi traditsioonilist serveritaristu jälgimist, kuid see on ka kõik.

DataDog — Liiga keskendumine rakenduse tootmiskeskkonna haldamise protsessile, mitte koodile endale. DevOpsi meeskondadega, mis kaasavad arendajaid, ei pea me tipptasemel toe pakkumiseks lootma raskesti kasutatavatele tööriistadele.

Logimise tööriist nr 1

Võitja: Purustatud

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Splunkiga on raske võistelda! Ta püsib pikka aega metsaraie liidrina, tehes seda jätkuvalt paremini kui keegi teine. Kohapealsete ja SaaS-i pakkumiste abil saate Splunki kasutada kõikjal. Suur miinus on selle hind: Splunk on ikka kuradi kallis!

Peamised eelised

  • Levivus – ettevõtted armastavad Splunki ja ettevõtetel on selle ostmiseks raha.
  • Kuigi idufirmad püüavad kulusid tagasi saada, saab paljusid funktsioone lahendada tänu avatud lähtekoodiga analoogidele.
  • Hooldatavus – lihtsalt öeldes, Splunk töötab ja teeb seda hästi. Sellel on palju vaikesätteid ja kasutusvalmis funktsioone. Pole vaja raisata aega dokumentide lugemisele ja Splunki tööle või millegi dešifreerimisele.

konkurentide

Osales lahingus, kuid ei võitnud

ELK Stack (ElasticSearch, LogStash ja Kibana) "Need tööriistad tunduvad olevat lemmikud, sest nende kasutamiseks ei pea te isegi oma maksa müüma." Palkide komplekti kasvades ja pardal olevate rakenduste arvu suurenedes muutub töö aga aina raskemaks. Võrreldes Splunkiga kulutasin ELK Stackiga tööriistade seadistamisele enne armatuurlaudade loomist palju rohkem aega kui kunagi varem.

Koostöötööriistad

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
DevOps on peamiselt organisatsioonisisese kultuuri muutmine. Ühegi tööriista ostmine ei muuda praegusi tavasid üleöö, kuid see võib kindlasti julgustada koostööd ja uusi suhtlemisviise.

Koostöötööriistade alamkategooriad:

  • ülesannete jälgimine
  • ChatOps
  • dokumentatsioon.

#1 Probleemide jälgimise tööriist

Võitja: Jira

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Jira säilitab oma liidripositsiooni, kuigi konkurents selles valdkonnas kasvab. Jira uskumatu paindlikkus võimaldab arendus- ja hooldusmeeskondadel hallata projektitööd ja sprindiülesandeid. Agile terminoloogiat kasutavad sisseehitatud standardid hõlbustavad üleminekut traditsioonilistelt tööviisidelt tõhusamatele protsessidele.

Peamised eelised

  • Populaarsus – nagu paljusid teisi tööriistu, kasutatakse Jirat peaaegu kõikjal. Väikesed meeskonnad kasutavad odavamat, ligipääsetavamat versiooni ja saavad kõik vajaliku, samas kui suuremad ettevõtted saavad endale lubada kallimat litsentsi.
  • Integratsioonid – Jira on oma ala teerajaja. See asjaolu ja toote kiire areng viib selleni, et teised ettevõtted valivad Jira oma integratsioonide loomiseks, suurendades seeläbi tööriista väärtust. Saame integreerida Jira kõigi selles artiklis loetletud tööriistadega, kasutades väikest konfiguratsiooni.

konkurentide

Osales lahingus, kuid ei võitnud

Trello — Trello saavutas tänu tasuta Kanbani tööriistale kiiresti populaarsuse. Kuid kui protsessid on laienenud ja kümnete ülesannete asemel tuhanded, muutub Trellos navigeerimine, otsimine ja aruandlus keeruliseks.

Pivotal Tracker — Olin selle tööriista suur fänn, kui töötasin idufirmas. Pivotal Tracker on aga rohkem keskendunud tootehaldusele, mitte tehnilistele ülesannetele. Kuigi Jiras on tootehaldus veidi keerulisem, saab seda seal siiski rakendada ilma lisatööriista kasutamata.

ChatOpsi tööriist nr 1

Võitja: MatterMost

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Selgitus: Võib-olla suurim üllatus teile minu valikus ja see on hea uudis! MatterMost saavutas populaarsuse, võttes varasematest tööriistadest parima, kuid pani need valmis. See on ettevõtete jaoks väga oluline: MatterMost võimaldab teil oma andmeid juhtida ja aitab teil neid ka kohapeal töötavate tööriistadega integreerida. Me ei pea enam töövestluste kontrollimiseks tulemüürist välja minema.

Peamised eelised

  • Avatud lähtekoodiga – MatterMosti avatud lähtekoodiga versioon töötab suurepäraselt nii keskmiste kui ka suurte meeskondade jaoks. Erinevalt Slacki tasuta paketist, mis kustutab teie sõnumite ajaloo, tähendab oma serveri käitamine, et säilitate kõik oma andmed.
  • Integratsioonid – kuna API põhineb peaaegu 100% Slacki API-l, saab peaaegu kõiki Slacki integratsioone kasutada otse MatterMostiga.

konkurentide

Osales lahingus, kuid ei võitnud

Lõtv — Slack on lahe, aga need tüübid on nii palju kasvanud, et hakkasid kasumit otsima. Ettevõtluse tasuvusfaas on lähenemas, mis võtab neilt põhiväärtuse: Slack osutas teenuseid tasuta; Tasuta versiooni kõige olulisem puudus on vestlusajaloo kustutamine.

Microsoft Teams — Proovige integreerida Microsofti toode millegagi, mis ei kuulu Microsoftile... Edu! See on kõik, mis mul selle tööriista kohta öelda on!

Dokumentatsioonitööriist nr 1

Võitja: Liitumiskoht

DevOpsi tööriistad, mida kõik peaksid 2020. aastal õppima
Kvaliteetse tehnilise dokumentatsiooni loomine ja säilitamine on keeruline protsess, olenemata sellest, millist tööriista te kasutate. Kuigi viimasel ajal on turule tulnud palju SaaS-i dokumentatsioonitööriistu, oleks mul raske missioonikriitiliste rakenduste tehnilise dokumentatsiooni säilitamist kolmandalt osapoolelt tellida. Eelistatav on andmete ja dokumentide salvestamine kohapeal ja Confluence lahendab selle nii.

Peamised eelised

  • Lihtne kasutada – enamiku eraldiseisvate tööriistade seadistamine ja kasutamine võib olla pisut keeruline ning nende hooldamiseks on vaja teadmisi. Confluence Server töötab suurepäraselt juba 10 või 10,000 XNUMX kasutaja jaoks.
  • Pluginad – aitäh Confluence'ile ilusa ja hõlpsasti kasutatava navigeerimise eest ning võimalus lisada peaaegu kõige jaoks pistikprogramm avab Wiki-laadse potentsiaali.

konkurentide

Osales lahingus, kuid ei võitnud

Lugege dokumente — Lahe avatud lähtekoodiga, kuid ärge isegi mõelge kriitiliste teadmiste siia salvestamisele.

Märgistamine - Suurepärane koodi dokumenteerimiseks, kuid arhitektuuri, protsesside või muud tüüpi dokumentatsiooni postitamine on MarkDowni spetsiifilise vormingu tõttu keeruline.

Jekyll — Tehniliste teadmiste dokumenteerimisel ei taha ma luua uut staatilist saiti, mis võetakse kasutusele iga kord, kui toimub muudatus. Confluence'i lihtne versioonikontrollisüsteem lihtsustab oluliselt sisemist dokumentatsiooni.

Kokkuvõtteks

Turul on sõna otseses mõttes sadu DevOpsi tööriistu, mistõttu on raske teada, milliseid neid kasutada ja millal neid tuleks rakendada. Järgige seda lihtsat juhendit DevOpsi tööriistade valimiseks täieliku CI/CD torujuhtme jaoks.

Valige tööriistad kõigist viiest kategooriast:

  • arendada ja ehitada tööriistu
  • automatiseerimistööriistade testimine
  • juurutamise tööriistad
  • Runtime tööriistad
  • koostöövahendid.

Peamine soovitus: Automatiseeri kõik!

Aitäh Zach Shapiro!

Allikas: www.habr.com

Lisa kommentaar