DevOps alati koje bi svi trebali naučiti 2020

Počnite koristiti najbolje DevOps alate danas!

DevOps alati koje bi svi trebali naučiti 2020
DevOps revolucija konačno je zavladala svijetom i DevOps alati postali su nevjerojatno popularni. Prema službi Google trendovi, broj zahtjeva za “DevOps alatima” stalno raste, a taj se trend nastavlja.

DevOps metodologija pokriva cijeli životni ciklus razvoja softvera, tako da stručnjaci mogu birati između raznih alata. Ali, kao što znate, nijedan alat ne može postati univerzalni alat za sve. Međutim, neka rješenja nude tako širok raspon funkcija da se mogu nositi s gotovo svim zadacima.

Podijelimo DevOps alate u kategorije i usporedimo ih s analogima:

  • alate za razvoj i izgradnju
  • alati za automatizaciju testiranja
  • alati za organiziranje implementacije
  • Runtime alati
  • alate za suradnju.

Uspješna i promišljena implementacija DevOps praktičar uključuje instrumente iz svih pet gore navedenih skupina. Analizirajte trenutni skup alata u svom projektu kako ne biste propustili važan element CI/CD cjevovoda.

Alati za razvoj i izgradnju

DevOps alati koje bi svi trebali naučiti 2020
Ovo je osnova skupa cjevovoda CI/CD. Sve počinje upravo ovdje! Najbolji alati u ovoj kategoriji mogu upravljati višestrukim tokovima događaja i lako se integrirati s drugim proizvodima.

U ovoj fazi životnog ciklusa razvoja postoje tri skupine alata:

  • sustav kontrole verzija (SCM)
  • kontinuirana integracija (CI)
  • Upravljanje podatcima

GIT se pokazao kao pozitivna stvar u 2020., pa bi vaš SCM alat trebao imati besprijekornu podršku za GIT. Za CI, preduvjet je sposobnost izvršavanja i pokretanja nadogradnji u izoliranom okruženju spremnika. Kada je u pitanju upravljanje podacima, ono zahtijeva mogućnost izmjene sheme baze podataka i održavanje baze podataka prema verziji aplikacije.

SCM + CI alat #1

Pobjednik: GitLab i GitLab-CI

DevOps alati koje bi svi trebali naučiti 2020
Najbolji alat DevOps ciklusa 2020. bez sumnje je GitLab i on će definitivno nastaviti predvoditi inovacije u bliskoj budućnosti.

Glavna funkcija GitLaba je osigurati udobno upravljanje Git repozitorijem. Web sučelje je intuitivno i jednostavno za korištenje. GitLab pruža sve što trebate u besplatnoj verziji i dolazi kao SaaS i on-prem (koristeći vlastite resurse za hostiranje softvera).

Nijedan drugi SCM alat nije koristio kontinuiranu integraciju (CI) izravno na vašem repozitoriju, a GitLab to radi već dugo vremena. Da biste koristili GitLab-CI, morate dodati datoteku .gitlab-ci.yml u korijen izvornog koda, a sve promjene projekta pokrenut će radnje temeljene točno na onome što ste naveli. GitLab i GitLab-CI zasluženo su prepoznati kao lideri u području kontinuirane integracije (CI-as-code).

Ključne prednosti

  • Pouzdanost - Proizvod je na tržištu od 2013. godine; stabilan; dobro podržano.
  • Open Source - besplatna verzija GitLaba ne ograničava temeljnu funkcionalnost koja je potrebna razvojnim timovima. Paketi usluga koji se plaćaju pružaju dodatne korisne značajke za tvrtke različitih veličina i potreba.
  • Engrained CI - Nijedan drugi alat na tržištu nije ugradio kontinuiranu integraciju izravno u SCM kao GitLab-CI. Korištenje Dockera osigurava izolirane gradnje bez muke, a ugrađena izvješća olakšavaju otklanjanje pogrešaka. Ne zahtijevamo složenu integraciju i upravljanje više alata u isto vrijeme.
  • Neograničene integracije - GitLab pruža jednostavnu integraciju svih DevOps alata koji su vam potrebni. Ovo osigurava da timovi za razvoj i održavanje imaju jedinstven izvor informacija o svojoj primjeni u bilo kojem okruženju.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Postoje i drugi popularni alati u ovoj kategoriji, ali nisu tako dobri kao GitLab. I zato:

GitHub — Ovo je izvrstan sustav kontrole verzija SaaS za male tvrtke i rane faze razvoja. Za velike tvrtke kojima je važno zadržati IP adrese na vlastitoj mreži, jedino rješenje GitHuba bio je .OVA virtualni stroj bez podrške za sustave visoke dostupnosti. To otežava on-prem održavanje; osim toga, .OVA je prikladan samo za srednje tvrtke, inače će se poslužitelj jednostavno srušiti pod većim opterećenjem. Nedostatak GitHub Actions (donedavno i još ne u on-prem verziji) ili CI-as-code znači da trebate odabrati zaseban CI alat i zatim upravljati tom integracijom. Konačno, GitHub je puno skuplji od bilo koje verzije GitLaba.

Jenkins — Iako se Jenkins prema zadanim postavkama smatra standardom među alatima za kontinuiranu integraciju, uvijek su mu nedostajale mogućnosti kontrole verzija. Ispostavilo se da koristite Jenkins plus neku vrstu SCM alata. Preteško je kada GitLab može oboje. Osrednji UX dizajn nije prikladan za modernu web aplikaciju i ostavlja mnogo za poželjeti.

BitBucket/Bambus — Moram ga prepoznati kao automatskog gubitnika: čemu dva alata kad GitLab sve radi potpuno samostalno. BitBucket Cloud podržava GitLab-CI / GitHub Action funkcionalnost, ali niti jedna tvrtka veća od startupa to ne može jednostavno implementirati. On-prem BitBucket poslužitelj čak ne podržava BitBucket cjevovode!

#1 Alat za upravljanje podacima

Pobjednik: FlywayDB

DevOps alati koje bi svi trebali naučiti 2020
U razvoju web aplikacija automatizaciji baze podataka obično se ne pridaje važnost. Ideja o implementaciji promjena sheme baze podataka za nove verzije aplikacije dolazi kasno. Promjene sheme često rezultiraju dodavanjem i preimenovanjem stupaca ili tablica. Ako verzija aplikacije ne odgovara verziji sheme, aplikacija se može srušiti. Osim toga, upravljanje promjenama baze podataka prilikom ažuriranja aplikacije može biti izazovno budući da postoje dva različita sustava. FlyWayDB rješava sve te probleme.

Ključne prednosti

  • Verzija baze podataka - Flyway vam omogućuje stvaranje verzija baze podataka, praćenje migracija baze podataka i jednostavan prijenos ili vraćanje promjena sheme bez dodatnog alata za to.
  • Binarno ili ugrađeno - možemo odabrati hoćemo li pokrenuti Flyway kao dio aplikacije ili kao binarnu izvršnu datoteku. Flyway provjerava kompatibilnost verzije pri pokretanju i pokreće odgovarajuće migracije, održavajući sinkronizaciju baze podataka i verzija aplikacije. Pokretanjem cmd line ad-hoc naredbe, pružamo fleksibilnost postojećim bazama podataka bez ponovne izgradnje cijele aplikacije.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

U ovom području nema mnogo alata. Pogledajmo neke od njih:

LiquiBase — Liquibase sliči FlywayDB-u. Želio bih ga postaviti na Flyway da imam nekoga u svom timu s više iskustva s Liquibaseom.

Flocker - Može raditi samo za aplikacije u kontejnerima. Za uspješno pokretanje kontejnerskih baza podataka, sve mora biti savršeno isplanirano. Preporučam korištenje RDS-a (Relational Database Service) za baze podataka i ne savjetujem pohranjivanje važnih informacija u spremnik.

Alati za automatizaciju testiranja

DevOps alati koje bi svi trebali naučiti 2020
Započnimo raspravu o alatima za automatizaciju testiranja klasificirajući ih na temelju piramide testiranja.

