Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020

Începeți să utilizați cele mai bune instrumente DevOps astăzi!

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Revoluția DevOps a cucerit în sfârșit lumea, iar instrumentele DevOps au devenit incredibil de populare. Conform serviciului trenduri Google, numărul de solicitări pentru „instrumente DevOps” este în continuă creștere, iar această tendință continuă.

Metodologia DevOps acoperă întregul ciclu de viață al dezvoltării software, astfel încât profesioniștii pot alege dintr-o varietate de instrumente. Dar, după cum știți, niciun instrument nu poate deveni un instrument universal pentru toată lumea. Cu toate acestea, unele soluții oferă o gamă atât de largă de funcții încât se pot ocupa de aproape orice sarcină.

Să împărțim instrumentele DevOps în categorii și să le comparăm cu analogii:

  • dezvoltarea și construirea instrumentelor
  • instrumente de automatizare de testare
  • instrumente pentru organizarea implementării
  • Instrumente de rulare
  • instrumente de colaborare.

Implementare reușită și atentă Practicant DevOps include instrumente din toate cele cinci grupuri enumerate mai sus. Analizați setul actual de instrumente din proiectul dvs. pentru a nu pierde un element important al conductei CI/CD.

Instrumente de dezvoltare și construcție

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Aceasta este baza stivei de conducte CI/CD. Totul începe chiar de aici! Cele mai bune instrumente din această categorie pot gestiona mai multe fluxuri de evenimente și se pot integra cu ușurință cu alte produse.

În această etapă a ciclului de viață al dezvoltării, există trei grupuri de instrumente:

  • sistem de control al versiunilor (SCM)
  • integrare continuă (CI)
  • Management de date

GIT a avut un istoric pozitiv în 2020, așa că instrumentul dvs. SCM ar trebui să aibă suport perfect pentru GIT. Pentru CI, o condiție prealabilă este capacitatea de a executa și rula build-uri într-un mediu container izolat. Când vine vorba de gestionarea datelor, este nevoie de capacitatea de a face modificări în schema bazei de date și de a menține baza de date în funcție de versiunea aplicației.

Instrumentul SCM + CI #1

Câştigător: GitLab și GitLab-CI

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Cel mai bun instrument al ciclului DevOps 2020 este, fără îndoială, GitLab și va continua cu siguranță să conducă inovația în viitorul apropiat.

Funcția principală a GitLab este de a oferi o gestionare confortabilă a unui depozit Git. Interfața web este intuitivă și ușor de utilizat. GitLab oferă tot ce aveți nevoie într-o versiune gratuită și vine ca SaaS și on-prem (folosind propriile resurse pentru a găzdui software).

Niciun alt instrument SCM nu a folosit integrarea continuă (CI) direct în depozitul dvs., iar GitLab face acest lucru de mult timp. Pentru a utiliza GitLab-CI, trebuie să adăugați un fișier .gitlab-ci.yml la rădăcina codului sursă, iar orice modificare a proiectului va declanșa acțiuni bazate exact pe ceea ce ați specificat. GitLab și GitLab-CI sunt recunoscuți pe merit ca lideri în domeniul integrării continue (CI-as-code).

Beneficii cheie

  • Fiabilitate - Produsul este pe piata din 2013; grajd; bine sprijinit.
  • Open Source - Versiunea gratuită a GitLab nu limitează funcționalitatea de bază de care au nevoie echipele de dezvoltare. Pachetele de servicii plătite oferă caracteristici suplimentare utile pentru companii de diferite dimensiuni și nevoi.
  • CI înrădăcinat - Niciun alt instrument de pe piață nu a construit o integrare continuă direct în SCM precum GitLab-CI. Utilizarea Docker asigură versiuni izolate fără probleme, iar rapoartele încorporate facilitează depanarea. Nu avem nevoie de integrarea complexă și gestionarea mai multor instrumente în același timp.
  • Integrari nelimitate - GitLab oferă o integrare ușoară a tuturor instrumentelor DevOps de care aveți nevoie. Acest lucru asigură că echipele de dezvoltare și întreținere au o singură sursă de informații despre aplicația lor în orice mediu.

