DevOps-værktøjer, som alle bør lære i 2020

Begynd at bruge de bedste DevOps-værktøjer i dag!

DevOps-værktøjer, som alle bør lære i 2020
DevOps-revolutionen har endelig overtaget verden, og DevOps-værktøjer er blevet utroligt populære. Ifølge tjenesten Google Trends, antallet af anmodninger om "DevOps-værktøjer" vokser konstant, og denne tendens fortsætter.

DevOps-metoden dækker hele softwareudviklingens livscyklus, så fagfolk kan vælge mellem en række forskellige værktøjer. Men som bekendt kan intet værktøj blive et universelt værktøj for alle. Nogle løsninger tilbyder dog en så bred vifte af funktioner, at de kan klare næsten enhver opgave.

Lad os opdele DevOps-værktøjer i kategorier og sammenligne dem med analoger:

  • udvikle og bygge værktøjer
  • test automatiseringsværktøjer
  • værktøjer til at organisere implementeringen
  • Runtime værktøjer
  • samarbejdsværktøjer.

Succesfuld og gennemtænkt implementering DevOps praktiserende læge omfatter instrumenter fra alle fem grupper nævnt ovenfor. Analyser det aktuelle sæt værktøjer i dit projekt for ikke at gå glip af et vigtigt element i CI/CD-pipelinen.

Udvikling og byggeværktøjer

DevOps-værktøjer, som alle bør lære i 2020
Dette er grundlaget for CI/CD pipeline stakken. Det hele starter lige her! De bedste værktøjer i denne kategori kan administrere flere begivenhedsstrømme og nemt integreres med andre produkter.

På dette stadium af udviklingens livscyklus er der tre grupper af værktøjer:

  • versionskontrolsystem (SCM)
  • kontinuerlig integration (CI)
  • Datastyring

GIT har haft en positiv track record i 2020, så dit SCM-værktøj burde have problemfri understøttelse af GIT. For CI er en forudsætning evnen til at udføre og køre builds i et isoleret containermiljø. Når det kommer til datastyring, kræver det evnen til at foretage ændringer i databaseskemaet og vedligeholde databasen i henhold til applikationsversionen.

SCM + CI Værktøj #1

Vinder: GitLab og GitLab-CI

DevOps-værktøjer, som alle bør lære i 2020
Det bedste værktøj i 2020 DevOps-cyklussen er uden tvivl GitLab, og det vil helt sikkert fortsætte med at lede innovation i den nærmeste fremtid.

GitLabs hovedfunktion er at give komfortabel styring af et Git-lager. Webgrænsefladen er intuitiv og nem at bruge. GitLab giver alt hvad du behøver i en gratis version og kommer som SaaS og on-prem (ved at bruge dine egne ressourcer til at hoste software).

Intet andet SCM-værktøj har brugt kontinuerlig integration (CI) direkte på dit lager, og GitLab har gjort dette i lang tid. For at bruge GitLab-CI skal du tilføje en .gitlab-ci.yml-fil til din kildekoderod, og eventuelle ændringer i projektet vil udløse handlinger baseret på præcis det, du har angivet. GitLab og GitLab-CI er fortjent anerkendt som førende inden for kontinuerlig integration (CI-as-code).

Vigtige fordele

  • Pålidelighed - Produktet har været på markedet siden 2013; stabil; godt understøttet.
  • Open Source - Den gratis version af GitLab begrænser ikke den kernefunktionalitet, som udviklingsteams har brug for. Betalt servicepakker giver yderligere nyttige funktioner til virksomheder af varierende størrelse og behov.
  • Engrained CI - Intet andet værktøj på markedet har bygget kontinuerlig integration direkte ind i SCM som GitLab-CI. Brug af Docker sikrer problemfri isolerede builds, og indbyggede rapporter gør fejlfinding let. Vi kræver ikke kompleks integration og styring af flere værktøjer på samme tid.
  • Ubegrænsede integrationer - GitLab giver nem integration af alle de DevOps-værktøjer, du har brug for. Dette sikrer, at udviklings- og vedligeholdelsesteams har en enkelt kilde til information om deres applikation i ethvert miljø.