Piramida testiranja (testovi) ima 4 razine:

  • Jedinični testovi - Ovo je osnova cijelog procesa automatiziranog testiranja. Trebalo bi biti više jediničnih testova u usporedbi s drugim vrstama testova. Programeri pišu i izvode jedinične testove kako bi osigurali da je dio aplikacije (poznat kao "jedinica") u skladu sa svojim dizajnom i da se ponaša prema očekivanjima.
  • Testovi komponenti − Glavna svrha testiranja komponenti je provjera ponašanja ulaza/izlaza testnog objekta. Moramo osigurati da je funkcionalnost ispitnog objekta pravilno implementirana u skladu sa specifikacijom.
  • Integracijski testovi - Vrsta testiranja u kojem se pojedinačni softverski moduli kombiniraju i testiraju kao grupa.
  • End-to-end testovi - ovaj korak je sam po sebi razumljiv. Pratimo cijelu aplikaciju i osiguravamo da funkcionira prema planu.

Budući da jedinične testove i testiranje komponenti provode samo programeri i često su specifični za programski jezik, nećemo ocjenjivati ​​ove alate za domenu DevOps.

#1 Alat za testiranje integracije

Pobjednik: Krastavac

DevOps alati koje bi svi trebali naučiti 2020
Cucumber spaja specifikacije i ispitnu dokumentaciju u jedan živi dokument. Specifikacije su uvijek ažurne jer ih Cucumber automatski testira. Ako želite izgraditi automatizirani okvir za testiranje od nule i modelirati ponašanje korisnika u web aplikaciji, tada je Selenium WebDriver s Javom i Cucumber BDD izvrstan način da naučite i implementirate Cucumber u projekt.

Ključne prednosti

  • BDD pristup (Behavior Driven Development - “razvoj kroz ponašanje” za razliku od pristupa “test-driven development”) - Cucumber je dizajniran za BDD testiranje, izvorno je stvoren upravo za ovaj zadatak.
  • Živa dokumentacija - Dokumentacija je uvijek bol! Budući da su vaši testovi napisani kao kod, Cucumber testira automatski generiranu dokumentaciju kako bi osigurao da su testovi i dokumentacija sinkronizirani.
  • Podrška - Možemo birati između mnogo alata, ali Cucumber ima potrebna financijska sredstva i dobro organiziran sustav podrške kako bi pomogao korisnicima u svakoj teškoj situaciji.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Među ostalim okvirima i alatima specifičnim za tehnologiju, jedino se Cucumber može smatrati univerzalnim rješenjem.

Alati za testiranje od kraja do kraja

Prilikom provođenja end-to-end testiranja morate se usredotočiti na dvije ključne točke:

  • funkcionalno ispitivanje
  • Testiranje otpornosti na stres.

U funkcionalnom testiranju provjeravamo događa li se sve što želimo. Na primjer, kada kliknem na određene elemente svoje SPA (single page application), ispunim obrasce i odaberem "Submit", podaci se pojavljuju u bazi podataka i poruka "Success!" se pojavljuje na ekranu.

Također nam je važno provjeriti može li se određeni broj korisnika koji pokreću isti scenarij obraditi bez pogrešaka.

Nepostojanje ove dvije vrste testiranja bit će značajan nedostatak u vašem CI/CD cjevovodu.

#1 alat za testiranje od kraja do kraja. Funkcionalno ispitivanje

Pobjednik: SoapUI Pro

DevOps alati koje bi svi trebali naučiti 2020
SoapUI je u prostoru za testiranje API-ja dugo vremena otkako su web usluge temeljene na SOAP-u bile standard. Iako više ne stvaramo nove SOAP usluge i naziv alata nije promijenjen, to ne znači da se nije razvio. SoapUI pruža izvrstan okvir za stvaranje automatiziranih pozadinskih funkcionalnih testova. Testovi se mogu jednostavno kombinirati s alatima za kontinuiranu integraciju i koristiti kao dio CI/CD cjevovoda.

Ključne prednosti

  • Detaljna dokumentacija - SoapUI je na tržištu već dosta dugo, tako da postoje mnogi mrežni resursi koji vam mogu pomoći da razumijete kako postaviti testove.
  • Jednostavnost upotrebe - Iako alat podržava više protokola za testiranje API-ja, SoapUI prisutnost zajedničkog sučelja za više usluga olakšava pisanje testova.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Selen je još jedan odličan instrument u ovoj skupini. Preporučujem da ga koristite ako gradite i pokrećete aplikaciju temeljenu na Javi. Međutim, ako gradite potpunu web aplikaciju s više tehnologija, ona može postati nezgrapna za komponente koje nisu Java.