concurenți

A participat la luptă, dar nu a câștigat

Există și alte instrumente populare în această categorie, dar nu sunt la fel de bune ca GitLab. Si de aceea:

GitHub — Acesta este un sistem excelent de control al versiunilor SaaS pentru companii mici și stadii incipiente de dezvoltare. Pentru companiile mari pentru care este important să păstreze adresele IP în propria rețea, singura soluție de la GitHub a fost mașina virtuală .OVA fără suport pentru sisteme de înaltă disponibilitate. Acest lucru face dificilă întreținerea locală, în plus, .OVA este potrivit doar pentru întreprinderile mijlocii, altfel serverul se va prăbuși pur și simplu la o sarcină mai mare. Lipsa acțiunilor GitHub (până de curând și nu într-o versiune locală) sau CI-as-code înseamnă că trebuie să alegeți un instrument CI separat și apoi să gestionați acea integrare. În cele din urmă, GitHub este mult mai scump decât oricare dintre versiunile GitLab.

Jenkins — Deși Jenkins este considerat standard în rândul instrumentelor de integrare continuă, întotdeauna i-au lipsit capabilitățile de control al versiunilor. Se pare că utilizați Jenkins plus un fel de instrument SCM. Este prea dificil când GitLab le poate face pe amândouă. Designul UX mediocru nu este potrivit pentru o aplicație web modernă și lasă mult de dorit.

BitBucket/Bambus — Trebuie să-l recunosc ca un învins automat: de ce două instrumente când GitLab face totul complet independent. BitBucket Cloud acceptă funcționalitatea GitLab-CI / GitHub Action, dar nicio companie mai mare decât un startup nu o poate implementa cu ușurință. Serverul local BitBucket nici măcar nu acceptă conductele BitBucket!

#1 Instrument de gestionare a datelor

Câştigător: FlywayDB

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
În dezvoltarea de aplicații web, automatizării bazelor de date nu i se acordă de obicei importanță. Ideea de a implementa modificări ale schemei bazei de date pentru noile versiuni ale aplicației vine cu întârziere. Schimbările de schemă duc adesea la adăugarea și redenumirea coloanelor sau a tabelelor. Dacă versiunea aplicației nu se potrivește cu versiunea schemei, aplicația se poate bloca. În plus, gestionarea modificărilor bazei de date la actualizarea unei aplicații poate fi o provocare, deoarece există două sisteme diferite. FlyWayDB rezolvă toate aceste probleme.

Beneficii cheie

  • Versiune baze de date - Flyway vă permite să creați versiuni de baze de date, să urmăriți migrările bazei de date și să transferați sau să anulați cu ușurință modificările de schemă fără un instrument suplimentar pentru aceasta.
  • Binar sau încorporat - Putem alege să rulăm Flyway ca parte a aplicației sau ca executabil binar. Flyway verifică compatibilitatea versiunilor la pornire și pornește migrările corespunzătoare, menținând sincronizate versiunile bazei de date și ale aplicațiilor. Prin rularea comenzii ad-hoc cmd line, oferim flexibilitate bazelor de date existente fără a reconstrui întreaga aplicație.

concurenți

A participat la luptă, dar nu a câștigat

Nu există multe instrumente în acest domeniu. Să ne uităm la unele dintre ele:

LiquiBase — Liquibase seamănă cu FlywayDB. Aș dori să-l instalez pe Flyway dacă aș avea pe cineva în echipa mea cu mai multă experiență cu Liquibase.

Flocker - Poate funcționa numai pentru aplicații containerizate. Pentru a rula cu succes baze de date containerizate, totul trebuie planificat perfect. Recomand folosirea RDS (Relational Database Service) pentru baze de date și nu sfătuiesc stocarea informațiilor importante într-un container.

Instrumente de automatizare de testare

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Să începem discuția despre instrumentele de automatizare a testelor clasificându-le pe baza piramidei de testare.