konkurrenter

Deltog i kampen, men vandt ikke

Der er andre populære værktøjer i denne kategori, men de er ikke så gode som GitLab. Og det er derfor:

GitHub — Dette er et fremragende SaaS-versionskontrolsystem til små virksomheder og tidlige udviklingsstadier. For store virksomheder, der har brug for at beholde IP-adresser på deres eget netværk, var den eneste løsning fra GitHub den virtuelle .OVA-maskine uden understøttelse af systemer med høj tilgængelighed. Dette gør on-prem vedligeholdelse vanskelig, desuden er .OVA kun egnet til mellemstore virksomheder, ellers vil serveren simpelthen gå ned under større belastning. Manglen på GitHub Actions (indtil for nylig og endnu ikke i en on-prem version) eller CI-as-code betyder, at du skal vælge et separat CI-værktøj og derefter administrere denne integration. Endelig er GitHub meget dyrere end begge versioner af GitLab.

Jenkins — Selvom Jenkins som standard betragtes som standarden blandt værktøjer til kontinuerlig integration, har den altid manglet versionskontrolmuligheder. Det viser sig, at du bruger Jenkins plus en slags SCM-værktøj. Det er for svært, når GitLab kan begge dele. Middelmådigt UX-design er ikke egnet til en moderne webapplikation og lader meget tilbage at ønske.

BitBucket/Bambus — Jeg må genkende ham som en automatisk taber: hvorfor to værktøjer, når GitLab gør alting fuldstændig uafhængigt. BitBucket Cloud understøtter GitLab-CI / GitHub Action-funktionalitet, men ingen virksomhed større end en startup kan nemt implementere det. Den lokale BitBucket-server understøtter ikke engang BitBucket-pipelines!

#1 Datastyringsværktøj

Vinder: FlywayDB

DevOps-værktøjer, som alle bør lære i 2020
I webapplikationsudvikling tillægges databaseautomatisering normalt ikke betydning. Ideen om at implementere databaseskemaændringer for nye versioner af applikationen kommer sent. Skemaændringer resulterer ofte i, at kolonner eller tabeller tilføjes og omdøbes. Hvis applikationsversionen ikke matcher skemaversionen, kan applikationen gå ned. Derudover kan det være en udfordring at administrere databaseændringer ved opdatering af en applikation, da der er to forskellige systemer. FlyWayDB løser alle disse problemer.

Vigtige fordele

  • Databaseversionering - Flyway giver dig mulighed for at oprette databaseversioner, spore databasemigreringer og nemt overføre eller gendanne skemaændringer uden et ekstra værktøj til dette.
  • Binær eller Embedded - Vi kan vælge at køre Flyway som en del af applikationen eller som en binær eksekverbar. Flyway kontrollerer versionskompatibilitet ved opstart og starter de relevante migreringer, og holder database- og applikationsversioner synkroniserede. Ved at køre ad-hoc-kommandoen cmd line giver vi fleksibilitet til eksisterende databaser uden at genopbygge hele applikationen.

konkurrenter

Deltog i kampen, men vandt ikke

Der er ikke mange værktøjer på dette område. Lad os se på nogle af dem:

LiquiBase — Liquibase ligner FlywayDB. Jeg vil gerne sætte det op oven på Flyway, hvis jeg havde nogen på mit team med mere erfaring med Liquibase.

Flocker - Kan kun fungere til containeriserede applikationer. For at kunne køre containerbaserede databaser, skal alt planlægges perfekt. Jeg anbefaler at bruge RDS (Relational Database Service) til databaser og fraråder at gemme vigtige oplysninger i en container.

Test automatiseringsværktøjer

DevOps-værktøjer, som alle bør lære i 2020
Lad os starte vores diskussion af testautomatiseringsværktøjer ved at klassificere dem baseret på testpyramiden.

