DevOps Iloj Ĉiuj Devas Lerni en 2020

Komencu uzi la plej bonajn ilojn DevOps hodiaŭ!

DevOps Iloj Ĉiuj Devas Lerni en 2020
La DevOps-revolucio finfine transprenis la mondon kaj DevOps-iloj fariĝis nekredeble popularaj. Laŭ la servo google tendencoj, la nombro da petoj por "DevOps-iloj" konstante kreskas, kaj ĉi tiu tendenco daŭras.

DevOps-metodaro kovras la tutan programan evoluan vivociklon, do profesiuloj povas elekti el diversaj iloj. Sed, kiel vi scias, neniu ilo povas fariĝi universala ilo por ĉiuj. Tamen iuj solvoj ofertas tiom ampleksan gamon da funkcioj, ke ili povas trakti preskaŭ ajnan taskon.

Ni dividu DevOps-ilojn en kategoriojn kaj komparu ilin kun analogoj:

  • disvolvi kaj konstrui ilojn
  • testaj aŭtomatigaj iloj
  • iloj por organizi deplojon
  • Rultempaj iloj
  • kunlaboraj iloj.

Sukcesa kaj pripensema efektivigo DevOps-praktikisto inkluzivas instrumentojn de ĉiuj kvin grupoj listigitaj supre. Analizu la nunan aron da iloj en via projekto por ne maltrafi gravan elementon de la CI/CD-dukto.

Disvolvado kaj Konstruaj Iloj

DevOps Iloj Ĉiuj Devas Lerni en 2020
Ĉi tio estas la bazo de la CI/KD-duktostako. Ĉio komenciĝas ĝuste ĉi tie! La plej bonaj iloj en ĉi tiu kategorio povas administri plurajn eventofluojn kaj facile integriĝi kun aliaj produktoj.

En ĉi tiu etapo de la evolua vivociklo, ekzistas tri grupoj de iloj:

  • Versia kontrolsistemo (SCM)
  • kontinua integriĝo (CI)
  • Administrado de datumoj

GIT havis pozitivan rekordon en 2020, do via SCM-ilo devus havi perfektan subtenon por GIT. Por CI, antaŭkondiĉo estas la kapablo efektivigi kaj ruli konstruaĵojn en izolita kontenera medio. Kiam temas pri administrado de datumoj, ĝi postulas la kapablon fari ŝanĝojn al la datumbaza skemo kaj konservi la datumbazon laŭ la aplika versio.

SCM + CI Ilo #1

Gajninto: GitLab kaj GitLab-CI

DevOps Iloj Ĉiuj Devas Lerni en 2020
La plej bona ilo de la ciklo DevOps de 2020 estas sendube GitLab, kaj ĝi certe daŭre gvidos novigon en proksima estonteco.

La ĉefa funkcio de GitLab estas provizi komfortan administradon de Git-deponejo. La retinterfaco estas intuicia kaj facile uzebla. GitLab provizas ĉion, kion vi bezonas en senpaga versio kaj venas kiel SaaS kaj surloke (uzante viajn proprajn rimedojn por gastigi programaron).

Neniu alia SCM-ilo uzis kontinuan integriĝon (CI) rekte en via deponejo, kaj GitLab faras tion dum longa tempo. Por uzi GitLab-CI, vi devas aldoni .gitlab-ci.yml dosieron al via fontkoda radiko, kaj ajnaj ŝanĝoj al la projekto ekigos agojn bazitajn ĝuste sur tio, kion vi specifis. GitLab kaj GitLab-CI estas merite rekonitaj kiel gvidantoj en la kampo de kontinua integriĝo (CI-as-code).

Ŝlosilaj Avantaĝoj

  • Fidindeco - La produkto estas sur la merkato ekde 2013; stabila; bone subtenata.
  • Malferma Fonto - La senpaga versio de GitLab ne limigas la kernajn funkciojn, kiujn bezonas evoluigaj teamoj. Pagitaj servaj pakoj disponigas kromajn utilajn funkciojn por kompanioj de diversaj grandecoj kaj bezonoj.
  • Engrained CI - Neniu alia ilo sur la merkato konstruis kontinuan integriĝon rekte en SCM kiel GitLab-CI. Uzado de Docker certigas senpagajn izolitajn konstruojn, kaj enkonstruitaj raportoj faciligas sencimigon. Ni ne postulas kompleksan integriĝon kaj administradon de pluraj iloj samtempe.
  • Senlimaj Integriĝoj - GitLab provizas facilan integriĝon de ĉiuj DevOps-iloj, kiujn vi bezonas. Ĉi tio certigas, ke evoluaj kaj prizorgaj teamoj havas ununuran fonton de informoj pri sia aplikaĵo en iu ajn medio.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Estas aliaj popularaj iloj en ĉi tiu kategorio, sed ili ne estas tiel bonaj kiel GitLab. Kaj tial:

GitHub — Ĉi tio estas bonega SaaS-versia kontrolo-sistemo por malgrandaj kompanioj kaj fruaj stadioj de evoluo. Por grandaj kompanioj, por kiuj gravas konservi IP-adresojn en sia propra reto, la sola solvo de GitHub estis la virtuala maŝino .OVA sen subteno por sistemoj de alta havebleco. Ĉi tio malfaciligas surloke prizorgadon, krome, .OVA taŭgas nur por mezgrandaj entreprenoj, alie la servilo simple kraŝos sub pli granda ŝarĝo. La manko de GitHub-Agoj (ĝis antaŭ nelonge kaj ankoraŭ ne en surprema versio) aŭ CI-as-code signifas, ke vi devas elekti apartan CI-ilon kaj poste administri tiun integriĝon. Fine, GitHub estas multe pli multekosta ol ambaŭ versioj de GitLab.

Jenkins — Kvankam Jenkins estas konsiderata la normo inter kontinuaj integrigaj iloj defaŭlte, al ĝi ĉiam mankis versio-kontrolkapabloj. Rezultas, ke vi uzas Jenkins plus ian SCM-ilon. Estas tro malfacile kiam GitLab povas fari ambaŭ. Mezbona UX-dezajno ne taŭgas por moderna TTT-aplikaĵo kaj lasas multon por deziri.

BitBucket/Bambuo — Mi devas rekoni lin kiel aŭtomatan perdanton: kial du iloj kiam GitLab faras ĉion tute sendepende. BitBucket Cloud subtenas GitLab-CI / GitHub Action-funkciecon, sed neniu kompanio pli granda ol starto povas facile efektivigi ĝin. La surloka BitBucket-servilo eĉ ne subtenas BitBucket-duktojn!

#1 Datuma Administra Ilo

Gajninto: FlywayDB

DevOps Iloj Ĉiuj Devas Lerni en 2020
En reto-aplika evoluo, datumbaza aŭtomatigo kutime ne ricevas gravecon. La ideo de deploji datumbazajn skemojn por novaj versioj de la aplikaĵo venas malfrue. Ŝanĝoj de skemo ofte rezultigas kolumnojn aŭ tabelojn aldonitajn kaj renomitaj. Se la aplikaĵversio ne kongruas kun la skemversio, la aplikaĵo povas kraŝi. Aldone, administri datumbazŝanĝojn dum ĝisdatigado de aplikaĵo povas esti malfacila ĉar ekzistas du malsamaj sistemoj. FlyWayDB solvas ĉiujn ĉi tiujn problemojn.

Ŝlosilaj Avantaĝoj

  • Datumbaza versio - Flyway permesas krei datumbazajn versiojn, spuri datumbazajn migradojn kaj facile translokigi aŭ reverti skemajn ŝanĝojn sen aldona ilo por tio.
  • Binara aŭ Enigita - Ni povas elekti ruli Flyway kiel parto de la aplikaĵo aŭ kiel duuma rulebla. Flyway kontrolas versiokongruon ĉe ekfunkciigo kaj komencas la taŭgajn migradojn, tenante datumbazajn kaj aplikaĵversiojn sinkronigitaj. Rugante la ad-hoc komandon cmd line, ni provizas flekseblecon al ekzistantaj datumbazoj sen rekonstrui la tutan aplikaĵon.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Ne estas multaj iloj en ĉi tiu areo. Ni rigardu kelkajn el ili:

LiquiBase — Liquibase similas FlywayDB. Mi ŝatus agordi ĝin supre de Flyway se mi havus iun en mia teamo kun pli da sperto kun Liquibase.

Flocker - Povas funkcii nur por konteneritaj aplikoj. Por sukcese ruli konteneritajn datumbazojn, ĉio devas esti planita perfekte. Mi rekomendas uzi RDS (Relational Database Service) por datumbazoj kaj ne konsilas konservi gravajn informojn en ujo.

Testaj Aŭtomatigaj Iloj

DevOps Iloj Ĉiuj Devas Lerni en 2020
Ni komencu nian diskuton pri testaj aŭtomatigaj iloj per klasifikado de ili laŭ la testa piramido.