Piramida de testare (testele) are 4 niveluri:

  • Teste unitare - Aceasta este baza întregului proces automat de testare. Ar trebui să existe mai multe teste unitare în comparație cu alte tipuri de teste. Dezvoltatorii scriu și execută teste unitare pentru a se asigura că o parte a unei aplicații (cunoscută sub numele de „unitate”) este conformă cu designul acesteia și se comportă conform așteptărilor.
  • Testele componente - Scopul principal al testării componentelor este de a verifica comportamentul de intrare/ieșire al obiectului de testare. Trebuie să ne asigurăm că funcționalitatea obiectului de testare este implementată corect conform specificației.
  • Teste de integrare - Un tip de testare în care modulele software individuale sunt combinate și testate ca un grup.
  • Teste end-to-end - Acest pas se explică de la sine. Monitorizăm întreaga aplicație și ne asigurăm că funcționează conform planului.

Deoarece testele unitare și testarea componentelor sunt efectuate numai de dezvoltatori și sunt adesea specifice limbajului de programare, nu vom evalua aceste instrumente pentru domeniul DevOps.

Instrumentul nr. 1 de testare a integrării

Câştigător: Castravete

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Castravetele combină specificațiile și documentația de testare într-un singur document viu. Specificațiile sunt întotdeauna la zi, deoarece sunt testate automat de Cucumber. Dacă doriți să construiți un cadru de testare automatizat de la zero și să modelați comportamentul utilizatorului într-o aplicație web, atunci Selenium WebDriver cu Java și Cucumber BDD este o modalitate excelentă de a învăța și implementa Cucumber într-un proiect.

Beneficii cheie

  • Abordarea BDD (Behavior Driven Development - „dezvoltare prin comportament” spre deosebire de abordarea „dezvoltare bazată pe teste”) - Cucumber este conceput pentru testarea BDD, a fost creat inițial pentru această sarcină.
  • Documentarea vie - Documentarea este întotdeauna o durere! Deoarece testele sunt scrise ca cod, Cucumber testează documentația generată automat pentru a se asigura că testele și documentația sunt sincronizate.
  • Suport – Putem alege dintre multe instrumente, dar Cucumber are resursele financiare necesare și un sistem de suport bine organizat pentru a ajuta utilizatorii în orice situație dificilă.

concurenți

A participat la luptă, dar nu a câștigat

Printre alte cadre și instrumente specifice tehnologiei, doar Castravetele poate fi considerat o soluție universală.

Instrumente de testare end-to-end

Atunci când efectuați teste end-to-end, trebuie să vă concentrați pe două puncte cheie:

  • testarea funcțională
  • Testare stresanta.

În testarea funcțională, verificăm dacă tot ceea ce ne dorim se întâmplă cu adevărat. De exemplu, atunci când dau clic pe anumite elemente din SPA-ul meu (aplicația pe o singură pagină), completez formularele și selectez „Trimite”, datele apar în baza de date și pe ecran apare mesajul „Succes!”.

De asemenea, este important pentru noi să verificăm că un anumit număr de utilizatori care rulează același scenariu pot fi procesați fără erori.

Absența acestor două tipuri de testare va fi un dezavantaj semnificativ în conducta dvs. CI/CD.

Instrumentul nr. 1 de testare end-to-end. Testare funcțională

Câştigător: SoapUI Pro

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
SoapUI a fost în spațiul de testare API de mult timp, de când serviciile web bazate pe SOAP au fost standardul. Deși nu mai creăm noi servicii SOAP și numele instrumentului nu s-a schimbat, asta nu înseamnă că nu a evoluat. SoapUI oferă un cadru excelent pentru crearea de teste funcționale automate backend. Testele pot fi combinate cu ușurință cu instrumente de integrare continuă și utilizate ca parte a unei conducte CI/CD.

Beneficii cheie

  • Documentație detaliată - SoapUI este pe piață de destul de mult timp, așa că există multe resurse online care vă pot ajuta să înțelegeți cum să configurați testele.
  • Ușurință în utilizare - Deși instrumentul acceptă mai multe protocoale pentru testarea API-urilor, prezența SoapUI a unei interfețe comune pentru mai multe servicii facilitează scrierea testelor.

concurenți

A participat la luptă, dar nu a câștigat

