DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā

Sāciet izmantot labākos DevOps rīkus jau Ŕodien!

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
DevOps revolÅ«cija beidzot ir pārņēmusi pasauli, un DevOps rÄ«ki ir kļuvuÅ”i neticami populāri. Saskaņā ar dienestu Google Trends, ā€œDevOps rÄ«kuā€ pieprasÄ«jumu skaits nepārtraukti pieaug, un Ŕī tendence turpinās.

DevOps metodoloÄ£ija aptver visu programmatÅ«ras izstrādes dzÄ«ves ciklu, tāpēc profesionāļi var izvēlēties no dažādiem rÄ«kiem. Bet, kā zināms, neviens instruments nevar kļūt par universālu instrumentu ikvienam. Tomēr daži risinājumi piedāvā tik plaÅ”u funkciju klāstu, ka tie var tikt galā ar gandrÄ«z jebkuru uzdevumu.

Sadalīsim DevOps rīkus kategorijās un salīdzināsim tos ar analogiem:

  • rÄ«ku izstrāde un izveide
  • testÄ“Å”anas automatizācijas rÄ«ki
  • instrumenti izvietoÅ”anas organizÄ“Å”anai
  • Izpildlaika rÄ«ki
  • sadarbÄ«bas rÄ«ki.

VeiksmÄ«ga un pārdomāta Ä«stenoÅ”ana DevOps praktizētājs ietver instrumentus no visām piecām iepriekÅ” minētajām grupām. Analizējiet paÅ”reizējo rÄ«ku komplektu savā projektā, lai nepalaistu garām svarÄ«gu CI/CD konveijera elementu.

Izstrādes un veidoŔanas rīki

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Tas ir CI/CD konveijera kaudzes pamats. Viss sākas tieÅ”i Å”eit! Labākie rÄ«ki Å”ajā kategorijā var pārvaldÄ«t vairākas notikumu straumes un viegli integrēties ar citiem produktiem.

Šajā attīstības dzīves cikla posmā ir trīs rīku grupas:

  • versiju kontroles sistēma (SCM)
  • nepārtraukta integrācija (CI)
  • Datu vadÄ«ba

2020. gadā GIT ir guvis pozitÄ«vus rezultātus, tāpēc jÅ«su SCM rÄ«kam ir jābÅ«t vienmērÄ«gam GIT atbalstam. CI priekÅ”noteikums ir spēja izpildÄ«t un palaist bÅ«vējumus izolētā konteinera vidē. Runājot par datu pārvaldÄ«bu, ir nepiecieÅ”ama iespēja veikt izmaiņas datu bāzes shēmā un uzturēt datu bāzi atbilstoÅ”i lietojumprogrammas versijai.

SCM +CI rÄ«ks Nr. 1

Uzvarētājs: GitLab un GitLab-CI

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Labākais 2020. gada DevOps cikla rÄ«ks, bez Å”aubām, ir GitLab, un tas noteikti turpinās vadÄ«t inovāciju tuvākajā nākotnē.

GitLab galvenā funkcija ir nodroÅ”ināt ērtu Git repozitorija pārvaldÄ«bu. TÄ«mekļa saskarne ir intuitÄ«va un viegli lietojama. GitLab nodroÅ”ina visu nepiecieÅ”amo bezmaksas versijā un tiek piegādāts kā SaaS un on-prem (izmantojot savus resursus programmatÅ«ras mitināŔanai).

Neviens cits SCM rÄ«ks nav izmantojis nepārtrauktu integrāciju (CI) tieÅ”i jÅ«su repozitorijā, un GitLab to ir darÄ«jis jau ilgu laiku. Lai izmantotu GitLab-CI, avota koda saknei ir jāpievieno fails .gitlab-ci.yml, un visas projekta izmaiņas aktivizēs darbÄ«bas, pamatojoties uz tieÅ”i jÅ«su norādÄ«to. GitLab un GitLab-CI ir pelnÄ«ti atzÄ«ti par lÄ«deriem nepārtrauktas integrācijas (CI-as-code) jomā.

Galvenie ieguvumi

  • UzticamÄ«ba ā€“ produkts ir tirgÅ« kopÅ” 2013. gada; stabils; labi atbalstÄ«ts.
  • Atvērtā koda versija ā€” GitLab bezmaksas versija neierobežo galveno funkcionalitāti, kas nepiecieÅ”ama izstrādes komandām. Maksas pakalpojumu paketes nodroÅ”ina papildu noderÄ«gas funkcijas dažāda lieluma un vajadzÄ«bu uzņēmumiem.
  • Engrained CI ā€” neviens cits rÄ«ks tirgÅ« nav izveidojis nepārtrauktu integrāciju tieÅ”i SCM, piemēram, GitLab-CI. Izmantojot Docker, tiek nodroÅ”inātas bez problēmām izolētas versijas, un iebÅ«vētie pārskati atvieglo atkļūdoÅ”anu. Mums nav nepiecieÅ”ama vairāku rÄ«ku sarežģīta integrācija un pārvaldÄ«ba vienlaikus.
  • Neierobežota integrācija ā€” GitLab nodroÅ”ina vienkārÅ”u visu nepiecieÅ”amo DevOps rÄ«ku integrāciju. Tas nodroÅ”ina, ka izstrādes un apkopes komandām ir viens informācijas avots par to lietojumu jebkurā vidē.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Šajā kategorijā ir arī citi populāri rīki, taču tie nav tik labi kā GitLab. Un tāpēc:

