DevOps-verktyg som alla borde lära sig 2020

Börja använda de bästa DevOps-verktygen idag!

DevOps-verktyg som alla borde lära sig 2020
DevOps-revolutionen har äntligen tagit över världen och DevOps-verktygen har blivit otroligt populära. Enligt tjänsten Google Trender, antalet förfrågningar om "DevOps-verktyg" växer ständigt, och denna trend fortsätter.

DevOps metodik täcker hela livscykeln för mjukvaruutveckling, så proffs kan välja mellan en mängd olika verktyg. Men som ni vet kan inget verktyg bli ett universellt verktyg för alla. Vissa lösningar erbjuder dock ett så brett utbud av funktioner att de kan hantera nästan alla uppgifter.

Låt oss dela upp DevOps-verktyg i kategorier och jämföra dem med analoger:

  • utveckla och bygga verktyg
  • testa automationsverktyg
  • verktyg för att organisera implementeringen
  • Runtime-verktyg
  • samarbetsverktyg.

Framgångsrik och genomtänkt implementering DevOps-utövare inkluderar instrument från alla fem grupper som anges ovan. Analysera den aktuella uppsättningen verktyg i ditt projekt för att inte missa en viktig del av CI/CD-pipelinen.

Utveckling och byggverktyg

DevOps-verktyg som alla borde lära sig 2020
Detta är grunden för CI/CD-pipelinestacken. Allt börjar här! De bästa verktygen i den här kategorin kan hantera flera händelseströmmar och enkelt integreras med andra produkter.

I detta skede av utvecklingens livscykel finns det tre grupper av verktyg:

  • versionskontrollsystem (SCM)
  • kontinuerlig integration (CI)
  • Datahantering

GIT har haft en positiv meritlista 2020, så ditt SCM-verktyg bör ha sömlöst stöd för GIT. För CI är en förutsättning förmågan att köra och köra builds i en isolerad containermiljö. När det kommer till datahantering kräver det förmågan att göra ändringar i databasschemat och underhålla databasen enligt applikationsversionen.

SCM + CI Verktyg #1

Vinnare: GitLab och GitLab-CI

DevOps-verktyg som alla borde lära sig 2020
Det bästa verktyget i 2020 års DevOps-cykel är utan tvekan GitLab, och det kommer definitivt att fortsätta att leda innovation inom en snar framtid.

Huvudfunktionen hos GitLab är att tillhandahålla bekväm hantering av ett Git-förråd. Webbgränssnittet är intuitivt och lätt att använda. GitLab tillhandahåller allt du behöver i en gratisversion och kommer som SaaS och on-prem (med dina egna resurser för att vara värd för programvara).

Inget annat SCM-verktyg har använt kontinuerlig integration (CI) direkt på ditt arkiv, och GitLab har gjort detta under lång tid. För att använda GitLab-CI måste du lägga till en .gitlab-ci.yml-fil till din källkodsrot, och alla ändringar i projektet kommer att utlösa åtgärder baserat på exakt vad du angav. GitLab och GitLab-CI är välförtjänt erkända som ledare inom området kontinuerlig integration (CI-as-code).

Viktigaste fördelarna

  • Tillförlitlighet - Produkten har funnits på marknaden sedan 2013; stabil; väl understödd.
  • Öppen källkod - Den fria versionen av GitLab begränsar inte kärnfunktionaliteten som utvecklingsteam behöver. Betaltjänstpaket ger ytterligare användbara funktioner för företag av varierande storlek och behov.
  • Engrained CI - Inget annat verktyg på marknaden har byggt kontinuerlig integration direkt i SCM som GitLab-CI. Att använda Docker säkerställer problemfria isolerade builds, och inbyggda rapporter gör felsökningen enkel. Vi kräver inte komplex integration och hantering av flera verktyg samtidigt.
  • Obegränsade integrationer - GitLab ger enkel integration av alla DevOps-verktyg du behöver. Detta säkerställer att utvecklings- och underhållsteam har en enda informationskälla om sin applikation i alla miljöer.

