Mjetet DevOps që të gjithë duhet të mësojnë në 2020

Filloni të përdorni mjetet më të mira të DevOps sot!

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Revolucioni i DevOps më në fund ka pushtuar botën dhe mjetet e DevOps janë bërë tepër të njohura. Sipas shërbimit Google Trends, numri i kërkesave për “veglat DevOps” po rritet vazhdimisht dhe ky trend vazhdon.

Metodologjia e DevOps mbulon të gjithë ciklin jetësor të zhvillimit të softuerit, kështu që profesionistët mund të zgjedhin nga një shumëllojshmëri mjetesh. Por, siç e dini, asnjë mjet nuk mund të bëhet një mjet universal për të gjithë. Megjithatë, disa zgjidhje ofrojnë një gamë kaq të gjerë funksionesh saqë mund të përballojnë pothuajse çdo detyrë.

Le t'i ndajmë mjetet DevOps në kategori dhe t'i krahasojmë ato me analogët:

  • zhvillimin dhe ndërtimin e mjeteve
  • testimi i mjeteve të automatizimit
  • mjetet për organizimin e vendosjes
  • Veglat e ekzekutimit
  • mjetet e bashkëpunimit.

Zbatim i suksesshëm dhe i menduar Praktikues i DevOps përfshin instrumente nga të pesë grupet e listuara më sipër. Analizoni grupin aktual të mjeteve në projektin tuaj në mënyrë që të mos humbisni një element të rëndësishëm të tubacionit CI/CD.

Zhvillimi dhe Ndërtimi i Mjeteve

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Kjo është baza e grumbullit të tubacionit CI/CD. Gjithçka fillon pikërisht këtu! Mjetet më të mira në këtë kategori mund të menaxhojnë transmetime të shumta ngjarjesh dhe të integrohen lehtësisht me produkte të tjera.

Në këtë fazë të ciklit jetësor të zhvillimit, ekzistojnë tre grupe mjetesh:

  • Sistemi i kontrollit të versionit (SCM)
  • integrimi i vazhdueshëm (CI)
  • Menaxhimi i të dhënave

GIT ka pasur një histori pozitive në vitin 2020, kështu që mjeti juaj SCM duhet të ketë mbështetje të pandërprerë për GIT. Për CI, një parakusht është aftësia për të ekzekutuar dhe ekzekutuar ndërtime në një mjedis kontejner të izoluar. Kur bëhet fjalë për menaxhimin e të dhënave, ai kërkon aftësinë për të bërë ndryshime në skemën e bazës së të dhënave dhe për të ruajtur bazën e të dhënave sipas versionit të aplikacionit.

Mjeti SCM + CI #1

Fituesi: GitLab dhe GitLab-CI

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Mjeti më i mirë i ciklit DevOps 2020 është pa dyshim GitLab, dhe ai patjetër do të vazhdojë të udhëheqë inovacionin në të ardhmen e afërt.

Funksioni kryesor i GitLab është të sigurojë menaxhim të rehatshëm të një depoje Git. Ndërfaqja e internetit është intuitive dhe e lehtë për t'u përdorur. GitLab ofron gjithçka që ju nevojitet në një version falas dhe vjen si SaaS dhe on-prem (duke përdorur burimet tuaja për të pritur softuerin).

Asnjë mjet tjetër SCM nuk ka përdorur integrimin e vazhdueshëm (CI) direkt në depon tuaj, dhe GitLab e ka bërë këtë për një kohë të gjatë. Për të përdorur GitLab-CI, duhet të shtoni një skedar .gitlab-ci.yml në rrënjën e kodit burimor dhe çdo ndryshim në projekt do të shkaktojë veprime bazuar në saktësisht atë që keni specifikuar. GitLab dhe GitLab-CI njihen me meritë si liderë në fushën e integrimit të vazhdueshëm (CI-as-code).

Përfitimet kryesore

  • Besueshmëria - Produkti është në treg që nga viti 2013; e qëndrueshme; i mbështetur mirë.
  • Burimi i Hapur - Versioni falas i GitLab nuk kufizon funksionalitetin kryesor që i nevojitet ekipeve të zhvillimit. Paketat e shërbimeve me pagesë ofrojnë veçori shtesë të dobishme për kompani të madhësive dhe nevojave të ndryshme.
  • CI i ngulitur - Asnjë mjet tjetër në treg nuk ka ndërtuar integrim të vazhdueshëm direkt në SCM si GitLab-CI. Përdorimi i Docker siguron ndërtime të izoluara pa probleme dhe raportet e integruara e bëjnë të lehtë korrigjimin e gabimeve. Ne nuk kërkojmë integrim kompleks dhe menaxhim të mjeteve të shumta në të njëjtën kohë.
  • Integrime të pakufizuara - GitLab ofron integrim të lehtë të të gjitha mjeteve DevOps që ju nevojiten. Kjo siguron që ekipet e zhvillimit dhe mirëmbajtjes të kenë një burim të vetëm informacioni rreth aplikimit të tyre në çdo mjedis.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Ka mjete të tjera të njohura në këtë kategori, por ato nuk janë aq të mira sa GitLab. Dhe kjo është arsyeja pse:

GitHub — Ky është një sistem i shkëlqyer i kontrollit të versionit SaaS për kompanitë e vogla dhe fazat e hershme të zhvillimit. Për kompanitë e mëdha për të cilat është e rëndësishme të mbani adresat IP në rrjetin e tyre, zgjidhja e vetme nga GitHub ishte makina virtuale .OVA pa mbështetje për sisteme me disponueshmëri të lartë. Kjo e bën të vështirë mirëmbajtjen on-prem; përveç kësaj, .OVA është i përshtatshëm vetëm për bizneset e mesme, përndryshe serveri thjesht do të prishet nën ngarkesë më të madhe. Mungesa e GitHub Actions (deri kohët e fundit dhe jo ende në një version on-prem) ose CI-as-code do të thotë që ju duhet të zgjidhni një mjet të veçantë CI dhe më pas ta menaxhoni atë integrim. Së fundi, GitHub është shumë më i shtrenjtë se secili version i GitLab.

Jenkins — Edhe pse Jenkins konsiderohet standardi midis mjeteve të integrimit të vazhdueshëm si parazgjedhje, atij gjithmonë i kanë munguar aftësitë e kontrollit të versionit. Rezulton se po përdorni Jenkins plus një lloj mjeti SCM. Është shumë e vështirë kur GitLab mund t'i bëjë të dyja. Dizajni mediokër UX nuk është i përshtatshëm për një aplikacion modern në internet dhe lë shumë për të dëshiruar.

BitBucket/Bambu — Unë duhet ta njoh atë si një humbës automatik: pse dy mjete kur GitLab bën gjithçka plotësisht në mënyrë të pavarur. BitBucket Cloud mbështet funksionalitetin GitLab-CI / GitHub Action, por asnjë kompani më e madhe se një startup nuk mund ta zbatojë lehtësisht atë. Serveri prem BitBucket nuk mbështet as tubacionet BitBucket!

#1 Mjet i Menaxhimit të të Dhënave

Fituesi: FlywayDB

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Në zhvillimin e aplikacioneve në internet, automatizimit të bazës së të dhënave zakonisht nuk i kushtohet rëndësi. Ideja e vendosjes së ndryshimeve të skemës së bazës së të dhënave për versionet e reja të aplikacionit vjen vonë. Ndryshimet e skemës shpesh rezultojnë në shtimin dhe riemërtimin e kolonave ose tabelave. Nëse versioni i aplikacionit nuk përputhet me versionin e skemës, aplikacioni mund të rrëzohet. Për më tepër, menaxhimi i ndryshimeve të bazës së të dhënave kur përditësohet një aplikacion mund të jetë sfidues pasi ekzistojnë dy sisteme të ndryshme. FlyWayDB zgjidh të gjitha këto probleme.

Përfitimet kryesore

  • Versionimi i bazës së të dhënave - Flyway ju lejon të krijoni versione të bazës së të dhënave, të gjurmoni migrimet e bazës së të dhënave dhe të transferoni ose ktheni lehtësisht ndryshimet e skemës pa një mjet shtesë për këtë.
  • Binar ose Embedded - Ne mund të zgjedhim të ekzekutojmë Flyway si pjesë e aplikacionit ose si një ekzekutues binar. Flyway kontrollon përputhshmërinë e versionit në fillim dhe fillon migrimet e duhura, duke mbajtur të sinkronizuara versionet e bazës së të dhënave dhe të aplikacionit. Duke ekzekutuar komandën ad-hoc të linjës cmd, ne ofrojmë fleksibilitet për bazat e të dhënave ekzistuese pa rindërtuar të gjithë aplikacionin.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Nuk ka shumë mjete në këtë fushë. Le të shohim disa prej tyre:

LiquiBase — Liquibase i ngjan FlywayDB. Do të doja ta vendosja në krye të Flyway nëse do të kisha dikë në ekipin tim me më shumë përvojë me Liquibase.

Flocker - Mund të funksionojë vetëm për aplikacione me kontejnerë. Për të ekzekutuar me sukses bazat e të dhënave të kontejnerizuara, gjithçka duhet të planifikohet në mënyrë të përsosur. Unë rekomandoj përdorimin e RDS (Relational Database Service) për bazat e të dhënave dhe nuk këshilloj ruajtjen e informacionit të rëndësishëm në një kontejner.

Mjetet e automatizimit të testimit

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Le të fillojmë diskutimin tonë për mjetet e automatizimit të testimit duke i klasifikuar ato bazuar në piramidën e testimit.