GitHub ā€” Å Ä« ir lieliska SaaS versiju kontroles sistēma maziem uzņēmumiem un attÄ«stÄ«bas sākuma stadijām. Lieliem uzņēmumiem, kuriem ir svarÄ«gi saglabāt IP adreses savā tÄ«klā, vienÄ«gais GitHub risinājums bija .OVA virtuālā maŔīna bez augstas pieejamÄ«bas sistēmu atbalsta. Tas apgrÅ«tina uz vietas apkopi, turklāt .OVA ir piemērots tikai vidējiem uzņēmumiem, pretējā gadÄ«jumā serveris vienkārÅ”i avarēs pie lielākas slodzes. GitHub darbÄ«bu trÅ«kums (lÄ«dz nesenam laikam un vēl nav pieejams uz vietas versijā) vai CI-as-code nozÄ«mē, ka jums ir jāizvēlas atseviŔķs CI rÄ«ks un pēc tam jāpārvalda Ŕī integrācija. Visbeidzot, GitHub ir daudz dārgāks nekā jebkura GitLab versija.

Jenkins ā€” Lai gan pēc noklusējuma Jenkins tiek uzskatÄ«ts par standartu starp nepārtrauktas integrācijas rÄ«kiem, tai vienmēr ir trÅ«cis versiju kontroles iespēju. Izrādās, ka jÅ«s izmantojat Jenkins plus kaut kādu SCM rÄ«ku. Tas ir pārāk grÅ«ti, ja GitLab var paveikt abus. Viduvējs UX dizains nav piemērots modernai tÄ«mekļa lietojumprogrammai un atstāj daudz vēlamo.

BitBucket/Bamboo ā€” Man viņŔ jāatzÄ«st par automātisku zaudētāju: kāpēc divi rÄ«ki, ja GitLab visu dara pilnÄ«gi neatkarÄ«gi. BitBucket Cloud atbalsta GitLab-CI / GitHub Action funkcionalitāti, taču neviens uzņēmums, kas ir lielāks par jaunuzņēmumu, nevar to viegli ieviest. Vietējais BitBucket serveris pat neatbalsta BitBucket cauruļvadus!

#1 Datu pārvaldības rīks

Uzvarētājs: FlywayDB

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
TÄ«mekļa lietojumprogrammu izstrādē datu bāzes automatizācijai parasti netiek pieŔķirta nozÄ«me. Ideja par datu bāzes shēmas izmaiņu izvietoÅ”anu jaunām lietojumprogrammas versijām nāk novēloti. Shēmas izmaiņu rezultātā bieži tiek pievienotas un pārdēvētas kolonnas vai tabulas. Ja lietojumprogrammas versija neatbilst shēmas versijai, lietojumprogramma var avarēt. Turklāt datu bāzes izmaiņu pārvaldÄ«Å”ana lietojumprogrammas atjaunināŔanas laikā var bÅ«t sarežģīta, jo pastāv divas dažādas sistēmas. FlyWayDB atrisina visas Ŕīs problēmas.

Galvenie ieguvumi

  • Datu bāzes versiju noteikÅ”ana ā€” Flyway ļauj izveidot datu bāzes versijas, izsekot datu bāzes migrācijai un viegli pārsÅ«tÄ«t vai atsaukt shēmas izmaiņas, neizmantojot tam papildu rÄ«ku.
  • Binārais vai iegultais ā€” mēs varam izvēlēties palaist Flyway kā daļu no lietojumprogrammas vai kā bināru izpildāmo failu. Flyway pārbauda versiju saderÄ«bu startÄ“Å”anas laikā un sāk atbilstoÅ”u migrāciju, sinhronizējot datu bāzes un lietojumprogrammu versijas. Palaižot cmd line ad-hoc komandu, mēs nodroÅ”inām elastÄ«bu esoÅ”ajām datu bāzēm, nepārbÅ«vējot visu lietojumprogrammu.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Šajā jomā nav daudz rīku. Apskatīsim dažus no tiem:

LiquiBase ā€” Liquibase atgādina FlywayDB. Es vēlētos to izveidot virs Flyway, ja manā komandā bÅ«tu kāds ar lielāku pieredzi darbā ar Liquibase.

Flocker - Var darboties tikai konteineru lietojumos. Lai veiksmīgi darbinātu konteinerizētās datu bāzes, viss ir jāplāno perfekti. Es iesaku datu bāzēm izmantot RDS (relāciju datu bāzes pakalpojumu) un neiesaku svarīgu informāciju glabāt konteinerā.

Testa automatizācijas rīki

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Sāksim diskusiju par testÄ“Å”anas automatizācijas rÄ«kiem, klasificējot tos, pamatojoties uz testÄ“Å”anas piramÄ«du.

TestÄ“Å”anas piramÄ«dai (testiem) ir 4 lÄ«meņi:

  • VienÄ«bas testi ā€” tas ir visa automatizētās testÄ“Å”anas procesa pamatā. SalÄ«dzinot ar citiem testu veidiem, vajadzētu bÅ«t vairāk vienÄ«bas testu. Izstrādātāji raksta un izpilda vienÄ«bu testus, lai nodroÅ”inātu, ka lietojumprogrammas daļa (pazÄ«stama kā "vienÄ«ba") atbilst tās dizainam un darbojas, kā paredzēts.
  • Komponentu testi ā€“ Komponentu testÄ“Å”anas galvenais mērÄ·is ir pārbaudÄ«t testa objekta ievades/izvades uzvedÄ«bu. Mums ir jānodroÅ”ina, lai testa objekta funkcionalitāte tiktu ieviesta pareizi saskaņā ar specifikāciju.
  • Integrācijas testi ā€” testÄ“Å”anas veids, kurā atseviŔķi programmatÅ«ras moduļi tiek apvienoti un testēti kā grupa.
  • PilnÄ«gi testi ā€” Å”is solis ir pats par sevi saprotams. Mēs uzraugām visu lietojumprogrammu un pārliecināmies, ka tā darbojas, kā plānots.