Testpyramiden (tests) har 4 niveauer:

  • Unit Tests - Dette er grundlaget for hele den automatiserede testproces. Der burde være flere enhedstest sammenlignet med andre typer test. Udviklere skriver og kører enhedstests for at sikre, at en del af en applikation (kendt som en "enhed") er i overensstemmelse med dens design og opfører sig som forventet.
  • Komponenttests - Hovedformålet med komponenttest er at verificere input/output-adfærden for testobjektet. Vi skal sikre, at funktionaliteten af ​​testobjektet er implementeret korrekt i henhold til specifikationen.
  • Integrationstest - En type test, hvor individuelle softwaremoduler kombineres og testes som en gruppe.
  • End-to-end-tests - Dette trin er selvforklarende. Vi overvåger hele applikationen og sørger for, at den fungerer som planlagt.

Da enhedstest og komponenttest kun udføres af udviklere og ofte er programmeringssprogsspecifikke, vil vi ikke evaluere disse værktøjer for DevOps-domænet.

#1 Integrationstestværktøj

Vinder: Agurk

DevOps-værktøjer, som alle bør lære i 2020
Cucumber kombinerer specifikationer og testdokumentation til et enkelt levende dokument. Specifikationerne er altid opdaterede, da de automatisk testes af Cucumber. Hvis du vil bygge en automatiseret testramme fra bunden og modellere brugeradfærd i en webapplikation, så er Selenium WebDriver med Java og Cucumber BDD en fantastisk måde at lære og implementere Cucumber i et projekt.

Vigtige fordele

  • BDD-tilgang (Behavior Driven Development - "udvikling gennem adfærd" i modsætning til den "testdrevne udvikling"-tilgang) - Agurk er designet til BDD-test, den blev oprindeligt skabt til netop denne opgave.
  • Levende dokumentation - Dokumentation er altid en smerte! Da dine tests er skrevet som kode, tester Cucumber den automatisk genererede dokumentation for at sikre, at testene og dokumentationen er synkroniserede.
  • Support - Vi kan vælge mellem mange værktøjer, men Agurk har de nødvendige økonomiske ressourcer og et velorganiseret supportsystem til at hjælpe brugere i enhver vanskelig situation.

konkurrenter

Deltog i kampen, men vandt ikke

Blandt andre rammer og teknologispecifikke værktøjer kan kun Agurk betragtes som en universel løsning.

End-to-end testværktøjer

Når du udfører ende-til-ende-test, skal du fokusere på to nøglepunkter:

  • funktionstest
  • Stresstest.

Ved funktionstest tjekker vi, om alt det, vi ønsker, rent faktisk sker. For eksempel, når jeg klikker på visse elementer i min SPA (enkeltside ansøgning), udfylder formularerne og vælger "Send", vises dataene i databasen, og meddelelsen "Succes!" vises på skærmen.

Det er også vigtigt for os at kontrollere, at et vist antal brugere, der kører det samme scenarie, kan behandles uden fejl.

Fraværet af disse 2 typer test vil være en væsentlig ulempe i din CI/CD-pipeline.

#1 end-to-end testværktøj. Funktionstest

Vinder: SoapUI Pro

DevOps-værktøjer, som alle bør lære i 2020
SoapUI har været i API-testområdet i lang tid, siden SOAP-baserede webtjenester var standarden. Selvom vi ikke længere opretter nye SOAP-tjenester, og navnet på værktøjet ikke har ændret sig, betyder det ikke, at det ikke har udviklet sig. SoapUI giver en fremragende ramme til at skabe automatiserede backend funktionelle tests. Tests kan nemt kombineres med kontinuerlige integrationsværktøjer og bruges som en del af en CI/CD-pipeline.

Vigtige fordele

  • Detaljeret dokumentation - SoapUI har været på markedet i ret lang tid, så der er mange online ressourcer, der kan hjælpe dig med at forstå, hvordan du opsætter test.
  • Brugervenlighed - Selvom værktøjet understøtter flere protokoller til test af API'er, gør SoapUIs tilstedeværelse af en fælles grænseflade til flere tjenester det nemmere at skrive test.

konkurrenter

Deltog i kampen, men vandt ikke

Selen er et andet godt instrument i denne gruppe. Jeg anbefaler at bruge det, hvis du bygger og kører en Java-baseret applikation. Men hvis du bygger en komplet webapplikation med flere teknologier, kan det blive besværligt for ikke-Java-komponenter.