konkurrenter

Deltog i striden, men vann inte

Det finns andra populära verktyg i denna kategori, men de är inte lika bra som GitLab. Och det är varför:

GitHub — Det här är ett utmärkt SaaS-versionskontrollsystem för små företag och tidiga utvecklingsstadier. För stora företag för vilka det är viktigt att behålla IP-adresser i sitt eget nätverk var den enda lösningen från GitHub den virtuella .OVA-maskinen utan stöd för system med hög tillgänglighet. Detta försvårar underhåll på plats, dessutom är .OVA endast lämpligt för medelstora företag, annars kommer servern helt enkelt att krascha under större belastning. Bristen på GitHub Actions (tills nyligen och ännu inte i en on-prem version) eller CI-as-code innebär att du måste välja ett separat CI-verktyg och sedan hantera den integrationen. Slutligen är GitHub mycket dyrare än båda versionerna av GitLab.

Jenkins — Även om Jenkins anses vara standarden bland verktyg för kontinuerlig integration som standard, har den alltid saknat versionskontrollmöjligheter. Det visar sig att du använder Jenkins plus något slags SCM-verktyg. Det är för svårt när GitLab kan göra båda. Medioker UX-design är inte lämplig för en modern webbapplikation och lämnar mycket övrigt att önska.

BitBucket/Bambu — Jag måste känna igen honom som en automatisk förlorare: varför två verktyg när GitLab gör allt helt oberoende. BitBucket Cloud stöder GitLab-CI / GitHub Action-funktionalitet, men inget företag större än en startup kan enkelt implementera det. Den lokala BitBucket-servern stöder inte ens BitBucket-pipelines!

#1 Datahanteringsverktyg

Vinnare: FlywayDB

DevOps-verktyg som alla borde lära sig 2020
I webbapplikationsutveckling är databasautomatisering vanligtvis inte viktig. Idén med att distribuera databasschemaändringar för nya versioner av applikationen kommer sent. Schemaändringar leder ofta till att kolumner eller tabeller läggs till och byter namn. Om applikationsversionen inte matchar schemaversionen kan applikationen krascha. Dessutom kan det vara svårt att hantera databasändringar vid uppdatering av en applikation eftersom det finns två olika system. FlyWayDB löser alla dessa problem.

Viktigaste fördelarna

  • Databasversionering - Flyway låter dig skapa databasversioner, spåra databasmigreringar och enkelt överföra eller återställa schemaändringar utan ett extra verktyg för detta.
  • Binär eller inbäddad - Vi kan välja att köra Flyway som en del av applikationen eller som en binär körbar fil. Flyway kontrollerar versionskompatibilitet vid start och startar lämpliga migrering, håller databas- och programversioner synkroniserade. Genom att köra ad-hoc-kommandot cmd line ger vi flexibilitet till befintliga databaser utan att bygga om hela applikationen.

konkurrenter

Deltog i striden, men vann inte

Det finns inte många verktyg på det här området. Låt oss titta på några av dem:

LiquiBase — Liquibase liknar FlywayDB. Jag skulle vilja sätta upp det ovanpå Flyway om jag hade någon i mitt team med mer erfarenhet av Liquibase.

Flocker - Kan bara fungera för containeriserade applikationer. För att framgångsrikt köra containeriserade databaser måste allt planeras perfekt. Jag rekommenderar att du använder RDS (Relational Database Service) för databaser och rekommenderar inte att du lagrar viktig information i en container.

Testa automationsverktyg

DevOps-verktyg som alla borde lära sig 2020
Låt oss börja vår diskussion om testautomatiseringsverktyg genom att klassificera dem baserat på testpyramiden.

