“Udvikl system ikke software”
DevOps er et af de største buzzwords i teknologiens verden i nyere tid, da det giver en enorm mængde fordele for organisationen at forkorte deres softwareudviklings livscyklus.
Indholdsfortegnelse
Hvad er DevOps?
Der er ingen enkelt definition eller det rigtige svar på spørgsmålet “Hvad er DevOps”?
DevOps er ikke et værktøj, teknologi eller nogen ramme; det er mere en filosofi og et koncept. Det er et sæt af praksisser, der kombinerer softwareudvikling (Dev) og IT-drift (Ops), som er med til at forkorte systemudviklingens livscyklus og give kontinuerlig integration og levering med høj softwarekvalitet.
Hvis du er nybegynder, så tjek dette introduktionsindlæg eller tag dette online kursus – Docker for en absolut nybegynder.
DevOps-fordele
- Forbedret samarbejde og kommunikation
- Hurtigere software eller produktlevering
- Kontinuerlig omkostningsreduktion
- Forbedret proces
- Hurtigere løsning af problemer
I DevOps-verdenen er der ikke noget enkelt magisk værktøj, der passer til alle behov. Det handler om at vælge det rigtige værktøj, der passer til en organisations behov. Lad os finde ud af dem.
Kontinuerlig integration
Jenkins
Jenkins er et af de mest populære open source DevOps-værktøjer til at understøtte kontinuerlig integration og levering gennem DevOps. Det giver mulighed for kontinuerlig integration og kontinuerlig levering af projekter, uanset hvilken platform brugerne arbejder på ved hjælp af forskellige bygge- og implementeringspipelines. Jenkins kan integreres med flere test- og implementeringsværktøjer.
Travis CI
Travis CI er en cloud-hostet, distribueret kontinuerlig integrationsplatform, der bruges til at bygge og teste projekter hostet hos GitHub og Bitbucket. Den konfigureres ved at tilføje en YAML-fil.
Det kan testes gratis for open source-projekter og mod betaling for et privat projekt.
Bambus
Bambus er et af de populære produkter udviklet af Atlassian til at understøtte problemfri kontinuerlig integration. Det meste af funktionaliteten er forudbygget, hvilket betyder, at vi ikke behøver at downloade forskellige plugins som Jenkins. Det understøtter også sømløs integration med andre Atlassian-produkter som JIRA og Bitbucket.
Hudson
Hudson er gratis software skrevet i JAVA og kører i en servletbeholder som GlassFish og Apache Tomcat. Det giver mulighed for at udløse din automatiseringspakke med eventuelle ændringer i det tilsvarende kildestyringssystem som GIT, SVN osv. Det giver også support til alle maven- og Java-baseprojekter.
TeamCity
TeamCity er en server-baseret kontinuerlig integration og bygger et styringsværktøj udviklet af JetBrains. Det har en enkel og nem at bruge brugergrænseflade (UI) og giver byggefremskridt, drill down build information og historieinformation for alle konfigurationer og projekter.
CircleCI
CircleCI er tilgængelig i form af cloud-baserede såvel som on-premise løsninger til kontinuerlig integration. Det er nemt og hurtigt at starte og understøtter letvægts letlæselige YAML-konfigurationer.
Der er flere CI-værktøjer, du kan udforske her.
Planlægning & Samarbejde
JIRA
JIRA er et af de populære projektstyringsværktøjer udviklet af Atlassian brugt til problem-, fejl- og projektsporing. Det giver brugeren mulighed for at spore projektet og udstedelsesstatus. Det kan nemt integreres med andre Atlassian-produkter som Bitbucket foruden andre DevOps-værktøjer som Jenkins.
Slap
Slap er et freemium Cloud-baseret samarbejdsværktøj, der tillader teamkommunikation og samarbejde på ét sted. Dette værktøj kan også bruges til at dele dokumenter og anden information mellem teammedlemmerne. Dette kan også nemt integreres med andre værktøjer som GIT, Jenkins, JIRA osv.
Zoom
Zoom er en platform til webkonferencer og øjeblikkelig skærmdeling. Du kan få dit hold til at deltage via lyd eller video.
Ligegyldigt hvor stort dit team er, Zoom er i stand til at tage op til 1000 modtagere til et onlinemøde.
Clarizen
Clarizen er en samarbejds- og projektstyringssoftware, der hjælper med problemsporing, opgavestyring og projektporteføljestyring. Det er nemt at tilpasse og har en brugervenlig interaktiv brugergrænseflade.
Asana
Asana er en mobil og webbaseret applikation designet til at hjælpe teams med at organisere, spore og administrere deres arbejde på en effektiv og effektiv måde. Det bruges til at spore teamets daglige opgaver og understøtte meddelelser og kommunikation på tværs af organisationen.
Kildekodestyring
SVN
SVN er et centraliseret version og kildekontrolværktøj udviklet af Apache. Det hjælper udviklere med at vedligeholde forskellige versioner af kildekoden og opretholde en fuld historik over alle ændringerne.
Git
Git er et distribueret versionskontrolsystem, der sigter mod hastighed, dataintegritet, understøttelse af distribuerede, ikke-lineære arbejdsgange. Ud over kildekodestyring kan den også bruges til at holde styr på ændringer i ethvert sæt filer.
Bitbucket
Bitbucket er en webbaseret hostingplatform udviklet af Atlassian. Bitbucket tilbyder også et effektivt kodegennemgangssystem og holder styr på hver ændring i koden. Det kan nemt integreres med andre DevOps-værktøjer som Jenkins, Bamboo.
GitHub
GitHub er en kode-hosting-platform designet til versionskontrol og samarbejde. Det tilbyder al den distribuerede versionskontrol og kildekodestyring (SCM) funktionalitet af Git ud over dets funktioner.
Det tilbyder adgangskontrol og samarbejdsfunktioner som fejlsporing, funktionsoprettelse og -anmodning, opgavestyring osv. for projektet.
Byg
Myre
Apache Ant er et open source java-baseret bygge- og implementeringsværktøj. Det understøtter XML-filformatet. Den har flere indbyggede opgaver, der giver os mulighed for at kompilere, samle, teste og køre Java-applikationer.
Maven
Maven er et byggeautomatiseringsværktøj, der hovedsageligt bruges til java-projekter. Den indeholder en XML-fil, der beskriver softwareprojektet, der bygges, dets afhængigheder af andre eksterne komponenter og moduler, byggesekvensen, mapper og andre nødvendige plug-ins.
Grynte
Grynte er et javascript-kommandolinjeværktøj, der hjælper med at bygge applikationer og hjælpe udviklere med at automatisere gentagne opgaver som kompilering, enhedstestning, kodelinting og validering osv. Det er et godt alternativ til værktøjer som Make eller Ant.
Gradle
Gradle er et open source byggeautomatiseringssystem, der bygger på koncepterne Apache Maven og Apache Ant. Det understøtter Groovy korrekt programmeringssprog i stedet for XML-konfigurationsfilen. Det tilbyder understøttelse af trinvise builds ved automatisk at bestemme, hvilke dele af buildet der er opdateret.
Konfigurationsstyring
Marionet
Marionet er et open source konfigurationsstyringsværktøj, der bruges til at konfigurere, implementere og administrere adskillige servere. Dette værktøj understøtter konceptet med infrastruktur som kode og er skrevet i Ruby DSL. Det understøtter også dynamisk op- og nedskalering af maskiner efter behov.
Kok
Kok er et open source konfigurationsstyringsværktøj udviklet af Opscode ved hjælp af Ruby til at administrere infrastruktur på virtuelle eller fysiske maskiner. Det hjælper også med at administrere kompleks infrastruktur på farten på virtuelle, fysiske og cloud-maskiner.
Ansible
Ansible er et open source it-konfigurationsstyrings-, softwareforsynings-, Orchestration- og applikationsimplementeringsværktøj. Det er et enkelt, men kraftfuldt værktøj til at automatisere simple og komplekse multi-tier IT-applikationer.
SaltStack
SaltStack er open source-software skrevet i python og bruger push-modellen til at udføre kommandoerne via SSH-protokollen. Det giver støtte til både vandret såvel som lodret skalering. Det understøtter YAML-skabeloner til at nedskrive alle scripts.
Terraform
Terraform er et open source-værktøj til at bygge, ændre, implementere og versionere infrastruktur sikkert og effektivt. Det bruges til at administrere eksisterende og populære tjenesteudbydere samt tilpassede interne løsninger. Det hjælper med at definere infrastruktur i config/kode og vil gøre det muligt for en bruger at genopbygge/ændre og spore ændringer til infrastruktur på en nem måde.
Vagrant
Vagrant er et af de populære værktøjer til at bygge og administrere virtuelle maskiner (VM). Den har en brugervenlig og konfigurerbar arbejdsgang, der fokuserer på automatisering. Det hjælper med at reducere opsætningstiden for udviklingsmiljøet, øger produktionspariteten.
Kontinuerlig sikkerhed
Snyk
Integrere Snyk i udviklingens livscyklus for automatisk at finde og rette sikkerhedssårbarheder i open source. Den understøtter JS, .Net, PHP, NPM, jQuery, Python, Java osv. og kan integreres ved kodning, kodestyring, CI/CI, container og udrulning.
Snyk fik den største open source sårbarhedsdatabase.
Invicti
Invicti scanner automatisk din ansøgning for sikkerhedsfejl og leverer handlingsrettede klassificerede rapporter, så du kan handle baseret på prioritet. Et DevOps-sikkerhedsscenario ville være at undersøge den nye commit og rapportere fejlen direkte i sporingssystemet som Jira eller GitHub og genscanne, når det er rettet af udvikleren. Du ser det integreres på alle stadier af SDLC.
Afprøvning
Selen
Selen er det mest populære og open source-testværktøj. Det understøtter testautomatisering på tværs af forskellige browsere og betjeningsmaskiner. Det kan nemt integreres med teststyringsværktøjer som ALM, JIRA og også med andre DevOps-værktøjer som Jenkins, Teamcity, Bamboo osv.
JUnit
JUnit er en open source-enhedstestramme, der bruges af udviklere til at skrive og køre gentagelige testcases. Det understøtter forskellige testanmærkninger, som enhver udvikler kan bruge til at skrive en problemfri enhedstestcase. Det kan nemt integreres med andre DevOps-værktøjer som Jenkins, GIT osv.
TestNG
TestNG er en Open source-testramme, som er designet og inspireret af Junit og Nunit. Det kan nemt integreres med selen web-driver for at konfigurere og køre automatiseringstestscripts. Det genererer også forskellige testrapporter som HTML eller XSLT.
Overvågning
Nagios
Nagios er en open source og et af de mest populære værktøjer til kontinuerlig overvågning. Nagios hjælper med at overvåge systemer, applikationer, service og forretningsprocesser i en DevOps-kultur. Den advarer brugerne, når noget går galt med infrastrukturen, og advarer dem også, når problemet er blevet løst.
Sensu
Sensu er et open source-overvågningsværktøj skrevet i Ruby, der hjælper med at overvåge servere, tjenester, applikationer, cloud-infrastruktur enkelt og effektivt. Det er nemt at skalere, så vi nemt kan overvåge tusindvis af servere.
Datahund
Datahund er et agentbaseret servermetrisk værktøj. Det understøtter integration med forskellige webservere, apps og cloud-servere. Dens dashboard-tjeneste giver forskellige grafer om overvågning i realtid på tværs af infrastrukturen.
ELK
ELK er en samling af tre open source-produkter —Elasticsearch, Logstash og Kibana, som alle er udviklet, administreret og vedligeholdt af virksomheden Elastic. Det giver brugerne mulighed for at hente data fra enhver kilde i ethvert format og derefter søge, analysere og visualisere disse data i realtid.
Sematekst
Sematekst er en fuld stack overvågningsløsning, der giver dig dybdegående synlighed i din it-infrastruktur. Det giver front-end og back-end ydeevneovervågning, logovervågning, API og websites oppetid og ydeevneovervågning, brugeroplevelsesovervågning og mere.
Selvom det leveres med dashboards og advarslersregler for populære applikationer og infrastruktur som almindelige databaser og NoSQL-butikker, cloud-servere, netværk, containere osv., kan du nemt tilpasse dashboards og advarsler, der passer til dine overvågningsbehov. Sematext byder på kraftfuld alarmering med registrering af anomalier, mislykket hjerteslagsregistrering, planlægning og talrige integrationer til levering af advarsler.
Grafana
Grafana er en open source-analyseplatform til at overvåge alle målinger fra infrastruktur, applikationer og hardwareenheder. Du kan visualisere dataene, oprette og dele et dashboard, konfigurere underretninger og samarbejde. Du kan trække data fra mere end 30 kilder, herunder Prometheus, InfluxDB, Elasticsearch, AWS CloudWatch osv.
Ny relikvie
Ny relikvie er et softwareanalyseprodukt til overvågning af applikationsydelse (APM), som leverer realtids- og trenddata om webapplikationsydelse og niveauet af tilfredshed, som slutbrugerne oplever med det. Det understøtter en ende til ende transaktionssporing og viser dem med en række farvekodede diagrammer, grafer og rapporter
Cloud Hosting
AWS
AWS er en webhostingplatform skabt af Amazon, der tilbyder fleksible, pålidelige, skalerbare, brugervenlige, skalerbare og omkostningseffektive løsninger. ved at bruge denne cloud-platform behøver vi ikke bekymre os om opsætning af IT-infrastruktur, som normalt tager rimelig tid at opsætte.
GCP
Google Cloud er et komplet sæt offentlige cloud-hosting- og computertjenester, der tilbydes af Google.it understøtter en bred vifte af tjenester til computere, lagring og til applikationsudvikling, der bruger Google Hardware.
Azure
Azure er en cloud computing-platform, designet af Microsoft til at bygge, implementere, teste og administrere applikationer og tjenester gennem et globalt netværk af dets datacentre. Tjenesterne leveret af Microsoft Azure er i form af PaaS (Platform as a service) og IaaS (Infrastructure as a service).
Containerisering/orkestrering
Docker
Docker er et værktøj til at oprette, implementere og køre applikationer ved hjælp af containere. Denne container giver udvikleren mulighed for at pakke en applikation med alle de komponenter og underkomponenter, den har brug for, såsom biblioteker og andre afhængigheder, og sende det hele ud i form af en enkelt pakke. Dette arbejde på konceptet af skibet og køre hvor som helst.
Kubernetes
Kubernetes er et open source container-orkestreringssystem, der oprindeligt er designet af Google og vedligeholdes nu af Cloud Native Computing Foundation. Det bruges til at automatisere applikationsimplementering, skalering og administration. Det fungerer også med andre containerværktøjer inklusive Docker.
Udforsk flere containerorkestreringsværktøjer her.
Konklusion
Jeg håber, at de ovennævnte værktøjer hjælper dig med din DevOps-rejse.
Nydt at læse artiklen? Hvad med at dele med verden?