#1 end-to-end testværktøj. Stresstest

Vinder: LoadRunner

DevOps-værktøjer, som alle bør lære i 2020
forklaring: Når det bliver tid til at indlæse teste hvert element i din applikation, er det kun LoadRunner, der kan fuldføre opgaven. Ja, det er dyrt og svært i starten, men LoadRunner er det eneste værktøj, der giver mig, som teknisk arkitekt, fuld tillid til, at den nye kode vil fungere under ekstreme belastningsforhold. Jeg synes også, det er på tide, at LoadRunner bliver overtaget af udviklingsteams frem for at teste teams.

Vigtige fordele

  • Omfattende dokumentation - LoadRunner har været på markedet i et stykke tid, så der er mange online ressourcer til at hjælpe dig med at forstå, hvordan du opsætter belastningstest.
  • Protokolunderstøttelse - Load Runner understøtter alt fra ODBC til AJAX, HTTPS og enhver anden ikke-triviel protokol, din applikation måtte bruge. Vi forsøger ikke at bruge flere værktøjer til belastningstest, da dette kun komplicerer processen.

konkurrenter

Deltog i kampen, men vandt ikke

Igen, der er ikke mange universelle værktøjer på dette område, så den bedste løsning er en, der vil fungere i ethvert miljø med enhver teknologi.

Implementeringsværktøjer

DevOps-værktøjer, som alle bør lære i 2020
Implementeringsværktøjer er sandsynligvis det mindst forståede aspekt af udvikling. For et driftsteam uden en dyb forståelse af koden og funktionaliteten af ​​applikationen, er det svært at bruge sådanne værktøjer. For udviklere er implementeringsstyring et nyt ansvar, så de har endnu ikke nok erfaring med at arbejde med sådanne værktøjer.

Lad os først og fremmest opdele alle implementeringsværktøjer i tre underkategorier:

  • artefakthåndtering
  • Konfigurationsstyring
  • indsætte.

#1 Artefaktstyringsværktøj

Vinder: Nexus

DevOps-værktøjer, som alle bør lære i 2020
Nexus artefaktlageret understøtter næsten alle større teknologier, fra Java til NPM til Docker. Vi kan bruge dette værktøj til at gemme alle de artefakter, vi bruger. Proxying af eksterne pakkeadministratorer fremskynder også CI-opbygningsprocessen betydeligt, hvilket gør pakker mere tilgængelige for bygning. En anden fordel er muligheden for at få et komplet overblik over alle pakker, der bruges i flere softwareprojekter, hvilket blokerer usikre open source-pakker (de kan fungere som en angrebsvektor).

Vigtige fordele

  • Teknisk support - Pålideligt produkt; godt understøttet.
  • Open Source - Den gratis version begrænser ikke den kernefunktionalitet, som udviklingsteams har brug for.

#1 Konfigurationsstyringsværktøj

Vinder: Ansible

Ansible er leder af en simpel grund: statsløs. Tidligere fokuserede lignende værktøjer på konfigurationstilstandsstyring. Når det startes, vil et sådant værktøj, efter at have modtaget den ønskede konfiguration, forsøge at rette den aktuelle applikationskonfiguration. Og med den nye tilgang er der kun statsløse komponenter til stede. Nye versioner af kode er artefakter, der er implementeret for at erstatte eksisterende. Dette kan betragtes som en slags flygtig, kortsigtet miljø.

Vigtige fordele

  • Stateless - Playbook startes fra implementeringsmaskinen og udføres på målserverne. Jeg behøver ikke at bekymre mig om tilstanden af ​​det eksterne objekt ved at bruge et værktøj som Packer til at oprette deployerbare objekter.
  • Open Source - Ligesom CentOS understøttes Ansible også af RedHat. Det hjælper med at opretholde fællesskabet og giver højkvalitets, brugervenlige moduler.
  • Test med Molecule (en Ansible-ramme) - Da konfigurationsstyring er kode, som alt andet, er test afgørende. Molecules Ansible rolletestramme fungerer upåklageligt og sikrer, at konfigurationen er af samme kvalitet og følger den samme CI/CD-pipeline som applikationskoden.
  • YAML - Sammenlignet med andre værktøjer er YAML lettere at forstå. Da konfigurationsstyring typisk er en ny udfordring for dem, der implementerer DevOps-praksis, er enkelhed dens trumfkort.

