DevOps tresnak 2020an denek ikasi beharko lituzkete

Hasi gaur DevOps tresna onenak erabiltzen!

DevOps tresnak 2020an denek ikasi beharko lituzkete
DevOps iraultzak mundua bereganatu du azkenean eta DevOps tresnak izugarri ezagunak egin dira. Zerbitzuaren arabera Google Trends, "DevOps tresnen" eskaera kopurua etengabe hazten ari da, eta joera horrek jarraitzen du.

DevOps metodologiak softwarearen garapenaren bizi-ziklo osoa hartzen du, beraz, profesionalek hainbat tresnaren artean aukera dezakete. Baina, dakizuenez, ezin da tresna unibertsala bihurtu guztiontzat. Hala ere, irtenbide batzuek funtzio sorta zabala eskaintzen dute ia edozein zeregin kudeatzeko.

Bana ditzagun DevOps tresnak kategorietan eta aldera ditzagun analogoekin:

  • tresnak garatzea eta eraikitzea
  • probak automatizatzeko tresnak
  • hedapena antolatzeko tresnak
  • Exekutatzeko tresnak
  • lankidetza tresnak.

Ezarpen arrakastatsua eta pentsakorra DevOps praktikatzailea goian zerrendatutako bost taldeetako instrumentuak biltzen ditu. Aztertu zure proiektuko egungo tresna multzoa, CI/CD kanalaren elementu garrantzitsu bat ez galtzeko.

Garapen eta Eraikitzeko Tresnak

DevOps tresnak 2020an denek ikasi beharko lituzkete
Hau da CI/CD kanalizazio pilaren oinarria. Hementxe hasten da dena! Kategoria honetako tresna onenek hainbat gertaera-korronte kudea ditzakete eta beste produktu batzuekin erraz integra daitezke.

Garapenaren bizi-zikloaren fase honetan, hiru tresna talde daude:

  • bertsioak kontrolatzeko sistema (SCM)
  • etengabeko integrazioa (CI)
  • Datuen kudeaketa

GIT-ek ibilbide positiboa izan du 2020an, beraz, zure SCM tresnak GIT-rako laguntza ezin hobea izan beharko luke. CIrentzat, aurrebaldintza bat edukiontzi isolatu-ingurunean eraikuntzak exekutatu eta exekutatzeko gaitasuna da. Datuen kudeaketari dagokionez, datu-basearen eskeman aldaketak egiteko eta aplikazioaren bertsioaren arabera datu-basea mantentzeko gaitasuna eskatzen du.

SCM + CI tresna #1

Irabazlea: GitLab eta GitLab-CI

DevOps tresnak 2020an denek ikasi beharko lituzkete
2020ko DevOps zikloko tresnarik onena GitLab da, zalantzarik gabe, eta etorkizun hurbilean berrikuntza gidatzen jarraituko du zalantzarik gabe.

GitLab-en funtzio nagusia Git biltegi baten kudeaketa erosoa eskaintzea da. Web interfazea intuitiboa eta erabiltzeko erraza da. GitLab-ek behar duzun guztia eskaintzen du doako bertsioan eta SaaS gisa eta on-prem (zure baliabideak erabiliz softwarea ostatatzeko).

Beste SCM tresnarik ez du erabili etengabeko integrazioa (CI) zuzenean zure biltegian, eta GitLab-ek denbora luzez egiten du hori. GitLab-CI erabiltzeko, .gitlab-ci.yml fitxategi bat gehitu behar duzu iturburu-kodearen erroan, eta proiektuan egiten den edozein aldaketak zehaztutakoaren araberako ekintzak eragingo ditu. GitLab eta GitLab-CI etengabeko integrazioaren (CI-as-code) lider gisa aitortzen dira.

Funtsezko Abantailak

  • Fidagarritasuna - Produktua 2013tik dago merkatuan; egonkorra; ondo lagunduta.
  • Kode irekia - GitLab-en doako bertsioak ez du mugatzen garapen-taldeek behar duten oinarrizko funtzionaltasuna. Ordainpeko zerbitzu-paketeek tamaina eta behar ezberdinetako enpresentzako funtzio erabilgarriak eskaintzen dituzte.
  • Engrained CI - Merkatuko beste tresna batek ez du etengabeko integrazioa zuzenean SCM-n eraiki GitLab-CI bezala. Docker erabiltzeak arazorik gabeko eraikuntza isolatuak ziurtatzen ditu, eta integratutako txostenek arazketa erraza egiten dute. Ez dugu aldi berean tresna anitzen integrazio eta kudeaketa konplexurik behar.
  • Integrazio mugagabeak - GitLab-ek behar dituzun DevOps tresna guztiak erraz integratzen ditu. Horrela, garapen- eta mantentze-taldeek edozein ingurunetan beren aplikazioari buruzko informazio iturri bakarra dutela ziurtatzen du.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Kategoria honetan beste tresna ezagun batzuk daude, baina ez dira GitLab bezain onak. Eta horregatik:

GitHub β€” Hau SaaS bertsioen kontrol sistema bikaina da enpresa txikientzat eta garapenaren hasierako faseentzat. IP helbideak beren sarean mantentzea garrantzitsua den enpresa handientzat, GitHub-en irtenbide bakarra .OVA makina birtuala izan zen erabilgarritasun handiko sistemetarako laguntzarik gabe. Honek tokiko mantentze-lanak zailtzen ditu, gainera, .OVA enpresa ertainentzat bakarrik da egokia, bestela zerbitzaria karga handiagoarekin huts egingo du. GitHub Ekintzak (duela gutxi arte eta oraindik ez dagoen bertsio lokal batean) edo CI-as-code ezak esan nahi du CI tresna bereizi bat aukeratu behar duzula eta gero integrazio hori kudeatu. Azkenik, GitHub GitLab-en bertsio biak baino askoz garestiagoa da.

Jenkins β€” Jenkins lehenespenez etengabeko integrazio tresnen artean estandartzat hartzen den arren, beti izan ditu bertsioak kontrolatzeko gaitasunik. Jenkins gehi SCM tresnaren bat erabiltzen ari zarela ematen du. Zailegia da GitLab-ek biak egin ditzakeenean. UX diseinu kaskarra ez da egokia web-aplikazio moderno baterako eta asko uzten du.

BitBucket/Banbu β€” Galtzaile automatiko gisa aitortu behar dut: zergatik bi tresna GitLab-ek dena guztiz independentean egiten duenean. BitBucket Cloud-ek GitLab-CI / GitHub Action funtzionaltasuna onartzen du, baina abiarazte batek baino enpresa handiagoak ezin du erraz inplementatu. Tokiko BitBucket zerbitzariak ez ditu BitBucket kanalizazioak ere onartzen!

# 1 Datuak kudeatzeko tresna

Irabazlea: FlywayDB

DevOps tresnak 2020an denek ikasi beharko lituzkete
Web aplikazioen garapenean, datu-baseen automatizazioari ez zaio normalean garrantzirik ematen. Aplikazioaren bertsio berrietarako datu-basearen eskema aldaketak zabaltzeko ideia berandu dator. Eskema aldaketek askotan zutabeak edo taulak gehitu eta izena aldatzen dute. Aplikazioaren bertsioa eskemaren bertsioarekin bat ez badator, baliteke aplikazioa huts egitea. Gainera, aplikazio bat eguneratzean datu-baseen aldaketak kudeatzea zaila izan daiteke, bi sistema desberdin baitaude. FlyWayDB-k arazo hauek guztiak konpontzen ditu.

Funtsezko Abantailak

  • Datu-basearen bertsioa - Flyway-k datu-baseen bertsioak sortzeko, datu-baseen migrazioen jarraipena egiteko eta eskema-aldaketak erraz transferitzeko edo berrezartzeko aukera ematen du horretarako tresna gehigarririk gabe.
  • Binarioa edo txertatua - Flyway aplikazioaren zati gisa edo exekutagarri bitar gisa exekutatu aukera dezakegu. Flyway-k bertsioen bateragarritasuna egiaztatzen du abiaraztean eta migrazio egokiak hasten ditu, datu-base eta aplikazioen bertsioak sinkronizatuta mantenduz. cmd line ad-hoc komandoa exekutatuz, dauden datu-baseei malgutasuna eskaintzen diegu aplikazio osoa berreraiki gabe.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Arlo honetan ez dago tresna askorik. Ikus ditzagun horietako batzuk:

LiquiBase - Liquibasek FlywayDB-ren antza du. Flyway-ren gainean konfiguratu nahiko nuke nire taldean Liquibase-rekin esperientzia handiagoa duen norbait izango banu.

Flocker - Edukiontzidun aplikazioetarako bakarrik funtziona dezake. Edukiontzidun datu-baseak arrakastaz exekutatzeko, dena primeran planifikatu behar da. Datu-baseetarako RDS (Relational Database Service) erabiltzea gomendatzen dut eta ez dut gomendatzen informazio garrantzitsua edukiontzi batean gordetzea.

Proba automatizatzeko tresnak

DevOps tresnak 2020an denek ikasi beharko lituzkete
Has gaitezen probak automatizatzeko tresnei buruzko eztabaida probaren piramidearen arabera sailkatuz.