Seleniu este un alt instrument grozav din acest grup. Vă recomand să îl utilizați dacă construiți și rulați o aplicație bazată pe Java. Cu toate acestea, dacă construiți o aplicație web completă cu mai multe tehnologii, aceasta poate deveni greoaie pentru componentele non-Java.

Instrumentul nr. 1 de testare end-to-end. Testare stresanta

Câştigător: LoadRunner

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
explicaţie: Când vine timpul să testați încărcarea fiecărui element al aplicației dvs., numai LoadRunner poate finaliza sarcina. Da, este costisitor și dificil la început, dar LoadRunner este singurul instrument care îmi oferă, ca arhitect tehnic, încredere deplină că noul cod va funcționa în condiții extreme de încărcare. De asemenea, cred că este timpul ca LoadRunner să fie preluat de echipele de dezvoltare, mai degrabă decât de echipele de testare.

Beneficii cheie

  • Documentație extinsă - LoadRunner este pe piață de ceva timp, așa că există multe resurse online care să vă ajute să înțelegeți cum să configurați testele de încărcare.
  • Suport pentru protocol - Load Runner acceptă orice, de la ODBC la AJAX, HTTPS și orice alt protocol non-trivial pe care aplicația dvs. l-ar putea folosi. Încercăm să nu folosim mai multe instrumente pentru testarea sarcinii, deoarece acest lucru nu face decât să complice procesul.

concurenți

A participat la luptă, dar nu a câștigat

Din nou, nu există multe instrumente universale în acest domeniu, așa că cea mai bună soluție este una care va funcționa în orice mediu cu orice tehnologie.

Instrumente de implementare

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Instrumentele de implementare sunt probabil cel mai puțin înțeles aspect al dezvoltării. Pentru o echipă de operațiuni fără o înțelegere profundă a codului și funcționalității aplicației, este dificil să folosească astfel de instrumente. Pentru dezvoltatori, gestionarea implementării este o responsabilitate nouă, așa că nu au încă suficientă experiență de lucru cu astfel de instrumente.

În primul rând, să împărțim toate instrumentele de implementare în trei subcategorii:

  • managementul artefactelor
  • managementul configurației
  • disloca.

Instrumentul #1 de gestionare a artefactelor

Câştigător: Nexus

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Depozitul de artefacte Nexus acceptă aproape toate tehnologiile majore, de la Java la NPM la Docker. Putem folosi acest instrument pentru a stoca toate artefactele pe care le folosim. De asemenea, proxy managerii de pachete de la distanță accelerează semnificativ procesul de construire a CI, făcând pachetele mai accesibile pentru creare. Un alt avantaj este capacitatea de a obține o vizualizare completă a tuturor pachetelor utilizate în mai multe proiecte software, blocând pachetele open source nesigure (acestea pot acționa ca un vector de atac).

Beneficii cheie

  • Suport tehnic - Produs de incredere; bine sprijinit.
  • Open Source - Versiunea gratuită nu limitează funcționalitatea de bază de care au nevoie echipele de dezvoltare.

#1 Instrument de gestionare a configurației

Câştigător: ansiblu

Ansible este un lider dintr-un motiv simplu: apatrid. Anterior, instrumente similare se concentrau pe managementul stării configurației. La lansare, un astfel de instrument, după ce a primit configurația dorită, va încerca să corecteze configurația curentă a aplicației. Iar cu noua abordare, sunt prezente doar componentele apatride. Noile versiuni de cod sunt artefacte care sunt implementate pentru a le înlocui pe cele existente. Acesta poate fi considerat un fel de mediu efemer, pe termen scurt.

Beneficii cheie

  • Stateless - Playbook-ul este lansat de pe mașina de implementare și executat pe serverele țintă. Nu trebuie să-mi fac griji cu privire la starea obiectului de la distanță folosind un instrument precum Packer pentru a crea obiecte implementabile.
  • Open Source - La fel ca CentOS, Ansible este, de asemenea, acceptat de RedHat. Ajută la menținerea comunității și oferă module de înaltă calitate, ușor de utilizat.
  • Testarea cu Molecule (un cadru Ansible) - Deoarece gestionarea configurației este cod, ca orice altceva, testarea este esențială. Cadrul de testare a rolului Ansible al Molecule funcționează impecabil, asigurându-se că configurația este de aceeași calitate și urmează aceeași conductă CI/CD ca și codul aplicației.
  • YAML - În comparație cu alte instrumente, YAML este mai ușor de înțeles. Deoarece gestionarea configurației este de obicei o nouă provocare pentru cei care implementează practicile DevOps, simplitatea este atuul său.