Piramida e testimit (testet) ka 4 nivele:

  • Testet e njësisë - Kjo është baza e të gjithë procesit të testimit të automatizuar. Duhet të ketë më shumë teste për njësi në krahasim me llojet e tjera të testeve. Zhvilluesit shkruajnë dhe ekzekutojnë teste njësie për të siguruar që një pjesë e një aplikacioni (i njohur si "njësi") përputhet me dizajnin e tij dhe sillet siç pritet.
  • Testet e komponentëve - Qëllimi kryesor i testimit të komponentëve është të verifikojë sjelljen hyrëse/dalëse të objektit testues. Ne duhet të sigurohemi që funksionaliteti i objektit të testimit të zbatohet në mënyrë korrekte sipas specifikimeve.
  • Testet e integrimit - Një lloj testimi në të cilin modulet individuale të softuerit kombinohen dhe testohen si grup.
  • Testet nga fundi në fund - Ky hap është vetë-shpjegues. Ne monitorojmë të gjithë aplikacionin dhe sigurohemi që funksionon siç është planifikuar.

Meqenëse testet e njësive dhe testimi i komponentëve kryhen vetëm nga zhvilluesit dhe shpesh janë specifike për gjuhën e programimit, ne nuk do t'i vlerësojmë këto mjete për domenin DevOps.

#1 Mjeti i Testimit të Integrimit

Fituesi: kastravec

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Kastraveci kombinon specifikimet dhe dokumentacionin e testimit në një dokument të vetëm të gjallë. Specifikimet janë gjithmonë të përditësuara pasi ato testohen automatikisht nga Cucumber. Nëse dëshironi të ndërtoni një kornizë të automatizuar testimi nga e para dhe të modeloni sjelljen e përdoruesit në një aplikacion në ueb, atëherë Selenium WebDriver me Java dhe Cucumber BDD është një mënyrë e shkëlqyer për të mësuar dhe zbatuar Cucumber në një projekt.

Përfitimet kryesore

  • Qasja BDD (Zhvillimi i Drejtuar nga Sjellja - "zhvillimi përmes sjelljes" në krahasim me qasjen "zhvillimi i drejtuar nga testi") - Kastraveci është krijuar për testimin e BDD, ai fillimisht u krijua për këtë detyrë.
  • Living Documentation - Dokumentacioni është gjithmonë një dhimbje! Meqenëse testet tuaja janë shkruar si kod, Cucumber teston dokumentacionin e krijuar automatikisht për të siguruar që testet dhe dokumentacioni janë në sinkronizim.
  • Mbështetja - Ne mund të zgjedhim nga shumë mjete, por Kastraveci ka burimet e nevojshme financiare dhe një sistem mbështetës të mirëorganizuar për të ndihmuar përdoruesit në çdo situatë të vështirë.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Ndër kornizat e tjera dhe mjetet specifike të teknologjisë, vetëm Kastraveci mund të konsiderohet një zgjidhje universale.

Mjetet e testimit nga fundi në fund

Kur kryeni testime nga fundi në fund, duhet të përqendroheni në dy pika kryesore:

  • testimi funksional
  • Testimi i stresit.

Në testimin funksional, ne kontrollojmë nëse gjithçka që duam ndodh në të vërtetë. Për shembull, kur klikoj në disa elementë të SPA-së sime (aplikacioni me një faqe), plotësoj formularët dhe zgjedh "Dorëzo", të dhënat shfaqen në bazën e të dhënave dhe mesazhi "Sukses!" shfaqet në ekran.

Është gjithashtu e rëndësishme që ne të kontrollojmë që një numër i caktuar përdoruesish që ekzekutojnë të njëjtin skenar mund të përpunohen pa gabime.

Mungesa e këtyre 2 llojeve të testimit do të jetë një pengesë e rëndësishme në tubacionin tuaj CI/CD.

Mjeti numër 1 i testimit nga fundi në fund. Testimi funksional

Fituesi: SoapUI Pro

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
SoapUI ka qenë në hapësirën e testimit të API për një kohë të gjatë që kur shërbimet e uebit të bazuara në SOAP ishin standarde. Ndërsa ne nuk krijojmë më shërbime të reja SOAP dhe emri i mjetit nuk ka ndryshuar, kjo nuk do të thotë se nuk ka evoluar. SoapUI ofron një kornizë të shkëlqyer për krijimin e testeve funksionale të automatizuara të backend. Testet mund të kombinohen lehtësisht me mjetet e integrimit të vazhdueshëm dhe të përdoren si pjesë e një tubacioni CI/CD.