#1 alat za testiranje od kraja do kraja. Testiranje otpornosti na stres

Pobjednik: LoadRunner

DevOps alati koje bi svi trebali naučiti 2020
Objašnjenje: Kada dođe vrijeme za testiranje učitavanja svakog elementa vaše aplikacije, samo LoadRunner može izvršiti zadatak. Da, u početku je skupo i teško, ali LoadRunner je jedini alat koji mi, kao tehničkom arhitektu, daje potpuno povjerenje da će novi kod raditi pod uvjetima ekstremnog opterećenja. Također, mislim da je vrijeme da LoadRunner preuzmu razvojni timovi umjesto timovi za testiranje.

Ključne prednosti

  • Opsežna dokumentacija - LoadRunner je na tržištu već neko vrijeme, tako da postoje mnogi mrežni resursi koji vam mogu pomoći da razumijete kako postaviti testove opterećenja.
  • Podrška za protokol - Load Runner podržava sve, od ODBC do AJAX, HTTPS i bilo koji drugi netrivijalni protokol koji vaša aplikacija može koristiti. Trudimo se ne koristiti više alata za testiranje opterećenja jer to samo komplicira proces.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Opet, nema mnogo univerzalnih alata u ovom području, tako da je najbolje rješenje ono koje će raditi u bilo kojem okruženju s bilo kojom tehnologijom.

Alati za implementaciju

DevOps alati koje bi svi trebali naučiti 2020
Alati za implementaciju vjerojatno su aspekt razvoja koji se najmanje razumije. Za operativni tim bez dubokog razumijevanja koda i funkcionalnosti aplikacije, teško je koristiti takve alate. Za programere je upravljanje implementacijom nova odgovornost pa još nemaju dovoljno iskustva u radu s takvim alatima.

Prije svega, podijelimo sve alate za implementaciju u tri podkategorije:

  • upravljanje artefaktima
  • konfiguracijski menadžment
  • rasporediti.

Alat za upravljanje artefaktima broj 1

Pobjednik: Nexus

DevOps alati koje bi svi trebali naučiti 2020
Repozitorij artefakata Nexusa podržava gotovo sve glavne tehnologije, od Jave preko NPM-a do Dockera. Ovaj alat možemo koristiti za pohranjivanje svih artefakata koje koristimo. Proxy upravitelji udaljenih paketa također značajno ubrzavaju proces izgradnje CI-ja, čineći pakete pristupačnijim za izgradnju. Još jedna prednost je mogućnost dobivanja cjelovitog pregleda svih paketa korištenih u nekoliko softverskih projekata, blokiranje nesigurnih paketa otvorenog koda (mogu djelovati kao vektor napada).

Ključne prednosti

  • Tehnička podrška - Pouzdan proizvod; dobro podržano.
  • Open Source - besplatna verzija ne ograničava temeljnu funkcionalnost koja je potrebna razvojnim timovima.

#1 Alat za upravljanje konfiguracijom

Pobjednik: Ansible

Ansible je lider iz jednog jednostavnog razloga: bez državljanstva. Prethodno su se slični alati usredotočili na upravljanje stanjem konfiguracije. Kada se pokrene, takav će alat, nakon što primi željenu konfiguraciju, pokušati ispraviti trenutnu konfiguraciju aplikacije. A s novim pristupom prisutne su samo komponente bez stanja. Nove verzije koda su artefakti koji se postavljaju da zamijene postojeće. Ovo se može smatrati nekom vrstom efemernog, kratkoročnog okruženja.

Ključne prednosti

  • Stateless - Playbook se pokreće sa stroja za implementaciju i izvršava na ciljnim poslužiteljima. Ne moram brinuti o stanju udaljenog objekta korištenjem alata kao što je Packer za stvaranje objekata koji se mogu postaviti.
  • Open Source - Kao i CentOS, Ansible također podržava RedHat. Pomaže u održavanju zajednice i pruža visokokvalitetne module jednostavne za korištenje.
  • Testiranje pomoću Molecule (Ansible framework) - Budući da je upravljanje konfiguracijom kod, kao i sve ostalo, testiranje je bitno. Molecule's Ansible okvir za testiranje uloga radi besprijekorno, osiguravajući da je konfiguracija iste kvalitete i slijedi isti CI/CD cjevovod kao i kod aplikacije.
  • YAML - U usporedbi s drugim alatima, YAML je lakši za razumijevanje. Budući da je upravljanje konfiguracijom obično novi izazov za one koji implementiraju DevOps prakse, jednostavnost je njegov adut.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