Proba-piramideak (probak) 4 maila ditu:

  • Unitate-probak - Hau da proba automatizatuen prozesu osoaren oinarria. Unitate-proba gehiago egon beharko lirateke beste proba mota batzuekin alderatuta. Garatzaileek unitate-probak idazten eta exekutatzen dituzte aplikazio baten zati bat ("unitate gisa ezagutzen dena") diseinuarekin bat datorrela eta espero bezala jokatzen duela ziurtatzeko.
  • Osagaien probak - Osagaien proben helburu nagusia probako objektuaren sarrera/irteera portaera egiaztatzea da. Proba-objektuaren funtzionaltasuna zehaztapenaren arabera behar bezala inplementatzen dela ziurtatu behar dugu.
  • Integrazio-probak - Software-modulu indibidualak taldean konbinatzen eta probatzen diren proba mota bat.
  • Bukaerako probak - Urrats hau berez azaltzen da. Aplikazio osoa kontrolatzen dugu eta aurreikusitako moduan funtzionatzen duela ziurtatzen dugu.

Unitate-probak eta osagaien probak garatzaileek soilik egiten dituztenez eta askotan programazio-lengoaiaren espezifikoak direnez, ez ditugu tresna hauek DevOps domeinurako ebaluatuko.

# 1 Integrazio probak egiteko tresna

Irabazlea: pepino

DevOps tresnak 2020an denek ikasi beharko lituzkete
Pepinoak zehaztapenak eta probaren dokumentazioa konbinatzen ditu dokumentu bizi bakar batean. Zehaztapenak beti eguneratuta daude, Cucumber-ek automatikoki probatzen baititu. Proba-esparru automatizatu bat sortu nahi baduzu hutsetik eta erabiltzailearen portaera eredua web aplikazio batean, orduan Selenium WebDriver Java eta Cucumber BDD-ekin modu bikaina da Pepinoa proiektu batean ikasteko eta ezartzeko.

Funtsezko Abantailak

  • BDD ikuspegia (Behavior Driven Development - "portaeraren bidezko garapena" "probak bultzatutako garapena" ikuspegiaren aldean) - Pepinoa BDD probak egiteko diseinatuta dago, jatorriz zeregin horretarako sortu zen.
  • Bizi dokumentazioa - Dokumentazioa beti da mina! Zure probak kode gisa idatzita daudenez, Cucumber-ek automatikoki sortutako dokumentazioa probatzen du probak eta dokumentazioa sinkronizatuta daudela ziurtatzeko.
  • Laguntza - Tresna askoren artean aukeratu dezakegu, baina Cucumber-ek beharrezko baliabide ekonomikoak eta ongi antolatutako laguntza-sistema ditu erabiltzaileei edozein egoera zailetan laguntzeko.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Beste esparru eta teknologia espezifikoko tresnen artean, Pepinoa bakarrik har daiteke irtenbide unibertsaltzat.

Amaierako Proba-tresnak

Muturreko probak egiterakoan, bi puntu nagusitan zentratu behar duzu:

  • proba funtzionalak
  • Estres probak.

Proba funtzionaletan, nahi dugun guztia benetan gertatzen den egiaztatzen dugu. Adibidez, nire SPAko zenbait elementutan klik egiten dudanean (orri bakarreko aplikazioa), formularioak bete eta "Bidali" aukeratzen dudanean, datuak datu-basean agertzen dira eta pantailan "Arrakasta!" mezua agertzen da.

Garrantzitsua da guretzat ere egiaztatzea egoera bera exekutatzen ari diren erabiltzaile kopuru jakin bat errorerik gabe prozesatu daitekeela.

2 proba mota hauek ez izatea eragozpen garrantzitsua izango da zure CI/CD kanalizazioan.

# 1 amaierako probak egiteko tresna. Proba funtzionalak

Irabazlea: SoapUI Pro

DevOps tresnak 2020an denek ikasi beharko lituzkete
SoapUI denbora luzez egon da API proban SOAP oinarritutako web zerbitzuak estandarrak zirenetik. Jada SOAP zerbitzu berriak sortzen ez ditugun arren eta tresnaren izena aldatu ez den arren, horrek ez du esan nahi eboluzionatu ez duenik. SoapUI-k marko bikaina eskaintzen du backend proba funtzional automatizatuak sortzeko. Probak erraz konbina daitezke etengabeko integrazio tresnekin eta CI/CD kanalizazio baten zati gisa erabil daitezke.

Funtsezko Abantailak

  • Dokumentazio zehatza - SoapUI denbora luzez dago merkatuan, beraz, probak nola konfiguratu ulertzen lagunduko dizuten sareko baliabide asko daude.
  • Erabilera erraztasuna - Tresnak APIak probatzeko protokolo anitz onartzen dituen arren, SoapUI-k zerbitzu anitzetarako interfaze komun bat egoteak probak idaztea errazten du.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Selenium talde honetako beste tresna handi bat da. Javan oinarritutako aplikazio bat eraikitzen eta exekutatzen ari bazara erabiltzea gomendatzen dut. Hala ere, teknologia anitzekin web aplikazio osoa eraikitzen ari bazara, Java ez diren osagaietarako zaila izan daiteke.

