SRE vs DevOps: What's The Difference? – BMC Software | Blogs

文章推薦指數: 80 %
投票人數:10人

Both SRE and DevOps concepts treat errors and failure as an inevitable occurrence. While DevOps aims to handle runtime errors and allow teams to ... August26,20217minutereadSudipSengupta,MuhammadRaza Withthegrowingcomplexityofapplicationdevelopment,organizationsareincreasinglyadoptingmethodologiesthatenablereliable,scalablesoftware.DevOpsandsitereliabilityengineering(SRE)aretwoapproachesthatenhancetheproductreleasecyclethroughenhancedcollaboration,automation,andmonitoring.Bothapproachesutilizeautomationandcollaborationtohelpteamsbuildresilientandreliablesoftware—buttherearefundamentaldifferencesinwhattheseapproachesofferandhowtheyoperate.So,thisarticledelvesintothepurposeofDevOpsandSRE.We’lllookatbothapproaches,includingbenefits,differences,andkeyelements.(ThisarticleispartofourDevOpsGuide.Usetheright-handmenutonavigate.) DevOpsbasicsDevOpsisanoverarchingconceptandcultureaimedatensuringtherapidreleaseofstable,securesoftware.DevOpsexistsattheintersectionofAgiledevelopmentandEnterpriseSystemsManagement(ESM)practices.Earlydevelopmentmethodologiesinvolveddevelopmentandoperationsteamsworkinginsilos,whichledtoslowerdevelopmentandunstabledeploymentenvironments.Tosolvethis,theDevOpsmethodologyintegratesallstakeholdersintheapplicationintooneefficientworkflowwhichenablesthequickdeliveryofhighqualitysoftware.Byallowingcommunicationandcollaborationbetweencross-functionalteams,DevOpsalsoenables:ReliableservicedeliveryImprovedcustomersatisfaction(Exploreourmulti-partDevOpsGuide.)DevOpspractices&methodsDevOpspracticesarebasedoncontinuous,incrementalimprovementsbolsteredbyautomation.Whileafull-fledgedautomationisrarelypossible,foracomprehensiveautomation,aDevOpsmethodologyfocusesonthefollowingelements:Continuousdelivery&integration(CI/CD)DevOpsaimstodeliverapplicationsandupdatestocustomersrapidlyandfrequently.ByusingCI/CDpipelinestoseamlesslyconnectprocessesandpractices,DevOpsautomatesupdatingandreleasingcodeintoproduction.CI/CDalsoinvolvescontinuousmonitoringanddeploymenttoensurecodeconsistencyacrossvarioussoftwareversionsanddeploymentenvironments.(SetupyourownCI/CDpipeline.)InfrastructureascodeDevOpsemphasizestheabstractionofITinfrastructuresothatitcanbemanagedusingsoftwareengineeringmethodsandprovisionedautomatically.Thisresultsinanefficientsystemthatallowsyourteamtoefficiently:TrackchangesMonitorinfrastructureconfigurationsRollbackchangesthathaveundesired/unintendedeffectsAutomatedtestingCodeisautomaticallyandcontinuouslytestedwhileitisbeingwrittenorupdated.Byeliminatingthebottlenecksassociatedwithpre-releasetesting,thecontinuousmechanismspeedsupthedeployment.DevOpsworkswith…ApartfromtheelementsthathelpDevOpspracticesenablecomprehensiveautomation,DevOpsalsoreliesonvariousmethodsthatinherentlyenablefasterdelivery,efficientautomation,andenhancedcollaboration.SomemethodologiesthatDevOpsusesorotherwisepairswellwithinclude:Scrum.Thisframeworkdescribesthecompositionandrolesofteamscollaboratingtoacceleratequalityassuranceandcodedevelopment.Thescrumframeworkdefinesdesignatedrolesintheprojectandkeyworkflowswithinallphasesofasoftwaredevelopmentlifecycle(SDLC).Kanban.Akeyworkflowmanagementmechanismthatenablesteamstodefine,manage,andimproveonservicesthatdeliverbusinessvalue.Agile.TheAgileframeworkdefinesprocessesthatimprovesoftwareteams’responsivenesstochangingmarketneedsbyenablingrapid,frequent,anditerativeupdates.Agileenablesshorterdevelopmentcycleswhichallowforaclearerunderstandingofbusinessanddevelopmentgoalsforimprovedcustomersatisfaction.(CompareScrum,Kanban&Agile.)BenefitsofDevOpsDevOpsreducesthecomplexityofmanagingsoftwareengineeringprojectsthroughcollaborationandautomation.SomebenefitsofadoptingDevOpsinclude:EnsurequickerandfrequentdeliveryofapplicationfeaturesthatimprovecustomersatisfactionCreateabalancedapproachtomanaginganSDLCforenhancedproductivityofsoftwareteamsInnovatefasterbyautomatingrepetitivetasksRemediateproblemsquickerandmoreefficientlyMinimizeproductioncostsbycuttingdownerrorsinmaintenanceandinfrastructuremanagementSitereliabilityengineering(SRE)basicsSREprovidesauniqueapproachtoapplicationlifecycleandservicemanagementbyincorporatingvariousaspectsofsoftwaredevelopmentintoIToperations.SREwasfirstdevelopedin2003tocreateITinfrastructurearchitecturethatmeetstheneedsofenterprise-scalesystems.WithSRE,ITinfrastructureisbrokendownintobasic,abstractcomponentsthatcanbeprovisionedwithsoftwaredevelopmentbestpractices.Thisenablesteamstouseautomationtosolvemostproblemsassociatedwithmanagingapplicationsinproduction.SREusesthreeServiceLevelCommitmentstomeasurehowwellasystemperforms:Servicelevelagreements(SLAs)definetherequiredreliability,performance,andlatencyofthesystemasdesiredbyendusers.Servicelevelobjectives(SLOs)targetvaluesandgoalssetbySREteamsthatshouldbemettosatisfySLAs.Servicelevelindicators(SLIs)measurespecificmetricsandaspectsthatshowhowmuchasystemconformstotheSLOs.TypicalSLIsincluderequestlatency,systemthroughput,leadtime,developmentfrequency,meantimetorestore(MTTR),andavailabilityerrorrate.KeyprinciplesofSREinclude: (LearnmoreaboutSREconcepts.)TheSiteReliabilityEngineerroleSREessentiallycreatesanewrole:thesitereliabilityengineer.AnSREistaskedwithensuringseamlesscollaborationbetweenIToperationsanddevelopmentteamsthroughtheenhancementandautomationofroutineprocesses.SomecoreresponsibilitiesofanSREinclude:Developing,configuring,anddeployingsoftwaretobeusedbyoperationsteamsHandlingsupportescalationissuesConductingandreportingonincidentreviewsDevelopingsystemdocumentationChangemanagementDeterminingandvalidatingnewfeaturesandupdatesSREtoolsSREteamsrelyontheautomationofroutineprocessesusingtoolsandtechniquesthatstandardizeoperationsacrossthesoftware’slifecycle.SometoolsandtechnologiesthatsupportSiteReliabilityEngineeringinclude:Containerspackageapplicationsinaunifiedenvironmentacrossmultipledeploymentplatforms,enablingcloud-nativedevelopment.Kubernetesisapopularcontainerorchestratorthatcaneffectivelymanagecontainerizedapplicationsrunningonmultipleenvironments.Cloudplatformsallowyoutoprovisionscalable,flexible,andreliableapplicationsinhighlydistributedenvironments.PopularplatformsincludeMicrosoftAzure,AmazonAWS,andGoogleCloud.Projectplanning&managementtoolsallowyoutomanageIToperationsacrossdistributedteams.SomepopulartoolsincludeJIRAandPivotalTracker.SourcecontroltoolssuchasSubversionandGitHuberaseboundariesbetweendevelopersandoperators,allowingforseamlesscollaborationandreleaseofapplicationdelivery.SourcecontroltoolsincludeSubversionandGitHub.SREvsDevOpsBothmethodologiesenforceminimalseparationbetweenDevelopmentandOperationsteams.Butwecansumupthekeydifferenceasthis:DevOpsfocusesmoreonaculturalandphilosophicalshift,andSREismorepragmaticandpractical.Thishighlightsvariousdifferencesinhowtheconceptsoperate,including:Essence.SREwasdevelopedwithanarrowfocus:tocreateasetofpracticesandmetricsthatallowforimprovedcollaborationandservicedelivery.DevOps,ontheotherhand,isthecollectionofphilosophiesthatenablethemindsetofcultureandcollaborationbetweensiloedteams.Goal.BothSREandDevOpsaimtobridgethegapbetweendevelopmentandoperations,thoughSREinvolvesprescriptivewaysofachievingreliability,whileDevOpsworksasatemplatethatguidescollaboration.Focus.SitereliabilityengineeringmainlyfocusesonenhancingsystemavailabilityandreliabilitywhileDevOpsfocusesonspeedofdevelopmentanddeliverywhileenforcingcontinuity.Teamstructure.AnSREteamiscomposedofsitereliabilityengineerswhohaveabackgroundinbothoperationsanddevelopment.DevOpsteamsincludeavarietyofroles,includingQAexperts,developers,engineers,SREsandmanyothers.(ExploreDevOpsteamstructure.)HowSREsupportsDevOpsprinciples&philosophiesSREandDevOpsarenotcompetingmethodologies.That’sbecauseSREprovidesapracticalapproachtosolvingmostDevOpsconcerns.Inthissection,let’sexplorehowteamsuseSREtoimplementtheprinciplesandphilosophiesofDevOps:ReducingorganizationalsilosDevOpsworkstoensurethatdifferentdepartments/softwareteamsarenotisolatedfromeachother,ensuringtheyallworktowardsacommongoal.SREenablesthisbyenforcingtheownershipofprojectsbetweenteams.WithSRE,everyteamusesthesametools,techniques,andcodebasetosupport:UniformitySeamlesscollaborationImplementinggradualchangeDevOpsembracesslow,gradualchangetoenableconstantimprovements.SREsupportsthisbyallowingteamstoperformsmall,frequentupdatesthatreducetheimpactofchangesonapplicationavailabilityandstability.Additionally,SREteamsuseCI/CDtoolstoperformchangemanagementandcontinuoustestingtoensurethesuccessfuldeploymentofcodealterations.AcceptingfailureasnormalBothSREandDevOpsconceptstreaterrorsandfailureasaninevitableoccurrence.WhileDevOpsaimstohandleruntimeerrorsandallowteamstolearnfromthem,SREenforceserrormanagementthroughServiceLevelCommitments(SLx)toensureallfailuresarehandled.SREalsoallowsforariskbudgetthatallowsteamstotestthelimitsoffailureforreevaluationandinnovation.Leveragingtools&automationBothDevOpsandSREuseautomationtoimproveworkflowsandservicedelivery.SREenablesteamstousethesametoolsandservicesthroughflexibleapplicationprogramminginterfaces(APIs).WhileDevOpspromotestheadoptionofautomationtools,SREensureseveryteammembercanaccesstheupdatedautomationtoolsandtechnologies.MeasureeverythingSincebothDevOpsandSREsupportautomation,you’llneedtocontinuouslymonitorthedevelopedsystemstoensureeveryprocessrunsasplanned.DevOpsgathersmetricsthroughafeedbackloop.Ontheotherhand,SREenforcesmeasurementbyprovidingSLIs,SLOs,andSLAstoperformmeasurements.SinceOpsaresoftware-defined,SREmonitorstoilandreliability,ensuringconsistentservicedelivery.SummingupDevOps&SRESREandDevOpsareoftenreferredastwosidesofthesamecoin,withSREtoolingandtechniquescomplementingDevOpsphilosophiesandpractices.SREinvolvestheapplicationofsoftwareengineeringprinciplestoautomateandenhanceITOpsfunctionssuchas:DisasterresponseCapacityplanningMonitoringOntheotherhand,aDevOpsmodelenablestherapiddeliveryofsoftwareproductsthroughcollaborationbetweendevelopmentandoperationsteams.Overtheyears,outofallorganizationsthatalreadyhavetakenadvantageofDevOps,50%ofcompanieshavealreadyadoptedSREforenhancedreliability.OnereasonforthisisthatSREprinciplesenableenhancedobservabilityandcontrolofdynamicapplicationsthatrelyonautomation.Attheend,thegoalofboththemethodologiesistoenhancetheend-toendcycleofanITecosystem—theapplicationlifecyclethroughDevOpsandoperationslifecyclemanagementthroughSRE.“GaininsighttothecapabilitiesnecessarytoattracttopSREtalentandmakethemsuccessfulinyourorganizationwithartificialintelligenceforoperations(AIOps)andartificialintelligenceforservicemanagement(AISM)capabilities.”RelatedreadingBMCDevOpsBlogTheCompleteDevOpsCertificationsGuideTheStateofDevOps:AReportRoundupSREvsITOps:AreSRE&ITOperationsTheSameThing?TheStateofSRETodayImplementingGitOpsToDeliverCloudNativeApplicationsThesepostingsaremyownanddonotnecessarilyrepresentBMC'sposition,strategies,oropinion.Seeanerrororhaveasuggestion?Pleaseletusknowbyemailingblogs@bmc.com.BMCBringstheA-GameBMCworkswith86%oftheForbesGlobal50andcustomersandpartnersaroundtheworldtocreatetheirfuture.Withourhistoryofinnovation,industry-leadingautomation,operations,andservicemanagementsolutions,combinedwithunmatchedflexibility,wehelporganizationsfreeuptimeandspacetobecomeanAutonomousDigitalEnterprisethatconquerstheopportunitiesahead.LearnmoreaboutBMC›Youmayalsolike Abouttheauthor SudipSenguptaSudipSenguptaisaTOGAFCertifiedSolutionsArchitectwithmorethan15yearsofexperienceworkingforglobalmajorssuchasCSC,HewlettPackardEnterprise,andDXCTechnology.Sudipnowworksafull-timetechwriter,focusingonCloud,DevOps,SaaS,andCybersecurity.Whennotwritingorreading,he’slikelyonthesquashcourtorplayingChess.ViewallpostsAbouttheauthor MuhammadRazaMuhammadRazaisaStockholm-basedtechnologyconsultantworkingwithleadingstartupsandFortune500firmsonthoughtleadershipbrandingprojectsacrossDevOps,Cloud,SecurityandIoT.Viewallposts



請為這篇文章評分?