Përfitimet kryesore

  • Dokumentacioni i detajuar - SoapUI ka qenë në treg për një kohë mjaft të gjatë, kështu që ka shumë burime në internet që mund t'ju ndihmojnë të kuptoni se si të vendosni testet.
  • Lehtësia e përdorimit - Megjithëse mjeti mbështet protokolle të shumta për testimin e API-ve, prania e SoapUI e një ndërfaqe të përbashkët për shërbime të shumta e bën më të lehtë shkrimin e testeve.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Selen është një tjetër instrument i madh në këtë grup. Unë rekomandoj ta përdorni nëse jeni duke ndërtuar dhe ekzekutuar një aplikacion të bazuar në Java. Sidoqoftë, nëse po ndërtoni një aplikacion të plotë ueb me teknologji të shumta, ai mund të bëhet i vështirë për komponentët jo Java.

Mjeti numër 1 i testimit nga fundi në fund. Testimi i stresit

Fituesi: LoadRunner

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Shpjegim: Kur vjen koha për të ngarkuar testin e çdo elementi të aplikacionit tuaj, vetëm LoadRunner mund ta përfundojë detyrën. Po, është e shtrenjtë dhe e vështirë në fillim, por LoadRunner është i vetmi mjet që më jep mua, si arkitekt teknik, besim të plotë se kodi i ri do të funksionojë në kushte ekstreme të ngarkesës. Gjithashtu, mendoj se është koha që LoadRunner të merret përsipër nga ekipet e zhvillimit dhe jo nga ekipet e testimit.

Përfitimet kryesore

  • Dokumentacion i gjerë - LoadRunner ka qenë në treg për mjaft kohë, kështu që ka shumë burime në internet për t'ju ndihmuar të kuptoni se si të vendosni testet e ngarkesës.
  • Mbështetja e protokollit - Load Runner mbështet gjithçka nga ODBC në AJAX, HTTPS dhe çdo protokoll tjetër jo të parëndësishëm që mund të përdorë aplikacioni juaj. Ne përpiqemi të mos përdorim mjete të shumta për testimin e ngarkesës, pasi kjo vetëm e ndërlikon procesin.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Përsëri, nuk ka shumë mjete universale në këtë fushë, kështu që zgjidhja më e mirë është ajo që do të funksionojë në çdo mjedis me çdo teknologji.

Mjetet e vendosjes

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Mjetet e vendosjes janë ndoshta aspekti më pak i kuptuar i zhvillimit. Për një ekip operacionesh pa një kuptim të thellë të kodit dhe funksionalitetit të aplikacionit, është e vështirë të përdoren mjete të tilla. Për zhvilluesit, menaxhimi i vendosjes është një përgjegjësi e re, kështu që ata nuk kanë ende përvojë të mjaftueshme duke punuar me mjete të tilla.

Para së gjithash, le t'i ndajmë të gjitha mjetet e vendosjes në tre nënkategori:

  • menaxhimi i objekteve
  • menaxhimi i konfigurimit
  • vendosen.

#1 Mjeti i Menaxhimit të Artifaktit

Fituesi: Lidhje

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Depoja e artefakteve Nexus mbështet pothuajse çdo teknologji kryesore, nga Java në NPM te Docker. Ne mund ta përdorim këtë mjet për të ruajtur të gjitha objektet që përdorim. Përfaqësimi i menaxherëve të paketave në distancë gjithashtu shpejton ndjeshëm procesin e ndërtimit të CI, duke i bërë paketat më të aksesueshme për ndërtim. Një avantazh tjetër është aftësia për të marrë një pamje të plotë të të gjitha paketave të përdorura në disa projekte softuerike, duke bllokuar paketat e pasigurta me burim të hapur (ato mund të veprojnë si një vektor sulmi).

Përfitimet kryesore

  • Mbështetje teknike - Produkt i besueshëm; i mbështetur mirë.
  • Burimi i Hapur - Versioni falas nuk kufizon funksionalitetin kryesor që i nevojitet ekipeve të zhvillimit.

#1 Mjet i Menaxhimit të Konfigurimit

Fituesi: Ansible

Ansible është një lider për një arsye të thjeshtë: pa shtetësi. Më parë, mjete të ngjashme fokusoheshin në menaxhimin e gjendjes së konfigurimit. Kur të lansohet, një mjet i tillë, pasi ka marrë konfigurimin e dëshiruar, do të përpiqet të korrigjojë konfigurimin aktual të aplikacionit. Dhe me qasjen e re, janë të pranishëm vetëm komponentë pa shtetësi. Versionet e reja të kodit janë objekte që vendosen për të zëvendësuar ato ekzistuese. Ky mund të konsiderohet një lloj mjedisi kalimtar, afatshkurtër.