konkurrenter

Deltog i kampen, men vandt ikke

OpsCode Chef — Jeg startede min DevOps-karriere som kogebogsudvikler. Ruby og Chef ligger mig selvfølgelig meget på sinde, men de løser simpelthen ikke problemerne med moderne statsløse, cloud-native applikationer. OpsCode Chef er et fantastisk værktøj til mere traditionelle applikationer, men i denne artikel fokuserer vi på fremtiden.

Marionet — Puppet har aldrig haft mange fans, især i sammenligning med Chef og Ansible. Det er fantastisk til klargøring og arbejde med hardware, men det mangler moderne konfigurationsstyringsunderstøttelse til en webapplikation.

Implementeringsværktøj #1

Vinder: terraform

DevOps-værktøjer, som alle bør lære i 2020
Terraform løser problemet med at beskrive din infrastruktur som kode, fra netværkskomponenter til komplette serverbilleder. Dette produkt er nået langt siden dets første udgivelse, med så mange plugins oprettet og et så stærkt fællesskab bygget, at du vil være sikker på at få hjælp i ethvert installationsscenarie. Evnen til at understøtte enhver form for miljø (on-premises, i skyen eller andre steder) er uden sidestykke. Endelig giver den seneste version meget af de samme logiske funktioner og klasser i HCL som ethvert andet traditionelt programmeringssprog, hvilket gør Terraform let for udviklere at forstå hurtigt og nemt.

Vigtige fordele

  • Miljøagnostisk - Terraform bruger funktioner, der fungerer som en grænseflade mellem din Terraform-kode, alle API'er og intern logik til at kommunikere med infrastrukturudbyderen. Det betyder, at jeg kun mestrer ét værktøj og derefter kan arbejde hvor som helst.
  • Open Source - Det er svært at slå gratis værktøjer! Fællesskabsstøtte på højeste niveau.

konkurrenter

Deltog i kampen, men vandt ikke

AWS CloudFormation — Selvom du kun arbejder i AWS-skymiljøet, kan dit næste job bruge et andet værktøj. At dedikere al din tid og energi til kun én platform er en kortsigtet beslutning. Derudover er mange nye AWS-tjenester ofte tilgængelige som Terraform-moduler, før de er tilgængelige i CloudFormation.

Runtime værktøjer

DevOps-værktøjer, som alle bør lære i 2020

Det ultimative mål for ethvert udviklingsprojekt er at lancere applikationen i produktion. I DevOps-verdenen ønsker vi at være fuldt ud opmærksomme på alle mulige problemer med vores miljø, og vi ønsker også at minimere manuel indgriben. At vælge det rigtige sæt af runtime-værktøjer er afgørende for at opnå nirvana-applikationsudvikling.

Underkategorier af runtime-værktøjer:

  • X-as-a-service (XaaS)
  • orkestrering
  • overvågning
  • logning.

X-værktøj-som-en-tjeneste #1

Vinder: Amazon Web Services

DevOps-værktøjer, som alle bør lære i 2020
Amazon har altid været førende inden for cloud-teknologier, men det stopper ikke der: mangfoldigheden af ​​nye tjenester til udviklere er øjenåbnende. Bring enhver teknologi og skabelon til AWS, og den vil blive bygget og kørende. Omkostningerne ved værktøjet er ganske rimelige: Sammenlign det med at samle, administrere og vedligeholde udstyr i dit eget datacenter. Den gratis version giver dig mulighed for at eksperimentere og træffe den rigtige beslutning, før du bruger penge.

Vigtige fordele

  • Udbredelse - Hvis du har erfaring med at bygge applikationer i AWS, kan du arbejde hvor som helst. Virksomheder elsker AWS, og startups sætter også pris på dets lave omkostninger.
  • Den gratis version er en virkelig vigtig faktor, der adskiller AWS fra sine jævnaldrende. Lad mig prøve tjenesten og se, hvordan den virker, før jeg træffer en købsbeslutning, jeg vil ikke bruge tusindvis af dollars på noget unødvendigt. Den gratis version er altid nok for mig til at teste ethvert koncept.