concurenți

A participat la luptă, dar nu a câștigat

OpsCode Chef — Mi-am început cariera DevOps ca dezvoltator de cărți de bucate. Ruby și Chef sunt, desigur, foarte dragi inimii mele, dar pur și simplu nu rezolvă problemele aplicațiilor moderne apatride, native din cloud. OpsCode Chef este un instrument excelent pentru aplicații mai tradiționale, dar în acest articol ne concentrăm pe viitor.

Marionetă — Puppet nu a avut niciodată mulți fani, mai ales în comparație cu Chef și Ansible. Este excelent pentru furnizarea și lucrul cu hardware, dar nu are suport modern de gestionare a configurației pentru o aplicație web.

Instrumentul de implementare #1

Câştigător: Terraform

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Terraform rezolvă problema descrierii infrastructurii dumneavoastră ca cod, de la componentele rețelei până la imaginile complete ale serverului. Acest produs a parcurs un drum lung de la lansarea sa inițială, cu atât de multe plugin-uri create și cu o comunitate atât de puternică, încât veți fi sigur că veți primi ajutor în orice scenariu de implementare. Capacitatea de a susține orice tip de mediu (on-premises, în cloud sau în altă parte) este de neegalat. În cele din urmă, cea mai recentă versiune oferă multe din aceleași funcții logice și clase în HCL ca orice alt limbaj de programare tradițional, făcând Terraform ușor de înțeles de către dezvoltatori.

Beneficii cheie

  • Indiferent de mediu - Terraform utilizează funcții care acționează ca o interfață între codul dvs. Terraform, toate API-urile și logica internă pentru a comunica cu furnizorul de infrastructură. Aceasta înseamnă că voi stăpâni un singur instrument și apoi pot lucra oriunde.
  • Open Source - Este greu să învingi instrumentele gratuite! Sprijin comunitar la cel mai înalt nivel.

concurenți

A participat la luptă, dar nu a câștigat

Formarea AWS Cloud — Chiar dacă lucrați numai în mediul cloud AWS, următoarea ta slujbă poate folosi un alt instrument. Să-ți dedici tot timpul și energia unei singure platforme este o decizie miop. În plus, multe servicii AWS noi sunt adesea disponibile ca module Terraform înainte de a fi disponibile în CloudFormation.

Instrumente de rulare

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020

Scopul final al oricărui proiect de dezvoltare este lansarea aplicației în producție. În lumea DevOps, dorim să fim pe deplin conștienți de toate problemele posibile cu mediul nostru și, de asemenea, dorim să minimizăm intervenția manuală. Alegerea setului potrivit de instrumente de rulare este esențială pentru realizarea nirvana de dezvoltare a aplicațiilor.

Subcategorii de instrumente de rulare:

  • X-as-a-service (XaaS)
  • orchestrare
  • monitorizarea
  • Logare.

X-tool-as-a-service #1

Câştigător: Amazon Web Services

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Amazon a fost întotdeauna un lider în tehnologiile cloud, dar nu se oprește aici: varietatea de noi servicii pentru dezvoltatori este revelatoare. Aduceți orice tehnologie și șablon la AWS și va fi construit și rulat. Costul instrumentului este destul de rezonabil: comparați-l cu asamblarea, gestionarea și întreținerea echipamentelor din propriul dvs. centru de date. Versiunea gratuită vă permite să experimentați și să luați decizia corectă înainte de a cheltui bani.

Beneficii cheie

  • Prevalență - Dacă aveți experiență în construirea de aplicații în AWS, puteți lucra oriunde. Companiile iubesc AWS, iar startup-urile apreciază și costul său scăzut.
  • Versiunea gratuită este un factor cu adevărat semnificativ care diferențiază AWS de colegii săi. Lasă-mă să încerc serviciul și să văd cum funcționează înainte de a lua o decizie de cumpărare, nu vreau să cheltuiesc mii de dolari pe ceva inutil. Versiunea gratuită îmi este întotdeauna suficientă pentru a testa orice concept.