La testa piramido (testoj) havas 4 nivelojn:

  • Unuaj Testoj - Ĉi tio estas la bazo de la tuta aŭtomatigita testa procezo. Devus ekzisti pli da unuotestoj kompare kun aliaj specoj de testoj. Programistoj skribas kaj faras unutestojn por certigi, ke parto de aplikaĵo (konata kiel "unuo") konformas al ĝia dezajno kaj kondutas kiel atendite.
  • Komponentotestoj − La ĉefcelo de komponenttestado estas kontroli la enig-/produktaĵkonduton de la testobjekto. Ni devas certigi, ke la funkcieco de la testa objekto estas efektivigita ĝuste laŭ la specifo.
  • Integrigaj testoj - Speco de testado en kiu individuaj softvarmoduloj estas kombinitaj kaj testitaj kiel grupo.
  • Fin-al-finaj Testoj - Ĉi tiu paŝo estas memklarigebla. Ni kontrolas la tutan aplikaĵon kaj certigas, ke ĝi funkcias laŭplane.

Ĉar unutestoj kaj komponenttestoj estas faritaj nur de programistoj kaj ofte estas specifaj programlingvoj, ni ne taksos ĉi tiujn ilojn por la domajno DevOps.

#1 Integriga Testa Ilo

Gajninto: Kukumo

DevOps Iloj Ĉiuj Devas Lerni en 2020
Kukumo kombinas specifojn kaj testan dokumentadon en ununuran vivantan dokumenton. La specifoj estas ĉiam ĝisdatigitaj ĉar ili estas aŭtomate testitaj de Kukumo. Se vi volas konstrui aŭtomatigitan testan kadron de nulo kaj modeligi uzantan konduton en TTT-aplikaĵo, tiam Selenium WebDriver kun Java kaj Cucumber BDD estas bonega maniero lerni kaj efektivigi Kukumon en projekto.

Ŝlosilaj Avantaĝoj

  • BDD-aliro (Behavior Driven Development - "evoluo per konduto" kontraste al la "test-movita evoluo") - Kukumo estas desegnita por BDD-testado, ĝi estis origine kreita por tiu ĉi tasko.
  • Vivanta Dokumentado - Dokumentado ĉiam estas doloro! Ĉar viaj testoj estas skribitaj kiel kodo, Kukumo testas la aŭtomate generitan dokumentaron por certigi, ke la testoj kaj dokumentaro sinkronigas.
  • Subteno - Ni povas elekti el multaj iloj, sed Kukumo havas la necesajn financajn rimedojn kaj bone organizitan subtenan sistemon por helpi uzantojn en ajna malfacila situacio.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Inter aliaj kadroj kaj teknologiaj specifaj iloj, nur Kukumo povas esti konsiderata universala solvo.

Fin-al-Finaj Testaj Iloj

Kiam vi faras fin-al-finan testadon, vi devas koncentriĝi sur du ĉefaj punktoj:

  • funkciaj provoj
  • Streĉa Testado.

En funkcia testado, ni kontrolas ĉu ĉio, kion ni volas, efektive okazas. Ekzemple, kiam mi alklakas iujn elementojn de mia SPA (unupaĝa aplikaĵo), plenigas la formularojn kaj elektas "Submeti", la datumoj aperas en la datumbazo kaj la mesaĝo "Sukceso!" aperas sur la ekrano.

Ankaŭ gravas por ni kontroli, ke certa nombro da uzantoj, kiuj uzas la saman scenaron, povas esti procesita sen eraroj.

La foresto de ĉi tiuj 2 specoj de testado estos grava malavantaĝo en via CI/KD-dukto.

numero 1 fin-al-fina testa ilo. Funkcia testado

Gajninto: SoapUI Pro

DevOps Iloj Ĉiuj Devas Lerni en 2020
SoapUI estis en la API-testspaco dum longa tempo ĉar SOAP-bazitaj retservoj estis la normo. Dum ni ne plu kreas novajn SOAP-servojn kaj la nomo de la ilo ne ŝanĝiĝis, tio ne signifas, ke ĝi ne evoluis. SoapUI provizas bonegan kadron por krei aŭtomatigitajn funkciajn testojn. Testoj povas esti facile kombinitaj kun kontinuaj integrigaj iloj kaj uzataj kiel parto de CI/KD-dukto.

Ŝlosilaj Avantaĝoj

  • Detala dokumentado - SoapUI estas sur la merkato dum sufiĉe longa tempo, do ekzistas multaj interretaj rimedoj, kiuj povas helpi vin kompreni kiel agordi testojn.
  • Facileco de Uzo - Kvankam la ilo subtenas plurajn protokolojn por testado de API-oj, la ĉeesto de SoapUI de komuna interfaco por pluraj servoj faciligas verki testojn.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Seleno estas alia bonega instrumento en ĉi tiu grupo. Mi rekomendas uzi ĝin se vi konstruas kaj funkciigas Java-aplikaĵon. Tamen, se vi konstruas plenan TTT-aplikaĵon kun multoblaj teknologioj, ĝi povas iĝi malfacila por ne-Java-komponentoj.