OpsCode kuhar — Svoju DevOps karijeru započeo sam kao programer kuharica. Ruby i Chef su mi naravno jako prirasli srcu, ali oni jednostavno ne rješavaju probleme modernih bezdržavnih aplikacija u oblaku. OpsCode Chef izvrstan je alat za tradicionalnije primjene, ali u ovom smo članku usredotočeni na budućnost.

Lutka — Puppet nikada nije imao mnogo obožavatelja, pogotovo u usporedbi s Chefom i Ansibleom. Izvrstan je za dodjelu i rad s hardverom, ali nema podršku za moderno upravljanje konfiguracijom za web aplikaciju.

Alat za implementaciju #1

Pobjednik: Terraform

DevOps alati koje bi svi trebali naučiti 2020
Terraform rješava problem opisivanja vaše infrastrukture kao koda, od mrežnih komponenti do potpunih slika poslužitelja. Ovaj je proizvod prošao dug put od svog početnog izdanja, s toliko stvorenih dodataka i izgrađenom tako snažnom zajednicom da ćete sigurno dobiti pomoć u bilo kojem scenariju implementacije. Sposobnost podrške bilo kojoj vrsti okruženja (lokalno, u oblaku ili drugdje) je neusporediva. Konačno, najnovija verzija pruža veći dio istih logičkih funkcija i klasa u HCL-u kao i bilo koji drugi tradicionalni programski jezik, čineći Terraform lakim za razvojne programere za brzo i jednostavno shvaćanje.

Ključne prednosti

  • Neovisno o okruženju - Terraform koristi funkcije koje djeluju kao sučelje između vašeg Terraform koda, svih API-ja i interne logike za komunikaciju s pružateljem infrastrukture. To znači da ću svladati samo jedan alat i onda mogu raditi bilo gdje.
  • Otvoreni kod - Teško je nadmašiti besplatne alate! Podrška zajednice na najvišoj razini.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Formiranje AWS oblaka — Čak i ako radite samo u AWS oblaku, vaš sljedeći posao može koristiti drugačiji alat. Posvetiti sve svoje vrijeme i energiju samo jednoj platformi je kratkovidna odluka. Dodatno, mnoge nove AWS usluge često su dostupne kao Terraform moduli prije nego što postanu dostupne u CloudFormation.

Runtime alati

DevOps alati koje bi svi trebali naučiti 2020

Krajnji cilj svakog razvojnog projekta je lansiranje aplikacije u proizvodnju. U DevOps svijetu želimo biti potpuno svjesni svih mogućih problema s našim okruženjem, a također želimo minimalizirati ručnu intervenciju. Odabir pravog skupa runtime alata ključan je za postizanje nirvane razvoja aplikacija.

Potkategorije alata za vrijeme izvođenja:

  • X kao usluga (XaaS)
  • orkestracija
  • nadgledanje
  • sječa.

X-alat-kao-usluga #1

Pobjednik: Amazon Web Services

DevOps alati koje bi svi trebali naučiti 2020
Amazon je oduvijek bio vodeći u tehnologijama u oblaku, ali tu ne staje: raznolikost novih usluga za programere otvara oči. Donesite bilo koju tehnologiju i predložak u AWS i on će biti izgrađen i pokrenut. Cijena alata je prilično razumna: usporedite je s sastavljanjem, upravljanjem i održavanjem opreme u vlastitom podatkovnom centru. Besplatna verzija omogućuje vam eksperimentiranje i donošenje ispravne odluke prije nego što potrošite novac.

