[SAP] Perforce Administrative Self Services at SAP


Published on

At SAP, a self service is offered to all development teams and automatically creates new development projects in Perforce without the need for approval by a central team. In this talk, learn how SAP uses Perforce to capitalize on the trend away from centrally-ruled processes toward more self service at the team level.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

[SAP] Perforce Administrative Self Services at SAP

  1. 1. 1  Perforce Administrative SelfServices at SAPWolfram KramerDevelopment ArchitectSAP AGTIP Core ECF & Production
  2. 2. 2  SAP today•  232,000Customers in more than•  180countries•  €16.22bnRevenue•  64,422SAP employees worldwide•  SAP offices in more than130 countries
  3. 3. 3  Perforce @SAP•  1998Introduction of Perforce at SAP•  10,000licensed users•  ~ 100Perforce server instances•  2Perforce server locations•  ~ 2 TBPerforce db.* files altogether•  ~ 10 TBversioned data•  ~ 4·108files (including branches)@  
  4. 4. 4  The iOS development processdeploy  and  test  idea   get  SCM    Project  Prepare    development  environment  release  and  delivery  exchange  Integrate  and  release  +  SAP  Mobile    Development  Lifecycle  develop  get  Libraries  e.g.  SUP  inhouse  delivery  How aredeveloperteams enabledto work withPerforce?
  5. 5. 5  Provide Perforce access to developer teamsget  SCM    Project  •  Get  a  locaGon  in  Perforce  where  to  put  the  sources  •  Define  access  groups  and  protecGons  •  Fill  the  access  groups  with  development  team  members  means  How?CentralPerforceAdministratorEmail  Phone  call  Workflow  Ticket  system  Scalable?  Agile?  
  6. 6. 6  Perforce depot structure3 levels://depot/project/codelineThedevelopmentarea, productComponent,subsystemBranchEnablement  of  standardized  build  and  producGon  infrastructure.  Empowered  by  usage  of  change-­‐submit  trigger.  
  7. 7. 7  Permissions and groupsAccess group types•  dev group (Developers)•  patcher group (Quality Managers, BuildOperators)Possible group access ranges•  depot level (shown here), even multipledepots•  project levelbuildenv-devbuildenv-patcherwritereadwritewritewrite group buildenv-dev * //buildenv/*/ct01_stream/...read group buildenv-dev * //buildenv/*/ct01_publish/...write group buildenv-patcher * //buildenv/*/ct01_stream/...write group buildenv-patcher * //buildenv/*/ct01_publish/...
  8. 8. 8  Multi-server landscape at SAPMany servers at SAP since 2000(Reasons: Performance)User and Group store per serverinstancegroups  users  groups  users  groups  users  groups  users  
  9. 9. 9  Multiple user and group maintenanceProblem:Per-server user and groupadministration not possible anymoreBoundary condition:No single-point-of-failure, i.e.authorization Perforce server isnot an optiongroups  users  groups  users  groups  users  groups  users  Central Perforce Administrator
  10. 10. 10  Central user and group storageUser and Group data aremaintained in a central applicationwith an SQL database underneath(Perforce Management System,P4MS)User and group data areautomatically written by P4MS todedicated Perforce serversPerforce  Management  System  (P4MS)  Central PerforceAdministrator
  11. 11. 11  Perforce Management System (P4MS)
  12. 12. 12  Centralized user and group managementProblem:Centralized user and groupmanagement does not scaleObservation:Decision on granting accessrights of new users is takenlocallygroups  users  CentralPerforceAdministratorDevelopment team members,project leadsAccess requests
  13. 13. 13  Admin groupsNew group type•  admin group (Project Managers)Admin groups exist only in P4MS, not onPerforce servers.Members of an admin group are allowedto modify group members.buildenv-devbuildenv-patcherwritereadwritewritebuildenv-adminmodifymodify
  14. 14. 14  Decentralized user and group maintenanceDevelopment Team membersPerforce  Management  System  (P4MS)  Access requestsProject leadNotificationApprovalCentralPerforceAdministrator
  15. 15. 15  Perforce Access RequestDevelopmentTeam memberTypes in Path andServerRequests access
  16. 16. 16  Perforce Access Request ApprovalProject leadNotificationEmailAdd user to group
  17. 17. 17  Centralized project managementProblem:Centralized project managementdoes not scaleObservation:Development teams know bythemselves which projects andcodelines they needCentralPerforceAdministratorProjectleadsProject creationrequestCodelinecreationrequestP4MS  CreateprojectGeneratepath inPerforce
  18. 18. 18  P4MS administrator frontend for project creationProject creation frontend in P4MS (Administrators only)Created project in Perforce
  19. 19. 19  Self-service for creating a new project in theMobile areaSelf-service for projectmanagers (and other people) tocreate a new project in themobile areaCurrent restriction:Only one Perforce server, onedepot enabledProjectleadP4MS  Generatepath inPerforceProjectcreationrequestProject  creaGon  self-­‐service  
  20. 20. 20  Frontend for project creation self-servicePerforce server selection(currently only one possible)Perforce depot selection(currently only one possible)Enter team members
  21. 21. 21  The future: project creation self-service for allservers and depotsPerforceserverselectionPerforce depotselectionAlternative:“I want the newproject to be createdat the same locationwhere I already haveanother project”Create also thegiven codelines
  22. 22. 22  The sophisticated future: free project andcodeline permission definitionSelect the projectGrant accesses togroups for codelinesof the project
  23. 23. 23  The sophisticated future: use-cases for self-servicesProjectmanagersP4MS  Generatepath inPerforceProjectcreationAdministraGve  Self-­‐services  CodelinecreationPermission maintenancefor projectGenerateprotectionsin PerforceCentral PerforceAdministrator
  24. 24. 24  Major take-aways•  Establish standards and enforce them•  Enable the teams•  Don‘t be a central bottleneck
  25. 25. 25  Thank you!wolfram.kramer@sap.com