Përfitimet kryesore

  • Pa shtetësi - Playbook lëshohet nga makina e vendosjes dhe ekzekutohet në serverët e synuar. Nuk duhet të shqetësohem për gjendjen e objektit në distancë duke përdorur një mjet si Packer për të krijuar objekte të vendosshme.
  • Burimi i Hapur - Ashtu si CentOS, Ansible mbështetet gjithashtu nga RedHat. Ndihmon në mirëmbajtjen e komunitetit dhe ofron module me cilësi të lartë dhe të lehtë për t'u përdorur.
  • Testimi me Molekulë (një kornizë Ansible) - Meqenëse menaxhimi i konfigurimit është kod, si çdo gjë tjetër, testimi është thelbësor. Korniza e testimit të roleve Ansible të Molecule funksionon në mënyrë të përsosur, duke siguruar që konfigurimi të jetë i së njëjtës cilësi dhe të ndjek të njëjtin tubacion CI/CD si kodi i aplikacionit.
  • YAML - Krahasuar me mjetet e tjera, YAML është më e lehtë për t'u kuptuar. Meqenëse menaxhimi i konfigurimit është zakonisht një sfidë e re për ata që zbatojnë praktikat e DevOps, thjeshtësia është atuti i tij.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Shef i OpsCode — Fillova karrierën time në DevOps si zhvillues librash gatimi. Natyrisht, Ruby dhe Chef janë shumë të dashur për zemrën time, por ato thjesht nuk i zgjidhin problemet e aplikacioneve moderne pa shtetësi, të bazuara në cloud. OpsCode Chef është një mjet i shkëlqyeshëm për aplikacione më tradicionale, por në këtë artikull ne jemi të fokusuar në të ardhmen.

kukull — Kukulla nuk ka pasur kurrë shumë fansa, sidomos në krahasim me Chef dhe Ansible. Është i shkëlqyeshëm për sigurimin dhe punën me pajisje, por i mungon mbështetja moderne e menaxhimit të konfigurimit për një aplikacion në internet.

Mjeti i vendosjes numër 1

Fituesi: Terraform

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Terraform zgjidh problemin e përshkrimit të infrastrukturës suaj si kod, nga komponentët e rrjetit deri te imazhet e plota të serverit. Ky produkt ka bërë një rrugë të gjatë që nga lëshimi i tij fillestar, me kaq shumë shtojca të krijuara dhe një komunitet kaq të fortë që do të jeni të sigurt se do të merrni ndihmë në çdo skenar vendosjeje. Aftësia për të mbështetur çdo lloj mjedisi (në ambiente, në cloud, ose gjetkë) është e pashembullt. Së fundi, versioni më i fundit ofron shumë nga të njëjtat funksione logjike dhe klasa në HCL si çdo gjuhë tjetër tradicionale programimi, duke e bërë Terraform të lehtë për zhvilluesit që ta kuptojnë shpejt dhe me lehtësi.

Përfitimet kryesore

  • Environment agnostic - Terraform përdor funksione që veprojnë si një ndërfaqe ndërmjet kodit tuaj Terraform, të gjitha API-ve dhe logjikës së brendshme për të komunikuar me ofruesin e infrastrukturës. Kjo do të thotë që unë do të zotëroj vetëm një mjet dhe më pas mund të punoj kudo.
  • Burimi i hapur - Është e vështirë të mposhtni mjetet falas! Mbështetja e komunitetit në nivelin më të lartë.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Formimi i resë AWS — Edhe nëse punoni vetëm në mjedisin cloud AWS, puna juaj e ardhshme mund të përdorë një mjet tjetër. Përkushtimi i të gjithë kohës dhe energjisë vetëm një platforme është një vendim dritëshkurtër. Për më tepër, shumë shërbime të reja AWS janë shpesh të disponueshme si module Terraform përpara se të jenë të disponueshme në CloudFormation.

Veglat e ekzekutimit

Mjetet DevOps që të gjithë duhet të mësojnë në 2020

Qëllimi përfundimtar i çdo projekti zhvillimi është të lëshojë aplikacionin në prodhim. Në botën e DevOps, ne duam të jemi plotësisht të vetëdijshëm për të gjitha problemet e mundshme me mjedisin tonë, dhe gjithashtu duam të minimizojmë ndërhyrjen manuale. Zgjedhja e grupit të duhur të mjeteve të funksionimit është thelbësor për arritjen e nirvanës së zhvillimit të aplikacionit.

Nënkategoritë e mjeteve të ekzekutimit:

  • X-as-a-service (XaaS)
  • orkestrimi
  • monitorimi
  • prerjet.

X-tool-si-një-shërbim #1

Fituesi: Shërbimet e Amazon Amazon

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Amazon ka qenë gjithmonë një lider në teknologjitë cloud, por nuk ndalet me kaq: shumëllojshmëria e shërbimeve të reja për zhvilluesit po hap sytë. Sillni çdo teknologji dhe shabllon në AWS dhe ai do të ndërtohet dhe do të funksionojë. Kostoja e mjetit është mjaft e arsyeshme: krahasojeni atë me montimin, menaxhimin dhe mirëmbajtjen e pajisjeve në qendrën tuaj të të dhënave. Versioni falas ju lejon të eksperimentoni dhe të merrni vendimin e duhur përpara se të shpenzoni para.