Tā kā vienÄ«bu testus un komponentu testÄ“Å”anu veic tikai izstrādātāji un bieži vien tie ir specifiski programmÄ“Å”anas valodai, mēs nenovērtēsim Å”os rÄ«kus DevOps domēnam.

#1 Integrācijas testÄ“Å”anas rÄ«ks

Uzvarētājs: Gurķi

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
GurÄ·is apvieno specifikācijas un testa dokumentāciju vienā dzÄ«vā dokumentā. Specifikācijas vienmēr ir atjauninātas, jo Cucumber tās automātiski pārbauda. Ja vēlaties izveidot automatizētu testÄ“Å”anas ietvaru no nulles un modelēt lietotāju uzvedÄ«bu tÄ«mekļa lietojumprogrammā, Selenium WebDriver ar Java un Cucumber BDD ir lielisks veids, kā apgÅ«t un ieviest gurÄ·i projektā.

Galvenie ieguvumi

  • BDD pieeja (uzvedÄ«bu virzÄ«ta attÄ«stÄ«ba ā€” "attÄ«stÄ«ba caur uzvedÄ«bu" pretstatā "pārbaudes virzÄ«tai izstrādei") - gurÄ·is ir paredzēts BDD testÄ“Å”anai, sākotnēji tika izveidots tieÅ”i Å”im uzdevumam.
  • DzÄ«vā dokumentācija ā€“ dokumentācija vienmēr ir sāpÄ«ga! Tā kā jÅ«su testi ir rakstÄ«ti kā kods, Cucumber pārbauda automātiski Ä£enerēto dokumentāciju, lai nodroÅ”inātu, ka testi un dokumentācija ir sinhronizēti.
  • Atbalsts - Mēs varam izvēlēties no daudziem rÄ«kiem, taču GurÄ·im ir nepiecieÅ”amie finanÅ”u resursi un labi organizēta atbalsta sistēma, lai palÄ«dzētu lietotājiem jebkurā sarežģītā situācijā.

konkurenti

Piedalījies kaujā, bet neuzvarējis

No citiem ietvariem un tehnoloģijai specifiskiem rīkiem par universālu risinājumu var uzskatīt tikai Cucumber.

Pilnīgas pārbaudes rīki

Veicot pilnÄ«gu testÄ“Å”anu, jums jākoncentrējas uz diviem galvenajiem punktiem:

  • funkcionālā pārbaude
  • Stresa testÄ“Å”ana.

Funkcionālajā testÄ“Å”anā mēs pārbaudām, vai viss, ko vēlamies, patieŔām notiek. Piemēram, kad es noklikŔķinu uz noteiktiem sava SPA (vienas lapas pieteikuma) elementiem, aizpildu veidlapas un atlasu "Iesniegt", dati parādās datu bāzē un ekrānā parādās ziņojums "VeiksmÄ«gi!".

Mums ir arī svarīgi pārbaudīt, vai noteiktu skaitu lietotāju, kuri izmanto vienu un to paŔu scenāriju, var apstrādāt bez kļūdām.

Å o divu veidu testÄ“Å”anas trÅ«kums bÅ«s bÅ«tisks trÅ«kums jÅ«su CI/CD konveijerā.

#1 visaptveroŔās testÄ“Å”anas rÄ«ks. Funkcionālā pārbaude

Uzvarētājs: SoapUI Pro

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
SoapUI ir bijis API testÄ“Å”anas telpā ilgu laiku, kopÅ” SOAP balstÄ«ti tÄ«mekļa pakalpojumi bija standarts. Lai gan mēs vairs neveidojam jaunus SOAP pakalpojumus un rÄ«ka nosaukums nav mainÄ«jies, tas nenozÄ«mē, ka tas nav attÄ«stÄ«jies. SoapUI nodroÅ”ina lielisku ietvaru automatizētu aizmugursistēmas funkcionālo testu izveidei. Testus var viegli apvienot ar nepārtrauktas integrācijas rÄ«kiem un izmantot kā daļu no CI/CD konveijera.

Galvenie ieguvumi

  • Detalizēta dokumentācija ā€” SoapUI ir bijis tirgÅ« diezgan ilgu laiku, tāpēc ir daudz tieÅ”saistes resursu, kas var palÄ«dzēt saprast, kā iestatÄ«t testus.
  • VienkārÅ”a lietoÅ”ana ā€” lai gan rÄ«ks atbalsta vairākus API testÄ“Å”anas protokolus, SoapUI kopÄ«gā saskarne vairākiem pakalpojumiem atvieglo testu rakstÄ«Å”anu.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Selēns ir vēl viens lielisks instruments Å”ajā grupā. Es iesaku to izmantot, ja veidojat un izmantojat Java lietojumprogrammu. Tomēr, ja veidojat pilnu tÄ«mekļa lietojumprogrammu ar vairākām tehnoloÄ£ijām, tā var kļūt apgrÅ«tinoÅ”a komponentiem, kas nav Java komponenti.