Testpyramiden (tester) har 4 nivåer:

  • Unit Tests - Detta är grunden för hela den automatiserade testprocessen. Det borde finnas fler enhetstester jämfört med andra typer av tester. Utvecklare skriver och kör enhetstester för att säkerställa att en del av en applikation (känd som en "enhet") överensstämmer med dess design och beter sig som förväntat.
  • Komponenttester − Huvudsyftet med komponenttestning är att verifiera testobjektets in-/utdatabeteende. Vi måste säkerställa att funktionaliteten hos testobjektet implementeras korrekt enligt specifikationen.
  • Integrationstester - En typ av testning där enskilda programvarumoduler kombineras och testas som en grupp.
  • End-to-end-tester - Detta steg är självförklarande. Vi övervakar hela applikationen och ser till att den fungerar som planerat.

Eftersom enhetstester och komponenttester endast utförs av utvecklare och ofta är specifika för programmeringsspråk, kommer vi inte att utvärdera dessa verktyg för DevOps-domänen.

#1 Integrationstestverktyg

Vinnare: Gurka

DevOps-verktyg som alla borde lära sig 2020
Cucumber kombinerar specifikationer och testdokumentation till ett enda levande dokument. Specifikationerna är alltid uppdaterade då de automatiskt testas av Cucumber. Om du vill bygga ett automatiserat testramverk från grunden och modellera användarbeteende i en webbapplikation, så är Selenium WebDriver med Java och Cucumber BDD ett utmärkt sätt att lära sig och implementera Cucumber i ett projekt.

Viktigaste fördelarna

  • BDD-tillvägagångssätt (Behavior Driven Development - "utveckling genom beteende" i motsats till "testdriven development"-metoden) - Cucumber är designad för BDD-testning, den skapades ursprungligen för just denna uppgift.
  • Levande dokumentation - Dokumentation är alltid jobbigt! Eftersom dina tester är skrivna som kod, testar Cucumber den automatiskt genererade dokumentationen för att säkerställa att testerna och dokumentationen är synkroniserade.
  • Support – Vi kan välja mellan många verktyg, men Cucumber har nödvändiga ekonomiska resurser och ett välorganiserat supportsystem för att hjälpa användare i alla svåra situationer.

konkurrenter

Deltog i striden, men vann inte

Bland andra ramverk och teknikspecifika verktyg kan endast gurka anses vara en universell lösning.

End-to-end-testverktyg

När du utför end-to-end-tester måste du fokusera på två nyckelpunkter:

  • funktionstestning
  • Stresstestning.

Vid funktionstestning kontrollerar vi om allt vi vill verkligen händer. Till exempel, när jag klickar på vissa delar av mitt SPA (ensidig ansökan), fyller i formulären och väljer "Skicka", visas data i databasen och meddelandet "Framgång!" visas på skärmen.

Det är också viktigt för oss att kontrollera att ett visst antal användare som kör samma scenario kan bearbetas utan fel.

Frånvaron av dessa två typer av testning kommer att vara en betydande nackdel i din CI/CD-pipeline.

#1 end-to-end testverktyg. Funktionstestning

Vinnare: SoapUI Pro

DevOps-verktyg som alla borde lära sig 2020
SoapUI har funnits i API-testområdet länge sedan SOAP-baserade webbtjänster var standarden. Även om vi inte längre skapar nya SOAP-tjänster och namnet på verktyget inte har ändrats, betyder det inte att det inte har utvecklats. SoapUI ger ett utmärkt ramverk för att skapa automatiserade funktionstester för backend. Tester kan enkelt kombineras med kontinuerliga integrationsverktyg och användas som en del av en CI/CD-pipeline.

Viktigaste fördelarna

  • Detaljerad dokumentation - SoapUI har funnits på marknaden ganska länge, så det finns många onlineresurser som kan hjälpa dig att förstå hur du ställer in tester.
  • Användarvänlighet – Även om verktyget stöder flera protokoll för att testa API:er, gör SoapUIs närvaro av ett gemensamt gränssnitt för flera tjänster det lättare att skriva tester.

konkurrenter

Deltog i striden, men vann inte

Selen är ett annat bra instrument i denna grupp. Jag rekommenderar att du använder det om du bygger och kör en Java-baserad applikation. Men om du bygger en komplett webbapplikation med flera tekniker kan det bli svårt för komponenter som inte är Java.

