SRE vs. DevOps — what's the difference? - CodiLime
文章推薦指數: 80 %
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
延伸文章資訊
- 1[好文翻譯] 你在找的是SRE 還是DevOps? - Medium
- 2Site Reliability Engineer (SRE) vs. DevOps: What's ... - Leapwork
In essence, the main difference between Site Reliability Engineering and DevOps is that SRE is mo...
- 3SRE vs DevOps - Gremlin
The cultures are also very similar. The biggest difference is that SRE has an intentionally narro...
- 4SRE 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...
- 5DevOps vs. SRE: What's the Difference Between Them, and ...
And according to Google, that's where the main difference between DevOps and SRE lies. While DevO...