Modern Deployment Strategies
description
Transcript of Modern Deployment Strategies
![Page 1: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/1.jpg)
1
Sven Erik Knop Technical Marketing Manager
![Page 2: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/2.jpg)
2
• Lockless Reads • AD/LDAP Integration • Deployment Strategies
– Edge/Commit Servers – DCS
• Linux Packaging
![Page 3: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/3.jpg)
3
![Page 4: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/4.jpg)
4
Reduce waiting time for users
Better utilization of hardware
Support Continuous Integration
![Page 5: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/5.jpg)
5
• Requires server locks activated (“server.locks.dir”) • Requires change in database format
– Need to restore checkpoint for the upgrade • Changes locking order of some tables
• Controlled with configurable “db.peeking”
![Page 6: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/6.jpg)
6
List of commands that run lockless: • annotate, branches, changes, clients, counters, depots, diff,
• diff2, dirs, filelog, files (-a) fixes, fstat (peeking=3), have,
• interchanges, integ, integed, istat, jobs, keys, labels, merge,
• print (-a), resolved, streams, sizes (-a), sync (peeking=3), users
• verify (2014.2), describe (2014.2)
List of commands that run partial lockless:
• copy, cstat, fstat, interchanges (copy), istat (copy), opened, sync
![Page 7: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/7.jpg)
7
• Default in 2014.2 • Configurable db.peeking
– 0 : No peeking, old lock order – 1 : No peeking, new lock order (diagnostics only) – 2 : Peeking enabled (default in 2014.2) – 3 : Peeking enabled (no hx/dx optimization)
• Peeking=3 slower for many revisions per file – but no locking of db.revhx/db.revdx table
![Page 8: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/8.jpg)
8
![Page 9: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/9.jpg)
9
• Authenticate user with password against AD/LDAP • Replaces auth-check triggers
– when used, disables existing auth triggers
• Several new commands – p4 ldap [-t username] <ldapname> – p4 ldaps [-t username] – p4 configure set auth.ldap.order.N
![Page 10: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/10.jpg)
10
![Page 11: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/11.jpg)
11
• Simple – Search explicitly for a DN – cn=%user%,ou=Users,dc=p4,dc=com
• Search – Use a query to find a DN – (&(objectClass=user)(sAMAccountName=%user%))
• SASL – Easiest form and supported by AD (but not all LDAP)
![Page 12: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/12.jpg)
12
• User spec contains new field – AuthMethod : perforce or ldap – A perforce user is authenticated through P4D
• Configurable auth.default.method – Used for new users – If matching user in LDAP, the user is created in P4D
![Page 13: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/13.jpg)
13
![Page 14: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/14.jpg)
14
• Full Perforce Server – contains all users and data • Build Servers – local workspaces, but no updates • Forwarding Replicas – full server, local content • Filtered Replicas – Replicas with some content
• Depot Server – Only contains data • Workspace Server – Data and workspaces
![Page 15: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/15.jpg)
15
Depot
Workspace Workspace
• Reduce hardware requirements for individual servers
• Keep workspaces local
• Submits propagated to the depot server • All other commands executed locally
• Workspace server contains replica of depot
![Page 16: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/16.jpg)
16
• Replace build servers – Enable build processes to submit artifacts
• Regional Workspace servers – Co-located teams – Workspaces and shelves are only visible locally
• Large-scale development teams – Separate local workspace servers – Shared storage environment
![Page 17: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/17.jpg)
17
![Page 18: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/18.jpg)
18
• Perforce DCS appears as a single server • Horizontal scalability
– Multiple workspace servers • Automatic DCS failover
– Depot-master to depot-standby
• Shared depot storage
![Page 19: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/19.jpg)
19
• Underlying architecture is available in 2014.2 • Perforce Cluster Manager later in 2014
• Simplifies deployment of DCS
![Page 20: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/20.jpg)
20
![Page 21: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/21.jpg)
21
• Simple installation on Linux – Both APT and RPM repositories are supported
• http:://package.perforce.com
• Add public key and repo to available sources – APT: sudo apt-get install perforce-server – RPM: sudo yum install perforce-server
![Page 22: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/22.jpg)
22
• Perforce Server (incl. P4DCTL) • Perforce Client • Swarm • Git Fusion • P4Python
![Page 23: Modern Deployment Strategies](https://reader038.fdocuments.us/reader038/viewer/2022110302/5480f8b05806b5f2108b4607/html5/thumbnails/23.jpg)
23