# 1 amaierako probak egiteko tresna. Estres probak

Irabazlea: LoadRunner

DevOps tresnak 2020an denek ikasi beharko lituzkete
azalpena: Zure aplikazioko elementu guztiak probatzeko unea iristen denean, LoadRunner-ek bakarrik bete dezake zeregina. Bai, hasieran garestia eta zaila da, baina LoadRunner da, arkitekto tekniko gisa, kode berriak muturreko karga baldintzetan funtzionatuko duela ziurtasun osoa ematen didan tresna bakarra. Gainera, uste dut badela garaia LoadRunner garapen-taldeek bereganatzea, proba-taldeak baino.

Funtsezko Abantailak

  • Dokumentazio zabala - LoadRunner denbora dezente dago merkatuan, beraz, sareko baliabide asko daude karga-probak nola konfiguratu ulertzen laguntzeko.
  • Protokoloaren euskarria - Load Runner-ek dena onartzen du ODBCtik AJAXera, HTTPS eta zure aplikazioak erabil dezakeen beste edozein protokolo ez hutsala. Karga probak egiteko hainbat tresna ez erabiltzen saiatzen gara, horrek prozesua zaildu besterik ez baitu egiten.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Berriz ere, ez dago tresna unibertsal asko arlo honetan, beraz, irtenbiderik onena edozein ingurunetan funtzionatuko duen teknologia da.

Hedatzeko tresnak

DevOps tresnak 2020an denek ikasi beharko lituzkete
Inplementazio-tresnak dira ziurrenik garapenaren alderdi gutxien ulertzen direnak. Aplikazioaren kodea eta funtzionaltasuna sakon ulertzen ez duen operazio-talde batentzat, zaila da tresna horiek erabiltzea. Garatzaileentzat, inplementazioaren kudeaketa ardura berria da, beraz, oraindik ez dute horrelako tresnekin lan egiteko behar adina esperientzia.

Lehenik eta behin, zati ditzagun hedapen-tresna guztiak hiru azpikategoriatan:

  • artefaktuen kudeaketa
  • konfigurazio kudeaketa
  • zabaldu.

# 1 Artefaktuak kudeatzeko tresna

Irabazlea: Nexus

DevOps tresnak 2020an denek ikasi beharko lituzkete
Nexus artefaktuen biltegiak ia teknologia nagusi guztiak onartzen ditu, Javatik NPMra Dockerreraino. Tresna hau erabil dezakegu erabiltzen ditugun artefaktu guztiak gordetzeko. Urruneko paketeen kudeatzaileen proxy-ak ere nabarmen bizkortzen du CI eraikitzeko prozesua, paketeak eraikitzeko eskuragarriago bihurtuz. Beste abantaila bat hainbat software proiektutan erabiltzen diren pakete guztien ikuspegi osoa lortzeko gaitasuna da, kode irekiko pakete seguruak blokeatuz (eraso bektore gisa jar dezakete).

Funtsezko Abantailak

  • Laguntza teknikoa - Produktu fidagarria; ondo lagunduta.
  • Kode irekia - Doako bertsioak ez du mugatzen garapen taldeek behar dituzten oinarrizko funtzionaltasunak.

# 1 Konfigurazioa kudeatzeko tresna

Irabazlea: Ansible

Ansible liderra da arrazoi sinple batengatik: aberrigabea. Aurretik, antzeko tresnak konfigurazio egoeraren kudeaketan zentratu ziren. Abian jartzen denean, tresna hori, nahi den konfigurazioa jasota, uneko aplikazioaren konfigurazioa zuzentzen saiatuko da. Eta ikuspegi berriarekin, estaturik gabeko osagaiak bakarrik daude presente. Kodearen bertsio berriak lehendik daudenak ordezkatzeko zabaltzen diren artefaktuak dira. Hau epe laburreko ingurune iragankortzat har daiteke.