Ključne prednosti

  • Prevalencija - Ako imate iskustva u izradi aplikacija u AWS-u, možete raditi bilo gdje. Tvrtke vole AWS, a startupi također cijene njegovu nisku cijenu.
  • Besplatna verzija je uistinu značajan čimbenik koji izdvaja AWS od svojih kolega. Dopustite mi da isprobam uslugu i vidim kako funkcionira prije nego što donesem odluku o kupnji, ne želim potrošiti tisuće dolara na nešto nepotrebno. Besplatna verzija mi je uvijek dovoljna za testiranje bilo kojeg koncepta.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Plavetnilo “Azure je prošao dug put od svog prvog izdanja, i to je za pohvalu. No, želja za drugačijim dovela je do čudnih naziva usluga, što često otežava rad. Što znači "blob pohrana"? I dok .NET kod radi bolje u Microsoftovom ekosustavu, malo je vjerojatno da ćete koristiti samo .NET za svaku komponentu svoje aplikacije.

Heroku — Nikada ne bih vodio ništa osim osobnog projekta na Herokuu zbog niske razine pouzdanosti i transparentnosti, pa ga tvrtke ne bi trebale koristiti kao platformu. Heroku je izvrstan za demonstraciju nečega na blogu, ali za praktičnu upotrebu - “Ne, hvala!”

#1 Alat za orkestraciju

Pobjednik: otvorena smjena

DevOps alati koje bi svi trebali naučiti 2020
Vjerojatno koristite Docker ili druge spremnike u svom stogu aplikacija. Aplikacije bez poslužitelja su sjajne, ali možda neće odgovarati svakoj arhitekturi. Pokretanje kontejnera bez platforme za orkestraciju jednostavno neće raditi. Kubernetes Core (K8s) je bez premca u smislu sigurnosti i alata. OpenShift je jedina platforma temeljena na Kubernetesu koja može prikupljati Source2Image, podržava automatiziranu implementaciju na podove i podržava praćenje i nadzor. OpenShift se može pokrenuti on-prem, u oblaku ili on-prem i u oblaku u isto vrijeme.

Ključne prednosti

  • Ugrađena sigurnost - Za upravljanje sigurnošću K8s može biti potrebna napredna diploma. Svaki detalj mora biti pažljivo osmišljen i uzet u obzir! Sigurnosni mehanizmi ugrađeni prema zadanim postavkama uz OpenShift oslobađaju teret programera i pružaju sigurniju platformu za aplikacije.
  • Rješenje sve u jednom - Za razliku od osnovnog K8s, koji prema zadanim postavkama ne uključuje alate za balansiranje opterećenja, OpenShift ima sve. Mogu ga koristiti za stvaranje i hostiranje spremnika, pokretanje CI/CD alata, upravljanje vanjskim procesima, upravljanje ključevima i još mnogo toga. Iako je grafičko korisničko sučelje još uvijek daleko od savršenog, pristup temeljen na API-ju znači da se sve može opisati u skripti. Za razliku od drugih GUI-ja za K8s, OpenShift čini učenje osnova Kubernetesa puno lakšim. Ne morate čak ni dobiti diplomu!

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Docker Roj — Docker Swarm pokušao je pojednostaviti K8 tako što se riješio mnogih stvari. Izvrstan je za male aplikacije, ali za poslovne aplikacije jednostavno ne radi. Osim toga, rješenja kao što je AWS ECS imaju sličan pristup, ali olakšavaju rad s drugim uslugama s kojima također mogu komunicirati (Lambda, IAM itd.).

Alat za praćenje #1

Pobjednik: Nova relikvija

DevOps alati koje bi svi trebali naučiti 2020
Rana izdanja New Relic-a učinila su jednu stvar dobru - APM (Application Performance Monitoring) nadzor. Sada je to potpuno opremljen alat za praćenje koji vam omogućuje praćenje performansi poslužitelja, spremnika, baze podataka, praćenje iskustva krajnjeg korisnika i, naravno, praćenje performansi aplikacije.

