Title: 3184 Optimizing StarTeam for Distributed Teams
13184Optimizing StarTeam for Distributed Teams
- Randy Guck
- Chief Scientist, DSP
- Borland
-
2Overview
- The distributed team dilemma
- The challenge
- The dilemma
- Advantages and concerns of replication
- Advantages and concerns of centralization
3Overview
- Distributed teams the StarTeam way
- Optimizations for remote teams
- Client-activated options
- New features for StarTeam 7.0
- StarTeamMPX
- Turning the network inside-out
- New features for StarTeam 7.0
- StarTeam Import/Export Manager
- The future of distributed teams
4The Distributed Team Dilemma
5Centralize or Replicate?
- The challenge
- Teams are increasingly becoming distributed
- Global companies, out-sourcing, etc.
- Geographically dispersed teams need access to the
same lifecycle artifacts - Variation Sometimes network issues raise the
same issues for network near teams
6Centralize or Replicate?
- The dilemma
- Should repositories be centralized and access
provided to all team members? or - Should repositories be replicated to remote
locations for local access?
7Replication
- Advantages
- Network-near performance for remote teams
- Remote teams remain productive when the root
server is inaccessible
8Replication
- Concerns
- High administrative cost for constant replication
- Artificial merge conditions introduced
- Replication demands its own bandwidth and
reliability - High product cost (extra hardware, licenses,
DBAs, )
9Centralized Repositories
- Advantages
- Maximum administrative control
- Users, groups, security
- Workflow, customization
- Product versions and upgrades
- No artificial merge conditions
- Lowest overall cost (e.g., admin, servers, H/A
features in one place)
10Centralized Repositories
- Concerns
- How do remote teams get performance?
- How do remote teams remain productive during
network brownouts?
11The StarTeam Solution
- StarTeam promotes centralized repositories
- Highest control/security, lowest cost
- How do remote teams remain productive?
- Optimizations for remote users
- Innovative technology for remote teams
- Intelligent push caching, reducing the need to
touch the network - Replication not needed for distributed teams!
12Optimizations forRemote Teams
13StarTeam C/S Architecture
StarTeam Client
StarTeam Server
Command API
StarTeam Client
DB
Vault
All information is pulled by clients using a
request/reply command API
StarTeam Client
14Optimizations for Remote Teams
- Command API compression
- Reduces network traffic up to 80
15Optimizations for Remote Teams
- Delta check-outs for faster check-outs
- New for 7.0 Cross-platform client support
16Optimizations for Remote Teams
- Auto-reconnect Connection loss resiliency
- New for 7.0 Cross-platform client support
17StarTeamMPXTurning the network inside/out
18StarTeamMPX Architecture
StarTeam Client
StarTeam Server
Event publish stream
Message Broker
StarTeam Client
DB
Vault
Updated objects are pushed to clients, preventing
poll and refresh requests, reducing network demand
StarTeam Client
19StarTeamMPX Profiles
- Deploy a Message Broker in each geographic region
with gt 5 users - Note Maximum 10 Message Brokers
- Create an MPX profile for each Message Broker
- e.g., Denver MPX Profile
- Set the client default profile to the one most
users will use
20Hub-and-Spoke Configuration
MB
MB
ST Server and MB
MB
MB
21Using StarTeamMPX
- First enable it
- Automatic refresh options take advantage of
update messages
22Using StarTeamMPX
- then choose the appropriate MPX profile
23New for 7.0 MPX Cache Agent
StarTeam Client
StarTeam Server
Check-out requests
Message Broker
Cache Agent
DB
Vault
File publish stream
Encrypted Cache
The Cache Agent is trickled charged with file
contents, providing an alternate check-out source
for remote clients.
StarTeam Client
24MPX Cache Agent
- Advantages
- New files are broadcast once
- Unicast and multicast broadcasting
- Multiple Cache Agents can be deployed to assist
remote locations - Cache Agents are trickled-charged automatically
(push caching) - Multiple StarTeam server support
25MPX Cache Agent
- Advantages
- Files are encrypted in transfer and storage
- Cache Agent-aware clients can check-out from any
Cache Agent - Clients can be configured to auto-locate the
nearest Cache Agent - Up to 98 of outbound traffic removed from
StarTeam server
26MPX Cache Agent
- Advantages
- Remote users receive network-near check-out
performance - Bulk/parallel check-out faster than normal
check-out - Traffic reduced over long wires more bandwidth
for other apps - Server availability window reduced for large
file check-outs
27Stacked Cache Agents
StarTeam Client
StarTeam Server
Message Broker
Remote Cache Agent
DB
Vault
Encrypted Cache
StarTeam Client
Root Cache Agent
Catch-up/forwarded requests
Alternate check-out path
28Tiered Cache Agents
- Advantages
- Special root Cache Agent provides forwarding
headwater - Downstream Cache Agents can forward request
misses to root Cache Agent - All Cache Agents in the stream are charged
along the way (like traditional demand caching)
29Tiered Cache Agents
- Advantages
- Downstream Cache Agents can catch-up from root
Cache Agent after network outages - Cache Agents know how to recharge/synchronize,
regardless of clocks, topologies, etc. - New Cache Agents can pre-charge from root Cache
Agent
30Tiered Cache Agents
- Advantages
- Cache Agents can be tiered in any configuration
any of levels - Cache Agents auto-locate the root Cache Agent
minimal configuration - New remote Cache Agents can be added to the cloud
dynamically auto-locate clients will
automatically find and use
31Cache Agent-Aware Clients
32Cache Agent-Aware Clients
- Bulk check out (BCO) command-line utility
- Alternative to stcmd co command
- Cache Agent-aware
- Switches to regular check-out if needed
- Example
- bco -p "userpw_at_prod149201/Project1/View1/srcfile
s" - -useCA autolocate -cfgl "6.0.1" -is -o -filter
IO ".java"
33Distributed Cache Agents
MB and CA
MB and CA
ST Server, MB, and root CA
MB and CA
MB and CA
34StarTeam Import/Export Manager
35Is Replication Ever Needed?
- Most cited reasons for replication
- Scalability
- Team size exceeds server capabilities
- Not a valid reason for StarTeam!
- Distributed teams
- Software doesnt support remote teams
- Not a valid reason for StarTeam!
36Is Replication Ever Needed?
- Most cited reasons for replication
- Security issues
- Establish a virtual firewall between teams
- Not a valid reason for StarTeam!
- Connectivity
- No physical network with a remote team
- The most valid reason for needing replication
37New for StarTeam 7.0StarTeam Import/Export
Manager
- Features
- Separate export, transfer, and import phases
- Full and incremental export/import
- Scoped processing server, project, view, folder
hierarchy - Ideal for project transfer
38Import/Export Basic Flow
39StarTeam Import/Export Manager
- Ideal for copying critical projects from one
repository to another - Bi-directional flows can be set-up
- Can be used to move projects to new servers
(e.g., for rebalancing) - Note Copied projects are not identical to the
original - E.g., CR numbers may change
40The Future of Distributed Teams
41Where are we headed?
- Occasionally-connected/mobile teams
- Read-only caching of all artifacts
- Client auto save of view contexts
- Updates queued and resynched when connectivity is
restored - Think email client/PDA metaphor
- Merge conditions resolved during sync
42Summary
- Optimize StarTeam for distributed teams
- Centralized repositories
- Command compression, delta check-out,
auto-reconnect - StarTeamMPX, distributed Cache Agents, CA-aware
clients - StarTeam Import/Export Manager when replication
is the only choice
43Questions?
44Thank You
- 3184
- Optimizing StarTeam for Distributed Teams
- Please fill out the speaker evaluation
- You can contact me further at randy.guck_at_borland
.com