DevOps-nutsgoed wat almal in 2020 moet leer

Begin vandag met die beste DevOps-nutsgoed!

DevOps-nutsgoed wat almal in 2020 moet leer
Die DevOps-revolusie het uiteindelik die wêreld oorgeneem en DevOps-nutsgoed het ongelooflik gewild geword. Volgens die diens Google Trends, die aantal versoeke vir "DevOps-nutsgoed" groei voortdurend, en hierdie neiging duur voort.

DevOps-metodologie dek die hele sagteware-ontwikkelingslewensiklus, sodat professionele persone uit 'n verskeidenheid instrumente kan kies. Maar, soos u weet, kan geen instrument 'n universele hulpmiddel vir almal word nie. Sommige oplossings bied egter so 'n wye reeks funksies dat hulle feitlik enige taak kan hanteer.

Kom ons verdeel DevOps-nutsgoed in kategorieë en vergelyk dit met analoë:

  • ontwikkeling en bou gereedskap
  • toets outomatisering gereedskap
  • gereedskap om ontplooiing te organiseer
  • Runtime gereedskap
  • samewerkingsinstrumente.

Suksesvolle en deurdagte implementering DevOps-praktisyn sluit instrumente van al vyf groepe hierbo in. Ontleed die huidige stel gereedskap in jou projek om nie 'n belangrike element van die CI/CD-pyplyn te mis nie.

Ontwikkel en bou gereedskap

DevOps-nutsgoed wat almal in 2020 moet leer
Dit is die basis van die CI/CD pyplynstapel. Dit begin alles net hier! Die beste gereedskap in hierdie kategorie kan verskeie gebeurtenisstrome bestuur en maklik met ander produkte integreer.

Op hierdie stadium van die ontwikkelingslewensiklus is daar drie groepe instrumente:

  • weergawebeheerstelsel (SCM)
  • deurlopende integrasie (CI)
  • Databestuur

GIT het 'n positiewe rekord in 2020 gehad, so jou SCM-instrument behoort naatlose ondersteuning vir GIT te hê. Vir CI is 'n voorvereiste die vermoë om bouwerk in 'n geïsoleerde houeromgewing uit te voer en uit te voer. Wanneer dit by databestuur kom, vereis dit die vermoë om veranderinge aan die databasisskema aan te bring en die databasis volgens die toepassingsweergawe in stand te hou.

SCM + CI Gereedskap #1

Wenner: GitLab en GitLab-CI

DevOps-nutsgoed wat almal in 2020 moet leer
Die beste hulpmiddel van die 2020 DevOps-siklus is sonder twyfel GitLab, en dit sal beslis voortgaan om innovasie in die nabye toekoms te lei.

Die hooffunksie van GitLab is om gemaklike bestuur van die Git-bewaarplek te verskaf. Die webkoppelvlak is intuïtief en maklik om te gebruik. GitLab bied alles wat jy nodig het in 'n gratis weergawe en kom as SaaS en on-prem (gebruik jou eie hulpbronne om sagteware aan te bied).

Geen ander SCM-instrument het deurlopende integrasie (CI) direk op u bewaarplek gebruik nie, en GitLab doen dit al lank. Om GitLab-CI te gebruik, moet jy 'n .gitlab-ci.yml-lêer by jou bronkode-wortel voeg, en enige veranderinge aan die projek sal aksies aktiveer gebaseer op presies wat jy gespesifiseer het. GitLab en GitLab-CI word welverdiend erken as leiers op die gebied van deurlopende integrasie (CI-as-kode).

Sleutelvoordele

  • Betroubaarheid - Die produk is sedert 2013 op die mark; stabiel; goed ondersteun.
  • Oopbron - Die gratis weergawe van GitLab beperk nie die kernfunksies wat ontwikkelingspanne benodig nie. Betaalde dienspakkette bied bykomende nuttige kenmerke vir ondernemings van verskillende groottes en behoeftes.
  • Ingewortelde CI - Geen ander instrument op die mark het deurlopende integrasie direk in SCM gebou soos GitLab-CI nie. Die gebruik van Docker verseker moeitevrye geïsoleerde bouwerk, en ingeboude verslae maak ontfouting maklik. Ons benodig nie komplekse integrasie en bestuur van verskeie instrumente op dieselfde tyd nie.
  • Onbeperkte integrasies - GitLab bied maklike integrasie van al die DevOps-nutsgoed wat jy nodig het. Dit verseker dat ontwikkeling- en instandhoudingspanne 'n enkele bron van inligting oor hul toepassing in enige omgewing het.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Daar is ander gewilde instrumente in hierdie kategorie, maar hulle is nie so goed soos GitLab nie. En dit is hoekom:

GitHub — Dit is 'n uitstekende SaaS-weergawebeheerstelsel vir klein ondernemings en vroeë stadiums van ontwikkeling. Vir groot maatskappye waarvoor dit belangrik is om IP-adresse op hul eie netwerk te hou, was die enigste oplossing van GitHub die .OVA virtuele masjien sonder ondersteuning vir hoë beskikbaarheid stelsels. Dit maak on-prem instandhouding moeilik; buitendien is .OVA net geskik vir mediumgrootte besighede, anders sal die bediener bloot onder groter las ineenstort. Die gebrek aan GitHub-aksies (tot onlangs en nog nie in 'n prem-weergawe nie) of CI-as-kode beteken dat jy 'n aparte CI-instrument moet kies en dan daardie integrasie moet bestuur. Ten slotte, GitHub is baie duurder as enige weergawe van GitLab.

Jenkins - Alhoewel Jenkins as standaard beskou word as die standaard onder deurlopende integrasie-instrumente, het dit nog altyd 'n gebrek aan weergawebeheervermoëns gehad. Dit blyk dat jy Jenkins plus 'n soort SCM-instrument gebruik. Dit is te moeilik wanneer GitLab albei kan doen. Middelmatige UX-ontwerp is nie geskik vir 'n moderne webtoepassing nie en laat veel te wense oor.

BitBucket/Bamboes — Ek moet hom erken as 'n outomatiese verloorder: hoekom twee gereedskap wanneer GitLab alles heeltemal onafhanklik doen. BitBucket Cloud ondersteun GitLab-CI / GitHub Action-funksionaliteit, maar geen maatskappy groter as 'n opstart kan dit maklik implementeer nie. Die plaaslike BitBucket-bediener ondersteun nie eers BitBucket-pyplyne nie!

#1 Databestuurnutsmiddel

Wenner: VliegwegDB

DevOps-nutsgoed wat almal in 2020 moet leer
In webtoepassingsontwikkeling word databasisoutomatisering gewoonlik nie belangrik geag nie. Die idee om databasisskemaveranderings vir nuwe weergawes van die toepassing te implementeer, kom laat. Skemaveranderings lei dikwels daartoe dat kolomme of tabelle bygevoeg en hernoem word. As die toepassingweergawe nie ooreenstem met die skemaweergawe nie, kan die toepassing ineenstort. Boonop kan die bestuur van databasisveranderinge tydens die opdatering van 'n toepassing uitdagend wees aangesien daar twee verskillende stelsels is. FlyWayDB los al hierdie probleme op.

Sleutelvoordele

  • Databasisweergawe - Flyway laat jou toe om databasisweergawes te skep, databasismigrasies op te spoor en skemaveranderinge maklik oor te dra of terug te keer sonder 'n bykomende hulpmiddel hiervoor.
  • Binêr of ingebed - Ons kan kies om Flyway te laat loop as deel van die toepassing of as 'n binêre uitvoerbare. Flyway kontroleer weergaweversoenbaarheid by opstart en begin die toepaslike migrasies, hou databasis- en toepassingweergawes gesinchroniseer. Deur die cmd line ad-hoc opdrag uit te voer, bied ons buigsaamheid aan bestaande databasisse sonder om die hele toepassing te herbou.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Daar is nie baie gereedskap in hierdie gebied nie. Kom ons kyk na 'n paar van hulle:

LiquiBase - Liquibase lyk soos FlywayDB. Ek sal dit graag bo-op Flyway wil opstel as ek iemand in my span het met meer ervaring met Liquibase.

Flokker - Kan slegs werk vir houertoepassings. Om houerdatabasisse suksesvol te laat loop, moet alles perfek beplan word. Ek beveel aan om RDS (Relational Database Service) vir databasisse te gebruik en raai nie aan om belangrike inligting in 'n houer te stoor nie.

Toets outomatiese gereedskap

DevOps-nutsgoed wat almal in 2020 moet leer
Kom ons begin ons bespreking van toetsoutomatiseringsinstrumente deur hulle te klassifiseer op grond van die toetspiramide.