numero 1 fin-al-fina testa ilo. Streĉa Testado

Gajninto: LoadRunner

DevOps Iloj Ĉiuj Devas Lerni en 2020
Klarigo: Kiam venas tempo por ŝarĝi testi ĉiun elementon de via aplikaĵo, nur LoadRunner povas plenumi la taskon. Jes, ĝi estas multekosta kaj malfacila komence, sed LoadRunner estas la sola ilo, kiu donas al mi, kiel teknika arkitekto, kompletan konfidon, ke la nova kodo funkcios sub ekstremaj ŝarĝkondiĉoj. Ankaŭ, mi pensas, ke estas tempo, ke LoadRunner estu transprenita de evoluteamoj prefere ol testaj teamoj.

Ŝlosilaj Avantaĝoj

  • Ampleksa dokumentaro - LoadRunner estas sur la merkato dum sufiĉe da tempo, do ekzistas multaj interretaj rimedoj por helpi vin kompreni kiel agordi ŝarĝtestojn.
  • Protokolo-subteno - Load Runner subtenas ĉion de ODBC ĝis AJAX, HTTPS kaj ajnan alian ne-trivialan protokolon, kiun via aplikaĵo povus uzi. Ni provas ne uzi plurajn ilojn por ŝarĝtestado, ĉar ĉi tio nur malfaciligas la procezon.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Denove, ne ekzistas multaj universalaj iloj en ĉi tiu areo, do la plej bona solvo estas tiu, kiu funkcios en iu ajn medio kun ajna teknologio.

Deplojaj iloj

DevOps Iloj Ĉiuj Devas Lerni en 2020
Deplojiloj estas verŝajne la malplej komprenita aspekto de evoluo. Por operacia teamo sen profunda kompreno de la kodo kaj funkcieco de la aplikaĵo, estas malfacile uzi tiajn ilojn. Por programistoj, administrado pri deplojo estas nova respondeco, do ili ankoraŭ ne havas sufiĉe da sperto pri laborado kun tiaj iloj.

Antaŭ ĉio, ni dividu ĉiujn disfaldajn ilojn en tri subkategoriojn:

  • administrado de artefaktoj
  • administrado de agordo
  • deploji.

#1 Artefakto-Administra Ilo

Gajninto: ligilo

DevOps Iloj Ĉiuj Devas Lerni en 2020
La deponejo de artefaktoj de Nexus subtenas preskaŭ ĉiun gravan teknologion, de Java ĝis NPM ĝis Docker. Ni povas uzi ĉi tiun ilon por konservi ĉiujn artefaktojn, kiujn ni uzas. Prokurado de foraj pakaĵadministrantoj ankaŭ signife plirapidigas la CI-konstruprocezon, farante pakaĵojn pli alireblaj por konstruado. Alia avantaĝo estas la kapablo akiri kompletan vidon de ĉiuj pakaĵoj uzataj en pluraj programaj projektoj, blokante nesekurajn malfermfontajn pakaĵojn (ili povas funkcii kiel atakvektoro).

Ŝlosilaj Avantaĝoj

  • Teknika subteno - Fidinda produkto; bone subtenata.
  • Malferma Fonto - La senpaga versio ne limigas la kernajn funkciojn, kiujn bezonas evoluigaj teamoj.

#1 Agorda Administra Ilo

Gajninto: Respondema

Ansible estas gvidanto pro unu simpla kialo: sennacia. Antaŭe, similaj iloj koncentriĝis pri agorda ŝtata administrado. Kiam estas lanĉita, tia ilo, ricevinte la deziratan agordon, provos korekti la nunan aplikaĵon. Kaj kun la nova aliro, nur sennaciaj komponantoj ĉeestas. Novaj versioj de kodo estas artefaktoj kiuj estas deplojitaj por anstataŭigi ekzistantajn. Ĉi tio povas esti konsiderata kiel efemera, mallongdaŭra medio.