concurenți

A participat la luptă, dar nu a câștigat

Azuriu „Azure a parcurs un drum lung de la prima sa lansare și este lăudabil. Cu toate acestea, dorința de a fi diferit a dus la nume ciudate pentru servicii, ceea ce complică adesea munca. Ce înseamnă „stocare blob”? Și în timp ce codul .NET funcționează mai bine în ecosistemul Microsoft, este puțin probabil să utilizați doar .NET pentru fiecare componentă a aplicației dvs.

Heroku — Nu aș rula niciodată altceva decât un proiect personal pe Heroku din cauza nivelului scăzut de fiabilitate și transparență, așa că companiile nu ar trebui să-l folosească ca platformă. Heroku este excelent pentru a demonstra ceva pe un blog, dar pentru utilizare practică - „Nu, mulțumesc!”

Instrumentul de orchestrare numărul 1

Câştigător: tura deschisă

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Probabil că utilizați Docker sau alte containere în stiva dvs. de aplicații. Aplicațiile fără server sunt grozave, dar este posibil să nu se potrivească fiecărei arhitecturi. Rularea containerelor fără o platformă de orchestrare pur și simplu nu va funcționa. Kubernetes Core (K8s) este de neegalat în ceea ce privește securitatea și instrumentele. OpenShift este singura platformă bazată pe Kubernetes care poate colecta Source2Image, acceptă implementarea automată pe poduri și acceptă urmărirea și monitorizarea. OpenShift poate fi rulat on-prem, în cloud sau on-prem și în cloud în același timp.

Beneficii cheie

  • Securitate încorporată - Gestionarea securității K8s poate necesita o diplomă avansată. Fiecare detaliu trebuie atent gândit și luat în considerare! Mecanismele de securitate încorporate în mod implicit cu OpenShift scad de sarcina dezvoltatorilor și oferă o platformă mai sigură pentru aplicații.
  • Soluție all-in-one - Spre deosebire de K8-urile de bază, care nu include instrumente de echilibrare a încărcăturii în mod implicit, OpenShift are totul. Îl pot folosi pentru a crea și găzdui containere, a rula instrumente CI/CD, a gestiona procese externe, a gestiona cheile și multe altele. Deși interfața grafică cu utilizatorul este încă departe de a fi perfectă, abordarea bazată pe API înseamnă că totul poate fi descris într-un script. Spre deosebire de alte interfețe grafice pentru K8, OpenShift facilitează mult învățarea elementelor de bază ale Kubernetes. Nici măcar nu trebuie să iei o diplomă!

concurenți

A participat la luptă, dar nu a câștigat

Docker roi — Docker Swarm a încercat să simplifice K8-urile scăpând de multe lucruri. Este grozav pentru aplicațiile mici, dar pentru aplicațiile de întreprindere pur și simplu nu funcționează. În plus, soluții precum AWS ECS adoptă o abordare similară, dar facilitează lucrul cu alte servicii cu care pot interacționa (Lambda, IAM etc.).

Instrumentul de monitorizare #1

Câştigător: Noua relicvă

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Lansările timpurii ale New Relic au făcut un lucru bine - monitorizarea APM (Application Performance Monitoring). Acum este un instrument de monitorizare complet care vă permite să monitorizați serverul, containerul, performanța bazei de date, monitorizarea experienței utilizatorului final și, desigur, monitorizarea performanței aplicațiilor.

Beneficii cheie

  • Ușurință în utilizare - Când lucram ca inginer de sisteme, am folosit multe instrumente de monitorizare, dar nu am întâlnit niciodată unul atât de simplu și ușor de utilizat ca New Relic. Este SaaS, așa că nu trebuie să îl instalați singur.
  • Vizibilitate de la capăt la capăt - Alte instrumente încearcă să monitorizeze un element specific al aplicației dvs. De exemplu, o măsurătoare a utilizării procesorului sau a traficului de rețea, dar toate acestea trebuie monitorizate cuprinzător pentru ca aplicația să funcționeze corect. New Relic vă oferă posibilitatea de a vă reuni toate datele pentru a obține o imagine cuprinzătoare a ceea ce se întâmplă.

