Your SlideShare is downloading. ×
[SAP] Perforce Administrative Self Services at SAP
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

[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 …

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. 1  Perforce Administrative SelfServices at SAPWolfram KramerDevelopment ArchitectSAP AGTIP Core ECF & Production
  • 2. 2  SAP today•  232,000Customers in more than•  180countries•  €16.22bnRevenue•  64,422SAP employees worldwide•  SAP offices in more than130 countries
  • 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  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  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  Perforce depot structure3 levels://depot/project/codelineThedevelopmentarea, productComponent,subsystemBranchEnablement  of  standardized  build  and  producGon  infrastructure.  Empowered  by  usage  of  change-­‐submit  trigger.  
  • 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/ group buildenv-dev * //buildenv/*/ct01_publish/...write group buildenv-patcher * //buildenv/*/ct01_stream/...write group buildenv-patcher * //buildenv/*/ct01_publish/...
  • 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  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  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  Perforce Management System (P4MS)
  • 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  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  Decentralized user and group maintenanceDevelopment Team membersPerforce  Management  System  (P4MS)  Access requestsProject leadNotificationApprovalCentralPerforceAdministrator
  • 15. 15  Perforce Access RequestDevelopmentTeam memberTypes in Path andServerRequests access
  • 16. 16  Perforce Access Request ApprovalProject leadNotificationEmailAdd user to group
  • 17. 17  Centralized project managementProblem:Centralized project managementdoes not scaleObservation:Development teams know bythemselves which projects andcodelines they needCentralPerforceAdministratorProjectleadsProject creationrequestCodelinecreationrequestP4MS  CreateprojectGeneratepath inPerforce
  • 18. 18  P4MS administrator frontend for project creationProject creation frontend in P4MS (Administrators only)Created project in Perforce
  • 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  Frontend for project creation self-servicePerforce server selection(currently only one possible)Perforce depot selection(currently only one possible)Enter team members
  • 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  The sophisticated future: free project andcodeline permission definitionSelect the projectGrant accesses togroups for codelinesof the project
  • 23. 23  The sophisticated future: use-cases for self-servicesProjectmanagersP4MS  Generatepath inPerforceProjectcreationAdministraGve  Self-­‐services  CodelinecreationPermission maintenancefor projectGenerateprotectionsin PerforceCentral PerforceAdministrator
  • 24. 24  Major take-aways•  Establish standards and enforce them•  Enable the teams•  Don‘t be a central bottleneck
  • 25. 25  Thank you!