Funtsezko Abantailak

  • Estaturik gabekoa - Playbook inplementazio makinatik abiarazten da eta helburuko zerbitzarietan exekutatzen da. Ez dut urruneko objektuaren egoeraz kezkatu behar Packer bezalako tresna bat erabiliz objektu hedagarriak sortzeko.
  • Kode irekia - CentOS bezala, Ansible ere RedHat-ek onartzen du. Komunitatea mantentzen laguntzen du eta kalitate handiko eta erabiltzeko errazak diren moduluak eskaintzen ditu.
  • Molekularekin probak (Ansible esparru bat) - Konfigurazio kudeaketa kodea denez, beste guztia bezala, probak egitea ezinbestekoa da. Molecule-ren Ansible rol proba-esparruak ezin hobeto funtzionatzen du, konfigurazioa kalitate berekoa dela eta aplikazioaren kodearen CI/CD kanalizazio bera jarraitzen duela bermatuz.
  • YAML - Beste tresnekin alderatuta, YAML errazago ulertzen da. Konfigurazio kudeaketa normalean DevOps praktikak ezartzen dituztenentzat erronka berria denez, sinpletasuna da bere nagusitasuna.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

OpsCode sukaldaria - DevOps-en ibilbidea sukaldaritza-liburuen garatzaile gisa hasi nuen. Ruby eta Chef oso maiteak dira, noski, baina ez dituzte hodeian natibo estaturik gabeko aplikazio modernoen arazoak konpontzen. OpsCode Chef tresna bikaina da ohiko aplikazioetarako, baina artikulu honetan etorkizunera begira jarri gara.

Txotxongilo β€” Puppet-ek ez du inoiz zale asko izan, batez ere Chef eta Ansiblerekin alderatuta. Handia da hardwarearekin hornitzeko eta lan egiteko, baina ez du web aplikazio baterako konfigurazio-kudeaketarako euskarri modernoa.

Hedatzeko tresna #1

Irabazlea: Terraform

DevOps tresnak 2020an denek ikasi beharko lituzkete
Terraformek zure azpiegitura kode gisa deskribatzeko arazoa konpontzen du, sareko osagaietatik hasi eta zerbitzari osoko irudietaraino. Produktu honek bide luzea egin du hasierako kaleratu zenetik, hainbeste plugin sortuta eta komunitate sendoa eraikita, edozein inplementazio egoeratan laguntza jasoko duzula ziur. Edozein ingurune mota onartzen duen gaitasuna (lokalean, hodeian edo beste nonbait) ez du parekorik. Azkenik, azken bertsioak HCL-n beste edozein programazio-lengoaia tradizional bezalako funtzio logiko eta klase berberak eskaintzen ditu, Terraform garatzaileek azkar eta erraz uler dezaten.

Funtsezko Abantailak

  • Ingurune agnostikoa - Terraformek zure Terraform kodearen, API guztien eta barne logikaren arteko interfaze gisa funtzionatzen duten funtzioak erabiltzen ditu azpiegitura hornitzailearekin komunikatzeko. Horrek esan nahi du tresna bakarra menderatuko dudala eta gero edonon lan egin dezakedala.
  • Kode irekia - Zaila da doako tresnak gainditzea! Komunitatearen laguntza maila gorenean.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

AWS hodeiaren eraketa β€” Nahiz eta AWS hodeiko ingurunean bakarrik lan egin, zure hurrengo lanak beste tresna bat erabil dezake. Zure denbora eta energia guztia plataforma bakar bati eskaintzea erabaki laburra da. Gainera, AWS zerbitzu berri asko Terraform modulu gisa erabilgarri egon ohi dira CloudFormation-en eskuragarri egon aurretik.

Exekutatzeko tresnak

DevOps tresnak 2020an denek ikasi beharko lituzkete

Edozein garapen proiekturen azken helburua aplikazioa produkziora abiaraztea da. DevOps munduan, gure ingurunean izan daitezkeen arazo guztien berri izan nahi dugu, eta eskuzko esku-hartzea minimizatu nahi dugu. Exekutatzeko tresna multzo egokia aukeratzea ezinbestekoa da aplikazioen garapenaren nirvana lortzeko.

Exekutatzeko tresnen azpikategoriak:

  • X-zerbitzu gisa (XaaS)
  • orkestrazioa
  • jarraipena
  • erregistroa.

X-tresna-zerbitzu gisa #1

Irabazlea: Amazon Web Zerbitzuak

DevOps tresnak 2020an denek ikasi beharko lituzkete
Amazon beti izan da liderra hodeiko teknologietan, baina ez da hor gelditzen: garatzaileentzako zerbitzu berrien aniztasuna begiak irekitzen ditu. Ekarri edozein teknologia eta txantiloi AWSra eta eraiki eta martxan jarriko da. Tresnaren kostua nahiko arrazoizkoa da: konparatu zure datu-zentroan ekipoak muntatu, kudeatu eta mantentzearekin. Doako bertsioak dirua gastatu aurretik esperimentatu eta erabaki egokia hartzeko aukera ematen du.