concurenți

A participat la luptă, dar nu a câștigat

Zabbix — Primul și preferatul meu sistem de monitorizare, dar a rămas în trecut din cauza lipsei de dezvoltare în tehnologiile cloud și în domeniul monitorizării performanței aplicațiilor APM. Zabbix încă face bine monitorizarea infrastructurii de server tradiționale, dar cam atât.

DataDog — Prea concentrat pe procesul de gestionare a mediului de producție al aplicației, și nu pe codul în sine. Cu echipele DevOps care implică dezvoltatori, nu trebuie să ne bazăm pe instrumente dificil de utilizat pentru a oferi asistență de top.

Instrumentul de înregistrare #1

Câştigător: Splunk

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Este greu să concurezi cu Splunk! Multă vreme rămâne lider în exploatare forestieră, continuând să o facă mai bine decât oricine altcineva. Cu oferte on-prem și SaaS, puteți folosi Splunk oriunde. Marele dezavantaj este prețul său: Splunk este încă al naibii de scump!

Beneficii cheie

  • Pervazitate - Companiile iubesc Splunk, iar companiile au banii necesari pentru a-l cumpara.
  • Deși startup-urile încearcă să recupereze costurile, multe funcții pot fi rezolvate datorită analogilor open source.
  • Mentenabilitatea - Mai simplu spus, Splunk funcționează și o face bine. Vine cu multe setări implicite și funcții gata de utilizare. Nu este nevoie să pierzi timpul citind documentația și încercând să-l faci pe Splunk să lucreze sau să descifreze ceva.

concurenți

A participat la luptă, dar nu a câștigat

ELK Stack (ElasticSearch, LogStash și Kibana) „Aceste instrumente par să fie favorite, deoarece nici măcar nu trebuie să-ți vinzi ficatul pentru a le folosi.” Cu toate acestea, pe măsură ce setul de jurnaluri crește și numărul de aplicații de la bord crește, munca devine din ce în ce mai dificilă. În comparație cu Splunk, cu ELK Stack am petrecut mult mai mult timp pentru a configura instrumentele înainte de a crea orice tablouri de bord decât am avut vreodată înainte.

Instrumente de colaborare

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
DevOps se referă în primul rând la schimbarea culturii în cadrul unei organizații. Cumpărarea oricărui instrument nu va schimba practicile curente peste noapte, dar cu siguranță poate încuraja colaborarea și noi moduri de interacțiune.

Subcategorii de instrumente de colaborare:

  • urmărirea sarcinilor
  • ChatOps
  • documentație.

#1 Instrument de urmărire a problemelor

Câştigător: JIRA

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Jira își menține poziția de lider, deși concurența în acest domeniu este în creștere. Flexibilitatea incredibilă a lui Jira permite echipelor de dezvoltare și întreținere să gestioneze munca la proiect și sarcinile de sprint. Standardele încorporate care utilizează terminologia Agile facilitează trecerea de la moduri tradiționale de lucru la procese mai eficiente.

Beneficii cheie

  • Popularitate - La fel ca multe alte instrumente, Jira este folosit aproape peste tot. Echipele mici folosesc versiunea mai ieftină, mai accesibilă și obțin tot ce au nevoie, în timp ce companiile mai mari își pot permite o licență mai scumpă.
  • Integrari - Jira este un pionier in domeniul sau. Acest fapt și dezvoltarea rapidă a produsului duce la faptul că alte companii aleg Jira pentru a-și crea propriile integrări, crescând astfel valoarea instrumentului. Putem integra Jira cu toate instrumentele enumerate în acest articol din cutie, cu puțină configurație.

concurenți

A participat la luptă, dar nu a câștigat

Trello — Trello a câștigat rapid popularitate datorită instrumentului său gratuit Kanban. Cu toate acestea, odată ce procesele se scalează și treci de la zeci de sarcini la mii, Trello devine dificil de navigat, de căutat și de raportat.