Përfitimet kryesore

  • Prevalenca - Nëse keni përvojë në ndërtimin e aplikacioneve në AWS, mund të punoni kudo. Bizneset e duan AWS, dhe startup-et vlerësojnë gjithashtu koston e tij të ulët.
  • Versioni falas është një faktor vërtet domethënës që e veçon AWS nga kolegët e tij. Më lejoni të provoj shërbimin dhe të shoh se si funksionon përpara se të marr një vendim blerjeje, nuk dua të shpenzoj mijëra dollarë për diçka të panevojshme. Versioni falas është gjithmonë i mjaftueshëm që unë të testoj çdo koncept.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

I kaltër “Azure ka bërë një rrugë të gjatë që nga publikimi i saj i parë, dhe kjo është e lavdërueshme. Megjithatë, dëshira për të qenë ndryshe ka sjellë emra të çuditshëm për shërbime, gjë që shpesh e vështirëson punën. Çfarë do të thotë "ruajtje blob"? Dhe ndërsa kodi .NET funksionon më mirë në ekosistemin e Microsoft, nuk ka gjasa që ju të përdorni vetëm .NET për çdo komponent të aplikacionit tuaj.

Heroku — Unë kurrë nuk do të drejtoja asgjë tjetër përveç një projekti personal në Heroku për shkak të nivelit të ulët të besueshmërisë dhe transparencës, ndaj kompanitë nuk duhet ta përdorin atë si platformë. Heroku është i shkëlqyeshëm për të demonstruar diçka në një blog, por për përdorim praktik - "Jo, faleminderit!"

Mjeti #1 i orkestrimit

Fituesi: openshift

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Me siguri po përdorni Docker ose kontejnerë të tjerë në pirgun e aplikacionit tuaj. Aplikacionet pa server janë të shkëlqyera, por ato mund të mos i përshtaten çdo arkitekture. Drejtimi i kontejnerëve pa një platformë orkestrimi thjesht nuk do të funksionojë. Kubernetes Core (K8s) është i pakrahasueshëm për sa i përket sigurisë dhe veglave. OpenShift është e vetmja platformë e bazuar në Kubernetes që mund të mbledhë Source2Image, mbështet vendosjen e automatizuar në pods dhe mbështet gjurmimin dhe monitorimin. OpenShift mund të ekzekutohet në prem, në cloud, ose në prem dhe në re në të njëjtën kohë.

Përfitimet kryesore

  • Siguria e integruar - Menaxhimi i sigurisë K8 mund të kërkojë një diplomë të avancuar. Çdo detaj duhet menduar dhe marrë parasysh me kujdes! Mekanizmat e sigurisë të ndërtuara si parazgjedhje me OpenShift heqin barrën nga zhvilluesit dhe ofrojnë një platformë më të sigurt për aplikacionet.
  • Zgjidhje gjithëpërfshirëse - Ndryshe nga K8-të bazë, e cila nuk përfshin mjetet e balancimit të ngarkesës si parazgjedhje, OpenShift i ka të gjitha. Unë mund ta përdor atë për të krijuar dhe pritur kontejnerë, për të ekzekutuar veglat CI/CD, për të menaxhuar proceset e jashtme, për të menaxhuar çelësat dhe shumë më tepër. Megjithëse ndërfaqja grafike e përdoruesit është ende larg të qenit perfekt, qasja e bazuar në API do të thotë që gjithçka mund të përshkruhet në një skenar. Ndryshe nga GUI-të e tjera për K8, OpenShift e bën shumë më të lehtë mësimin e bazave të Kubernetes. Ju as nuk keni nevojë të merrni një diplomë!

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Grumbulli i dokerëve — Docker Swarm u përpoq të thjeshtonte K8 duke hequr qafe shumë gjëra. Është i shkëlqyeshëm për aplikacione të vogla, por për aplikacionet e ndërmarrjeve thjesht nuk funksionon. Për më tepër, zgjidhjet si AWS ECS marrin një qasje të ngjashme, por e bëjnë më të lehtë punën me shërbime të tjera me të cilat mund të ndërveproj gjithashtu (Lambda, IAM, etj.).

Mjeti i monitorimit #1

Fituesi: Relike e re

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Publikimet e hershme të New Relic bënë një gjë mirë - monitorimin APM (Application Performance Monitoring). Tani është një mjet monitorimi me funksione të plota që ju lejon të monitoroni performancën e serverit, kontejnerit, bazës së të dhënave, monitorimin e përvojës së përdoruesit përfundimtar dhe, natyrisht, monitorimin e performancës së aplikacionit.