#1 visaptveroŔās testÄ“Å”anas rÄ«ks. Stresa testÄ“Å”ana

Uzvarētājs: LoadRunner

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Paskaidrojums: Kad pienācis laiks pārbaudÄ«t katru lietojumprogrammas elementu, tikai LoadRunner var pabeigt uzdevumu. Jā, sākumā tas ir dārgi un sarežģīti, taču LoadRunner ir vienÄ«gais rÄ«ks, kas man kā tehniskajam arhitektam sniedz pilnÄ«gu pārliecÄ«bu, ka jaunais kods darbosies ekstremālās slodzes apstākļos. Turklāt es domāju, ka ir pienācis laiks, lai LoadRunner pārņemtu izstrādes komandas, nevis testÄ“Å”anas komandas.

Galvenie ieguvumi

  • PlaÅ”a dokumentācija ā€” LoadRunner ir bijis tirgÅ« jau labu laiku, tāpēc ir pieejami daudzi tieÅ”saistes resursi, kas palÄ«dz saprast, kā iestatÄ«t slodzes testus.
  • Protokolu atbalsts ā€” Load Runner atbalsta visu, sākot no ODBC lÄ«dz AJAX, HTTPS un jebkuram citam nenozÄ«mÄ«gam protokolam, ko varētu izmantot jÅ«su lietojumprogramma. Mēs cenÅ”amies neizmantot vairākus slodzes testÄ“Å”anas rÄ«kus, jo tas tikai sarežģī procesu.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Atkal, Å”ajā jomā nav daudz universālu rÄ«ku, tāpēc labākais risinājums ir tāds, kas darbosies jebkurā vidē ar jebkuru tehnoloÄ£iju.

IzvietoŔanas rīki

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
IzvietoÅ”anas rÄ«ki, iespējams, ir vismazāk saprotamais attÄ«stÄ«bas aspekts. Operāciju komandai bez dziļas izpratnes par lietojumprogrammas kodu un funkcionalitāti ir grÅ«ti izmantot Ŕādus rÄ«kus. Izstrādātājiem izvietoÅ”anas pārvaldÄ«ba ir jauna atbildÄ«ba, tāpēc viņiem vēl nav pietiekamas pieredzes darbā ar Ŕādiem rÄ«kiem.

Vispirms sadalīsim visus izvietoŔanas rīkus trīs apakŔkategorijās:

  • artefaktu pārvaldÄ«ba
  • konfigurācijas pārvaldÄ«ba
  • izvietot.

#1 Artefaktu pārvaldības rīks

Uzvarētājs: sakars

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Nexus artefaktu krātuve atbalsta gandrÄ«z visas galvenās tehnoloÄ£ijas, sākot no Java lÄ«dz NPM un beidzot ar Docker. Mēs varam izmantot Å”o rÄ«ku, lai saglabātu visus izmantotos artefaktus. Attālināto pakotņu pārvaldnieku starpniekserverÄ“Å”ana arÄ« ievērojami paātrina CI veidoÅ”anas procesu, padarot pakotnes pieejamākas veidoÅ”anai. Vēl viena priekÅ”rocÄ«ba ir iespēja iegÅ«t pilnÄ«gu priekÅ”statu par visām vairākos programmatÅ«ras projektos izmantotajām pakotnēm, bloķējot nedroÅ”as atvērtā pirmkoda pakotnes (tās var darboties kā uzbrukuma vektors).

Galvenie ieguvumi

  • Tehniskais atbalsts - Uzticama prece; labi atbalstÄ«ts.
  • Open Source ā€” bezmaksas versija neierobežo galveno funkcionalitāti, kas nepiecieÅ”ama izstrādes komandām.

#1 Konfigurācijas pārvaldības rīks

Uzvarētājs: Iespējams

Ansible ir lÄ«deris viena vienkārÅ”a iemesla dēļ: bezvalstnieks. IepriekÅ” lÄ«dzÄ«gi rÄ«ki bija vērsti uz konfigurācijas stāvokļa pārvaldÄ«bu. Palaižot, Ŕāds rÄ«ks, saņēmis vēlamo konfigurāciju, mēģinās labot paÅ”reizējo lietojumprogrammas konfigurāciju. Un ar jauno pieeju ir pieejami tikai bezvalstnieki. Jaunās koda versijas ir artefakti, kas tiek izvietoti, lai aizstātu esoŔās. To var uzskatÄ«t par sava veida Ä«slaicÄ«gu, Ä«slaicÄ«gu vidi.

Galvenie ieguvumi

  • Bezvalstnieks ā€” Playbook tiek palaists no izvietoÅ”anas iekārtas un izpildÄ«ts mērÄ·a serveros. Man nav jāuztraucas par attālā objekta stāvokli, izmantojot tādu rÄ«ku kā pakotājs, lai izveidotu izvietojamus objektus.
  • Atvērtais kods ā€” tāpat kā CentOS, Ansible atbalsta arÄ« RedHat. Tas palÄ«dz uzturēt kopienu un nodroÅ”ina augstas kvalitātes, viegli lietojamus moduļus.
  • TestÄ“Å”ana ar Molecule (Ansible ietvars) ā€” tā kā konfigurācijas pārvaldÄ«ba ir kods, tāpat kā viss pārējais, testÄ“Å”ana ir bÅ«tiska. Molecule's Ansible lomu testÄ“Å”anas sistēma darbojas nevainojami, nodroÅ”inot, ka konfigurācija ir tādas paÅ”as kvalitātes un atbilst tam paÅ”am CI/CD konveijeram kā lietojumprogrammas kodam.
  • YAML ā€” SalÄ«dzinot ar citiem rÄ«kiem, YAML ir vieglāk saprotams. Tā kā konfigurācijas pārvaldÄ«ba parasti ir jauns izaicinājums tiem, kas ievieÅ” DevOps praksi, vienkārŔība ir tā trumpis.

