DevOps – vad är det och hur funkar det? - Limetta Digitalbyrå
Teknik

DevOps – vad är det och hur funkar det?

I takt med att digitala lösningar blir allt viktigare för både företag, användare och samhälle ökar också kraven på att tjänsterna ska vara stabila och kunna uppdateras snabbt och utan störningar. Det är här DevOps kommer in i bilden – men vad det är och hur funkar det?


Vad är DevOps? 

DevOps står för development (utveckling) och operations (drift) och har sina rötter i agila utvecklingsmetoder. Metoden innebär att utvecklare och drifttekniker samarbetar och tillämpar gemensamma principer för att underlätta och effektivisera hela produktion- och leveransflödet. Genom att använda sig av en rad DevOps-metoder och -verktyg kan man på ett snabbare och smidigare sätt bygga, testa och kontinuerligt lansera i ett automatiserat flöde. På så sätt kan man säkerställa att kvaliteten bibehålls och att man kan gå tillbaka till en tidigare version om något fel upptäcks efter en release.

DevOps - Teamet följer med produkten/tjänsten hela vägen till slutmålet - Limetta Digitalbyrå

Istället för att vara ett delmål i ett stafettlopp följer teamet med produkten/tjänsten hela vägen till slutmålet.

DevOps - Teamet följer med produkten/tjänsten hela vägen till slutmålet - Limetta Digitalbyrå

Syftet är att säkerställa att leveransen sker på snabbast möjliga sätt till bästa tänkbara kvalitet ända till slutleverans. Istället för att vara ett delmål i ett stafettlopp, där löpare avlöser varandra och lämnar över stafettpinnen när man sprungit sin sträcka, följer alla teammedlemmarna med produkten hela vägen till slutmålet. Kortfattat skulle man kunna säga att det är en full livscykelhantering av en applikation - ett sätt att mer strukturerat och gemensamt kunna utveckla en produkt/tjänsts mjukvara eller system.

 

DevOps toolchain


DevOps-metodologin kan ses som en process eller en livscykel som består av olika faser. För varje fas finns ett antal verktyg och metoder som hjälper till att automatisera flödet för att underlätta varje steg och att ta oss framåt i processen. För varje fas finns ett antal verktyg och metoder. Dessa hjälper till att automatisera flödet för att underlätta varje steg och tar oss framåt i processen. Tanken är att ha så korta loopar som möjligt och hur lång tid det tar beror på vad man vill uppnå och vilka förutsättningar man har. 

 

  • Plan – planera och definiera krav och tekniska specifikationer
  • Create – utveckla och bygga, sätta upp miljöer och förbereda automatisering 
  • Verify – verifiera och testa
  • Package – versionshantering
  • Release – processer för godkännande, ändringshantering och lanseringsautomatisering
  • Konfiguration – konfigurering och hantering av infrastruktur, verktyg för infrastruktur som kod
  • Monitor – övervaka prestanda, resursutnyttjande, skalning, användarupplevelse etc.
DevOps metodologi och toolchain - Limetta Digitalbyrå

Så funkar DevOps

 

Optimerar processer och automatiserar flöden

DevOps handlar i stort om att optimera processer och automatisera flöden. Det är också ett sätt att kunna möta marknadens- och användarnas förändrade behov. För att kunna göra det använder man sig till exempel av standardverktyg och metoder som gör det lättare att samarbeta och dela information. Istället för att göra sin del och sedan lämna över till nästa person i flödet följer hela teamet med produkten hela vägen.

 

Ökar samarbete

Det är viktigt att alla som är med i kedjan förstår hur allt fungerar. Nyckeln till ett bra samarbete handlar därför om kommunikation. Lyckas man är resultatet både bättre och säkrare leveranser. När man jobbar som ett team i en gemensam kultur har man också större möjlighet att möta kundernas behov och samtidigt uppnå affärsmål snabbare. Men det är också här en av utmaningarna ligger. Att främja en DevOps-kultur kan kräva en del organisatoriska förändringar, både i hur människor arbetar och samarbetar.

Främjar en experimentell kultur

DevOps främjar också en experimentell kultur där man bygger, testar och drar lärdom för att hela tiden förbättra sina metoder och verktyg. Ofta innebär det att man behöver lägga lite mer tid i början av ett projekt för att sätta upp miljöerna där allt ska byggas och testas. Vinsten är att kunna genomföra snabbare release-cykler och har möjlighet att testa i större utsträckning. Det här i sin tur fungerar som en kvalitetssäkring. Verksamheten kan även få bättre koll på sin leveransprocess och därmed finns det större möjlighet att styra verksamheten i önskad riktning. Det viktigaste är därför inte att allt blir gjort på en gång eller är perfekt från början. Det handlar om att börja i någon ände och sedan jobba agilt.

Kontinuerlig lansering

I och med att funktioner lanseras mer kontinuerligt är mycket av koden också testad och finns i rätt driftsmiljö. Det här gör det lättare att genomföra större uppdateringar med färre eller inga driftstörningar som resultat. För dig som kund innebär det, förutom färre driftstörningar, produkter med högre kvalitet och att nya funktioner kan lanseras ofta, löpande och snabbare.

Två begrepp som ofta förknippas med DevOps är:
  • CI - ”Continuous Integration” eller kontinuerlig integration
  • CD - ”Continuous Delivery” eller kontinuerlig leverans

CI och CD är en del av hela livscykeln och DevOps-processen eftersom de möjliggör att man kan automatisera flöden. Där den kontinuerliga integrationen slutar tar den kontinuerliga leveransen vid och bägge spelar alltså en viktig roll för att ta sig framåt i processen. Vill du veta mer om hur de två systemen fungerar kan du läsa mer i vår artikel - Vad är CI och CD?.