Ključne prednosti

  • Jednostavnost upotrebe - Dok sam radio kao sistemski inženjer, koristio sam mnogo alata za nadzor, ali nikada nisam naišao na jedan tako jednostavan i lagan za korištenje kao što je New Relic. To je SaaS, tako da ga ne morate sami instalirati.
  • Preglednost od kraja do kraja - drugi alati pokušavaju nadzirati jedan određeni element vaše aplikacije. Na primjer, metrika korištenja procesora ili mrežnog prometa, ali sve se to mora sveobuhvatno pratiti kako bi aplikacija radila ispravno. New Relic vam daje mogućnost spajanja svih vaših podataka kako biste dobili sveobuhvatan pregled onoga što se događa.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Zabbix — Moj prvi i najdraži sustav za praćenje, ali je ostao u prošlosti zbog nerazvijenosti cloud tehnologija i na području praćenja rada APM aplikacija. Zabbix još uvijek dobro nadzire tradicionalnu poslužiteljsku infrastrukturu, ali to je sve.

DataDog — Previše usredotočen na proces upravljanja proizvodnim okruženjem aplikacije, a ne na sam kod. Uz DevOps timove koji uključuju programere, ne moramo se oslanjati na alate teške za korištenje kako bismo pružili vrhunsku podršku.

Alat za bilježenje #1

Pobjednik: Splunk

DevOps alati koje bi svi trebali naučiti 2020
Teško je natjecati se sa Splunkom! Dugo vremena ostaje lider u sječi drva, nastavljajući to raditi bolje od bilo koga drugog. Uz on-prem i SaaS ponude, možete koristiti Splunk bilo gdje. Velika mana mu je cijena: Splunk je još uvijek prokleto skup!

Ključne prednosti

  • Prožimanje - poduzeća vole Splunk, a poduzeća imaju novca da ga kupe.
  • Iako startupi pokušavaju nadoknaditi troškove, mnoge funkcije mogu se riješiti zahvaljujući analozima otvorenog koda.
  • Pogodnost održavanja - Jednostavno rečeno, Splunk radi i čini to dobro. Dolazi s mnogim zadanim postavkama i značajkama spremnim za korištenje. Nema potrebe gubiti vrijeme na čitanje dokumentacije i pokušavanje natjerati Splunk da radi ili bilo što dešifrirati.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

ELK Stack (ElasticSearch, LogStash i Kibana) "Čini se da su ovi alati omiljeni jer ne morate ni prodati svoju jetru da biste ih koristili." Međutim, kako skup zapisa raste i broj aplikacija na brodu se povećava, posao postaje sve teži. U usporedbi sa Splunk-om, s ELK Stackom proveo sam puno više vremena postavljajući alate prije stvaranja nadzornih ploča nego ikad prije.

Alati za suradnju

DevOps alati koje bi svi trebali naučiti 2020
DevOps se prvenstveno odnosi na promjenu kulture unutar organizacije. Kupnja bilo kojeg alata neće promijeniti trenutnu praksu preko noći, ali svakako može potaknuti suradnju i nove načine interakcije.

Potkategorije alata za suradnju:

  • praćenje zadataka
  • ChatOps
  • dokumentacija.

#1 Alat za praćenje problema

Pobjednik: Jira

DevOps alati koje bi svi trebali naučiti 2020
Jira zadržava svoju vodeću poziciju, iako je konkurencija u ovom području sve veća. Jirina nevjerojatna fleksibilnost omogućuje timovima za razvoj i održavanje da upravljaju projektnim radom i zadacima sprinta. Ugrađeni standardi koji koriste Agile terminologiju olakšavaju prijelaz s tradicionalnih načina rada na učinkovitije procese.

Ključne prednosti

  • Popularnost - Kao i mnogi drugi alati, Jira se koristi gotovo posvuda. Mali timovi koriste jeftiniju, pristupačniju verziju i dobivaju sve što im treba, dok si veće tvrtke mogu priuštiti skuplju licencu.
  • Integracije - Jira je pionir u svom području. Ova činjenica i brzi razvoj proizvoda dovodi do činjenice da druge tvrtke odabiru Jira za stvaranje vlastitih integracija, čime se povećava vrijednost alata. Možemo integrirati Jiru sa svim alatima navedenim u ovom članku odmah uz malu konfiguraciju.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Trello — Trello je brzo stekao popularnost zahvaljujući besplatnom Kanban alatu. Međutim, kada se procesi povećaju i prijeđete s desetaka zadataka na tisuće, Trello postaje težak za navigaciju, pretraživanje i izvješćivanje.