konkurenti

Piedalījies kaujā, bet neuzvarējis

OpsCode Å”efpavārs ā€” Savu DevOps karjeru sāku kā pavārgrāmatu izstrādātājs. RubÄ«ns un Å”efpavārs, protams, man ir ļoti dārgi, taču tie vienkārÅ”i neatrisina mÅ«sdienu bezvalstnieku, mākoņdatoÅ”anas lietojumprogrammu problēmas. OpsCode Chef ir lielisks rÄ«ks tradicionālākām lietojumprogrammām, taču Å”ajā rakstā mēs koncentrējamies uz nākotni.

marionete ā€” Lellei nekad nav bijis daudz fanu, Ä«paÅ”i salÄ«dzinājumā ar Chef un Ansible. Tas ir lieliski piemērots nodroÅ”ināŔanai un darbam ar aparatÅ«ru, taču tam trÅ«kst moderna konfigurācijas pārvaldÄ«bas atbalsta tÄ«mekļa lietojumprogrammai.

IzvietoŔanas rīks Nr. 1

Uzvarētājs: Terraform

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Terraform atrisina problēmu, kas saistÄ«ta ar infrastruktÅ«ras aprakstÄ«Å”anu kā kodu, sākot no tÄ«kla komponentiem lÄ«dz pilniem servera attēliem. KopÅ” sākotnējās izlaiÅ”anas Å”is produkts ir nogājis garu ceļu, jo ir izveidoti tik daudz spraudņu un izveidota tik spēcÄ«ga kopiena, ka jÅ«s noteikti saņemsit palÄ«dzÄ«bu jebkurā izvietoÅ”anas scenārijā. Iespēja atbalstÄ«t jebkura veida vidi (uz vietas, mākonÄ« vai citur) ir nepārspējama. Visbeidzot, jaunākā versija nodroÅ”ina daudz no tām paŔām loÄ£iskām funkcijām un klasēm HCL kā jebkura cita tradicionālā programmÄ“Å”anas valoda, padarot Terraform viegli uztveramu izstrādātājiem ātri un viegli.

Galvenie ieguvumi

  • Vides agnostiÄ·is ā€” Terraform izmanto funkcijas, kas darbojas kā saskarne starp jÅ«su Terraform kodu, visām API un iekŔējo loÄ£iku, lai sazinātos ar infrastruktÅ«ras nodroÅ”inātāju. Tas nozÄ«mē, ka es apgÅ«Å”u tikai vienu rÄ«ku un pēc tam varÄ“Å”u strādāt jebkur.
  • Open Source ā€” bezmaksas rÄ«kus ir grÅ«ti pārspēt! Kopienas atbalsts visaugstākajā lÄ«menÄ«.

konkurenti

Piedalījies kaujā, bet neuzvarējis

AWS mākoņu veidoÅ”anās ā€” Pat ja strādājat tikai AWS mākoņa vidē, nākamajā darbā var tikt izmantots cits rÄ«ks. Visa sava laika un enerÄ£ijas veltÄ«Å”ana tikai vienai platformai ir tuvredzÄ«gs lēmums. Turklāt daudzi jauni AWS pakalpojumi bieži ir pieejami kā Terraform moduļi, pirms tie ir pieejami pakalpojumā CloudFormation.

Izpildlaika rīki

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā

Jebkura izstrādes projekta galvenais mērÄ·is ir palaist lietojumprogrammu ražoÅ”anā. DevOps pasaulē mēs vēlamies pilnÄ«bā apzināties visas iespējamās problēmas ar vidi, kā arÄ« vēlamies samazināt manuālo iejaukÅ”anos. Pareiza izpildlaika rÄ«ku komplekta izvēle ir bÅ«tiska, lai sasniegtu lietojumprogrammu izstrādes nirvānu.

Izpildlaika rīku apakŔkategorijas:

  • X-as-a-service (XaaS)
  • orÄ·estrÄ“Å”ana
  • uzraudzÄ«bu
  • mežizstrāde.

X-rīks-kā-pakalpojums Nr. 1

Uzvarētājs: Amazon Web pakalpojumi

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Amazon vienmēr ir bijis lÄ«deris mākoņtehnoloÄ£iju jomā, taču ar to viss neapstājas: izstrādātājiem paredzēto jauno pakalpojumu daudzveidÄ«ba atver acis. Pievienojiet jebkuru tehnoloÄ£iju un veidni AWS, un tā tiks izveidota un darbosies. RÄ«ka izmaksas ir diezgan pieņemamas: salÄ«dziniet to ar aprÄ«kojuma montāžu, pārvaldÄ«bu un apkopi savā datu centrā. Bezmaksas versija ļauj eksperimentēt un pieņemt pareizo lēmumu pirms naudas tērÄ“Å”anas.