#1 end-to-end testverktyg. Stresstestning

Vinnare: LoadRunner

DevOps-verktyg som alla borde lära sig 2020
förklaring: När det är dags att ladda testa varje del av din applikation är det bara LoadRunner som kan slutföra uppgiften. Ja, det är dyrt och svårt i början, men LoadRunner är det enda verktyget som ger mig, som teknisk arkitekt, fullständigt förtroende för att den nya koden kommer att fungera under extrema belastningsförhållanden. Dessutom tycker jag att det är dags för LoadRunner att tas över av utvecklingsteam snarare än testteam.

Viktigaste fördelarna

  • Omfattande dokumentation - LoadRunner har funnits på marknaden ganska länge, så det finns många onlineresurser som hjälper dig att förstå hur du ställer in belastningstester.
  • Protokollstöd - Load Runner stöder allt från ODBC till AJAX, HTTPS och alla andra icke-triviala protokoll som din applikation kan använda. Vi försöker att inte använda flera verktyg för belastningstestning, eftersom detta bara komplicerar processen.

konkurrenter

Deltog i striden, men vann inte

Återigen, det finns inte många universella verktyg inom detta område, så den bästa lösningen är en som fungerar i alla miljöer med vilken teknik som helst.

Implementeringsverktyg

DevOps-verktyg som alla borde lära sig 2020
Implementeringsverktyg är förmodligen den minst förstådda aspekten av utveckling. För ett driftteam utan en djup förståelse av koden och funktionaliteten i applikationen är det svårt att använda sådana verktyg. För utvecklare är distributionshantering ett nytt ansvar, så de har ännu inte tillräckligt med erfarenhet av att arbeta med sådana verktyg.

Först av allt, låt oss dela upp alla distributionsverktyg i tre underkategorier:

  • artefakthantering
  • konfigurationshantering
  • distribuera.

#1 Artefakthanteringsverktyg

Vinnare: Nexus

DevOps-verktyg som alla borde lära sig 2020
Nexus artefaktförråd stöder nästan alla större tekniker, från Java till NPM till Docker. Vi kan använda det här verktyget för att lagra alla artefakter vi använder. Proxyering av fjärrpakethanterare påskyndar också CI-byggprocessen avsevärt, vilket gör paket mer tillgängliga för byggnad. En annan fördel är möjligheten att få en fullständig bild av alla paket som används i flera programvaruprojekt, vilket blockerar osäkra paket med öppen källkod (de kan fungera som en attackvektor).

Viktigaste fördelarna

  • Teknisk support - Pålitlig produkt; väl understödd.
  • Öppen källkod – Den fria versionen begränsar inte kärnfunktionaliteten som utvecklingsteam behöver.

#1 Configuration Management Tool

Vinnare: Ansible

Ansible är en ledare av en enkel anledning: statslös. Tidigare fokuserade liknande verktyg på konfigurationstillståndshantering. När det startas kommer ett sådant verktyg, efter att ha fått den önskade konfigurationen, att försöka korrigera den aktuella applikationskonfigurationen. Och med det nya tillvägagångssättet är endast statslösa komponenter närvarande. Nya versioner av kod är artefakter som distribueras för att ersätta befintliga. Detta kan betraktas som en slags tillfällig, kortsiktig miljö.

Viktigaste fördelarna

  • Stateless - Playbook startas från distributionsmaskinen och körs på målservrarna. Jag behöver inte oroa mig för tillståndet för fjärrobjektet genom att använda ett verktyg som Packer för att skapa utplacerbara objekt.
  • Öppen källkod – Liksom CentOS stöds Ansible också av RedHat. Det hjälper till att upprätthålla gemenskapen och ger högkvalitativa, lättanvända moduler.
  • Testa med Molecule (ett Ansible-ramverk) - Eftersom konfigurationshantering är kod, som allt annat, är testning viktigt. Molecules Ansible rolltestramverk fungerar felfritt och säkerställer att konfigurationen är av samma kvalitet och följer samma CI/CD-pipeline som applikationskoden.
  • YAML - Jämfört med andra verktyg är YAML lättare att förstå. Eftersom konfigurationshantering vanligtvis är en ny utmaning för dem som implementerar DevOps-praxis, är enkelhet dess trumfkort.

