SRE vs. DevOps — what's the difference? - CodiLime

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

Simply speaking, DevOps is for writing and deploying code. SRE, on the other hand, is more comprehensive, with the team taking a wider 'end- ... UXinnetworkapps:hownottofailUXinnetworkapps:hownottofailSignupnow!ServicesNetworkSoftwareEngineeringUX&UIFullstackdevelopmentPoC/MVPdevelopmentSoftwareintegrationHardwareintegrationCI/CDTestautomationNetworkProfessionalServicesExpertconsultancyNetworkautomationSolutionsdesignPoCofdesignedsolutionSolutionvalidationSolutionsintegration&deploymentR&DResearchProofofConceptTechnologiesExpertiseSoftwareProductEngineeringSDN&NFVTungstenFabricOpenvSwitchONOSCustomSD-WANLow-levelprogrammingDPDKSmartNICP4FPGACloudOpenStackKubernetes/OpenshiftCloud-nativePubliccloudMonitoring&alertingNetworkanalyticsMonitoringdatavisualizationSecurityMachinelearning/AIAutomationCI/CDQAautomationUXUXresearch&strategyUXprototypingUIdesignUXscoreUXshowcaseNetworkengineeringNetworkInfrastructurePlanningSDNDCWANSD-WANTestingTestdesignandexecutionPoCrealizationTestautomationCloudTelcocloudHybridcloudMonitoring&alertingInfrastructuremonitoringServicemonitoringAutomationNetworkorchestrationDay2operationsKnowledgeBlogCaseStudiesNewsAboutCareersContactusServicesNetworkSoftwareEngineeringUX&UIFullstackdevelopmentPoC/MVPdevelopmentSoftwareintegrationHardwareintegrationCI/CDTestautomationNetworkProfessionalServicesExpertconsultancyNetworkautomationSolutionsdesignPoCofdesignedsolutionSolutionvalidationSolutionsintegration&deploymentR&DResearchProofofConceptTechnologiesExpertiseSoftwareProductEngineeringSDN&NFVTungstenFabricOpenvSwitchONOSCustomSD-WANLow-levelprogrammingDPDKSmartNICP4FPGACloudOpenStackKubernetes/OpenshiftCloud-nativePubliccloudMonitoring&alertingNetworkanalyticsMonitoringdatavisualizationSecurityMachinelearning/AIAutomationCI/CDQAautomationUXUXresearch&strategyUXprototypingUIdesignUXscoreUXshowcaseNetworkengineeringNetworkInfrastructurePlanningSDNDCWANSD-WANTestingTestdesignandexecutionPoCrealizationTestautomationCloudTelcocloudHybridcloudMonitoring&alertingInfrastructuremonitoringServicemonitoringAutomationNetworkorchestrationDay2operationsKnowledgeBlogCaseStudiesNewsAboutCareersContact14October2021DevOpsSREvs.DevOps—what’sthedifference?12minutesreading CanyouimagineacompanywithnoonetomanagetheITinfrastructureandoperations?Probablynot.AndthisiswhereSiteReliabilityEngineeringandDevOpscomein.BoththeseculturesandsetsofbestpracticeshavegrowninpopularityintheITworldinrecentyears;andthetrendseemsfarfromover.However,areDevOpsandSiteReliabilityEngineeringreallydifferentoraretheyjustdifferentnamesforthesamething?ThisarticlewillhelpyouunderstandthedifferencesbetweenSREvsDevOps.  WhatisDevOps DevOpsisanapproachtosoftwaredevelopment.WhatinparticulardifferentiatestheapproachfromothermethodologiesisthatDevOpsfollowseitherleanoragileprinciples.DevOpsfocusesonenablingcontinuousdelivery,withafrequentreleaserateandanautomatedapproachtosoftwareandappdevelopment.TheDevOpsapproachincludesasetofnormsandtechnologypracticesthatenablethefastflowofplannedwork.Byplannedwork,wemeaneverythingfromdevelopment,throughtestingtooperations.TheDevOpsprocesshasthefollowinggoalsinmind: Acceleratethedeliveryofproductstomarket. Shortenthesoftwaredevelopmentlifecycle. Improveresponsivenesstomarketneeds. So,whatisDevOps?DevOpsisafusionofdevelopmentandoperationsteams,forthepurposeofdeployingcodeassmoothlyandquicklyaspossible.Itdependsonestablishingacycleofclosecommunication,combinedwithahighlevelofautomation.AccordingtotheDevOpsprocessrules,theteamthatisresponsibleforcodingisalsoresponsibleformaintainingthecodeonceinproduction.Itmeansthatthetraditionallyseparateteamsofdevelopmentandoperationscollaboratetoimprovesoftwarereleases. WhatarethebenefitsofDevOps? Firstly,DevOpsimprovesthespeedofsoftwaredeliverybymakingsmallerchangesandreleasingmorefrequently.Thus,companiescanbringproductstomarketfaster.Updatesandfixesarealsoeasierandfaster,andthesoftware‘sstabilityisimproved.Whatismore,smallchangesareeasiertorollbackquickly,ifnecessary.Anotherbonusisthattheteam’ssoftwaredeliverycapabilityismoresecure.  WhatDevOpsdoesandhow DevOpsisagreatwaytobuildacultureofcollaborationfromtheverybeginning.Theapproachfocusesontheteamthatmustworktogethertodeploythecodetoproductionandthenmaintainit.ItmeansthattheDevOpsteamisresponsibleforbothwritingthecode,fixingthebugsandanythingelserelatedtothecode.TheDevOpsprocesshasfivekeyprinciples: Breakdownsilos–theDevOpsteam’sroleistobringtogetherknowledgefromthedevelopmentandoperationssides.Thus,moreinsightscanbegained,andcommunicationisencouraged.  Acceptfailureandfailfast–theDevOpsprocessdefinesmethodstomitigaterisk.Thisway,thesamemistakesareunlikelytohappentwice.Theteamusestestautomationtofindthemistakesearlyinthereleasecycle. Introducechangegradually–theDevOpsteamdeployssmall,incrementalchangesregularly,insteadofdeployinglargechangestoproduction.Thismakesiteasiertoreviewchangesandaddressbugs. Leveragetoolsandautomation–theteambuildsthereleasepipelineusingautomationtools.Thisincreasesspeedandaccuracyandminimizestheriskofhumanerroratthesametime.Unnecessarymanualworkisreduced. Measureeverything–DevOpsusesdatatomeasuretheoutcomesofanyactivitiestaken.ThefourmostcommonmetricsforthesuccessoftheDevOpsprocessare:leadtimeforchanges,deploymentfrequency,timetorestoreservice,andchangefailurerate. Inordertofunctionproperly,DevOpsneedssomepowerfultoolsfortheirworkflows.Amongothers,theyuseversioncontrolforallcode(usingtoolslikeGitHuborGitLab),continuousintegrationtools(Jenkins,Spinnaker,etc.),deploymentautomationtools,testautomationtools(Selenium,etc.),andincidentmanagementtools(PagerDuty,Opsgenie,etc.) >>LearnhowCodiLime'sDevOpsteambuiltCI/CDforafull-stackmonitoringandalertingservice. WhatisSiteReliabilityEngineering(SRE)? TheconceptofSiteReliabilityEngineeringwasfirstintroducedin2003.Itwasoriginallycreatedasaframeworktosupportdevelopersinthebuildingoflarge-scaleapplications.Now,SREiscarriedoutbyateamofexpertswithstrongdevelopmentbackgroundswhoapplyengineeringpracticestosolvecommonproblemswhenrunningsystemsinproduction.It’slikeasystemengineerwho’salsoinchargeofoperations.It’sacombinationofsystemoperationsresponsibilitieswithsoftwaredevelopmentandsoftwareengineering.Abroadrangeofresponsibilitiesisincluded–fromwritingandbuildingthecode,throughshippingit,beforeendingatowningthecodeinproduction. ThemainobjectiveofSiteReliabilityEngineeringistodevelopahighlyreliableandultra-scalablesystemorsoftwareapplication.Inthepast,operationsstaffandsoftwareengineersweretwogroupswithdifferenttypesofwork.Theyapproachedproblemsindifferentways.SiteReliabilityEngineeringgoesbeyondsuchanapproach,anditscollaborativenaturehasbeengaininginpopularity. WhatarethebenefitsofSiteReliabilityEngineering? First,SiteReliabilityEngineeringenhancesuptimegreatly.Theapproachfocusesonkeepingtheplatformorservicenomatterwhat.Taskslikedisasterprevention,riskmitigation,reliability,andredundancyareoftheutmostimportance.TheSREteam’smaingoalistofindthebestwaystopreventproblemsthatcancausedowntime.Thisiscrucialespeciallywhenyoumanagelarge-scalesystems.AnotherbenefitisthatSiteReliabilityEngineeringhelpsbrandseliminatemanualworkwhichgivesdevelopersmuchmoretimetoinnovate.Anyflawsarefoundandfixedquicklyandefficiently. WhatSREdoesandhow TheroleofSiteReliabilityEngineeringinacompanyisquitesimple–theSREteammakessurethattheplatformorserviceisavailableforcustomerswhenevertheywanttouseit. WhatarethedutiesofSRE? SREremovessilosbutinadifferentwaythanDevOps.SREhelpsdeveloperscreatemorereliablesystemsastheyarefocusedonoperationsaswellasdevelopment.Consequently,thedevelopershaveamuchbettercontextforsupportingsystemsinproduction. SREdependsonmetricstoimprovethesystem.Thisperspectiveonreliabilityisagreatassetwhendeterminingifareleaseforachangewillgotoproductionornot.AtthecoreofSREarethreemetrics:SLO(service-levelobjective),SLA(service-levelagreement),andSLI(service-levelindicator). SiteReliabilityEngineeringhandlessupportescalationissues.Thesystemalsoencouragespeopletoconductandreportonincidentreviews. TheSREteamdeterminesandvalidatesnewfeaturesandupdates,aswellasdevelopssystemdocumentation.  ASiteReliabilityEngineeringteamusesthesystemusedbytheplatform,likeKubernetes(oneofthemostfamouscontainerorchestrators),cloudplatforms(MicrosoftAzure,AmazonAWSetc.),projectplanning&managementtools(JIRA,PivotalTracker)andsourcecontrol(GitHubetc.). SREvsDevOps–howaretheydifferent? Simplyspeaking,DevOpsisforwritinganddeployingcode.SRE,ontheotherhand,ismorecomprehensive,withtheteamtakingawider‘end-user’s’perspectivewhileworkingonthesystem.  ADevOpsteamworksonaproductorappusinganagileapproach.Theybuild,test,deployandmonitorapplicationswithspeed,control,andquality.AnSREteamregularlyprovidesthedevelopers’teamwithfeedback.Theirgoalistoleverageoperationsdataandsoftwareengineering,mostlybyautomatingIToperationstasks-allofwhichwillacceleratesoftwaredelivery.ADevOpsteam’sjobistomaketheoverallorganizationmoreefficientandautomated.  SRE’sgoalistostreamlineIToperationsusingmethodologiesthatwerepreviouslyusedonlybysoftwaredevelopers.SiteReliabilityEngineeringisfocusedonkeepingtheapporplatformavailabletocustomers(itincludesastrongfocusonthecustomer’sneedsbyprioritizingtheService-LevelAgreement,Service-LevelIndicatorandService-LevelObjectivemetrics).DevOps,ontheotherhand,focusesontheoverallprocessesthatshouldresultinsuccessfuldeploymentofaproduct.BelowyouwillfindmoredifferencesbetweenDevOpsandSiteReliabilityEngineering. Developerteam’srole DevOpscombinestheskillsetsofdevelopersandIToperationsengineers.SREsolvestheproblemsofIToperationsusingthedeveloper’smindsetandtools. Skills DevOpsteamsmostlyworkwiththecode.Theywriteit,testit,andpushitoutintoproductiontogetsoftwarethatwillhelpsomeone’sproblem.TheyalsosetupandrunaCI/CDpipeline.SiteReliabilityEngineeringhasasomewhatbroaderapproach.Theteamcarriesoutanalysistolearnwhysomethinghasgonewrong.Theywilldoanythingtopreventtheproblemfromcontinuingorreoccurring.  SREvsDevOps–anysimilarities? WeknowthedifferencesnowbutarethereanysimilaritiesbetweenDevOpsandSiteReliabilityEngineering?Thetruthis,SREandDevOpshavemanythingsincommonastheybotharemethodologiesputinplacetomonitorproductionandensurethatoperationmanagementworksasexpected.Theircommongoalisabetterresultforcomplexdistributedsystems.Bothbelievethatchangeisnecessarytoimprove.Bothfocusonpeopleworkingtogetherasateamwithsharedresponsibilities.DevOpsandSREbelievethatkeepingeverythingworkingiseveryone’sresponsibility.Ownershipisshared–frominitialcodewritingtosoftwarebuildstodeploymenttoproductionandmaintenance.BothSiteReliabilityEngineeringandDevOpsengineerswriteandoptimizecodebeforedeploymentinproduction. Summingup,DevOpsandSREshouldworktogethertowardsthesamegoal.MonikaAntoniakHeadofR&DandProfessionalServicesMorefromthisauthorJędrzejNowakSeniorEngineeringManager,SiteManagerWroclawMorefromthisauthorReadalso19minutesWhatisCI/CD-allyouneedtoknowMaciejManturewicz22minutesHowtosetupandoptimizeaCI/CDpipelineAndrzejGębski WhatisDevOps WhatarethebenefitsofDevOps? WhatDevOpsdoesandhow WhatisSiteReliabilityEngineering(SRE)? WhatarethebenefitsofSiteReliabilityEngineering? WhatSREdoesandhow SREvsDevOps–howaretheydifferent? Developerteam’srole Skills SREvsDevOps–anysimilarities? SubscribetoournewsletterBrowsebycategoryHighlightsAstarterpackcontainingtheimpactfulnetworkingandcloudtechnologies...youwanttoreadabout.Aclearandconciseguide,preparedforyou.SeepostsDeepdiveReal-lifechallengesandresearchcasessolvedandpresentedbyCodiLime’s...engineeringandR&Dteams.Adeepdiveintodeepdev. SeepostsBusinessinsightsCurrenttrendstrackedandpackagedinaseriesofarticlestogiveyouthe...necessaryinsightstohelpyourbusinessgrow.SeepostsGetintouchwithus



請為這篇文章評分?