Galvenie ieguvumi

  • IzplatÄ«ba ā€” ja jums ir pieredze lietojumprogrammu veidoÅ”anā AWS, varat strādāt jebkur. Uzņēmumiem patÄ«k AWS, un jaunizveidotie uzņēmumi novērtē arÄ« tās zemās izmaksas.
  • Bezmaksas versija ir patiesi nozÄ«mÄ«gs faktors, kas AWS atŔķir no vienaudžiem. Ä»aujiet man izmēģināt pakalpojumu un redzēt, kā tas darbojas, pirms es pieņemu lēmumu par pirkumu, es nevēlos tērēt tÅ«kstoÅ”iem dolāru par kaut ko nevajadzÄ«gu. Man vienmēr pietiek ar bezmaksas versiju, lai pārbaudÄ«tu jebkuru koncepciju.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Debeszils ā€œAzure kopÅ” pirmās izlaiÅ”anas ir nogājis garu ceļu, un tas ir slavējami. Taču vēlme atŔķirties radÄ«jusi dÄ«vainus dienestu nosaukumus, kas nereti apgrÅ«tina darbu. Ko nozÄ«mē ā€œblobu krātuveā€? Un, lai gan .NET kods darbojas labāk Microsoft ekosistēmā, ir maz ticams, ka katrai lietojumprogrammas sastāvdaļai izmantosit tikai .NET.

Heroku ā€” Es nekad nevadÄ«tu neko citu kā personisku projektu Heroku zemā uzticamÄ«bas un caurskatāmÄ«bas lÄ«meņa dēļ, tāpēc uzņēmumiem nevajadzētu to izmantot kā platformu. Heroku ir lieliski piemērots, lai kaut ko demonstrētu emuārā, bet praktiskai lietoÅ”anai - "Nē, paldies!"

#1 Orķestrācijas rīks

Uzvarētājs: openshift

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
JÅ«s, iespējams, izmantojat Docker vai citus konteinerus savā lietojumprogrammu kaudzē. Lietojumprogrammas bez serveriem ir lieliskas, taču tās var neatbilst katrai arhitektÅ«rai. Konteineru palaiÅ”ana bez orÄ·estrÄ“Å”anas platformas vienkārÅ”i nedarbosies. Kubernetes Core (K8s) ir nepārspējams droŔības un instrumentu ziņā. OpenShift ir vienÄ«gā Kubernetes platforma, kas var apkopot Source2Image, atbalsta automatizētu izvietoÅ”anu podiņos un atbalsta izsekoÅ”anu un uzraudzÄ«bu. OpenShift var palaist uz vietas, mākonÄ« vai uz vietas un mākonÄ« vienlaikus.

Galvenie ieguvumi

  • IebÅ«vēta droŔība ā€” lai pārvaldÄ«tu K8s droŔību, var bÅ«t nepiecieÅ”ams augstāks grāds. Katra detaļa ir rÅ«pÄ«gi jāpārdomā un jāņem vērā! Ar OpenShift pēc noklusējuma iebÅ«vētie droŔības mehānismi noņem izstrādātāju slogu un nodroÅ”ina droŔāku platformu lietojumprogrammām.
  • Universāls risinājums ā€” atŔķirÄ«bā no pamata K8, kuros pēc noklusējuma nav iekļauti slodzes lÄ«dzsvaroÅ”anas rÄ«ki, OpenShift ir viss. Es varu to izmantot, lai izveidotu un mitinātu konteinerus, palaistu CI/CD rÄ«kus, pārvaldÄ«tu ārējos procesus, pārvaldÄ«tu atslēgas un daudz ko citu. Lai gan grafiskais lietotāja interfeiss joprojām ir tālu no perfekta, uz API balstÄ«tā pieeja nozÄ«mē, ka visu var aprakstÄ«t skriptā. AtŔķirÄ«bā no citiem K8s GUI, OpenShift ievērojami atvieglo Kubernetes pamatu apguvi. Jums pat nav jāiegÅ«st grāds!

konkurenti

Piedalījies kaujā, bet neuzvarējis

Dokera bars ā€” Docker Swarm mēģināja vienkārÅ”ot K8, atbrÄ«vojoties no daudzām lietām. Tas ir lieliski piemērots mazām lietojumprogrammām, bet uzņēmuma lietojumprogrammām tas vienkārÅ”i nedarbojas. Turklāt tādiem risinājumiem kā AWS ECS ir lÄ«dzÄ«ga pieeja, taču tie atvieglo darbu ar citiem pakalpojumiem, ar kuriem arÄ« varu mijiedarboties (Lambda, IAM utt.).

Uzraudzības rīks Nr. 1

Uzvarētājs: Jauna relikvija

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Jaunās relikvijas agrÄ«nās izlaiÅ”anas paveica vienu lietu ā€” APM (Application Performance Monitoring) uzraudzÄ«bu. Tagad tas ir pilnvērtÄ«gs uzraudzÄ«bas rÄ«ks, kas ļauj pārraudzÄ«t servera, konteinera, datu bāzes veiktspēju, gala lietotāja pieredzes uzraudzÄ«bu un, protams, lietojumprogrammu veiktspējas uzraudzÄ«bu.