konkurrenter

Deltog i striden, men vann inte

OpsCode Chef — Jag började min DevOps-karriär som kokboksutvecklare. Ruby och Chef ligger mig såklart varmt om hjärtat, men de löser helt enkelt inte problemen med moderna statslösa, molnbaserade applikationer. OpsCode Chef är ett bra verktyg för mer traditionella applikationer, men i den här artikeln fokuserar vi på framtiden.

Marionett — Puppet har aldrig haft många fans, speciellt i jämförelse med Chef och Ansible. Det är utmärkt för att tillhandahålla och arbeta med hårdvara, men det saknar modernt konfigurationshanteringsstöd för en webbapplikation.

Implementeringsverktyg #1

Vinnare: Terraform

DevOps-verktyg som alla borde lära sig 2020
Terraform löser problemet med att beskriva din infrastruktur som kod, från nätverkskomponenter till fullständiga serverbilder. Den här produkten har kommit långt sedan den första lanseringen, med så många insticksprogram skapade och en så stark gemenskap att du kommer att vara säker på att få hjälp i alla installationsscenarios. Möjligheten att stödja alla typer av miljöer (på plats, i molnet eller någon annanstans) är oöverträffad. Slutligen har den senaste versionen mycket av samma logikfunktioner och klasser i HCL som alla andra traditionella programmeringsspråk, vilket gör Terraform lätt att förstå snabbt och enkelt för utvecklare.

Viktigaste fördelarna

  • Miljöagnostisk - Terraform använder funktioner som fungerar som ett gränssnitt mellan din Terraform-kod, alla API:er och intern logik för att kommunicera med infrastrukturleverantören. Det betyder att jag bara behärskar ett verktyg och sedan kan arbeta var som helst.
  • Öppen källkod - Det är svårt att slå gratisverktyg! Samhällsstöd på högsta nivå.

konkurrenter

Deltog i striden, men vann inte

AWS molnformation — Även om du bara arbetar i AWS molnmiljö, kan ditt nästa jobb använda ett annat verktyg. Att ägna all din tid och energi åt bara en plattform är ett kortsiktigt beslut. Dessutom är många nya AWS-tjänster ofta tillgängliga som Terraform-moduler innan de är tillgängliga i CloudFormation.

Runtime-verktyg

DevOps-verktyg som alla borde lära sig 2020

Det slutliga målet för alla utvecklingsprojekt är att lansera applikationen i produktion. I DevOps-världen vill vi vara fullt medvetna om alla möjliga problem med vår miljö, och vi vill också minimera manuella ingrepp. Att välja rätt uppsättning runtime-verktyg är avgörande för att uppnå nirvana för applikationsutveckling.

Underkategorier av körtidsverktyg:

  • X-as-a-service (XaaS)
  • orkestrering
  • övervakning av
  • skogsavverkning.

X-verktyg-som-en-tjänst #1

Vinnare: Amazon Web Services

DevOps-verktyg som alla borde lära sig 2020
Amazon har alltid varit ledande inom molnteknik, men det stannar inte där: variationen av nya tjänster för utvecklare är ögonöppnande. Ta med vilken teknik och mall som helst till AWS så kommer den att byggas och köras. Kostnaden för verktyget är ganska rimlig: jämför det med att montera, hantera och underhålla utrustning i ditt eget datacenter. Gratisversionen låter dig experimentera och fatta rätt beslut innan du spenderar pengar.

