devops and agile methodology - lessons learned...devops and agile methodology - lessons learned...

Post on 28-May-2020

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DevOpsandAgileMethodology-LessonsLearnedSusanDuncan-@SusanDuncanOrSeniorPrincipalProductManagerOracleCloudDevelopmentToolsApril,2019

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementTheprecedingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.

Confidential–OracleInternal/Restricted/HighlyRestricted 2

DevOpsandAgileMethodology-LessonsLearnedSusanDuncan-@SusanDuncanOrSeniorPrincipalProductManagerOracleCloudDevelopmentToolsApril,2019

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

TheCloudChangedEverything• ReleaseFrequency• QualityofSoftware•  SpeedofFixingIssues• DevelopmentTechnologies• DevelopmentProcess

4

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

AgileMethodologyatOracle•  Shortdeliverycycles• Deliveryofincrementalsolutions•  Focusonhighestprioritytasks• Adaptconstantly

5

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Plan

Code

Build

Test

Release

Deploy

Operate

Monitor

DevOps–EnablerforAgile•  DevOpsisaculture,movementorpracticethatemphasizesthecollaborationandcommunicationofbothsoftwaredevelopersandotherinformation-technology(IT)professionalswhileautomatingtheprocessofsoftwaredeliveryandinfrastructurechanges.Itaimsatestablishingacultureandenvironmentwherebuilding,testing,andreleasingsoftware,canhappenrapidly,frequently,andmorereliably.– Wikipedia

6

HowWeDoIt

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

OracleDevelopmentTeamsOverview

~280DevelopmentOrganisations

Sprints

OracleDeveloperCloudService

8

~23,250Users

~6250Projects

~18000GitRepositories

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

•  Code/CIManagement–  VersionManagement–Git–  BuildAutomation

•  Ant,Maven,Gradle,npm,Grunt,Bower,Gulp,SQLcl,Shell

–  TestAutomation•  Selenium,JUnit,Findbugs,Sonar,utPLSQL,others

–  Deployment&ProvisioningAutomation•  Docker,K8S,Terraform,PSM,OCICLI

–  ContinuousIntegrationEnginewithPipelines

•  Team/AgileManagement–  IssuesTracking–  AgileProcessManagement–  PeerCodeReview–  Wiki–  Activitystream

OracleDeveloperCloudService–What’sInside

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

OneTeamOverview

~200ProjectMembers

1000sLOCs

2WeekSprints

OracleDeveloperCloudService

10

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

SourceManagement

40GitRepositories

ComponentPerRepositoryTask&Issue

Tracker

11

OneProject–DeveloperCloudServiceTeam

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

TaskWork~200commitsaweek

Master

Newfeature/bugfixes

CompletecodeMergerequest

totarget

Codereview

Iterate,fix&review

Codeapproved Automatebuild

12

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

PreparingforRelease

Master

ReleaseBranch

CriticalBugFix Automatebuild

Release

13

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

CodeManagementTips

•  It’soktohavemorethanonegitrepository•  Leveragegitflowprocess–provideagility• UnitTests,unittests,unittests• Automatecodereviewprocess• Defaultcodereviewerperarea• Branchmainforarelease– Lockbranchtorequireapprovalforshowstoppersonly

• Databasescriptsarepartofyourcodebase

14

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

• Commit/pushbuilds– ~50buildsaday•  +2timesaday– Allgitrepositories– DeploytodevVM– Automatedtests– QAtests

• Masterbranchedevery2weeks– Allgitrepositories– DeploytostageVM– Automatedtests– ManualQA– Candidateforproductiondeploy

– ~Candidateforcustomers

BuildProcess

Development Production

15

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

BuildTips• Automatenotificationfrombuilds(prevent“Ididn’tknowitbroke”)– Email,Slack,PagerDuty,etc

• Requireatestscriptinabuildfornewcapabilities• Regularbuildsleadtoregulartestingleadtoearlyissuedetection•  Thereisnosuchthingasbuildsoverload– Buildexecutorsdon’tneedarest

• Buildsformonitoringproductionenvironmentsruntime

16

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

• Getemailaboutnew/updatedtask• CheckSprintforopenissues• Gitbranchforfeaturework• Workoncode– IDEofchoiceorinthecloud

• Commitandpushchanges– Commitassociatedwithspecifictask

TheDeveloper’sDay

17

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

• Runslocalbuildoncode•  SubmitMergeRequest– Initiatecodereviewcycle– Reviewersnotified

• Receivereviewcomments• Modifycode,automaticallystartingbuilds• Whenapprovedmerge• Closetask

TheDeveloper’sDay

18

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

•  Trackactivitystream•  Issuemanagement–assign,tracknewissues,• Mergerequests• Managesprint– Trackreportsandprogress

• Promotestagingtoproduction– Createreleasebranches(protected)– Manageshow-stopperscheck-ins

DevelopmentManager’sDay

19

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

• Mergetriggersabuild• Unittestsareexecuted• BuildproducesbinariesanddeploystoMavenrepo•  Ifbuildfails–developerisnotified

OpsAutomation’sDay

20

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

•  Scheduledbuildpromoteslatestsuccessfulartifactstostagearea•  SuccessfuldeploynotifiesQAteam• QAverifyclosedissues•  SeleniumUItestrunautomatically

OpsAutomation’sDay

21

ü DefineBuildProcessesü Monitorruntimeenvironments– Oraclemanagementtools

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

AdditionalLessonsLearned•  IntegratedAgile+DevOpsiskey• Cloudbasedenvironmentissomuchsimpler•  Teamcollaborationiskey–everyoneisacommittedowneroftheproduct

22

Demo–ADayInTheLifeOfADevelopmentTeam

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Metrics:DeveloperCloudServiceTeam• OneDeveloperCloudServiceProject•  50gitrepositories,1binaryrepository•  170projectmembers,50activecontributors•  200commitsaweek•  50buildsaday•  23Kissues•  3Kmergerequests•  250wikipages

24

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

•  Fulltraceability–issue->codechange->build->deploy•  Fasterfeedbackoncodecommits•  Improvedteamcollaboration• OnestopshopforAgile+DevOps• Accessibilityofprojectartifacts•  Easyprovisioningandscaling

SummaryofDevCSBenefits

25

Questions?

26

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

oracle.com/oow19LON Get$500USDoffreecredits

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| Confidential–OracleInternal/Restricted/HighlyRestricted

CarryontheConversationVisitourStandintheInnovationStationtoexperienceourAutonomousSmartCityDemoAttendourWorkshops–chattousonthestandtosignuporlearnmoreOracleAutonomousDataWarehouse–April30thOracleAnalyticsCloud–May1stOracleMachineLearning–May2ndCloudTrials–chattousonthestandtosignuporlearnmore

https://cloud.oracle.com/tryit

top related