Glavni Tracker — Bio sam veliki obožavatelj ovog alata dok sam radio za startup. Međutim, Pivotal Tracker više je usmjeren na upravljanje proizvodima nego na tehničke zadatke. Iako je upravljanje proizvodima u Jiri malo složenije, tamo se još uvijek može implementirati bez korištenja dodatnog alata.

ChatOps alat #1

Pobjednik: MatterMost

DevOps alati koje bi svi trebali naučiti 2020
Objašnjenje: Možda najveće iznenađenje za vas u mom izboru, a to je dobra vijest! MatterMost je stekao popularnost uzevši najbolje iz prethodnih alata, ali ih stavljajući on-prem. Ovo je vrlo važno za tvrtke: MatterMost vam omogućuje da kontrolirate svoje podatke i također vam pomaže da ih integrirate s alatima koji se pokreću lokalno. Više ne moramo izlaziti izvan vatrozida da provjerimo radne razgovore.

Ključne prednosti

  • Open Source – Open Source verzija MatterMosta odlično funkcionira i za srednje i za velike timove. Za razliku od Slackova besplatnog plana, koji briše vašu povijest poruka, pokretanje vlastitog poslužitelja znači da čuvate sve svoje podatke.
  • Integracije - Budući da se API gotovo 100% temelji na Slack API-ju, gotovo sve Slack integracije mogu se koristiti izravno s MatterMostom.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Zatišje — Slack je cool, ali ovi dečki su toliko narasli da su počeli tražiti zaradu. Približava se faza otplate poslovanja, što im oduzima glavnu vrijednost: Slack je pružao usluge besplatno; Najvažniji nedostatak besplatne verzije je brisanje povijesti razgovora.

Microsoftovi timovi — Pokušajte integrirati Microsoftov proizvod s nečim što nije u vlasništvu Microsofta... Sretno! To je sve što imam za reći o ovom alatu!

Alat za dokumentaciju #1

Pobjednik: ušće

DevOps alati koje bi svi trebali naučiti 2020
Izrada i održavanje kvalitetne tehničke dokumentacije složen je proces, bez obzira koji alat koristite. Iako su se mnogi SaaS dokumentacijski alati nedavno pojavili na tržištu, bilo bi mi teško prepustiti trećoj strani pohranjivanje tehničke dokumentacije o kritičnim aplikacijama. Poželjno je pohranjivati ​​podatke i dokumente on-prem, a Confluence to rješava ovako.

Ključne prednosti

  • Jednostavan za rukovanje - Većina samostalnih alata može biti malo složena za postavljanje i rukovanje i zahtijevaju određeno znanje za održavanje. Confluence Server radi sjajno odmah nakon postavljanja za 10 ili 10,000 XNUMX korisnika.
  • Dodaci - svaka čast Confluenceu jer ima prekrasnu navigaciju jednostavnu za korištenje i mogućnost dodavanja dodatka za gotovo sve otključava potencijal poput Wikija.

natjecatelji

Sudjelovao u bitci, ali nije pobijedio

Pročitajte dokumente — Super za otvoreni kod, ali nemojte ni pomišljati na pohranjivanje kritičnog znanja ovdje.

Smanjenje - Izvrstan za dokumentiranje koda, ali je teško objaviti arhitekturu, procese ili druge vrste dokumentacije zbog specifičnog oblikovanja MarkDown-a.

Jekyll — Kada dokumentiram tehničko znanje, ne želim stvarati novu statičnu stranicu koja će se postavljati svaki put kad dođe do promjene. Confluenceov jednostavan sustav kontrole verzija uvelike pojednostavljuje internu dokumentaciju.

Sumirati

Na tržištu postoje doslovno stotine DevOps alata, zbog čega je teško znati koje koristiti i kada ih treba implementirati. Slijedite ovaj jednostavan vodič za odabir DevOps alata za kompletan CI/CD cjevovod.

Obavezno odaberite alate iz svih pet kategorija:

  • alate za razvoj i izgradnju
  • alati za automatizaciju testiranja
  • alati za implementaciju
  • Runtime alati
  • alate za suradnju.

Glavna preporuka: Automatizirajte sve!

Hvala Zach Shapiro!

Izvor: www.habr.com

Dodajte komentar