Fördelar med DevOps - Limetta Digitalbyrå

Fördelar med DevOps

 

  • Genom snabbare release-cykler och versionshantering har man möjlighet att testa i större utsträckning, vilket är ett sätt att kvalitetssäkra sin produkt/tjänst. Om man upptäcker något kritiskt fel har man också möjlighet att rulla tillbaka en release så att man kan gå tillbaka till tidigare version. Man testar alltså sin kod ofta för att hantera fel medan de fortfarande är små och hanterbara.
  • I och med att funktioner lanseras mer kontinuerligt är mycket av koden redan testad och finns i rätt driftsmiljö när större uppdateringar ska göras. Det här gör leveransprocessen snabbare och innebär färre driftstörningar som påverkar verksamheten.
  • När utvecklare och drifttekniker samarbetar och pratar samma språk eller tillämpar gemensamma principer, underlättas och effektiviseras hela produktion-och leveransflödet. Genom att teammedlemmar följer med produkten hela vägen från start till mål får man säkrare leveranser. Din produkt eller tjänst blir helt enkelt bättre.
  • DevOps främjar en experimentell kultur där man testar nytt, utmanar gamla sanningar och drar lärdom för att förbättra metoder och verktyg. På så sätt kan man höja kvaliteten på produkten.
  • Med DevOps kan verksamheten få bättre koll på sin leveransprocess, vilket möjliggör att man lättare kan styra verksamheten åt det håll man vill.
  • DevOps ger oss förmågan att bättre kunna möta kundernas behov och snabbare uppnå affärsmål.
Microsoft Azure är en av de ledande molnplattformarna - Limetta Digitalbyrå

Automatisera och distribuera i molnet / Lagra information i molnet

Metoder och verktyg inom DevOps utvecklas kontinuerligt och kraven på att produkter och tjänster ska vara stabila och kunna uppdateras snabbt utan störningar ökar. Som ett led i detta lagras mer information i olika typer av molntjänster. Genom att distribuera en applikation via molntjänster har vi möjlighet att automatisera processer, vilket är det DevOps handlar om.

Mer specifikt innebär ett moln att man använder sig av flera datacenter som är placerade på flera geografiska platser över hela världen. All data som hanteras och lagras i molntjänster finns alltså lagrad fysiskt på ett eller flera datacenter. När dina användare surfar in på din webbplats hämtas informationen från det datacenter som är närmast dem, vilket gör att informationen kan hämtas snabbare. Man dra alltså nytta av att informationen lagras på flera platser för att kunna ge användarna bästa möjliga svarstid och säkerhet.

I och med att det blivit allt vanligare att lagra tjänster och applikationer i molnet har våra användare också blivit vana vid snabbare laddtider. Om en webbsida tar för lång tid att ladda ger vi snabbt upp och surfar vidare. Vinsterna med molntjänster är därför stora och har i många fall blivit affärskritiska. Självklart kan fler åtkomstpunkter också innebära fler platser att försöka göra intrång på. Men genom relativt enkla åtgärder går det att stärka och effektivisera säkerheten som gör molnet mindre riskfyllt. En av de vanligaste molnplattformarna för att automatisera och förenkla distribution är Microsoft Azure.

Microsoft Azure

Microsoft Azure är en av de branschledande molnplattformarna som har stöd för både mindre och enklare system, som mer komplexa lösningar. En fördel med just Azure är att du som kund endast betalar för användningen, vilket är kostnadseffektivt om det till exempel är mindre aktivitet vissa tider på dygnet. Det här gör att det går att börja med en låg kapacitet och gradvis skala upp om användningen ökar. Eftersom det för de flesta företag inte handlar om att lagra allt eller inget i molnet, är en skalbar lösning som just Azure vanligt.

På Limetta har vi gedigen erfarenhet av både DevOps-metoder och molntjänster som Microsoft Azure.

Avslutningsvis

Utan bra verktyg och processer blir utvecklingsarbetet ineffektivt och resultatet blir ofta en sämre slutprodukt. DevOps möjliggör snabba release-cykler och distributioner så att man i högre grad kan testa och göra buggrättningar. Genom att upptäcka fel tidigt är de ofta mer hanterbara och vi kan enkelt gå tillbaka till en tidigare version om något större kritiskt fel upptäcks efter en release.

Eftersom man samarbetar i större utsträckning inom olika delar i en organisation kan DevOps minska eventuella missförstånd, men för det krävs en bra kommunikation. Det är därför DevOps handlar om så mycket mer än bara utveckling och drift.

Det är också viktigt att ha med sig att varje projekt och företag är unikt. Behoven, målen och förutsättningarna kan variera och det är därför inte alltid DevOps passar. Man behöver helt enkelt utgå från det specifika projektet och ändamålet. Om DevOps är rätt väg att gå, är det viktigt att få till ett bra automatiserat flöde för att undvika att få flaskhalsar i kedjan.

Oavsett om du vill flytta över ett existerande projekt till att utvecklas via DevOps-metoder eller starta ett helt nytt projekt har vi på Limetta gedigen erfarenhet av både DevOps och molntjänster som Microsoft Azure. Vi hjälper alltid våra kunder efter deras unika behov.


Vill du veta mer om hur vi kan hjälpa dig?


Hör av dig till oss så berättar vi mer.

Kontakta oss


Hör av dig!

Vill du komma i kontakt med oss?
Fyll i formuläret så hör vi av oss så fort vi kan.