Die toetspiramide (toetse) het 4 vlakke:

  • Eenheidstoetse - Dit is die basis van die hele outomatiese toetsproses. Daar behoort meer eenheidstoetse te wees in vergelyking met ander tipes toetse. Ontwikkelaars skryf en voer eenheidtoetse uit om te verseker dat 'n deel van 'n toepassing (bekend as 'n "eenheid") aan sy ontwerp voldoen en optree soos verwag word.
  • Komponenttoetse - Die hoofdoel van komponenttoetsing is om die inset/afvoergedrag van die toetsobjek te verifieer. Ons moet verseker dat die funksionaliteit van die toetsvoorwerp korrek volgens die spesifikasie geïmplementeer word.
  • Integrasietoetse - 'n Tipe toetsing waarin individuele sagtewaremodules gekombineer en as 'n groep getoets word.
  • Einde-tot-einde toetse - Hierdie stap is selfverduidelikend. Ons monitor die hele toepassing en maak seker dit funksioneer soos beplan.

Aangesien eenheidstoetse en komponenttoetse slegs deur ontwikkelaars uitgevoer word en dikwels programmeertaalspesifiek is, sal ons nie hierdie instrumente vir die DevOps-domein evalueer nie.

#1 Integrasietoetsinstrument

Wenner: komkommer

DevOps-nutsgoed wat almal in 2020 moet leer
Komkommer kombineer spesifikasies en toetsdokumentasie in 'n enkele lewende dokument. Die spesifikasies is altyd op datum aangesien dit outomaties deur Cucumber getoets word. As jy 'n outomatiese toetsraamwerk van nuuts af wil bou en gebruikersgedrag in 'n webtoepassing wil modelleer, dan is Selenium WebDriver met Java en Cucumber BDD 'n goeie manier om komkommer in 'n projek te leer en te implementeer.

Sleutelvoordele

  • BDD-benadering (Gedragsgedrewe ontwikkeling - "ontwikkeling deur gedrag" in teenstelling met die "toetsgedrewe ontwikkeling"-benadering) - Komkommer is ontwerp vir BDD-toetsing, dit is oorspronklik vir hierdie einste taak geskep.
  • Lewende dokumentasie - Dokumentasie is altyd 'n pyn! Aangesien jou toetse as kode geskryf word, toets Cucumber die outomaties gegenereerde dokumentasie om te verseker dat die toetse en dokumentasie gesinchroniseer is.
  • Ondersteuning - Ons kan kies uit baie hulpmiddels, maar Cucumber het die nodige finansiële hulpbronne en 'n goed georganiseerde ondersteuningstelsel om gebruikers in enige moeilike situasie te help.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Onder ander raamwerke en tegnologie-spesifieke gereedskap, kan slegs komkommer as 'n universele oplossing beskou word.

End-tot-end-toetsnutsgoed

Wanneer jy end-tot-end-toetsing uitvoer, moet jy op twee sleutelpunte fokus:

  • funksionele toetsing
  • Strestoetsing.

In funksionele toetsing kyk ons ​​of alles wat ons wil hê werklik gebeur. Wanneer ek byvoorbeeld op sekere elemente van my SPA (enkelbladsy-aansoek) klik, die vorms invul en "Stuur" kies, verskyn die data in die databasis en die boodskap "Sukses!" verskyn op die skerm.

Dit is ook vir ons belangrik om seker te maak dat 'n sekere aantal gebruikers wat dieselfde scenario gebruik, sonder foute verwerk kan word.

Die afwesigheid van hierdie 2 tipes toetse sal 'n beduidende nadeel in jou CI/CD pyplyn wees.

#1 end-tot-end-toetsinstrument. Funksionele toetsing

Wenner: SoapUI Pro

DevOps-nutsgoed wat almal in 2020 moet leer
SoapUI is al lank in die API-toetsruimte sedert SOAP-gebaseerde webdienste die standaard was. Alhoewel ons nie meer nuwe SOAP-dienste skep nie en die naam van die instrument nie verander het nie, beteken dit nie dat dit nie ontwikkel het nie. SoapUI bied 'n uitstekende raamwerk vir die skep van outomatiese backend funksionele toetse. Toetse kan maklik gekombineer word met deurlopende integrasie gereedskap en gebruik word as deel van 'n CI/CD pyplyn.

Sleutelvoordele

  • Gedetailleerde dokumentasie - SoapUI is al lankal op die mark, so daar is baie aanlynbronne wat jou kan help om te verstaan ​​hoe om toetse op te stel.
  • Gebruiksgemak - Alhoewel die instrument verskeie protokolle ondersteun vir die toets van API's, maak SoapUI se teenwoordigheid van 'n gemeenskaplike koppelvlak vir verskeie dienste die skryf van toetse makliker.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Selenium is nog 'n wonderlike instrument in hierdie groep. Ek beveel aan om dit te gebruik as jy 'n Java-gebaseerde toepassing bou en bestuur. As u egter 'n volledige webtoepassing met veelvuldige tegnologieë bou, kan dit moeilik wees vir nie-Java-komponente.

#1 end-tot-end-toetsinstrument. Strestoetsing

Wenner: LoadRunner

DevOps-nutsgoed wat almal in 2020 moet leer
Verduideliking: Wanneer dit tyd word om elke element van u toepassing te laai, kan slegs LoadRunner die taak voltooi. Ja, dit is aanvanklik duur en moeilik, maar LoadRunner is die enigste hulpmiddel wat my, as tegniese argitek, volkome vertroue gee dat die nuwe kode onder uiterste lastoestande sal werk. Ek dink ook dit is tyd dat LoadRunner deur ontwikkelingspanne oorgeneem word eerder as om spanne te toets.

Sleutelvoordele

  • Uitgebreide dokumentasie - LoadRunner is al 'n geruime tyd op die mark, so daar is baie aanlyn hulpbronne om jou te help verstaan ​​hoe om vragtoetse op te stel.
  • Protokolondersteuning - Load Runner ondersteun alles van ODBC tot AJAX, HTTPS en enige ander nie-triviale protokol wat u toepassing mag gebruik. Ons probeer om nie veelvuldige gereedskap vir vragtoetsing te gebruik nie, aangesien dit net die proses bemoeilik.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Weereens, daar is nie baie universele gereedskap in hierdie gebied nie, so die beste oplossing is een wat in enige omgewing met enige tegnologie sal werk.

Ontplooiingsnutsgoed

DevOps-nutsgoed wat almal in 2020 moet leer
Ontplooiingsinstrumente is waarskynlik die aspek van ontwikkeling wat die minste verstaan ​​word. Vir 'n bedryfspan sonder 'n diepgaande begrip van die kode en funksionaliteit van die toepassing, is dit moeilik om sulke hulpmiddels te gebruik. Vir ontwikkelaars is ontplooiingsbestuur 'n nuwe verantwoordelikheid, so hulle het nog nie genoeg ondervinding om met sulke nutsmiddels te werk nie.

Eerstens, laat ons alle ontplooiingsnutsgoed in drie subkategorieë verdeel:

  • artefakbestuur
  • konfigurasie bestuur
  • ontplooi.

#1 Artefakbestuursinstrument

Wenner: Nexus

DevOps-nutsgoed wat almal in 2020 moet leer
Die Nexus-artefakbewaarplek ondersteun byna elke groot tegnologie, van Java tot NPM tot Docker. Ons kan hierdie instrument gebruik om al die artefakte wat ons gebruik te stoor. Die volmag van afgeleë pakketbestuurders versnel ook die CI-bouproses aansienlik, wat pakkette meer toeganklik maak vir die bou. Nog 'n voordeel is die vermoë om 'n volledige oorsig te kry van alle pakkette wat in verskeie sagtewareprojekte gebruik word, wat onveilige oopbronpakkette blokkeer (dit kan as 'n aanvalsvektor optree).

Sleutelvoordele

  • Tegniese ondersteuning - Betroubare produk; goed ondersteun.
  • Oopbron - Die gratis weergawe beperk nie die kernfunksies wat ontwikkelingspanne benodig nie.

#1 Konfigurasiebestuurnutsmiddel

Wenner: Ansible

Ansible is 'n leier om een ​​eenvoudige rede: staatloos. Voorheen het soortgelyke instrumente op konfigurasiestaatbestuur gefokus. Wanneer dit van stapel gestuur word, sal so 'n instrument, nadat die verlangde konfigurasie ontvang is, probeer om die huidige toepassingkonfigurasie reg te stel. En met die nuwe benadering is slegs staatlose komponente teenwoordig. Nuwe weergawes van kode is artefakte wat ontplooi word om bestaandes te vervang. Dit kan as 'n soort kortstondige omgewing beskou word.

Sleutelvoordele

  • Staatloos - Die Playbook word vanaf die ontplooiingsmasjien bekendgestel en op die teikenbedieners uitgevoer. Ek hoef nie bekommerd te wees oor die toestand van die afgeleë voorwerp deur 'n instrument soos Packer te gebruik om ontplooibare voorwerpe te skep nie.
  • Oopbron - Soos CentOS, word Ansible ook deur RedHat ondersteun. Dit help om die gemeenskap in stand te hou en bied modules van hoë gehalte, maklik om te gebruik.
  • Toets met Molecule ('n Ansible-raamwerk) - Aangesien konfigurasiebestuur kode is, soos alles anders, is toetsing noodsaaklik. Molecule se Ansible-roltoetsraamwerk werk foutloos en verseker dat die konfigurasie van dieselfde kwaliteit is en dieselfde CI/CD-pyplyn as die toepassingskode volg.
  • YAML - In vergelyking met ander gereedskap, is YAML makliker om te verstaan. Aangesien konfigurasiebestuur tipies 'n nuwe uitdaging is vir diegene wat DevOps-praktyke implementeer, is eenvoud sy troefkaart.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

OpsCode Sjef — Ek het my DevOps-loopbaan as 'n kookboekontwikkelaar begin. Ruby en Chef lê my natuurlik baie na aan die hart, maar hulle los eenvoudig nie die probleme van moderne staatlose, wolk-inheemse toepassings op nie. OpsCode Chef is 'n wonderlike hulpmiddel vir meer tradisionele toepassings, maar in hierdie artikel fokus ons op die toekoms.

Puppet — Puppet het nog nooit baie aanhangers gehad nie, veral in vergelyking met Chef en Ansible. Dit is wonderlik vir voorsiening en werk met hardeware, maar dit het nie moderne konfigurasiebestuursteun vir 'n webtoepassing nie.

Ontplooiingsnutsding #1

Wenner: terraform

DevOps-nutsgoed wat almal in 2020 moet leer
Terraform los die probleem op om u infrastruktuur as kode te beskryf, van netwerkkomponente tot volledige bedienerbeelde. Hierdie produk het 'n lang pad gestap sedert sy aanvanklike vrystelling, met soveel inproppe wat geskep is en so 'n sterk gemeenskap gebou dat jy seker sal wees om hulp te kry in enige ontplooiingscenario. Die vermoë om enige tipe omgewing te ondersteun (op die perseel, in die wolk of elders) is ongeëwenaard. Laastens bied die nuutste weergawe baie van dieselfde logiese funksies en klasse in HCL as enige ander tradisionele programmeertaal, wat Terraform maklik maak vir ontwikkelaars om vinnig en maklik te begryp.

Sleutelvoordele

  • Omgewingsagnosties - Terraform gebruik funksies wat optree as 'n koppelvlak tussen jou Terraform-kode, alle API's en interne logika om met die infrastruktuurverskaffer te kommunikeer. Dit beteken dat ek net een instrument sal bemeester en dan enige plek kan werk.
  • Oopbron - Dit is moeilik om gratis gereedskap te klop! Gemeenskapsondersteuning op die hoogste vlak.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

AWS Wolk Formasie - Selfs as jy net in die AWS-wolkomgewing werk, kan jou volgende werk 'n ander hulpmiddel gebruik. Om al jou tyd en energie aan net een platform te wy, is 'n kortsigtige besluit. Boonop is baie nuwe AWS-dienste dikwels as Terraform-modules beskikbaar voordat dit in CloudFormation beskikbaar is.

Runtime gereedskap

DevOps-nutsgoed wat almal in 2020 moet leer

Die uiteindelike doel van enige ontwikkelingsprojek is om die toepassing in produksie te begin. In die DevOps-wêreld wil ons ten volle bewus wees van alle moontlike probleme met ons omgewing, en ons wil ook handmatige ingryping tot die minimum beperk. Die keuse van die regte stel runtime-nutsgoed is noodsaaklik om toepassingsontwikkeling-nirvana te bereik.

Subkategorieë van runtime-nutsgoed:

  • X-as-'n-diens (XaaS)
  • orkestrasie
  • monitering
  • aanteken.

X-gereedskap-as-'n-diens #1

Wenner: Amazon Web Services

DevOps-nutsgoed wat almal in 2020 moet leer
Amazon was nog altyd 'n leier in wolktegnologie, maar dit stop nie daar nie: die verskeidenheid nuwe dienste vir ontwikkelaars is oogopenend. Bring enige tegnologie en sjabloon na AWS en dit sal gebou en loop. Die koste van die instrument is redelik: vergelyk dit met die samestelling, bestuur en instandhouding van toerusting in u eie datasentrum. Die gratis weergawe laat jou toe om te eksperimenteer en die regte besluit te neem voordat jy geld spandeer.

Sleutelvoordele

  • Voorkoms - As jy ondervinding het om toepassings in AWS te bou, kan jy enige plek werk. Besighede is mal oor AWS, en beginners waardeer ook die lae koste daarvan.
  • Die gratis weergawe is 'n werklik belangrike faktor wat AWS onderskei van sy eweknieë. Laat ek die diens probeer en kyk hoe dit werk voordat ek 'n aankoopbesluit neem, ek wil nie duisende dollars spandeer op iets onnodig nie. Die gratis weergawe is altyd genoeg vir my om enige konsep te toets.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Blou "Azure het 'n lang pad gestap sedert sy eerste vrystelling, en dit is prysenswaardig. Die begeerte om anders te wees het egter gelei tot vreemde name vir dienste, wat die werk dikwels bemoeilik. Wat beteken "blob-berging"? En hoewel .NET-kode beter presteer in die Microsoft-ekosisteem, is dit onwaarskynlik dat jy net .NET vir elke komponent van jou toepassing sal gebruik.

Heroku — Ek sal nooit iets anders as 'n persoonlike projek op Heroku bedryf nie weens die lae vlak van betroubaarheid en deursigtigheid, so maatskappye moet dit nie as 'n platform gebruik nie. Heroku is wonderlik om iets op 'n blog te demonstreer, maar vir praktiese gebruik - "Nee, dankie!"

#1 Orkestrasie-instrument

Wenner: oopskuif

DevOps-nutsgoed wat almal in 2020 moet leer
Jy gebruik waarskynlik Docker of ander houers in jou toepassingstapel. Bedienerlose toepassings is wonderlik, maar hulle pas dalk nie by elke argitektuur nie. Om houers sonder 'n orkestrasieplatform te laat loop, sal eenvoudig nie werk nie. Kubernetes Core (K8s) is ongeëwenaard in terme van sekuriteit en gereedskap. OpenShift is die enigste Kubernetes-gebaseerde platform wat Source2Image kan versamel, ondersteun outomatiese ontplooiing na peule, en ondersteun dop en monitering. OpenShift kan op die eerste plek, in die wolk, of op die eerste plek en in die wolk gelyktydig uitgevoer word.

Sleutelvoordele

  • Ingeboude sekuriteit - Die bestuur van K8s sekuriteit kan 'n gevorderde graad vereis. Elke detail moet noukeurig deurdink en in ag geneem word! Die sekuriteitsmeganismes wat by verstek by OpenShift ingebou is, neem die las van ontwikkelaars af en bied 'n veiliger platform vir toepassings.
  • Alles-in-een-oplossing - Anders as die basiese K8's, wat nie by verstek lasbalanseringsinstrumente insluit nie, het OpenShift dit alles. Ek kan dit gebruik om houers te skep en te huisves, CI/CD-nutsmiddels uit te voer, eksterne prosesse te bestuur, sleutels te bestuur, en nog baie meer. Alhoewel die grafiese gebruikerskoppelvlak nog ver van perfek is, beteken die API-gebaseerde benadering dat alles in 'n skrif beskryf kan word. Anders as ander GUI's vir K8's, maak OpenShift die leer van die basiese beginsels van Kubernetes baie makliker. Jy hoef nie eers 'n graad te kry nie!

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Docker -swerm - Docker Swarm het probeer om K8's te vereenvoudig deur van baie dinge ontslae te raak. Dit is wonderlik vir klein toepassings, maar vir ondernemingstoepassings werk dit net nie. Boonop volg oplossings soos AWS ECS 'n soortgelyke benadering, maar maak dit makliker om met ander dienste te werk waarmee ek ook interaksie kan hê (Lambda, IAM, ens.).

Moniteringsinstrument #1

Wenner: Nuwe oorblyfsel

DevOps-nutsgoed wat almal in 2020 moet leer
Vroeë vrystellings van New Relic het een ding goed gedoen - APM (Application Performance Monitoring) monitering. Dit is nou 'n volledige moniteringsinstrument waarmee u bediener-, houer-, databasiswerkverrigting, eindgebruikerservaringmonitering en natuurlik toepassingsprestasiemonitering kan monitor.

Sleutelvoordele

  • Gebruiksgemak - Toe ek as 'n stelselingenieur gewerk het, het ek baie moniteringsinstrumente gebruik, maar ek het nog nooit een teëgekom wat so eenvoudig en maklik is om te gebruik soos New Relic nie. Dit is SaaS, so jy hoef dit nie self te installeer nie.
  • End-to-end sigbaarheid - Ander instrumente probeer om een ​​spesifieke element van jou toepassing te monitor. Byvoorbeeld, 'n maatstaf van verwerkergebruik of netwerkverkeer, maar dit alles moet omvattend gemonitor word vir die toepassing om korrek te werk. New Relic gee jou die vermoë om al jou data bymekaar te bring om 'n omvattende oorsig te kry van wat gebeur.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Zabbix — My eerste en gunsteling moniteringstelsel, maar dit het in die verlede gebly weens die gebrek aan ontwikkeling in wolktegnologieë en op die gebied van APM-toepassingsprestasiemonitering. Zabbix doen steeds tradisionele bedienerinfrastruktuurmonitering goed, maar dit is omtrent dit.

DataDog — Te veel gefokus op die proses om die produksie-omgewing van die toepassing te bestuur, en nie op die kode self nie. Met DevOps-spanne wat ontwikkelaars betrek, hoef ons nie staat te maak op moeilik-om-te gebruik nutsgoed om uitstekende ondersteuning te bied nie.

Tekenhulpmiddel #1

Wenner: Splunk

DevOps-nutsgoed wat almal in 2020 moet leer
Dit is moeilik om met Splunk mee te ding! Vir 'n lang tyd bly hy die leier in houtkappery, en gaan voort om dit beter te doen as enigiemand anders. Met on-prem en SaaS-aanbiedinge kan jy Splunk enige plek gebruik. Die groot nadeel is die prys daarvan: Splunk is steeds vrek duur!

Sleutelvoordele

  • Omvangrykheid – Besighede hou van Splunk, en maatskappye het die geld om dit te koop.
  • Alhoewel startups probeer om koste te verhaal, kan baie funksies opgelos word danksy oopbron-analoë.
  • Onderhoubaarheid - Eenvoudig gestel, Splunk werk en doen dit goed. Dit kom met baie verstek instellings en funksies gereed om te gebruik. Jy hoef nie tyd te mors om dokumentasie te lees en Splunk aan die werk te kry of enigiets te ontsyfer nie.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

ELK Stack (ElasticSearch, LogStash en Kibana) "Hierdie gereedskap blyk die gunstelinge te wees, want jy hoef nie eers jou lewer te verkoop om dit te gebruik nie." Soos die stel logs egter groei en die aantal aansoeke aan boord toeneem, word die werk al hoe moeiliker. In vergelyking met Splunk, het ek met ELK Stack baie meer tyd spandeer om die gereedskap op te stel voordat ek enige dashboards geskep het as wat ek ooit tevore gehad het.

Gereedskap vir samewerking

DevOps-nutsgoed wat almal in 2020 moet leer
DevOps gaan hoofsaaklik daaroor om die kultuur binne 'n organisasie te verander. Die aankoop van enige instrument sal nie die huidige praktyke oornag verander nie, maar dit kan beslis samewerking en nuwe maniere van interaksie aanmoedig.

Subkategorieë van samewerkingsinstrumente:

  • taakopsporing
  • ChatOps
  • dokumentasie.

#1 Uitgaweopsporingsinstrument

Wenner: jira

DevOps-nutsgoed wat almal in 2020 moet leer
Jira behou sy leiersposisie, hoewel mededinging op hierdie gebied toeneem. Jira se ongelooflike buigsaamheid stel ontwikkeling- en instandhoudingspanne in staat om projekwerk en naellooptake te bestuur. Ingeboude standaarde wat Agile-terminologie gebruik, maak dit makliker om van tradisionele maniere van werk na meer doeltreffende prosesse te beweeg.

Sleutelvoordele

  • Gewildheid - Soos baie ander gereedskap, word Jira byna oral gebruik. Klein spanne gebruik die goedkoper, meer toeganklike weergawe en kry alles wat hulle nodig het, terwyl groter maatskappye ’n duurder lisensie kan bekostig.
  • Integrasies - Jira is 'n pionier op sy gebied. Hierdie feit en die vinnige ontwikkeling van die produk lei daartoe dat ander maatskappye Jira kies om hul eie integrasies te skep en sodoende die waarde van die instrument te verhoog. Ons kan Jira uit die boks integreer met al die gereedskap wat in hierdie artikel gelys word, met 'n bietjie konfigurasie.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Trello - Trello het vinnig gewild geword danksy sy gratis Kanban-instrument. Sodra prosesse egter skaal en jy gaan van dosyne take na duisende, word Trello moeilik om te navigeer, te soek en oor verslag te doen.

Draaibare Tracker — Ek was 'n groot aanhanger van hierdie instrument toe ek vir 'n beginneronderneming gewerk het. Pivotal Tracker is egter meer gefokus op produkbestuur eerder as tegniese take. Alhoewel produkbestuur in Jira 'n bietjie meer kompleks is, kan dit steeds daar geïmplementeer word sonder om 'n bykomende hulpmiddel te gebruik.

ChatOps-nutsding #1

Wenner: MatterMost

DevOps-nutsgoed wat almal in 2020 moet leer
Verduideliking: Miskien die grootste verrassing vir jou in my keuse, en dit is goeie nuus! MatterMost het gewild geword deur die beste uit vorige nutsmiddels te neem, maar dit op die eerste plek te plaas. Dit is baie belangrik vir maatskappye: MatterMost laat jou toe om jou data te beheer en help jou ook om dit te integreer met gereedskap wat plaaslik loop. Ons hoef nie meer buite die firewall te gaan om werkkletse na te gaan nie.

Sleutelvoordele

  • Oopbron – Die oopbronweergawe van MatterMost werk uitstekend vir beide medium en groot spanne. Anders as Slack se gratis plan, wat jou boodskapgeskiedenis uitvee, beteken die bestuur van jou eie bediener dat jy al jou data behou.
  • Integrasies - Aangesien die API amper 100% gebaseer is op die Slack API, kan byna alle Slack-integrasies direk met MatterMost gebruik word.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Slack — Slack is gaaf, maar hierdie ouens het so gegroei dat hulle wins begin soek het. Die terugbetalingsfase van die besigheid kom nader, wat hul hoofwaarde wegneem: Slack verskaf dienste gratis; Die belangrikste nadeel van die gratis weergawe is die verwydering van kletsgeskiedenis.

Microsoft Teams — Probeer om 'n Microsoft-produk te integreer met iets wat nie deur Microsoft besit word nie... Sterkte! Dit is al wat ek oor hierdie instrument te sê het!

Dokumentasiehulpmiddel #1

Wenner: Samevloeiing

DevOps-nutsgoed wat almal in 2020 moet leer
Die skep en instandhouding van kwaliteit tegniese dokumentasie is 'n komplekse proses, maak nie saak watter instrument jy gebruik nie. Alhoewel baie SaaS-dokumentasie-instrumente onlangs in die mark gekom het, sal ek dit moeilik vind om die berging van tegniese dokumentasie oor missie-kritieke toepassings aan 'n derde party uit te kontrakteer. Dit is verkieslik om data en dokumente on-prem te stoor, en dit is hoe Confluence dit oplos.

Sleutelvoordele

  • Maklik om te bedryf - Die meeste alleenstaande gereedskap kan 'n bietjie ingewikkeld wees om op te stel en te bedryf en vereis 'n mate van kennis om in stand te hou. Confluence Server werk uitstekend vir 10 of 10,000 XNUMX gebruikers.
  • Inproppe - Kudos aan Confluence vir die pragtige, maklik-om-te-gebruik navigasie uit die boks, en die vermoë om 'n inprop vir byna alles by te voeg, ontsluit Wiki-agtige potensiaal.

mededingers

Aan die stryd deelgeneem, maar nie gewen nie

Lees die dokumente — Cool vir oopbron, maar moenie eers daaraan dink om kritiese kennis hier te stoor nie.

Afslag - Ideaal vir die dokumentasie van kode, maar moeilik om argitektuur, prosesse of ander tipes dokumentasie te plaas as gevolg van MarkDown se spesifieke formatering.

Jekyll — Wanneer ek tegniese kennis dokumenteer, wil ek nie 'n nuwe statiese webwerf skep wat ontplooi sal word elke keer as daar 'n verandering is nie. Confluence se eenvoudige weergawebeheerstelsel vereenvoudig interne dokumentasie aansienlik.

Som op

Daar is letterlik honderde DevOps-instrumente op die mark, wat dit moeilik maak om te weet watter om te gebruik en wanneer hulle geïmplementeer moet word. Volg hierdie eenvoudige gids om DevOps-nutsmiddels te kies vir 'n volledige CI/CD-pyplyn.

Maak seker dat u gereedskap uit al vyf kategorieë kies:

  • ontwikkeling en bou gereedskap
  • toets outomatisering gereedskap
  • ontplooiingsgereedskap
  • Runtime gereedskap
  • samewerkingsinstrumente.

Hoof aanbeveling: Outomatiseer alles!

Dankie Zach Shapiro!

Bron: will.com

Voeg 'n opmerking