[Tel aviv merge world tour] Perforce Server Update

Preview:

DESCRIPTION

Presentation from Perforce at the Tel Aviv Merge World Tour - Perforce Server Update

Citation preview

1  

Distributed Development Roadmap

John Palmer Product Specialist

2  

Perforce Today Current Solutions

3  

13.1 Update

§  Filtered Replication §  Task Streams §  Unshelve to Branch §  Submit Shelf Directly

4  

13.1 Server

Task  Streams  

• Alleviates  branch  metadata  problem  

• Can  be  used  with  streams  or  normal  branches  

• Fits  with  task  branching  /  conAnuous  delivery  

Shelving  

• Lightweight  code  review  

• Lightweight  task  management  

• Unshelve  to  Branch  • Submit  Shelf  

Git  Fusion  

• Maintain  big  picture  branch  model  in  Perforce  

• Mirror  the  model  to  Git,  rebase  if  desired  

• Use  Git  for  task  branches  

5  

Branching with Task Streams

6  

Task Streams

§  Use p4 populate to put data into a task stream. §  (This command is the best way to put data into any new branch or stream.)

§  Task streams cannot be re-parented. §  They're tied tightly to the original source.

§  Task streams cannot have children of their own. §  Multiple users per Task Stream. §  Task streams can be converted to regular §  Task streams parented to another stream follow the rules!

§  merge-down copy-up.

7  

13.1 Server - Replication Filtered  ReplicaAon  

• Only  take  what  you  need  at  each  site  

• Reduce  bandwidth    • Faster  setup  

Chained  Replicas  

• Have  one  replica  feed  others  

• Easily  support  a  larger  build  farm  or  several  satellite  offices  

• Only  once  “across  the  ocean”  

Git  ReplicaAon  

• Fast  local  data  access  

• Consistent  push/pull  

• Consistent  security  • Trusted  HA/DR  

And of course you can use regular proxies and replicas…

8  

Perforce Today Current Solutions

The Problem is…

9  

§  Remote sites

§  Large teams

§  Automation

§  Git mirrors

Supporting

Versioning Service

Proxy

Proxy

Replication Service

11  

Road Map New Solutions

12  

“100X” Initiative

“100X”  

Data Centre

Dis

trib

uted

Today

13  

100X Includes…

Failover Distributed optimization

Reduced

network load

Horizontal scaling

Concurrency

14  

The Road to 100X

Proxy

Replicas

Filtered / Chained

Commit / Edge

Clustering

14  

15  

100X: Advanced Replication

DO NOT DISTRIBUTE 15  

Filtered Replication

Chained Replicas

Git Replication

Available Now

16  

100X: Remote Site Support

16  

Eliminate  WAN  traffic  for  many  

opera9ons  

Reduce  data  transfer  

Commit  

Edge   Edge  

17  

Reduced Activity on Commit Instance

17  

Replica   Master   Edge   Master  

18  

Remote Sites: Just Faster

56.6  

8.7  

61  

9.8  

0.9   0.7   1.8   0.2  0  

10  

20  

30  

40  

50  

60  

70  

Sync   Revert   Integrate   Edit  

COMMON  OPERATIONS  WITH  128MS  LATENCY  BETWEEN    CLIENT  AND  P4D  

Direct   Edge  

19  

100X: 2014

Horizontal scaling (read ops) High availability (failover)

Concurrency

20  

Nuts and Bolts Details, details, details…

21  

100X

Failover Commit/edge

Chain replicas

Horizontal scaling

Concurrency

Filter replicas

22  

Chaining Replicas

22  

p4  configure  set  replicaSingapore#P4TARGET=master:1666 p4  configure  set  replicaHK#P4TARGET=replicaSingapore:1666

Configuration

Use common sense

Ask for help when necessary

Master Repository(California)

Read-Only Replica(Singapore)

Read-Only Replica(Hong Kong)

Read-Only Replica(Singapore)

Read-Only Replica(Singapore)

23  

Filtering Replicas

Configure in server spec and pull commands

23  

>  p4  server  repl      ServerID:              repl      RevisionDataFilter:                  //gui/...      >  p4  configure  set  "repl#startup.1=pull  -­‐i  1  -­‐P  repl"  

Singapore Replica

Estonia Replica

Toronto Replica 20 TB

500 GB

50 GB

Master Repository(US)

500 TB

24  

Git Replication

24  

Configuration •  Set P4PORT in Git Fusion

configuration to proxy, broker, or replica

Access control •  Set IP-based rules on Git Fusion

account

FAQ •  Commits are identical across all Git

Fusion instances

Upgrading to commit / edge

DR Replica

Build Server Replica

Versioning Service

Small Remote Office

Large Remote Office

Proxy Service

Forwarding Replica Git Fusion

Main Office

Upgrading to commit / edge

DR Replica

Edge Server (for Build Farm)

Versioning Service

Small Remote Office

Large Remote Office

Proxy Service

Edge Server Git Fusion

Main Office

Edge Server (for Users)

27  

2014: Horizontal Scaling of Read Operations

Write  Node  

Read  Node  

Read  Node  

Read  Node  

Journal  Service  

Coordinator

Read Node

28  

Write  Node  

Read  Node  

Read  Node  

Read  Node  

Coordinator  

Journal  Service  

2014: High Availability and Failover

29  

2014: Improved Replication Throughput

Write  Node  

Read  Node  

Read  Node  

Read  Node  

Coordinator  

Journal  Service  

Durable  write  

30  

100X

Advanced  replicaAon   Remote  Sites   Scaling,  failover,  

and  concurrency  

Perforce  

Git  

31  

Questions? See Git Fusion in the Demo Area

P4Ideax   Forums  

Recommended