Përfitimet kryesore

  • Lehtësia e përdorimit - Kur punoja si inxhinier sistemesh, përdora shumë mjete monitorimi, por kurrë nuk kam hasur në një të tillë aq të thjeshtë dhe të lehtë për t'u përdorur sa New Relic. Është SaaS, kështu që nuk keni nevojë ta instaloni vetë.
  • Dukshmëria nga fundi në fund - Mjete të tjera përpiqen të monitorojnë një element specifik të aplikacionit tuaj. Për shembull, një metrikë e përdorimit të procesorit ose trafikut të rrjetit, por e gjithë kjo duhet të monitorohet plotësisht që aplikacioni të funksionojë siç duhet. New Relic ju jep mundësinë për të bashkuar të gjitha të dhënat tuaja për të marrë një pamje gjithëpërfshirëse të asaj që po ndodh.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Zabbix — Sistemi im i parë dhe i preferuar i monitorimit, por ka mbetur në të kaluarën për shkak të mungesës së zhvillimit në teknologjitë cloud dhe në fushën e monitorimit të performancës së aplikacionit APM. Zabbix ende bën mirë monitorimin tradicional të infrastrukturës së serverit, por kjo është për të.

DataDog — Shumë i fokusuar në procesin e menaxhimit të mjedisit të prodhimit të aplikacionit, dhe jo në vetë kodin. Me ekipet e DevOps që përfshijnë zhvillues, nuk duhet të mbështetemi në mjete të vështira për t'u përdorur për të ofruar mbështetje të nivelit të lartë.

Mjeti i regjistrimit #1

Fituesi: Splunk

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Është e vështirë të konkurrosh me Splunk! Për një kohë të gjatë ai mbetet lider në prerje, duke vazhduar ta bëjë atë më mirë se kushdo tjetër. Me ofertat on-prem dhe SaaS, mund ta përdorni Splunk kudo. E keqja e madhe është çmimi i tij: Splunk është ende shumë i shtrenjtë!

Përfitimet kryesore

  • Përhapja - Bizneset e duan Splunk dhe kompanitë kanë para për ta blerë atë.
  • Edhe pse startup-et po përpiqen të rikuperojnë kostot, shumë funksione mund të zgjidhen falë analogëve me burim të hapur.
  • Mirëmbajtja - E thënë thjesht, Splunk funksionon dhe e bën mirë. Ajo vjen me shumë cilësime dhe veçori të paracaktuara të gatshme për t'u përdorur. Nuk ka nevojë të humbni kohë duke lexuar dokumentacionin dhe duke u përpjekur që Splunk të punojë ose të deshifrojë ndonjë gjë.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

ELK Stack (ElasticSearch, LogStash dhe Kibana) "Këto mjete duken të jenë më të preferuarat, sepse as nuk duhet të shesësh mëlçinë për t'i përdorur ato." Megjithatë, ndërsa grupi i regjistrave rritet dhe numri i aplikacioneve në bord rritet, puna bëhet gjithnjë e më e vështirë. Krahasuar me Splunk, me ELK Stack kam shpenzuar shumë më tepër kohë për të vendosur veglat përpara se të krijoja ndonjë panel kontrolli sesa kam pasur ndonjëherë më parë.

Mjetet e Bashkëpunimit

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
DevOps ka të bëjë kryesisht me ndryshimin e kulturës brenda një organizate. Blerja e ndonjë mjeti nuk do të ndryshojë praktikat aktuale brenda natës, por sigurisht që mund të inkurajojë bashkëpunimin dhe mënyra të reja ndërveprimi.

Nënkategoritë e mjeteve të bashkëpunimit:

  • ndjekja e detyrave
  • ChatOps
  • dokumentacionin.

#1 Mjeti i Ndjekjes së Çështjeve

Fituesi: Jira

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Jira ruan pozicionin e saj drejtues, megjithëse konkurrenca në këtë fushë po rritet. Fleksibiliteti i jashtëzakonshëm i Jira lejon ekipet e zhvillimit dhe mirëmbajtjes të menaxhojnë punën e projektit dhe detyrat e sprintit. Standardet e integruara duke përdorur terminologjinë Agile e bëjnë më të lehtë kalimin nga mënyrat tradicionale të punës në procese më efikase.

Përfitimet kryesore

  • Popullariteti - Si shumë mjete të tjera, Jira përdoret pothuajse kudo. Ekipet e vogla përdorin versionin më të lirë, më të aksesueshëm dhe marrin gjithçka që u nevojitet, ndërsa kompanitë më të mëdha mund të përballojnë një licencë më të shtrenjtë.
  • Integrimet - Jira është pioniere në fushën e saj. Ky fakt dhe zhvillimi i shpejtë i produktit çon në faktin që kompani të tjera zgjedhin Jira për të krijuar integrimet e tyre, duke rritur kështu vlerën e mjetit. Ne mund ta integrojmë Jira me të gjitha mjetet e listuara në këtë artikull jashtë kutisë me një konfigurim të vogël.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Trello — Trello fitoi shpejt popullaritet falë mjetit të tij falas Kanban. Megjithatë, sapo proceset të shkallëzohen dhe të kaloni nga dhjetëra detyra në mijëra, Trello bëhet e vështirë për të naviguar, kërkuar dhe raportuar.