Galvenie ieguvumi

  • VienkārÅ”a lietoÅ”ana ā€” strādājot par sistēmu inženieri, es izmantoju daudzus pārraudzÄ«bas rÄ«kus, taču nekad neesmu saskāries ar tik vienkārÅ”u un viegli lietojamu kā New Relic. Tas ir SaaS, tāpēc jums tas nav jāinstalē paÅ”am.
  • PilnÄ«ga redzamÄ«ba ā€” citi rÄ«ki mēģina pārraudzÄ«t vienu konkrētu jÅ«su lietojumprogrammas elementu. Piemēram, procesora lietojuma vai tÄ«kla trafika metrika, taču tas viss ir visaptveroÅ”i jāuzrauga, lai lietojumprogramma darbotos pareizi. New Relic sniedz iespēju apvienot visus savus datus, lai iegÅ«tu visaptveroÅ”u priekÅ”statu par notiekoÅ”o.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Zabbix ā€” Mana pirmā un iecienÄ«tākā monitoringa sistēma, taču tā ir palikusi pagātnē, jo trÅ«kst attÄ«stÄ«bas mākoņtehnoloÄ£ijās un APM aplikāciju veiktspējas monitoringa jomā. Zabbix joprojām labi veic tradicionālās serveru infrastruktÅ«ras uzraudzÄ«bu, bet tas arÄ« viss.

DataDog ā€” Pārāk daudz koncentrēts uz lietojumprogrammas ražoÅ”anas vides pārvaldÄ«bas procesu, nevis paÅ”u kodu. Ar DevOps komandām, kurās ir iesaistÄ«ti izstrādātāji, mums nav jāpaļaujas uz grÅ«ti lietojamiem rÄ«kiem, lai nodroÅ”inātu augstākā lÄ«meņa atbalstu.

Reģistrācijas rīks Nr. 1

Uzvarētājs: Plankumains

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Ir grÅ«ti konkurēt ar Splunk! Ilgu laiku viņŔ paliek mežizstrādes lÄ«deris, turpinot to darÄ«t labāk nekā jebkurÅ” cits. Izmantojot on-prem un SaaS piedāvājumus, varat izmantot Splunk jebkur. Lielais mÄ«nuss ir tā cena: Splunk joprojām ir sasodÄ«ti dārgs!

Galvenie ieguvumi

  • IzplatÄ«ba ā€” uzņēmumiem patÄ«k Splunk, un uzņēmumiem ir nauda, ā€‹ā€‹lai to iegādātos.
  • Lai gan jaunizveidotie uzņēmumi cenÅ”as atgÅ«t izmaksas, daudzas funkcijas var atrisināt, pateicoties atvērtā koda analogiem.
  • UzturamÄ«ba ā€” vienkārÅ”i sakot, Splunk darbojas un dara to labi. Tam ir pieejami daudzi noklusējuma iestatÄ«jumi un funkcijas, kas ir gatavas lietoÅ”anai. Nav jātērē laiks, lasot dokumentāciju un mēģinot panākt, lai Splunk strādātu vai kaut ko atÅ”ifrētu.

konkurenti

Piedalījies kaujā, bet neuzvarējis

ELK Stack (ElasticSearch, LogStash un Kibana) "Šķiet, ka Ŕie rīki ir iecienītākie, jo jums pat nav jāpārdod aknas, lai tos izmantotu." Taču, pieaugot baļķu kopumam un pieaugot pieteikumu skaitam uz kuģa, darbs kļūst arvien grūtāks. Salīdzinot ar Splunk, ar ELK Stack es pavadīju daudz vairāk laika, iestatot rīkus pirms informācijas paneļu izveides, nekā jebkad agrāk.

Sadarbības rīki

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
DevOps galvenokārt ir kultÅ«ras maiņa organizācijā. Jebkura rÄ«ka iegāde nemainÄ«s paÅ”reizējo praksi vienā naktÄ«, taču tas noteikti var veicināt sadarbÄ«bu un jaunus mijiedarbÄ«bas veidus.

Sadarbības rīku apakŔkategorijas:

  • uzdevumu izsekoÅ”ana
  • ChatOps
  • dokumentācija.

1. problēmu izsekoÅ”anas rÄ«ks

Uzvarētājs: JIRA

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Jira saglabā lÄ«derpozÄ«cijas, lai gan konkurence Å”ajā jomā pieaug. Jira neticamā elastÄ«ba ļauj izstrādes un apkopes komandām pārvaldÄ«t projektu darbu un sprinta uzdevumus. IebÅ«vētie standarti, kuros izmantota Agile terminoloÄ£ija, atvieglo pāreju no tradicionālajiem darba veidiem uz efektÄ«vākiem procesiem.

Galvenie ieguvumi

  • Popularitāte - tāpat kā daudzi citi rÄ«ki, Jira tiek izmantota gandrÄ«z visur. Mazās komandas izmanto lētāko, pieejamāko versiju un iegÅ«st visu nepiecieÅ”amo, savukārt lielāki uzņēmumi var atļauties dārgāku licenci.
  • Integrācijas ā€” Jira ir pionieris savā jomā. Å is fakts un produkta straujā attÄ«stÄ«ba noved pie tā, ka citi uzņēmumi izvēlas Jira, lai izveidotu savas integrācijas, tādējādi palielinot rÄ«ka vērtÄ«bu. Mēs varam integrēt Jira ar visiem Å”ajā rakstā uzskaitÄ«tajiem rÄ«kiem, izmantojot nelielu konfigurāciju.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Trello ā€” Trello ātri ieguva popularitāti, pateicoties tā bezmaksas rÄ«kam Kanban. Tomēr, tiklÄ«dz procesi palielinās un no desmitiem uzdevumu pāriet uz tÅ«kstoÅ”iem, Trello kļūst grÅ«ti orientēties, meklēt un ziņot par to.