Ŝlosilaj Avantaĝoj

  • Sennacia - La Ludlibro estas lanĉita de la deplojmaŝino kaj efektivigita sur la celserviloj. Mi ne devas zorgi pri la stato de la fora objekto uzante ilon kiel Packer por krei deplojeblajn objektojn.
  • Malferma Fonto - Kiel CentOS, Ansible ankaŭ estas subtenata de RedHat. Ĝi helpas konservi la komunumon kaj provizas altkvalitajn, facile uzeblajn modulojn.
  • Testado kun Molecule (Ansible-kadro) - Ĉar agorda administrado estas kodo, kiel ĉio alia, testado estas esenca. La kadro de testado de rolo Ansible de Molecule funkcias perfekte, certigante, ke la agordo estas samkvalita kaj sekvas la saman CI/KD-dukton kiel la aplika kodo.
  • YAML - Kompare kun aliaj iloj, YAML estas pli facile komprenebla. Ĉar agorda administrado estas kutime nova defio por tiuj, kiuj efektivigas DevOps-praktikojn, simpleco estas ĝia atuto.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

OpsCode Kuiristo — Mi komencis mian karieron pri DevOps kiel kuirlibro-programisto. Ruby kaj Chef estas kompreneble tre karaj al mia koro, sed ili simple ne solvas la problemojn de modernaj sennaciaj, nubo-denaskaj aplikaĵoj. OpsCode Chef estas bonega ilo por pli tradiciaj aplikoj, sed en ĉi tiu artikolo ni koncentriĝas pri la estonteco.

Marioneto — Puppet neniam havis multajn adorantojn, precipe kompare kun Chef kaj Ansible. Ĝi estas bonega por provizi kaj labori kun aparataro, sed al ĝi mankas moderna agorda administradsubteno por TTT-aplikaĵo.

Deploja ilo numero 1

Gajninto: Terraform

DevOps Iloj Ĉiuj Devas Lerni en 2020
Terraform solvas la problemon priskribi vian infrastrukturon kiel kodon, de retaj komponantoj ĝis plenaj servilaj bildoj. Ĉi tiu produkto faris longan vojon ekde sia komenca eldono, kun tiom da kromprogramoj kreitaj kaj tiel forta komunumo konstruita, ke vi certe ricevos helpon en iu ajn disfalda scenaro. La kapablo subteni ajnan tipon de medio (surloke, en la nubo aŭ aliloke) estas senekzempla. Fine, la plej nova versio provizas multe da la samaj logikfunkcioj kaj klasoj en HCL kiel iu ajn alia tradicia programlingvo, igante Terraform facile kaj rapide ekkompreni por programistoj.

Ŝlosilaj Avantaĝoj

  • Medio agnostika - Terraform uzas funkciojn kiuj funkcias kiel interfaco inter via Terraform-kodo, ĉiuj APIoj kaj interna logiko por komuniki kun la infrastrukturprovizanto. Ĉi tio signifas, ke mi regos nur unu ilon kaj poste povas labori ie ajn.
  • Malferma Kodo - Estas malfacile venki senpagajn ilojn! Komunuma subteno ĉe la plej alta nivelo.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

AWS CloudFormation — Eĉ se vi laboras nur en la AWS-nuba medio, via sekva laboro eble uzos alian ilon. Dediĉi vian tutan tempon kaj energion al nur unu platformo estas miopa decido. Aldone, multaj novaj AWS-servoj ofte haveblas kiel Terraform-moduloj antaŭ ol ili estas disponeblaj en CloudFormation.

Rultempaj iloj

DevOps Iloj Ĉiuj Devas Lerni en 2020

La finfina celo de iu disvolva projekto estas lanĉi la aplikaĵon en produktadon. En la mondo DevOps, ni volas esti plene konsciaj pri ĉiuj eblaj problemoj kun nia medio, kaj ni ankaŭ volas minimumigi manan intervenon. Elekti la ĝustan aron de rultempaj iloj estas esenca por atingi nirvanon pri aplika disvolviĝo.

Subkategorioj de rultempaj iloj:

  • X-kiel-servo (XaaS)
  • orkestrado
  • monitorado
  • arbohakado.

X-ilo-kiel-servo numero 1

Gajninto: Amazonaj Servoj

DevOps Iloj Ĉiuj Devas Lerni en 2020
Amazon ĉiam estis gvidanto en nubaj teknologioj, sed ĝi ne ĉesas tie: la vario de novaj servoj por programistoj estas okulfrapa. Alportu ajnan teknologion kaj ŝablonon al AWS kaj ĝi estos konstruita kaj funkcianta. La kosto de la ilo estas sufiĉe racia: komparu ĝin kun muntado, administrado kaj konservado de ekipaĵoj en via propra datumcentro. La senpaga versio permesas vin eksperimenti kaj fari la ĝustan decidon antaŭ ol elspezi monon.