Pivotal Tracker — Am fost un mare fan al acestui instrument când lucram pentru un startup. Cu toate acestea, Pivotal Tracker se concentrează mai mult pe managementul produsului decât pe sarcini tehnice. Deși managementul produselor în Jira este puțin mai complex, acesta poate fi implementat acolo fără a utiliza un instrument suplimentar.

Instrumentul ChatOps #1

Câştigător: MatterMost

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
explicaţie: Poate cea mai mare surpriză pentru tine din selecția mea și asta e o veste bună! MatterMost a câștigat popularitate luând tot ce este mai bun din instrumentele anterioare, dar punându-le la nivel local. Acest lucru este foarte important pentru companii: MatterMost vă permite să vă controlați datele și, de asemenea, vă ajută să le integrați cu instrumente care rulează local. Nu mai trebuie să ieșim din firewall pentru a verifica chat-urile de la serviciu.

Beneficii cheie

  • Open Source – Versiunea open source a MatterMost funcționează excelent atât pentru echipe medii, cât și pentru mari. Spre deosebire de planul gratuit al Slack, care șterge istoricul mesajelor dvs., rularea propriului server înseamnă că vă păstrați toate datele.
  • Integrari - Deoarece API-ul se bazează aproape 100% pe API-ul Slack, aproape toate integrările Slack pot fi utilizate direct cu MatterMost.

concurenți

A participat la luptă, dar nu a câștigat

Moale — Slack este cool, dar acești băieți au crescut atât de mult încât au început să caute profit. Se apropie faza de amortizare a afacerii, care le ia principala valoare: Slack a oferit servicii gratuit; Cel mai important dezavantaj al versiunii gratuite este ștergerea istoricului de chat.

Echipele Microsoft — Încercați să integrați un produs Microsoft cu ceva care nu este deținut de Microsoft... Mult succes! Atât am de spus despre acest instrument!

Instrumentul de documentare #1

Câştigător: confluență

Instrumente DevOps pe care toată lumea ar trebui să le învețe în 2020
Crearea și menținerea documentației tehnice de calitate este un proces complex, indiferent de instrumentul pe care îl utilizați. Deși multe instrumente de documentare SaaS au apărut recent pe piață, mi-ar fi greu să externalizez stocarea documentației tehnice despre aplicațiile critice către o terță parte. Este de preferat să stocați datele și documentele la nivel local și așa o rezolvă Confluence.

Beneficii cheie

  • Ușor de utilizat - Majoritatea instrumentelor de sine stătătoare pot fi puțin complexe de configurat și de utilizat și necesită anumite cunoștințe pentru întreținere. Confluence Server funcționează excelent pentru 10 sau 10,000 de utilizatori.
  • Pluginuri - Felicitari lui Confluence pentru navigarea frumoasa si usor de utilizat, iar capacitatea de a adauga un plugin pentru aproape orice deblocheaza potentialul de tip Wiki.

concurenți

A participat la luptă, dar nu a câștigat

Citiți documentele — Cool pentru open source, dar nici nu vă gândiți la stocarea cunoștințelor critice aici.

markdown - Excelent pentru documentarea codului, dar dificil de postat arhitectura, procesele sau alte tipuri de documentație din cauza formatării specifice MarkDown.

Jekyll — Când documentez cunoștințele tehnice, nu vreau să creez un nou site static care să fie implementat de fiecare dată când există o schimbare. Sistemul simplu de control al versiunilor de la Confluence simplifică foarte mult documentația internă.

Însumați

Există literalmente sute de instrumente DevOps pe piață, ceea ce face dificil să știi pe care să le folosești și când ar trebui implementate. Urmați acest ghid simplu pentru alegerea instrumentelor DevOps pentru o conductă completă CI/CD.

Asigurați-vă că selectați instrumente din toate cele cinci categorii:

  • dezvoltarea și construirea instrumentelor
  • instrumente de automatizare de testare
  • instrumente de implementare
  • Instrumente de rulare
  • instrumente de colaborare.

Recomandare principală: Automatizează totul!

Mulțumesc Zach Shapiro!

Sursa: www.habr.com

Adauga un comentariu