Viktigaste fördelarna

  • Prevalens - Om du har erfarenhet av att bygga applikationer i AWS kan du arbeta var som helst. Företag älskar AWS, och nystartade företag uppskattar också dess låga kostnad.
  • Den fria versionen är en verkligt betydelsefull faktor som skiljer AWS från sina kamrater. Låt mig prova tjänsten och se hur den fungerar innan jag fattar ett köpbeslut, jag vill inte spendera tusentals dollar på något onödigt. Gratisversionen räcker alltid för att jag ska testa vilket koncept som helst.

konkurrenter

Deltog i striden, men vann inte

Azure "Azure har kommit långt sedan den första releasen, och det är lovvärt. Viljan att vara annorlunda har dock lett till konstiga namn på tjänster, vilket ofta försvårar arbetet. Vad betyder "blob-lagring"? Och även om .NET-kod fungerar bättre i Microsofts ekosystem, är det osannolikt att du bara kommer att använda .NET för varje komponent i din applikation.

Heroku — Jag skulle aldrig driva något annat än ett personligt projekt på Heroku på grund av den låga nivån på tillförlitlighet och transparens, så företag bör inte använda det som en plattform. Heroku är bra för att demonstrera något på en blogg, men för praktisk användning - "Nej, tack!"

#1 Orkestereringsverktyg

Vinnare: öppen växling

DevOps-verktyg som alla borde lära sig 2020
Du använder förmodligen Docker eller andra behållare i din applikationsstack. Serverlösa applikationer är bra, men de kanske inte passar alla arkitekturer. Att köra containrar utan en orkestreringsplattform fungerar helt enkelt inte. Kubernetes Core (K8s) är oöverträffad när det gäller säkerhet och verktyg. OpenShift är den enda Kubernetes-baserade plattformen som kan samla in Source2Image, stöder automatisk distribution till pods och stöder spårning och övervakning. OpenShift kan köras on-prem, i molnet eller on-prem och i molnet samtidigt.

Viktigaste fördelarna

  • Inbyggd säkerhet - Att hantera K8s säkerhet kan kräva en avancerad examen. Varje detalj måste vara noggrant genomtänkt och beaktas! Säkerhetsmekanismerna som är inbyggda som standard med OpenShift tar bördan från utvecklarna och ger en säkrare plattform för applikationer.
  • Allt-i-ett-lösning - Till skillnad från de grundläggande K8:erna, som inte inkluderar lastbalanseringsverktyg som standard, har OpenShift allt. Jag kan använda den för att skapa och vara värd för behållare, köra CI/CD-verktyg, hantera externa processer, hantera nycklar och mycket mer. Även om det grafiska användargränssnittet fortfarande är långt ifrån perfekt, innebär det API-baserade tillvägagångssättet att allt kan beskrivas i ett skript. Till skillnad från andra grafiska användargränssnitt för K8s gör OpenShift det mycket enklare att lära sig grunderna i Kubernetes. Du behöver inte ens ta en examen!

konkurrenter

Deltog i striden, men vann inte

Docker svärm — Docker Swarm försökte förenkla K8s genom att bli av med många saker. Det är bra för små applikationer, men för företagsapplikationer fungerar det helt enkelt inte. Dessutom har lösningar som AWS ECS ett liknande tillvägagångssätt men gör det lättare att arbeta med andra tjänster som jag också kan interagera med (Lambda, IAM, etc.).

Övervakningsverktyg #1

Vinnare: Ny relik

DevOps-verktyg som alla borde lära sig 2020
Tidiga utgåvor av New Relic gjorde en sak bra - APM-övervakning (Application Performance Monitoring). Det är nu ett fullfjädrat övervakningsverktyg som låter dig övervaka server, behållare, databasprestanda, övervakning av slutanvändares upplevelse och naturligtvis övervakning av applikationsprestanda.

Viktigaste fördelarna

  • Användarvänlighet – När jag arbetade som systemingenjör använde jag många övervakningsverktyg, men jag har aldrig stött på ett så enkelt och lätt att använda som New Relic. Det är SaaS, så du behöver inte installera det själv.
  • Synlighet från slut till ände - Andra verktyg försöker övervaka ett specifikt element i din applikation. Till exempel ett mått på processoranvändning eller nätverkstrafik, men allt detta måste övervakas heltäckande för att applikationen ska fungera korrekt. New Relic ger dig möjligheten att samla all din data för att få en heltäckande bild av vad som händer.