Funtsezko Abantailak

  • Prebalentzia - AWS-en aplikazioak eraikitzen esperientzia baduzu, edonon lan egin dezakezu. Enpresek maite dute AWS, eta startupek ere bere kostu baxua estimatzen dute.
  • Doako bertsioa AWS bere kideengandik bereizten duen faktore benetan esanguratsua da. Utzidazu zerbitzua probatu eta ikusi nola funtzionatzen duen erosketa erabaki bat hartu aurretik, ez ditut milaka dolar gastatu nahi alferrikako zerbaitetan. Doako bertsioa beti da nahikoa edozein kontzeptu probatzeko.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Azure Β«Azure-k bide luzea egin du lehen kaleratu zenetik, eta hori txalogarria da. Dena den, ezberdina izateko nahiak zerbitzuen izen arraroak ekarri ditu, eta horrek lana zaildu ohi du. Zer esan nahi du "blob biltegiratzea"? Eta .NET kodea Microsoft ekosisteman hobeto funtzionatzen duen arren, nekez erabiliko duzu aplikazioaren osagai guztietan .NET soilik.

Heroku β€” Ez nuke inoiz Heroku-n proiektu pertsonal bat baino beste gauzarik egingo fidagarritasun- eta gardentasun-maila baxua dela eta, beraz, enpresek ez lukete plataforma gisa erabili behar. Heroku bikaina da blog batean zerbait erakusteko, baina erabilera praktikorako - "Ez, eskerrik asko!"

# 1 Orkestrazio tresna

Irabazlea: txanda irekia

DevOps tresnak 2020an denek ikasi beharko lituzkete
Ziurrenik Docker edo beste edukiontzi batzuk erabiltzen ari zara zure aplikazio pilan. Zerbitzaririk gabeko aplikazioak bikainak dira, baina baliteke arkitektura guztietara ez egokitzea. Orkestrazio plataformarik gabeko edukiontziak martxan jartzeak ez du funtzionatuko. Kubernetes Core (K8s) paregabea da segurtasun eta tresneriaren aldetik. OpenShift Source2Image bil dezakeen Kubernetes-en oinarritutako plataforma bakarra da, podetan inplementazio automatizatua onartzen duena eta jarraipena eta jarraipena onartzen ditu. OpenShift lokalean, hodeian edo lokalean eta hodeian aldi berean exekutatu daiteke.

Funtsezko Abantailak

  • Segurtasun integratua - K8s segurtasuna kudeatzeko titulu aurreratua behar da. Xehetasun bakoitza arretaz pentsatu eta kontuan hartu behar da! OpenShift-ekin lehenetsitako segurtasun-mekanismoek garatzaileei zama kentzen diete eta aplikazioei plataforma seguruagoa eskaintzen diete.
  • Bat-bateko irtenbidea - Oinarrizko K8ak ez bezala, lehenespenez karga orekatzeko tresnak ez dituena, OpenShift-ek dena dauka. Ontziak sortzeko eta ostatatzeko, CI/CD tresnak exekutatzeko, kanpoko prozesuak kudeatzeko, gakoak kudeatzeko eta askoz gehiago erabil dezaket. Erabiltzaile-interfaze grafikoa perfektutik urrun dagoen arren, APIan oinarritutako ikuspegiak esan nahi du dena script batean deskriba daitekeela. K8rako beste GUI-k ez bezala, OpenShift-ek Kubernetes-en oinarriak ikastea askoz errazten du. Ez duzu titulurik atera beharrik ere!

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Docker swarm - Docker Swarm K8ak errazten saiatu zen gauza asko kenduz. Aproposa da aplikazio txikietarako, baina enpresa aplikazioetarako ez du funtzionatzen. Gainera, AWS ECS bezalako soluzioek antzeko ikuspegia dute, baina erraztu egiten dute elkarreragin dezakedan beste zerbitzu batzuekin (Lambda, IAM, etab.).

Jarraipen tresna #1

Irabazlea: Erlikia berria

DevOps tresnak 2020an denek ikasi beharko lituzkete
New Relic-en lehen bertsioek gauza bat egin zuten ondo: APM (Application Performance Monitoring) jarraipena. Gaur egun, zerbitzaria, edukiontzia, datu-basearen errendimendua, azken erabiltzailearen esperientziaren jarraipena eta, jakina, aplikazioen errendimenduaren jarraipena kontrolatzeko aukera ematen duen monitorizazio tresna oso bat da.