konkurrenter

Deltog i kampen, men vandt ikke

Azure "Azure er nået langt siden den første udgivelse, og det er prisværdigt. Ønsket om at være anderledes har dog ført til mærkelige navne på tjenester, hvilket ofte komplicerer arbejdet. Hvad betyder "blob storage"? Og selvom .NET-kode fungerer bedre i Microsofts økosystem, er det usandsynligt, at du kun vil bruge .NET til hver komponent i din applikation.

Heroku — Jeg ville aldrig køre andet end et personligt projekt på Heroku på grund af det lave niveau af pålidelighed og gennemsigtighed, så virksomheder bør ikke bruge det som en platform. Heroku er fantastisk til at demonstrere noget på en blog, men til praktisk brug - "Nej, tak!"

#1 Orkestreringsværktøj

Vinder: OpenShift

DevOps-værktøjer, som alle bør lære i 2020
Du bruger sandsynligvis Docker eller andre containere i din applikationsstak. Serverløse applikationer er fantastiske, men de passer måske ikke til enhver arkitektur. At køre containere uden en orkestreringsplatform vil simpelthen ikke fungere. Kubernetes Core (K8s) er uovertruffen med hensyn til sikkerhed og værktøj. OpenShift er den eneste Kubernetes-baserede platform, der kan indsamle Source2Image, understøtter automatiseret udrulning til pods og understøtter sporing og overvågning. OpenShift kan køres on-prem, i skyen eller on-prem og i skyen på samme tid.

Vigtige fordele

  • Indbygget sikkerhed - Håndtering af K8s sikkerhed kan kræve en avanceret grad. Hver detalje skal være nøje gennemtænkt og taget i betragtning! Sikkerhedsmekanismerne indbygget som standard med OpenShift tager byrden af ​​udviklere og giver en mere sikker platform for applikationer.
  • Alt-i-én løsning - I modsætning til de grundlæggende K8'er, som ikke inkluderer belastningsbalanceringsværktøjer som standard, har OpenShift det hele. Jeg kan bruge det til at oprette og hoste containere, køre CI/CD-værktøjer, administrere eksterne processer, administrere nøgler og meget mere. Selvom den grafiske brugerflade stadig er langt fra perfekt, betyder den API-baserede tilgang, at alt kan beskrives i et script. I modsætning til andre GUI'er til K8'er gør OpenShift det meget nemmere at lære det grundlæggende i Kubernetes. Du behøver ikke engang at få en grad!

konkurrenter

Deltog i kampen, men vandt ikke

Docker sværm — Docker Swarm forsøgte at forenkle K8'er ved at slippe af med mange ting. Det er fantastisk til små applikationer, men til virksomhedsapplikationer virker det bare ikke. Derudover har løsninger som AWS ECS en lignende tilgang, men gør det lettere at arbejde med andre tjenester, som jeg også kan interagere med (Lambda, IAM osv.).

Overvågningsværktøj #1

Vinder: Ny relikvie

DevOps-værktøjer, som alle bør lære i 2020
Tidlige udgivelser af New Relic gjorde én ting godt - APM (Application Performance Monitoring) overvågning. Det er nu et fuldt udstyret overvågningsværktøj, der giver dig mulighed for at overvåge server, container, databaseydelse, overvågning af slutbrugeroplevelse og selvfølgelig overvågning af applikationsydelse.

Vigtige fordele

  • Brugervenlighed - Da jeg arbejdede som systemingeniør, brugte jeg mange overvågningsværktøjer, men jeg har aldrig stødt på et så enkelt og nemt at bruge som New Relic. Det er SaaS, så du behøver ikke installere det selv.
  • End-to-end synlighed - Andre værktøjer forsøger at overvåge et specifikt element i din applikation. For eksempel en metrik for processorbrug eller netværkstrafik, men alt dette skal overvåges grundigt for at applikationen fungerer korrekt. New Relic giver dig mulighed for at samle alle dine data for at få et omfattende overblik over, hvad der sker.