konkurrenter

Deltog i striden, men vann inte

Zabbix — Mitt första och favoritövervakningssystem, men det har legat kvar i det förflutna på grund av bristen på utveckling inom molnteknik och inom området APM-applikationsprestandaövervakning. Zabbix gör fortfarande traditionell övervakning av serverinfrastruktur bra, men det är ungefär det.

DataDog — För mycket fokuserat på processen att hantera produktionsmiljön för applikationen, och inte på själva koden. Med DevOps-team som involverar utvecklare behöver vi inte förlita oss på svåranvända verktyg för att ge förstklassig support.

Loggningsverktyg #1

Vinnare: Splunk

DevOps-verktyg som alla borde lära sig 2020
Det är svårt att konkurrera med Splunk! Under lång tid förblir han ledaren inom loggning och fortsätter att göra det bättre än någon annan. Med on-prem och SaaS-erbjudanden kan du använda Splunk var som helst. Den stora nackdelen är priset: Splunk är fortfarande jävligt dyrt!

Viktigaste fördelarna

  • Genomträngande – Företag älskar Splunk, och företag har pengar att köpa det.
  • Även om startups försöker få tillbaka kostnader kan många funktioner lösas tack vare öppen källkodsanaloger.
  • Underhållbarhet – Enkelt uttryckt, Splunk fungerar och gör det bra. Den levereras med många standardinställningar och funktioner redo att användas. Du behöver inte slösa tid på att läsa dokumentation och försöka få Splunk att fungera eller dechiffrera något.

konkurrenter

Deltog i striden, men vann inte

ELK Stack (ElasticSearch, LogStash och Kibana) "Dessa verktyg verkar vara favoriterna eftersom du inte ens behöver sälja din lever för att använda dem." Men i takt med att uppsättningen stockar växer och antalet ansökningar ombord ökar, blir arbetet allt svårare. Jämfört med Splunk, med ELK Stack spenderade jag mycket mer tid på att ställa in verktygen innan jag skapade några instrumentpaneler än jag någonsin haft tidigare.

Samarbetsverktyg

DevOps-verktyg som alla borde lära sig 2020
DevOps handlar i första hand om att förändra kulturen inom en organisation. Att köpa ett verktyg kommer inte att förändra nuvarande praxis över en natt, men det kan verkligen uppmuntra samarbete och nya sätt att interagera.

Underkategorier av samarbetsverktyg:

  • uppgiftsspårning
  • ChatOps
  • dokumentation.

#1 Problemspårningsverktyg

Vinnare: Jira

DevOps-verktyg som alla borde lära sig 2020
Jira behåller sin ledande position, även om konkurrensen inom detta område ökar. Jiras otroliga flexibilitet tillåter utvecklings- och underhållsteam att hantera projektarbete och sprintuppgifter. Inbyggda standarder med agil terminologi gör det lättare att gå från traditionella arbetssätt till effektivare processer.

Viktigaste fördelarna

  • Popularitet – Liksom många andra verktyg används Jira nästan överallt. Små team använder den billigare, mer lättillgängliga versionen och får allt de behöver, medan större företag har råd med en dyrare licens.
  • Integrationer - Jira är en pionjär inom sitt område. Detta faktum och den snabba utvecklingen av produkten leder till att andra företag väljer Jira för att skapa sina egna integrationer, vilket ökar värdet på verktyget. Vi kan integrera Jira med alla verktyg som listas i den här artikeln ur lådan med lite konfiguration.

konkurrenter

Deltog i striden, men vann inte

Trello — Trello blev snabbt populär tack vare dess kostnadsfria Kanban-verktyg. Men när processer skalas och du går från dussintals uppgifter till tusentals, blir Trello svår att navigera, söka och rapportera om.