Ŝlosilaj Avantaĝoj

  • Graveco - Se vi havas sperton pri konstruado de aplikoj en AWS, vi povas labori ie ajn. Komercoj amas AWS, kaj noventreprenoj ankaŭ aprezas ĝian malaltan koston.
  • La senpaga versio estas vere signifa faktoro, kiu distingas AWS de siaj samuloj. Lasu min provi la servon kaj vidi kiel ĝi funkcias antaŭ ol mi fari aĉetan decidon, mi ne volas elspezi milojn da dolaroj por io nenecesa. La senpaga versio ĉiam sufiĉas por mi testi ajnan koncepton.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Azure "Lazuro faris longan vojon ekde sia unua eldono, kaj tio estas laŭdinda. Tamen la deziro esti malsama kondukis al strangaj nomoj por servoj, kio ofte malfaciligas la laboron. Kion signifas "blobstokado"? Kaj dum .NET-kodo funkcias pli bone en la Mikrosofta ekosistemo, estas malprobable ke vi uzos nur .NET por ĉiu komponanto de via aplikaĵo.

Heroku — Mi neniam rulus ion alian ol personan projekton sur Heroku pro la malalta nivelo de fidindeco kaj travidebleco, do kompanioj ne uzu ĝin kiel platformon. Heroku estas bonega por montri ion en blogo, sed por praktika uzo - "Ne, dankon!"

#1 Orkestra Ilo

Gajninto: malferma deĵoro

DevOps Iloj Ĉiuj Devas Lerni en 2020
Vi verŝajne uzas Docker aŭ aliajn ujojn en via aplika stako. Senservilaj aplikoj estas bonegaj, sed ili eble ne taŭgas por ĉiu arkitekturo. Ruli ujojn sen orkestra platformo simple ne funkcios. Kubernetes Core (K8s) estas senrivala laŭ sekureco kaj ilaro. OpenShift estas la nura platformo bazita en Kubernetes, kiu povas kolekti Source2Image, subtenas aŭtomatan deplojon al podoj kaj subtenas spuradon kaj monitoradon. OpenShift povas ruliĝi surloke, en la nubo aŭ surloke kaj en la nubo samtempe.

Ŝlosilaj Avantaĝoj

  • Enkonstruita Sekureco - Administrado de K8s-sekureco povas postuli altnivelan gradon. Ĉiu detalo devas esti zorge pripensita kaj konsiderata! La sekurecaj mekanismoj enkonstruitaj defaŭlte kun OpenShift forprenas la ŝarĝon de programistoj kaj provizas pli sekuran platformon por aplikoj.
  • Tute-en-unu solvo - Male al la baza K8s, kiu ne inkluzivas ŝarĝajn ilojn defaŭlte, OpenShift havas ĉion. Mi povas uzi ĝin por krei kaj gastigi ujojn, ruli CI/KD-iloj, administri eksterajn procezojn, administri ŝlosilojn kaj multe pli. Kvankam la grafika uzantinterfaco estas ankoraŭ malproksima de perfekta, la API-bazita aliro signifas, ke ĉio povas esti priskribita per skripto. Male al aliaj GUI-oj por K8s, OpenShift multe plifaciligas lernadon de la bazaĵoj de Kubernetes. Vi eĉ ne bezonas akiri diplomon!

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Docker Svarmo — Docker Swarm provis simpligi K8-ojn forigante multajn aferojn. Ĝi estas bonega por malgrandaj aplikoj, sed por entreprenaj aplikoj ĝi simple ne funkcias. Aldone, solvoj kiel AWS ECS prenas similan aliron sed faciligas labori kun aliaj servoj kun kiuj mi ankaŭ povas interagi (Lambda, IAM, ktp.).

Monitora ilo #1

Gajninto: Nova Relikvo

DevOps Iloj Ĉiuj Devas Lerni en 2020
Fruaj eldonoj de New Relic faris unu aferon bone - APM (Application Performance Monitoring) monitorado. Ĝi nun estas plentaŭga monitora ilo, kiu ebligas al vi monitori servilon, ujon, datumbazan agadon, finan uzantan sperton, kaj kompreneble monitoradon de aplikaĵo.

Ŝlosilaj Avantaĝoj

  • Facileco de Uzo - Kiam mi laboris kiel sistema inĝeniero, mi uzis multajn monitorajn ilojn, sed mi neniam renkontis unu tiel simplan kaj facile uzeblan kiel New Relic. Ĝi estas SaaS, do vi ne bezonas instali ĝin mem.
  • Fin-al-fina videbleco - Aliaj iloj provas kontroli unu specifan elementon de via aplikaĵo. Ekzemple, metriko de uzado de procesoro aŭ rettrafiko, sed ĉio ĉi devas esti amplekse kontrolita por ke la aplikaĵo funkciu ĝuste. Nova Relikvo donas al vi la kapablon kunigi ĉiujn viajn datumojn por akiri ampleksan vidon pri tio, kio okazas.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Zabbikh — Mia unua kaj plej ŝatata monitora sistemo, sed ĝi restis en la pasinteco pro la manko de evoluo en nubaj teknologioj kaj en la kampo de APM-aplika agado-monitorado. Zabbix ankoraŭ bone kontrolas tradician servilan infrastrukturon, sed pri tio temas.