Tracker i rëndësishëm — Unë isha një fans i madh i këtij mjeti kur punoja për një startup. Sidoqoftë, Pivotal Tracker është më i fokusuar në menaxhimin e produktit sesa në detyrat teknike. Megjithëse menaxhimi i produktit në Jira është pak më kompleks, ai prapë mund të zbatohet atje pa përdorur një mjet shtesë.

Mjeti ChatOps #1

Fituesi: ÇështjaMë së shumti

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Shpjegim: Ndoshta surpriza më e madhe për ju në përzgjedhjen time, dhe ky është një lajm i mirë! MatterMost fitoi popullaritet duke marrë më të mirën nga mjetet e mëparshme, por duke i vendosur ato në prem. Kjo është shumë e rëndësishme për kompanitë: MatterMost ju lejon të kontrolloni të dhënat tuaja dhe gjithashtu ju ndihmon t'i integroni ato me mjete që funksionojnë në nivel lokal. Nuk kemi më nevojë të dalim jashtë murit të zjarrit për të kontrolluar bisedat e punës.

Përfitimet kryesore

  • Burimi i hapur – Versioni me burim të hapur i MatterMost funksionon shkëlqyeshëm si për ekipet e mesme ashtu edhe për ato të mëdha. Ndryshe nga plani falas i Slack, i cili fshin historinë tuaj të mesazheve, drejtimi i serverit tuaj do të thotë që ju të mbani të gjitha të dhënat tuaja.
  • Integrimet - Meqenëse API është pothuajse 100% i bazuar në Slack API, pothuajse të gjitha integrimet Slack mund të përdoren drejtpërdrejt me MatterMost.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

I plogët — Slack është e lezetshme, por këta djem janë rritur aq shumë sa kanë filluar të kërkojnë fitim. Faza e shlyerjes së biznesit po afron, e cila i heq vlerën kryesore: Slack ofron shërbime falas; Disavantazhi më i rëndësishëm i versionit falas është fshirja e historisë së bisedave.

Ekipet e Microsoft — Provoni të integroni një produkt të Microsoft-it me diçka që nuk është në pronësi të Microsoft... Fat të mirë! Kjo është gjithçka që kam për të thënë për këtë mjet!

Mjeti i Dokumentimit #1

Fituesi: turmë

Mjetet DevOps që të gjithë duhet të mësojnë në 2020
Krijimi dhe mirëmbajtja e dokumentacionit teknik cilësor është një proces kompleks, pavarësisht se çfarë mjeti përdorni. Megjithëse shumë mjete dokumentimi SaaS kanë dalë në treg kohët e fundit, do ta kisha të vështirë t'i transferoja ruajtjen e dokumentacionit teknik në lidhje me aplikacionet kritike për misionin tek një palë e tretë. Preferohet që të dhënat dhe dokumentet të ruhen on-prem, dhe kështu e zgjidh Confluence.

Përfitimet kryesore

  • Lehtë për t'u përdorur - Shumica e mjeteve të pavarura mund të jenë paksa komplekse për t'u vendosur dhe përdorur dhe kërkojnë disa njohuri për t'u mirëmbajtur. Serveri Confluence funksionon mirë jashtë kutisë për 10 ose 10,000 përdorues.
  • Plugins - Falënderime për Confluence që keni navigim të bukur, të lehtë për t'u përdorur jashtë kutisë dhe aftësinë për të shtuar një shtojcë për pothuajse çdo gjë, zhbllokon potencialin si Wiki.

konkurrentët

Mori pjesë në betejë, por nuk fitoi

Lexoni dokumentet — E bukur për burim të hapur, por as mos mendoni të ruani njohuritë kritike këtu.

Markdown - E shkëlqyeshme për dokumentimin e kodit, por e vështirë për t'u postuar arkitekturë, procese ose lloje të tjera dokumentacioni për shkak të formatimit specifik të MarkDown.

Jekyll — Kur dokumentoj njohuritë teknike, nuk dua të krijoj një faqe të re statike që do të vendoset sa herë që ka një ndryshim. Sistemi i thjeshtë i kontrollit të versionit të Confluence thjeshton shumë dokumentacionin e brendshëm.

Përmbledh

Ka fjalë për fjalë qindra mjete DevOps në treg, duke e bërë të vështirë të dihet se cilat duhet të përdoren dhe kur duhet të zbatohen. Ndiqni këtë udhëzues të thjeshtë për të zgjedhur mjetet DevOps për një tubacion të plotë CI/CD.

Sigurohuni që të zgjidhni mjete nga të pesë kategoritë:

  • zhvillimin dhe ndërtimin e mjeteve
  • testimi i mjeteve të automatizimit
  • mjetet e vendosjes
  • Veglat e ekzekutimit
  • mjetet e bashkëpunimit.

Rekomandimi kryesor: Automatizoni gjithçka!

Faleminderit Zach Shapiro!

Burimi: www.habr.com

Shto një koment