
SRE står för Site Reliability Engineering. Den bygger på principerna för DevOps för att skapa en teknikledd strategi för IT-drift. SRE använder programvara för att automatisera systemdrift, identifiera problem och implementera lösningar.
Konceptet SRE utvecklat på Google. Det är baserat på idén att kod och programvara är det mest effektiva sättet att hantera storskaliga system. Manuella procedurer som initieras av ett separat team innebär en risk för förbiseende och inkonsekvens.
I den här artikeln får du lära dig vad SRE är och hur det hjälper till att effektivisera molnverksamheten. Vi kommer också att förklara var SRE överlappar med DevOps, samt hur det skiljer sig.
Where Does SRE Passar du in i programvaruleverans?
SRE handlar om driftledning. Den går in i mjukvaruleveransprocessen efter att koden har utvecklats, granskats och distribuerats. Webbplatstillförlitlighetsingenjörer observerar, underhåller och optimerar vanligtvis de utplacerade tjänsterna och tar över administratörernas ansvar.
Det utmärkande kännetecknet för SRE jämfört med traditionell verksamhet är den tonvikt den lägger på automatisering. Infrastrukturkontroller, förändringshantering, revisioner och incidentrespons bör alla automatiseras inom modellen. SRE-utövaren fokuserar på att tillhandahålla och köra mjukvaruverktyg som uppnår dessa uppgifter, istället för att direkt interagera med själva systemet.
SRE förenar olika aspekter av driftledningsupplevelsen. Att använda en verktygsdriven process innebär att det finns färre platser för problem att uppstå. Detta bidrar till att öka stabiliteten när systemen växer, även om storleken på SRE-teamet förblir statisk.
What Do SRE Engineers Actually Do?< /h2>
SRE-ingenjörer är vanligtvis mjukvaruutvecklare som också har erfarenhet av drift av produktionstjänster. Detta ger dem en holistisk medvetenhet om leveransprocessen, från kodbekräftelse till incidentlösning. De kommer att använda denna kunskap för att designa och implementera mekanismer för att distribuera och övervaka levande miljöer.
Som “tillförlitlighet” ligger bokstavligen i namnet, SRE-team är också ansvariga för att mäta upptid och utarbeta sätt att förbättra den. SRE-ingenjörer sätter upp servicenivåmålen (SLOs) som ger tillförlitlighetsmål för organisationen. De kommer att upprätta och observera servicenivåindikatorer (SLI) som informerar om huruvida målen uppfylls, såsom felfrekvens, begäranden genomströmning och biljettantal. SRE kommer att vara involverade i att skriva servicenivåavtal (SLA) som delas med kunder också.
SRE-ingenjörer är de effektiva grindvakterna kring nya implementeringar. Deras fokus på att bevara stabilitet innebär att de ibland kommer att inleda driftstopp om en SLO eller SLA är på väg att överträdas. SRE-teamet kan styra utvecklare att fokusera på att ta itu med orsaken till incidenter, istället för att fortsätta att rulla ut nytt arbete.
Ingen tjänst kan förvänta sig att köras med 100 % tillförlitlighet. SRE erkänner detta genom att ge utvecklare en “felbudget” som de får “spendera.” När den budgeten har överskridits av nya buggar, biljetter eller avbrott, blir det allas prioritet att åtgärda problemen tills felbudgeten och SLO:erna har återställts.
Det kan vara en SRE-ingenjör som slutför detta korrigerande arbete genom att skriva ny kod. Eftersom SRE-teamet har en bakgrund inom mjukvaruteknik, är de utrustade för att hantera problem på eget initiativ. I tider när tjänsten fungerar bra, återgår personer i SRE-roller till att vara vanliga utvecklare. Googles SRE-ingenjörer förväntas lägga minst hälften av sin tid på utvecklingsarbete.
Denna unika balans mellan utveckling och verksamhet hjälper till att bevara SRE-ingenjörens förmåga att övervaka leveransprocessen. Deras synlighet är ovärderlig när det gäller att upptäcka risker som kan orsaka en incident. Det uppmuntrar också ingenjörer att minimera tiden som spenderas på driftsuppgifter genom att implementera nya verktyg och automatiserade procedurer. Detta kan skapa en självförsörjande cykel: en högre grad av automatisering gör vanligtvis tjänsten mer tillförlitlig, vilket minskar operationens arbetsbelastning för SRE-teamet. I sin tur frigörs ingenjörer för att återgå till utveckling, vilket ökar genomströmningen.
Hur överensstämmer SRE med DevOps?
DevOps är en långtgående term som beskriver användning av modern teknik och metoder för att snabbare leverera mjukvara av högre kvalitet. Detta uppnås genom att minska klyftan mellan utvecklings- och driftteam och sedan lägga automatisering i lager över mjukvaruleveransprocessen.
Hittills låter detta likt SRE. SRE har dock ett enda mål i åtanke – tillförlitlighet – DevOps överväger också tangentiella problem, såsom utvecklareffektivitet och leveranshastighet. Det är anmärkningsvärt att DevOps ofta betraktas som en brygga mellan utveckling och drift medan SRE smälter samman dem. I SRE utförs dev och ops uppgifter av samma personer, där utveckling får huvuddelen av uppmärksamheten.
Av dessa skäl kan SRE ses som en specifik implementering av DevOps. Även om de övergripande målen är likartade och starkt anpassade, beskriver SRE en metod för att uppnå dem: använd felbudgetar, SLO:er och SLI:er för att skydda tjänster mot fel, implementera sedan skydd som gör att arbetsbiasen kan återgå till utveckling.
< p>Benjamin Treynor Sloss, Googles ingenjör som myntade termen SRE, säger att SRE kan ses som “en specifik implementering av DevOps med några egenartade tillägg.” Alternativt kan du invertera modellen och närma dig DevOps “som en generalisering av flera grundläggande SRE-principer till ett bredare utbud av organisationer, ledningsstrukturer och personal.”
Ett viktigt sätt på vilket SRE skiljer sig från DevOps är dess beroende av data. DevOps ses ofta som en uppsättning principer för att effektivt flytta kod från utvecklararbetsstationer till produktionsmiljöer. Detta innebär att arbeta i termer av åtaganden, sammanslagningsförfrågningar, pipelines och containrar. SRE är en strategi för att implementera förändringar med maximal tillförlitlighet och minskad chans för regression. Effektiv SRE kräver kontinuerlig observation och analys för att ta reda på var fel har uppstått och hur de kan upprepas i framtiden. Det är mer undersökande och självmedvetet än en typisk DevOps-implementering.
Är SRE ett bra karriärdrag?
SRE har först nyligen börjat väcka stor uppmärksamhet. Det kan vara utmanande att hitta en SRE-roll eftersom många organisationer ännu inte har insett fördelarna med modellen. I vissa fall kan en form av SRE förekomma i en organisation, men detta kanske inte återspeglas i de roller de annonserar om.
Trots dess specialiserade karaktär är SRE vanligtvis ett bra karriärsteg. Det kräver en korsning av kompetens, som sträcker sig från mjukvaruutveckling till servicedrift och incidentrespons, med en god grad av djup i varje. Det finns få kandidater som kan erbjuda detta, vilket innebär att SRE-roller tenderar att vara lukrativa positioner.
En analys av GitLab i april 2022 fann bara 21 000 SRE-öppningar medan det fanns 104 000 DevOps-positioner. Data från Glassdoor visade dock ett löneintervall på upp till 300 000 USD för SRE-arbete, i motsats till 234 000 USD för DevOps.
Att flytta in i en SRE-roll kan vara en givande möjlighet för individer som vill stanna kvar inom utvecklingsområdet samtidigt som de skaffar sig praktisk erfarenhet av servicedrift. Den är särskilt lämpad för personer som tycker att traditionella administratörsroller är för repetitiva och praktiska. Som SRE förväntas du automatisera verksamheten, leta efter möjligheter att förbättra servicekvaliteten och bidra till regelbundna utvecklingsinsatser efter att incidentpersonsökaren har tystnat.
Slutsats
Site Reliability Engineering använder metoder som vanligtvis förknippas med mjukvaruutveckling för att automatisera tjänsteoperationer. SRE-ingenjörer är erfarna utvecklare som också är bekanta med utmaningarna med att driva och skala tjänster i produktionen. De etablerar en verktygskedja för att mäta och optimera tillförlitlighet, och tar över de uppgifter som tidigare hanterades av dedikerade systemadministratörer.
SRE kan ses som en implementering av DevOps principer. Att utse SRE-ingenjörer bör resultera i en mer motståndskraftig tjänst som kan acceptera snabba förändringar. Detta uppnår DevOps-målet att påskynda programvarudistributionen utan att påverka kvaliteten. SRE anger en specifik strategi som arbetar mot detta genom att betona datamätning, såväl som enande av utvecklings- och opstalanger.
Medan DevOps nu är allmänt känt i samhället, är SRE fortfarande ett växande fokusområde för många organisationer. Öppningar kan vara svårare att hitta men de tenderar att vara mer lukrativa när de dyker upp. Detta återspeglar den varierade uppsättningen av färdigheter som SRE-ingenjörer behöver ha. Efterfrågan kommer sannolikt att växa snabbt under de kommande åren, så nu är det dags för kandidater och organisationer att börja uppmärksamma förändringen mot SRE.
LÄS NÄSTA
- < li>› Varför är ett stativ för bärbar dator nästa skrivbordstillbehör du behöver
- › 8 tecken på att din dators nätaggregat inte fungerar
- › Vi ville ha en Star Trek-replikator och allt vi fick var Keurig-maskiner
- › Apple iPhone 14 recension: Det säkra valet som är värt att köpa
- › Så här åtgärdar du “Ditt system har slut på programminne” på en Mac
- › Vilken är den billigaste streamingtjänsten för livesport?