Funtsezko Abantailak

  • Erabilera erraztasuna - Sistemen ingeniari gisa lan egin nuenean, monitorizazio tresna asko erabili nituen, baina inoiz ez dut aurkitu New Relic bezain sinple eta erabiltzeko erraza. SaaS da, beraz, ez duzu zuk zeuk instalatu beharrik.
  • Muturreko ikusgarritasuna - Beste tresna batzuk zure aplikazioaren elementu zehatz bat kontrolatzen saiatzen dira. Esate baterako, prozesadorearen erabileraren edo sareko trafikoaren neurketa bat, baina hori guztia modu integralean kontrolatu behar da aplikazioak behar bezala funtziona dezan. New Relic-ek zure datu guztiak elkartzeko gaitasuna ematen dizu, gertatzen ari denaren ikuspegi osoa lortzeko.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Zabbix β€” Nire lehenengo eta gogokoena monitorizazio-sistema, baina iraganean mantendu da hodeiko teknologien garapen faltagatik eta APM aplikazioen errendimenduaren monitorizazioaren eremuan. Zabbix-ek zerbitzariaren azpiegitura tradizionalak ondo egiten ditu oraindik, baina hori da.

DataDog β€” Gehiegi bideratua aplikazioaren ekoizpen ingurunea kudeatzeko prozesuan, eta ez kodean bertan. Garatzaileek parte hartzen duten DevOps taldeekin, ez dugu erabiliko tresna zailetan fidatu behar maila goreneko laguntza eskaintzeko.

Erregistratzeko tresna #1

Irabazlea: Splunk

DevOps tresnak 2020an denek ikasi beharko lituzkete
Zaila da Splunk-ekin lehiatzea! Luzaroan segitzen du liderra egurgintzan, inor baino hobeto egiten jarraituz. On-Prem eta SaaS eskaintzekin, Splunk edonon erabil dezakezu. Alde txar handia bere prezioa da: Splunk oraindik garestia da!

Funtsezko Abantailak

  • Pervasiveness - Enpresek Splunk maite dute, eta enpresek erosteko dirua dute.
  • Startup-ak kostuak berreskuratzen saiatzen ari diren arren, funtzio asko konpon daitezke kode irekiko analogikoei esker.
  • Mantengarritasuna - Besterik gabe, Splunk-ek funtzionatzen du eta ondo egiten du. Ezarpen lehenetsi eta erabiltzeko prest dauden funtzio asko ditu. Ez da denbora galdu behar dokumentazioa irakurtzen eta Splunk-ek funtziona dezan edo ezer deszifratzen saiatzen.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

ELK Stack (ElasticSearch, LogStash eta Kibana) "Tresna hauek gogokoenak direla dirudi, ez duzulako gibela saldu behar haiek erabiltzeko". Hala ere, erregistro-multzoa hazten doan heinean eta ontzian dauden aplikazioen kopurua handitu ahala, lana gero eta zailagoa da. Splunk-ekin alderatuta, ELK Stack-ekin inoiz baino denbora gehiago eman nuen erremintak konfiguratzen, aginte-panelak sortu aurretik.

Lankidetza-tresnak

DevOps tresnak 2020an denek ikasi beharko lituzkete
DevOps erakunde baten kultura aldatzea da batez ere. Edozein tresna erosteak ez ditu gaur egungo praktikak aldatuko egun batetik bestera, baina, zalantzarik gabe, lankidetza eta elkarreragin modu berriak bultzatu ditzake.

Lankidetza tresnen azpikategoriak:

  • zereginen jarraipena
  • ChatOps
  • dokumentazioa.

# 1 Arazoak jarraitzeko tresna

Irabazlea: Jira

DevOps tresnak 2020an denek ikasi beharko lituzkete
Jirak lidergo postuari eusten dio, nahiz eta arlo honetan lehia areagotzen ari den. Jira-ren malgutasun izugarriari esker, garapen- eta mantentze-taldeei proiektu-lana eta esprint-zereginak kudeatzeko aukera ematen die. Agile terminologia erabiliz estandar integratuak lan egiteko modu tradizionaletik prozesu eraginkorretara pasatzea errazten du.

Funtsezko Abantailak

  • Ospea - Beste tresna asko bezala, Jira ia nonahi erabiltzen da. Talde txikiek bertsio merkeagoa eta eskuragarriagoa erabiltzen dute eta behar duten guztia lortzen dute, eta enpresa handiek lizentzia garestiago bat ordaindu dezakete.
  • Integrazioak - Jira aitzindaria da bere arloan. Gertaera horrek eta produktuaren garapen azkarrak beste enpresek Jira aukeratzea dakar beren integrazioak sortzeko, eta horrela tresnaren balioa areagotuz. Jira artikulu honetan zerrendatutako tresna guztiekin integra dezakegu konfigurazio txiki batekin.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Trello - Trello-k ospea lortu zuen doako Kanban tresnari esker. Hala ere, prozesuak eskalatzen direnean eta dozenaka zereginetatik milaka izatera igaro ondoren, Trello zaila bihurtzen da nabigatzea, bilatu eta berri ematea.