DataDog — Tro fokusita al la procezo de administrado de la produktadmedio de la aplikaĵo, kaj ne al la kodo mem. Kun DevOps-teamoj kiuj implikas programistojn, ni ne devas fidi al malfacile uzeblaj iloj por provizi altnivelan subtenon.

Registra ilo #1

Gajninto: Splunk

DevOps Iloj Ĉiuj Devas Lerni en 2020
Estas malfacile konkuri kun Splunk! Longe li restas la gvidanto en arbohakado, daŭre farante ĝin pli bone ol iu ajn alia. Kun sur-premaj kaj SaaS-proponoj, vi povas uzi Splunk ie ajn. La granda malavantaĝo estas ĝia prezo: Splunk ankoraŭ estas diable multekosta!

Ŝlosilaj Avantaĝoj

  • Pervasiveness - Komercoj amas Splunk, kaj kompanioj havas la monon por aĉeti ĝin.
  • Kvankam noventreprenoj provas rekuperi kostojn, multaj funkcioj povas esti solvitaj danke al malfermfontaj analogoj.
  • Daŭripovo - Simple dirite, Splunk funkcias kaj faras ĝin bone. Ĝi venas kun multaj defaŭltaj agordoj kaj funkcioj pretaj por uzi. Ne necesas malŝpari tempon legante dokumentadon kaj provi igi Splunk funkcii aŭ deĉifri ion ajn.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

ELK-Stako (ElasticSearch, LogStash kaj Kibana) "Ĉi tiuj iloj ŝajnas esti la plej ŝatataj ĉar vi eĉ ne devas vendi vian hepaton por uzi ilin." Tamen, ĉar la aro de ŝtipoj kreskas kaj la nombro da aplikoj surŝipe pliiĝas, la laboro fariĝas pli kaj pli malfacila. Kompare kun Splunk, kun ELK Stack mi pasigis multe pli da tempo agordi la ilaron antaŭ krei ajnajn instrumentpanelojn ol mi iam havis antaŭe.

Kunlaboraj Iloj

DevOps Iloj Ĉiuj Devas Lerni en 2020
DevOps temas ĉefe pri ŝanĝi la kulturon ene de organizo. Aĉeti ajnan ilon ne ŝanĝos nunajn praktikojn dum la nokto, sed ĝi certe povas kuraĝigi kunlaboron kaj novajn manierojn interagi.

Subkategorioj de kunlaboraj iloj:

  • tasko spurado
  • ChatOps
  • dokumentado.

#1 Problemo-Spura Ilo

Gajninto: Jira

DevOps Iloj Ĉiuj Devas Lerni en 2020
Jira konservas sian gvidan pozicion, kvankam konkurenco en ĉi tiu areo pliiĝas. La nekredebla fleksebleco de Jira permesas al evoluaj kaj prizorgaj teamoj administri projektan laboron kaj sprinttaskojn. Enkonstruitaj normoj uzante Agile terminologion faciligas transiri de tradiciaj labormanieroj al pli efikaj procezoj.

Ŝlosilaj Avantaĝoj

  • Populareco - Kiel multaj aliaj iloj, Jira estas uzata preskaŭ ĉie. Malgrandaj teamoj uzas la pli malmultekostan, pli alireblan version kaj ricevas ĉion, kion ili bezonas, dum pli grandaj kompanioj povas pagi pli multekostan permesilon.
  • Integriĝoj - Jira estas pioniro en sia kampo. Ĉi tiu fakto kaj la rapida disvolviĝo de la produkto kondukas al la fakto, ke aliaj kompanioj elektas Jira por krei siajn proprajn integriĝojn, tiel pliigante la valoron de la ilo. Ni povas integri Jira kun ĉiuj iloj listigitaj en ĉi tiu artikolo el la skatolo kun iom da agordo.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Trello — Trello rapide akiris popularecon danke al sia senpaga Kanban-ilo. Tamen, post kiam procezoj skalas kaj vi iras de dekoj da taskoj al miloj, Trello fariĝas malfacile navigebla, serĉi kaj raporti.

