DevOps vs. SRE: What's the Difference Between Them, and ...
文章推薦指數: 80 %
And according to Google, that's where the main difference between DevOps and SRE lies. While DevOps is all about the “What” needs to be done, ... BlogCategories IndustryTrends R&D News&Updates Community Subscribe DevOpsvs.SRE:What’stheDifferenceBetweenThem,andWhichOneAreYou? HennIdan ● 11thJul2018 9minread DevOpsorSRE?We’regoingoverthetwoconcepts,highlightingthedifferencesbetweenthemandtryingtounderstandhoweachonecametobe. DevOpsandSREseemliketwosidesofthesamecoin.Bothtitlesaimtobridgethegapbetweendevelopmentandoperationteams,withaunifiedgoalofenhancingthereleasecyclewithoutanycompromises. Andindeed,inmostcompanieswecanseethatthere’sarequirementforjustoneofthesepositions,withanoverlapinresponsibilitiesandabilities.Bothtitlesco-existinthesamespace,andbothareanessentialpartofthedevelopmentteam;sohowaretheydifferent,andwhatdoeseachonemean?Let’scheckitout. Psst!Strugglingtomaintainthereliabilityofyourapplicationswithyourcurrenttooling?OverOpsprovidesdeep,code-levelinsightabouteveryerrorandslowdownandhelpsteamsprioritizethemtoeliminateSev1issuesinproduction. Development,OperationsandReliability BeforeDevOpswasimplemented,developmentandoperationteamsworkedastwoindependentsquads,eachwithitsowngoalsandobjectives.Thedifferencesandlackofcommunicationbetweentheseteamsoftenimpactedtheproduct,whichinreturnaffectedtheendusersandcompany. Inordertobettercommunicateandbuildbetterproducts,DevOpsbecameoneofthemostcriticalpositionsineverycompany. TheofficialdefinitionofDevOpsis“asoftwareengineeringcultureandpractice,thataimsatunifyingsoftwaredevelopmentandsoftwareoperation.”ThetermwasfirstcoinedbyAndrewShaferandPatrickDeboisbackin2008,andwhileittookafewyearsforittobecomeacommonconcept,nowadaysjustabouteverycompany,fromenterprisestostartups,arehiringDevOps. TheconceptofSiteReliabilityEngineer(SRE)hasbeenaroundsince2003,makingitevenolderthanDevOps.ItwascoinedbyBenTreynor,whofoundedGoogle’sSiteReliabilityTeam.AccordingtoTreynor,SREis“whathappenswhenasoftwareengineeristaskedwithwhatusedtobecalledoperations.” JustlikeDevOps,SREisalsoaboutcombiningdevelopmentandoperationteams,helpingthemseetheothersideoftheprocess,whileintroducingvisibilitytothecompleteapplicationlifecycle. Bothtitlesareadvocatesofautomationandmonitoring,withasimilargoaltoreducethetimefromwhenadevelopercommitsachangetowhenit’sdeployedtoproduction.DevOpsandSREsbothwanttodosowithoutcompromisingonthequalityofthecodeorproductalongtheway. GoogleitselfstatesthatSREandDevOpsarenotsodifferentfromoneanother:“they’renottwocompetingmethodsforsoftwaredevelopmentandoperations,butratherclosefriendsdesignedtobreakdownorganizationalbarrierstodeliverbettersoftwarefaster.” SowhydidGoogleneedtocreateitsowndefinition? TheDifferencesBetweenDevOpsandSREs Aswementionedbefore,theconceptofDevOpsisallaboutcombiningdevelopmentandoperations,definingthebehaviorofthesystemandseeingwhatneedstobedonetoclosethe“gap”betweenthetwoteams.Thetheorybehindthistitletalksaboutwhatneedstobedonetomakethetwoteamsworkasone. AndaccordingtoGoogle,that’swherethemaindifferencebetweenDevOpsandSRElies.WhileDevOpsisallaboutthe“What”needstobedone,SREtalksabout“How”thiscanbedone.It’saboutexpandingthetheoreticalparttoanefficientworkflow,withtherightworkmethods,toolsandsoon.It’salsoaboutsharingtheresponsibilitybetweeneveryone,andgettingeveryoneinsyncwiththesamegoalandvision. Tohelpfurtherexplainthedifference,Googlereleasedaseriesofvideosandpoststhattalkabouthowthetwotitlesdiffer.Inoneoftheseposts,writtenbytwoGoogleemployees:SethVargo,StaffDeveloperAdvocateandLizFong-Jones,SiteReliabilityEngineer,theyexplainthatSRE“embodythephilosophiesofDevOpswithagreaterfocusonmeasuringandachievingreliabilitythroughengineeringandoperationswork.” SethandLizrepresentedthesimilaritiesanddifferencesbetweenthetwothroughthetop5pillarsofDevOps,explainingwhattheymeanforSRE: #1ReduceOrganizationalSilos Largeenterprisesusuallyhaveacomplexorganizationstructure,withalotofteamsworkinginsilos.Eachteamispullingtheproductinadifferentdirection,notcommunicatingwiththerestofthecompanyandasaresult,failtoseethebigpictureasawhole.Thiscanleadtofrustration,asetbackindeploymentandhighcostsduetodelays. DevOps’jobistoreducethesilos,andtomakesuretherearen’tanyteamswithinteamswhoarenotalignedwiththerestofthecompany.Theyminimizeandbridgetheteamsintoonegroup,withasharedvision. SREsdon’ttalkabouthowmanysilosareinthecompany,butmoreabouthowtogeteveryonetodiscuss.Thisisdonebyusingthesametoolsandtechniquesacrossthecompany,whichinreturnhelpssharetheownershipacrosseveryone. #2AcceptFailureasNormal AlthoughtheconceptofDevOpsisabouthandlingandcopingwithissuesbeforetheyfail,failureissomethingthatwe,unfortunately,can’tavoid.DevOpsembracesthisbyacceptingfailureassomethingthatisboundtohappen,andwhichcanhelptheteamlearnandgrow. IntheworldoftheSREs,thisobjectiveisdeliveredbyhavingaformulaforbalancingaccidentsandfailuresagainstnewreleases.Inotherwords,SREswanttomakesurethattherearen’ttoomanyerrorsorfailures,evenifit’ssomethingthatwecanlearn. Thisformulaismeasuredwithtwokeyidentifiers:ServiceLevelIndicators(SLIs)andServiceLevelObjectives(SLOs). SLIsmeasurethefailuresperrequest,bycalculatingrequestlatency,throughputofrequestspersecond,orfailuresperrequestasmeasuredovertime.SLOsderiveoutofthisthreshold,percentageornumber,andrepresentthesuccessofSLIsoveracertainamountoftime. #3ImplementGradualChange Companieswanttomovefasterthanbefore.Theywantfrequentreleases,continuallyupdatingtheproductandkeepingteammembersontheirtoesaboutnewandrelevanttechnology. DevOpsareallforthischange,butinagradualandhandledway.BothDevOpsandSREswanttomovequickly,andGooglepointsoutthatSREsemphasizesreducingthecostoffailureastheydoso. #4LeverageToolingandAutomation Aswementionedbefore,oneofthemainfocalpointsforbothDevOpsandSREsisautomation.Bothtitlesencourageaddingasmuchautomationandtoolsaspossible,aslongastheyprovidevaluetodevelopersandoperationsbyremovingmanualtasks. #5MeasureEverything Anautomatedworkflowthatmovesfastissomethingthatneedsconstantmonitoring.DevOpsandSREteamsbothneedtomakesurethatthey’removingintherightdirection,andtheydosobymeasuringeverything. ThemaindifferencehereisthatSREsrevolvesaroundtheconceptthatoperationsisasoftwareproblem,whichledthemtodefineprescriptivewaysformeasuringavailability,uptime,outages,toil,etc. SREsalsoensurethateveryoneinthecompanyagreesonhowtomeasurereliability,andwhattodowhenavailabilityfallsoutofspecification.Thisincludescontributorsateverylevel,fromdevelopers,throughteammanagersandallthewayuptoVPsandexecutives. [easy-tweettweet=”What’sthedifferencebetween#DevOpsand#SRE?Itturnsout,notmuch…#samegamedifferentname”user=”overopshq”url=”http://bit.ly/2SyDyPw”template=”lite”] WhatDoesItMeanToBeReliable? Wetalkedaboutsharingresponsibility,acceptingfailureandmeasuringeverything.Now,weneedawaytomakesureeverythingisindeedworkingasitshould,andisreliable.Inotherwords,thereshouldbeaunifiedmethodtomeasurereliabilityateverylevel. SREsaremeasuringSLIsandSLOs,andDevOpsteamsmeasurethefailurerate,aswellasthesuccessrateovertime,andbothusuallydosowithdifferenttoolsandmethods.Whiletheseteamshaveanoverviewofwhat’sgoingon,it’snotcomplete.Reliabilityisnotjustabouttheinfrastructure,it’srelevanteverystepoftheway–fromapplicationquality,throughperformanceanduptosecurity. Failureandissuescanandwillhappenindifferentaspectsoftheapplication,andwhenitdoes,weneedtohavereliabledatatounderstandwhytheissuehappenedinthefirstplace,whatcausedit,andhowtofixit.Ifwebreakitdown,thisdatashouldinclude: Executionstackandbytecode Completevariablestate(overlayedonfullsourcecode) JVMState:Threads,environmentvariables Relevantlogstatements(includingDEBUGandTRACEinproduction) Eventanalytics(Frequency,failurerate,deployment,application) Andsincethisiscrucialinformation,wehavetomakesureit’sreliableandactionable.Thiscanbedonewiththehelpofsettingupalertsfordifferentscenarios,embracingamethodofpeercodereview,unittestsandsoon. Whilethesemethodshelppromoteasharedresponsibilitybetweeneveryone,theymightendupimpactingtheproduct’sperformance.Andthebiggertheorganizationis,thehigherthecostforfailure,whetherit’scustomersatisfaction,employeechurn,oradecreasedproductvalue. That’swhyit’simportanttominimizethemanualsystemwork,andautomatethecollectionofinformation.Andwhileyou’reatit,youalsoneedtostayontopofeverythingthat’shappeninginyourproduct.Inotherwords,youneedtherightdatatomeasurethereliabilityofyoursoftwarethroughouttheCI/CDworkflow. Signupforourtrial toseehowyoucanproactivelydetectnewandcriticalissueswiththecompletecontextrequiredtoresolve.Signupnow. FinalThoughts So,isthereadifferencebetweenDevOpsandSREs?Google,the“founder”oftheSREtitleclearlydefinedit,alongwithastraightforwardsetofexpectations.DevOps,asitseems,ismoreofa“freespirit”,withthedefinitionandperspectivesvaryingfromorganizationtoorganization. However,DevOpsandSREteamsarenotsodifferent.Bothhelpcombinedeveloperandoperationteams,whilesharingsimilarresponsibilitiesandfocusingonenablingautomationandreliability. Thebottomlineisthatit’sallaboutthedata.Youneedinformationinordertounderstandhowtomeasuresuccessandfailureandhowtogaincontinuousreliabilityacrosstheapplication. HennIdan HennisamarketingmanageratOverOpscoveringtopicsrelatedtoJava,Scalaandeverythinginbetween.Sheisaloverofgadgets,apps,technologyandtea. devops sre TroubleshootingApacheSparkApplicationswithOverOps OverOps’abilitytodetectpreciselywhysomethingbrokeandtoseevariablestateisinvaluableinadistributedcomputeenvironment. TroubleshootingApacheSparkApplicationswithOverOps LearnMore NextArticle StackOverflow:TopJavaQuestionsWeDidn'tKnowWeHad-andHowtoAnswerThem 6minread TheFastestWaytoWhy. EliminatethedetectiveworkofsearchinglogsfortheCauseofcriticalissues.Resolveissuesinminutes. LearnMore Weareusingcookiestogiveyouthebestexperienceonourwebsite. Youcanfindoutmoreaboutwhichcookiesweareusingorswitchthemoffinsettings. Accept CloseGDPRCookieSettings PrivacyOverview StrictlyNecessaryCookies Poweredby GDPRCookieCompliance PrivacyOverview Thiswebsiteusescookiessothatwecanprovideyouwiththebestuserexperiencepossible.Cookieinformationisstoredinyourbrowserandperformsfunctionssuchasrecognisingyouwhenyoureturntoourwebsiteandhelpingourteamtounderstandwhichsectionsofthewebsiteyoufindmostinterestinganduseful. StrictlyNecessaryCookies StrictlyNecessaryCookieshouldbeenabledatalltimessothatwecansaveyourpreferencesforcookiesettings. EnableorDisableCookies Ifyoudisablethiscookie,wewillnotbeabletosaveyourpreferences.Thismeansthateverytimeyouvisitthiswebsiteyouwillneedtoenableordisablecookiesagain. EnableAll SaveSettings
延伸文章資訊
- 1SRE vs DevOps: What's The Difference? – BMC Software | Blogs
Both SRE and DevOps concepts treat errors and failure as an inevitable occurrence. While DevOps a...
- 2Three Differences Between DevOps and SRE - IBM
DevOps is going to automate deployment. They're going to automate tasks and features. SRE is goin...
- 3SRE vs DevOps - Gremlin
The cultures are also very similar. The biggest difference is that SRE has an intentionally narro...
- 4[好文翻譯] 你在找的是SRE 還是DevOps? - Medium
- 5SRE vs. DevOps — what's the difference? - CodiLime
Simply speaking, DevOps is for writing and deploying code. SRE, on the other hand, is more compre...