Pibota Tracker β€” Tresna honen zale handia nintzen startup batean lan egin nuenean. Hala ere, Pivotal Tracker produktuen kudeaketara bideratuago dago zeregin teknikoetan baino. Jirako produktuen kudeaketa apur bat konplexuagoa den arren, oraindik ere hor inplementa daiteke tresna gehigarririk erabili gabe.

ChatOps tresna #1

Irabazlea: MatterMost

DevOps tresnak 2020an denek ikasi beharko lituzkete
azalpena: Beharbada, nire aukeraketan zuretzat sorpresarik handiena da, eta hori albiste ona da! MatterMost-ek ospea lortu zuen aurreko tresnetatik onena hartuz, baina tokian bertan jarriz. Hau oso garrantzitsua da enpresentzat: MatterMost-ek zure datuak kontrolatzeko aukera ematen dizu eta, gainera, lokalean exekutatzen diren tresnekin integratzen laguntzen dizu. Jada ez dugu suebakitik kanpo joan behar laneko txatak egiaztatzeko.

Funtsezko Abantailak

  • Kode irekia - MatterMost-en kode irekiko bertsioak bikain funtzionatzen du talde ertainentzat zein handientzat. Slack-en doako planak ez bezala, zure mezuen historia ezabatzen duena, zure zerbitzaria martxan jartzeak zure datu guztiak gordetzen dituzula esan nahi du.
  • Integrazioak - APIa ia % 100 Slack APIan oinarritzen denez, ia Slack integrazio guztiak zuzenean erabil daitezke MatterMost-ekin.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Galdutako β€” Slack polita da, baina mutil hauek hainbeste hazi dira, non irabazien bila hasi ziren. Negozioaren amortizazio fasea hurbiltzen ari da, eta horrek balio nagusia kentzen die: Slack-ek zerbitzuak doan ematen zituen; Doako bertsioaren desabantaila garrantzitsuena txataren historia ezabatzea da.

Microsoft taldeak β€” Saiatu Microsoft produktu bat Microsoft-en jabetzakoa ez den zerbaitekin integratzen... Zorte on! Hori da tresna honi buruz esan behar dudan guztia!

Dokumentazio-tresna #1

Irabazlea: Confluencias

DevOps tresnak 2020an denek ikasi beharko lituzkete
Kalitatezko dokumentazio teknikoa sortzea eta mantentzea prozesu konplexua da, erabiltzen duzun tresna edozein dela ere. Duela gutxi SaaS dokumentazio-tresna asko merkaturatu diren arren, zaila izango nuke misio kritikoko aplikazioei buruzko dokumentazio teknikoaren biltegiratzea hirugarren bati azpikontratatzea. Hobe da datuak eta dokumentuak lokalean gordetzea, eta horrela konpontzen ditu Confluencek.

Funtsezko Abantailak

  • Erabiltzeko erraza - Tresna autonomo gehienak konplexu samarrak izan daitezke konfiguratzeko eta funtzionatzeko eta mantentzeko ezagutza batzuk behar dituzte. Confluence Server oso ondo funtzionatzen du 10 edo 10,000 erabiltzailerentzat.
  • Pluginak - Zorionak Confluence-ri nabigazio ederra eta erabilerraza izateagatik, eta ia guztietarako plugin bat gehitzeko gaitasunak Wikiaren antzeko potentziala desblokeatzen du.

lehiakideen

Borrokan parte hartu zuen, baina ez zuen irabazi

Irakurri dokumentuak β€” Kode irekiko egokia da, baina ez pentsa ezagutza kritikoa hemen gordetzeaz ere.

Markdown - Kodea dokumentatzeko aproposa, baina zaila da arkitektura, prozesuak edo bestelako dokumentazioa argitaratzea MarkDown-en formatu espezifikoa dela eta.

Jekyll β€” Ezagutza teknikoak dokumentatzean, ez dut aldaketa bat dagoen bakoitzean zabalduko den gune estatiko berririk sortu nahi. Confluenceren bertsioak kontrolatzeko sistema sinpleak barneko dokumentazioa asko errazten du.

Batuketari sortu

Literalki, ehunka DevOps tresna daude merkatuan, eta zaila da zeintzuk erabili eta noiz inplementatu behar diren jakitea. Jarraitu gida erraz hau CI/CD kanalizazio oso baterako DevOps tresnak aukeratzeko.

Ziurtatu bost kategorietako tresnak hautatzen dituzula:

  • tresnak garatzea eta eraikitzea
  • probak automatizatzeko tresnak
  • hedatzeko tresnak
  • Exekutatzeko tresnak
  • lankidetza tresnak.

Gomendio nagusia: Automatizatu dena!

Eskerrik asko Zach Shapiro!

Iturria: www.habr.com

Gehitu iruzkin berria