Pivota Spuristo — Mi estis granda ŝatanto de ĉi tiu ilo kiam mi laboris por ekentrepreno. Tamen, Pivotal Tracker estas pli koncentrita pri produkta administrado prefere ol teknikaj taskoj. Kvankam produkta administrado en Jira estas iom pli kompleksa, ĝi ankoraŭ povas esti efektivigita tie sen uzi aldonan ilon.

ChatOps-ilo numero 1

Gajninto: MatterMost

DevOps Iloj Ĉiuj Devas Lerni en 2020
Klarigo: Eble la plej granda surprizo por vi en mia elekto, kaj tio estas bona novaĵo! MatterMost gajnis popularecon prenante la plej bonan el antaŭaj iloj sed metante ilin surloke. Ĉi tio estas tre grava por kompanioj: MatterMost permesas vin kontroli viajn datumojn kaj ankaŭ helpas vin integri ĝin per iloj, kiuj funkcias loke. Ni ne plu bezonas iri ekster la fajroŝirmilo por kontroli laborbabilojn.

Ŝlosilaj Avantaĝoj

  • Malferma Fonto - La malfermfonta versio de MatterMost funkcias bonege por kaj mezaj kaj grandaj teamoj. Male al la senpaga plano de Slack, kiu forigas vian mesaĝhistorion, funkcii vian propran servilon signifas, ke vi konservas ĉiujn viajn datumojn.
  • Integriĝoj - Ĉar la API estas preskaŭ 100% bazita sur la Slack API, preskaŭ ĉiuj Slack-integriĝoj povas esti uzataj rekte kun MatterMost.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

slack — Slack estas bonega, sed ĉi tiuj uloj tiom kreskis, ke ili komencis serĉi profiton. Alproksimiĝas la repago-fazo de la komerco, kiu forprenas ilian ĉefan valoron: Slack provizis servojn senpage; La plej grava malavantaĝo de la senpaga versio estas la forigo de babilhistorio.

Microsoft-Teamoj — Provu integri Microsoft-produkton kun io ne posedata de Microsoft... Bonŝancon! Jen ĉio, kion mi devas diri pri ĉi tiu ilo!

Dokumenta Ilo #1

Gajninto: Kunfluejo

DevOps Iloj Ĉiuj Devas Lerni en 2020
Krei kaj konservi kvalitan teknikan dokumentadon estas kompleksa procezo, negrave kian ilon vi uzas. Kvankam multaj SaaS-dokumentaj iloj venis en la merkaton lastatempe, mi malfacile subkontraktus la stokadon de teknika dokumentaro pri misi-kritikaj aplikoj al tria partio. Estas preferinde konservi datumojn kaj dokumentojn surloke, kaj jen kiel Confluence solvas ĝin.

Ŝlosilaj Avantaĝoj

  • Facila funkcii - Plej multaj memstaraj iloj povas esti iom kompleksaj por agordi kaj funkcii kaj postulas iom da scioj por konservi. Confluence Server funkcias bonege el la skatolo por 10 aŭ 10,000 uzantoj.
  • Kromaĵoj - Gratulon al Confluence pro havi belan, facile uzeblan navigadon el la skatolo, kaj la kapablo aldoni kromprogramon por preskaŭ ĉio malŝlosas Viki-similan potencialon.

Konkurantoj

Partoprenis en la batalo, sed ne venkis

Legu la dokumentojn — Bonege por malferma fonto, sed eĉ ne pensu pri stokado de kritika scio ĉi tie.

Markdown - Bonega por dokumentado de kodo, sed malfacile afiŝi arkitekturon, procezojn aŭ aliajn specojn de dokumentaro pro la specifa formatado de MarkDown.

Jekyll — Dum dokumentado de teknikaj scioj, mi ne volas krei novan senmovan retejon, kiu estos deplojita ĉiufoje kiam estos ŝanĝo. La simpla versio-kontrolsistemo de Confluence multe simpligas internan dokumentadon.

Ni sumigu la rezultojn

Estas laŭvorte centoj da DevOps-iloj sur la merkato, kio malfaciligas scii kiujn uzi kaj kiam ili devus esti efektivigitaj. Sekvu ĉi tiun simplan gvidilon por elekti DevOps-ilojn por kompleta CI/CD-dukto.

Nepre elektu ilojn el ĉiuj kvin kategorioj:

  • disvolvi kaj konstrui ilojn
  • testaj aŭtomatigaj iloj
  • disfaldaj iloj
  • Rultempaj iloj
  • kunlaboraj iloj.

Ĉefa rekomendo: Aŭtomatigu ĉion!

Dankon Zach Shapiro!

fonto: www.habr.com

Aldoni komenton