Pivotal Tracker — Jag var ett stort fan av det här verktyget när jag jobbade för en startup. Pivotal Tracker är dock mer fokuserad på produkthantering snarare än tekniska uppgifter. Även om produkthantering i Jira är lite mer komplex, kan den fortfarande implementeras där utan att använda ett extra verktyg.

ChatOps verktyg #1

Vinnare: MatterMost

DevOps-verktyg som alla borde lära sig 2020
förklaring: Kanske den största överraskningen för dig i mitt urval, och det är goda nyheter! MatterMost blev populär genom att ta det bästa från tidigare verktyg men sätta dem på plats. Detta är mycket viktigt för företag: MatterMost låter dig kontrollera din data och hjälper dig även att integrera den med verktyg som körs lokalt. Vi behöver inte längre gå utanför brandväggen för att kolla jobbchattar.

Viktigaste fördelarna

  • Open Source – Open source-versionen av MatterMost fungerar utmärkt för både medelstora och stora team. Till skillnad från Slacks gratisplan, som raderar din meddelandehistorik, innebär det att köra din egen server att du behåller all din data.
  • Integrationer - Eftersom API:t är nästan 100% baserat på Slack API, kan nästan alla Slack-integrationer användas direkt med MatterMost.

konkurrenter

Deltog i striden, men vann inte

Slak — Slack är coolt, men de här killarna har vuxit så mycket att de började leta efter vinst. Återbetalningsfasen för verksamheten närmar sig, vilket tar bort deras huvudsakliga värde: Slack tillhandahåller tjänster gratis; Den viktigaste nackdelen med gratisversionen är raderingen av chatthistoriken.

Microsoft-lag — Försök att integrera en Microsoft-produkt med något som inte ägs av Microsoft... Lycka till! Det är allt jag har att säga om det här verktyget!

Dokumentationsverktyg #1

Vinnare: Konfluens

DevOps-verktyg som alla borde lära sig 2020
Att skapa och underhålla teknisk dokumentation av hög kvalitet är en komplex process, oavsett vilket verktyg du använder. Även om många SaaS-dokumentationsverktyg har kommit ut på marknaden nyligen, skulle jag ha svårt att lägga ut lagringen av teknisk dokumentation om verksamhetskritiska applikationer till en tredje part. Det är att föredra att lagra data och dokument på plats, och det är så här Confluence löser det.

Viktigaste fördelarna

  • Lätt att använda - De flesta fristående verktyg kan vara lite komplicerade att installera och använda och kräver viss kunskap för att underhålla. Confluence Server fungerar utmärkt direkt för 10 eller 10,000 XNUMX användare.
  • Plugins - Kudos till Confluence för att ha vacker, lättanvänd navigering ur lådan, och möjligheten att lägga till ett plugin för nästan allting låser upp Wiki-liknande potential.

konkurrenter

Deltog i striden, men vann inte

Läs dokumenten — Coolt för öppen källkod, men tänk inte ens på att lagra kritisk kunskap här.

Prissänkning - Perfekt för att dokumentera kod, men svårt att lägga upp arkitektur, processer eller andra typer av dokumentation på grund av MarkDowns specifika formatering.

Jekyll — När jag dokumenterar teknisk kunskap vill jag inte skapa en ny statisk sajt som kommer att distribueras varje gång det sker en förändring. Confluences enkla versionskontrollsystem förenklar den interna dokumentationen avsevärt.

Summera

Det finns bokstavligen hundratals DevOps-verktyg på marknaden, vilket gör det svårt att veta vilka som ska användas och när de ska implementeras. Följ den här enkla guiden för att välja DevOps-verktyg för en komplett CI/CD-pipeline.

Se till att välja verktyg från alla fem kategorier:

  • utveckla och bygga verktyg
  • testa automationsverktyg
  • distributionsverktyg
  • Runtime-verktyg
  • samarbetsverktyg.

Huvudrekommendation: Automatisera allt!

Tack Zach Shapiro!

Källa: will.com

Lägg en kommentar