Pivotal Tracker ā€” Es biju liels Ŕī rÄ«ka cienÄ«tājs, kad strādāju jaunizveidotā uzņēmumā. Tomēr Pivotal Tracker vairāk koncentrējas uz produktu pārvaldÄ«bu, nevis uz tehniskiem uzdevumiem. Lai gan produktu pārvaldÄ«ba Jira ir nedaudz sarežģītāka, to joprojām var ieviest, neizmantojot papildu rÄ«ku.

ChatOps rīks Nr. 1

Uzvarētājs: MatterMost

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
Paskaidrojums: VarbÅ«t lielākais pārsteigums jums manā izlasē, un tā ir laba ziņa! MatterMost ieguva popularitāti, izmantojot labāko no iepriekŔējiem rÄ«kiem, bet ievietojot tos uz vietas. Tas ir ļoti svarÄ«gi uzņēmumiem: MatterMost ļauj kontrolēt savus datus, kā arÄ« palÄ«dz tos integrēt ar rÄ«kiem, kas darbojas lokāli. Mums vairs nav jāiet ārpus ugunsmÅ«ra, lai pārbaudÄ«tu darba tērzÄ“Å”anu.

Galvenie ieguvumi

  • Atvērtā koda versija ā€” MatterMost atvērtā pirmkoda versija lieliski darbojas gan vidējām, gan lielām komandām. AtŔķirÄ«bā no Slack bezmaksas plāna, kas dzÄ“Å” jÅ«su ziņojumu vēsturi, sava servera darbÄ«ba nozÄ«mē, ka jÅ«s saglabājat visus savus datus.
  • Integrācijas ā€” tā kā API ir gandrÄ«z 100% balstÄ«ta uz Slack API, gandrÄ«z visas Slack integrācijas var izmantot tieÅ”i ar MatterMost.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Ä»engans ā€” Slaks ir forÅ”s, bet Å”ie puiÅ”i ir tik ļoti izauguÅ”i, ka sāka meklēt peļņu. Tuvojas biznesa atmaksāŔanās fāze, kas atņem to galveno vērtÄ«bu: Slack sniedz pakalpojumus bez maksas; VissvarÄ«gākais bezmaksas versijas trÅ«kums ir tērzÄ“Å”anas vēstures dzÄ“Å”ana.

Microsoft komandas ā€” Mēģiniet integrēt Microsoft produktu ar kaut ko, kas nepieder Microsoft... Lai veicas! Tas ir viss, kas man jāsaka par Å”o rÄ«ku!

Dokumentācijas rīks Nr. 1

Uzvarētājs: SaplÅ«Å”ana

DevOps rÄ«ki, kas ikvienam jāapgÅ«st 2020. gadā
KvalitatÄ«vas tehniskās dokumentācijas izveide un uzturÄ“Å”ana ir sarežģīts process neatkarÄ«gi no tā, kādu rÄ«ku izmantojat. Lai gan nesen tirgÅ« ir nonākuÅ”i daudzi SaaS dokumentācijas rÄ«ki, man bÅ«tu grÅ«ti uzticēt tehniskās dokumentācijas glabāŔanu par uzdevumiem kritiskām lietojumprogrammām treÅ”ai pusei. Vēlams uzglabāt datus un dokumentus uz vietas, un Ŕādi Confluence to atrisina.

Galvenie ieguvumi

  • Viegli lietojams ā€” vairums atseviŔķu rÄ«ku var bÅ«t nedaudz sarežģīti iestatÄ«t un darbināt, un to uzturÄ“Å”anai ir nepiecieÅ”amas zināmas zināŔanas. Confluence Server lieliski darbojas 10 vai 10,000 XNUMX lietotāju.
  • Spraudņi ā€” slava Confluence par skaistu, ērti lietojamu navigāciju un iespēju gandrÄ«z visam pievienot spraudni, kas paver Wiki lÄ«dzÄ«gu potenciālu.

konkurenti

Piedalījies kaujā, bet neuzvarējis

Izlasiet dokumentus ā€” ForÅ”i priekÅ” atvērtā koda, taču pat nedomājiet par kritisko zināŔanu glabāŔanu Å”eit.

Atlaide - Lieliski piemērots koda dokumentÄ“Å”anai, taču grÅ«ti ievietot arhitektÅ«ru, procesus vai cita veida dokumentāciju MarkDown specifiskā formatējuma dēļ.

Jekyll ā€” Dokumentējot tehniskās zināŔanas, es nevēlos izveidot jaunu statisku vietni, kas tiks izvietota katru reizi, kad notiks izmaiņas. Confluence vienkārŔā versiju kontroles sistēma ievērojami vienkārÅ”o iekŔējo dokumentāciju.

Rezumēt

TirgÅ« ir burtiski simtiem DevOps rÄ«ku, tāpēc ir grÅ«ti zināt, kurus izmantot un kad tie bÅ«tu jāievieÅ”. Izpildiet Å”o vienkārÅ”o rokasgrāmatu, lai izvēlētos DevOps rÄ«kus pilnÄ«gam CI/CD konveijeram.

Noteikti atlasiet rīkus no visām piecām kategorijām:

  • rÄ«ku izstrāde un izveide
  • testÄ“Å”anas automatizācijas rÄ«ki
  • izvietoÅ”anas rÄ«ki
  • Izpildlaika rÄ«ki
  • sadarbÄ«bas rÄ«ki.

Galvenais ieteikums: Automatizējiet visu!

Paldies Zach Shapiro!

Avots: www.habr.com

Pievieno komentāru