konkurrenter

Deltog i kampen, men vandt ikke

Zabbix — Mit første og foretrukne overvågningssystem, men det er forblevet i fortiden på grund af manglen på udvikling inden for cloud-teknologier og inden for APM-applikationsydelsesovervågning. Zabbix udfører stadig traditionel serverinfrastrukturovervågning godt, men det handler om det.

DataDog — For meget fokuseret på processen med at styre applikationens produktionsmiljø og ikke på selve koden. Med DevOps-teams, der involverer udviklere, behøver vi ikke være afhængige af svære at bruge værktøjer for at give førsteklasses support.

Logningsværktøj #1

Vinder: splunk

DevOps-værktøjer, som alle bør lære i 2020
Det er svært at konkurrere med Splunk! I lang tid forbliver han førende inden for logning og fortsætter med at gøre det bedre end nogen anden. Med on-prem og SaaS-tilbud kan du bruge Splunk hvor som helst. Den store ulempe er prisen: Splunk er stadig forbandet dyrt!

Vigtige fordele

  • Pervasiveness - Virksomheder elsker Splunk, og virksomheder har pengene til at købe det.
  • Selvom startups forsøger at få omkostningerne tilbage, kan mange funktioner løses takket være open source-analoger.
  • Vedligeholdelse - Kort sagt, Splunk virker og gør det godt. Den leveres med mange standardindstillinger og funktioner klar til brug. Ingen grund til at spilde tid på at læse dokumentation og forsøge at få Splunk til at arbejde eller tyde noget.

konkurrenter

Deltog i kampen, men vandt ikke

ELK Stack (ElasticSearch, LogStash og Kibana) "Disse værktøjer ser ud til at være favoritterne, fordi du ikke engang behøver at sælge din lever for at bruge dem." Men efterhånden som antallet af logfiler vokser, og antallet af ansøgninger om bord stiger, bliver arbejdet mere og mere vanskeligt. Sammenlignet med Splunk brugte jeg med ELK Stack meget mere tid på at opsætte værktøjet, før jeg oprettede dashboards, end jeg nogensinde havde haft før.

Samarbejdsværktøjer

DevOps-værktøjer, som alle bør lære i 2020
DevOps handler primært om at ændre kulturen i en organisation. At købe et hvilket som helst værktøj vil ikke ændre den nuværende praksis fra den ene dag til den anden, men det kan bestemt tilskynde til samarbejde og nye måder at interagere på.

Underkategorier af samarbejdsværktøjer:

  • opgavesporing
  • ChatOps
  • dokumentation.

#1 Problemsporingsværktøj

Vinder: Jira

DevOps-værktøjer, som alle bør lære i 2020
Jira fastholder sin førerposition, selvom konkurrencen på dette område er stigende. Jiras utrolige fleksibilitet gør det muligt for udviklings- og vedligeholdelsesteams at styre projektarbejde og sprintopgaver. Indbyggede standarder, der bruger Agile terminologi, gør det lettere at flytte fra traditionelle måder at arbejde på til mere effektive processer.

Vigtige fordele

  • Popularitet - Som mange andre værktøjer bruges Jira næsten overalt. Små teams bruger den billigere, mere tilgængelige version og får alt, hvad de har brug for, mens større virksomheder har råd til en dyrere licens.
  • Integrationer - Jira er en pioner inden for sit felt. Dette faktum og den hurtige udvikling af produktet fører til, at andre virksomheder vælger Jira til at skabe deres egne integrationer og dermed øge værdien af ​​værktøjet. Vi kan integrere Jira med alle de værktøjer, der er anført i denne artikel ud af boksen med en lille konfiguration.

konkurrenter

Deltog i kampen, men vandt ikke

Trello - Trello vandt hurtigt popularitet takket være dets gratis Kanban-værktøj. Men når først processer skaleres, og du går fra snesevis af opgaver til tusindvis, bliver Trello svær at navigere, søge i og rapportere om.

Pivotal Tracker — Jeg var en stor fan af dette værktøj, da jeg arbejdede for en startup. Pivotal Tracker er dog mere fokuseret på produktstyring frem for tekniske opgaver. Selvom produktstyring i Jira er lidt mere kompleks, kan den stadig implementeres der uden at bruge et ekstra værktøj.

ChatOps-værktøj #1

Vinder: MatterMost

DevOps-værktøjer, som alle bør lære i 2020
forklaring: Måske den største overraskelse for dig i mit udvalg, og det er gode nyheder! MatterMost vandt popularitet ved at tage det bedste fra tidligere værktøjer, men placere dem on-prem. Dette er meget vigtigt for virksomheder: MatterMost giver dig mulighed for at kontrollere dine data og hjælper dig også med at integrere dem med værktøjer, der kører lokalt. Vi behøver ikke længere at gå uden for firewallen for at tjekke arbejdschats.

Vigtige fordele

  • Open Source – Open source-versionen af ​​MatterMost fungerer godt for både mellemstore og store teams. I modsætning til Slacks gratis plan, som sletter din beskedhistorik, betyder det at køre din egen server, at du beholder alle dine data.
  • Integrationer - Da API'en er næsten 100% baseret på Slack API'en, kan næsten alle Slack integrationer bruges direkte med MatterMost.

konkurrenter

Deltog i kampen, men vandt ikke

Slack — Slack er fedt, men de her fyre er vokset så meget, at de begyndte at lede efter profit. Tilbagebetalingsfasen af ​​virksomheden nærmer sig, hvilket fjerner deres vigtigste værdi: Slack leverede tjenester gratis; Den vigtigste ulempe ved den gratis version er sletningen af ​​chathistorikken.

Microsoft Teams — Prøv at integrere et Microsoft-produkt med noget, der ikke ejes af Microsoft... Held og lykke! Det er alt, hvad jeg har at sige om dette værktøj!

Dokumentationsværktøj #1

Vinder: Confluence

DevOps-værktøjer, som alle bør lære i 2020
Oprettelse og vedligeholdelse af teknisk dokumentation af høj kvalitet er en kompleks proces, uanset hvilket værktøj du bruger. Selvom mange SaaS-dokumentationsværktøjer er kommet på markedet for nylig, ville jeg have svært ved at outsource opbevaringen af ​​teknisk dokumentation om missionskritiske applikationer til en tredjepart. Det er at foretrække at gemme data og dokumenter on-prem, og det er sådan Confluence løser det.

Vigtige fordele

  • Let at betjene - De fleste enkeltstående værktøjer kan være lidt komplekse at sætte op og betjene og kræver en vis viden at vedligeholde. Confluence Server fungerer perfekt direkte til 10 eller 10,000 brugere.
  • Plugins - Kudos til Confluence for at have smuk, brugervenlig navigation ud af boksen, og muligheden for at tilføje et plugin til næsten alt, låser Wiki-lignende potentiale op.

konkurrenter

Deltog i kampen, men vandt ikke

Læs dokumenterne — Fedt til open source, men tænk ikke engang på at gemme kritisk viden her.

Markdown - Fantastisk til at dokumentere kode, men vanskeligt at poste arkitektur, processer eller andre typer dokumentation på grund af MarkDowns specifikke formatering.

Jekyll — Når jeg skal dokumentere teknisk viden, ønsker jeg ikke at oprette et nyt statisk websted, der vil blive implementeret, hver gang der er en ændring. Confluences enkle versionskontrolsystem forenkler intern dokumentation i høj grad.

Opsummere

Der er bogstaveligt talt hundredvis af DevOps-værktøjer på markedet, hvilket gør det svært at vide, hvilke der skal bruges, og hvornår de skal implementeres. Følg denne enkle guide til at vælge DevOps-værktøjer til en komplet CI/CD-pipeline.

Sørg for at vælge værktøjer fra alle fem kategorier:

  • udvikle og bygge værktøjer
  • test automatiseringsværktøjer
  • implementeringsværktøjer
  • Runtime værktøjer
  • samarbejdsværktøjer.

Hovedanbefaling: Automatiser alt!

Tak Zach Shapiro!

Kilde: www.habr.com

Tilføj en kommentar