21
Single Source of Truth in a distributed world Sven Erik Knop

Single Source of Truth in a Distributed World by Sven Erik Knop

Embed Size (px)

Citation preview

Page 1: Single Source of Truth in a Distributed World by Sven Erik Knop

Single Source of Truth

in a distributed world

Sven Erik Knop

Page 2: Single Source of Truth in a Distributed World by Sven Erik Knop

Centralised Version Control System (CVCS)

VCS Local clients

Build servers

Remote clients

Firewall

Page 3: Single Source of Truth in a Distributed World by Sven Erik Knop

Advantages of CVCS

•Central security and authentication settings

•Overview of all projects

•Backup and maintenance

•Global workflow policies

•Simplified compliance checking

Page 4: Single Source of Truth in a Distributed World by Sven Erik Knop

Disadvantages of CVCS

•Single point of failure

•Shared resource – shared performance

•One-size-fits-all (read “heavy”) approach to management

•No flexibility like working on the road

•Feels heavy and old-fashioned

Page 5: Single Source of Truth in a Distributed World by Sven Erik Knop

Distributed Version Control System (DVCS)

Page 6: Single Source of Truth in a Distributed World by Sven Erik Knop

Advantages of DVCS

• No network connection needed for common operations

• Automatic backup of repositories (multiple masters)

• Freedom

• No permissions necessary

• No oversight or control

• Different Workflows available, for example

• Commander / Lieutenant

• Pull requests

• Fast!

Page 7: Single Source of Truth in a Distributed World by Sven Erik Knop

DVCS workflows

File Store Commander/Lieutenants Management Tool

Without oversight you’ll often find all types of workflows

Page 8: Single Source of Truth in a Distributed World by Sven Erik Knop

DVCS in the Enterprise

•Requires management for

• User authentication and access management

• IP security

• Simplify reuse (why reinvent the wheel?)

• Compliance and traceability

• Common coding standards, build tools, test environments ...

•One place to find all projects and files?

Page 9: Single Source of Truth in a Distributed World by Sven Erik Knop

Single Source of Truth

Page 10: Single Source of Truth in a Distributed World by Sven Erik Knop

Why do we need a Single Source of Truth?

•Project consistency across all assets

•Code reuse & components

•Single administration & enhanced security

•For all teams around the globe

Page 11: Single Source of Truth in a Distributed World by Sven Erik Knop

Requirements for Single Source of Truth?

•Single place for all types of documents of all sizes

•Common security and authentication settings

•Global access and visibility

•Flexible workflows

•Fast, reliable and not bogged down by build processes

Page 12: Single Source of Truth in a Distributed World by Sven Erik Knop

Common security and authentication

•Your IP is the most important asset of your enterprise

•Can you authenticate every person accessing your IP?

•Can you guarantee that only authorized users have access?

•Can you protocol and audit any access?

•Can you protect your IP against insider threats?

Page 13: Single Source of Truth in a Distributed World by Sven Erik Knop

Global access and visibility

Development Team West

Design Team West

Design Team East

Headquarters

Page 14: Single Source of Truth in a Distributed World by Sven Erik Knop

Single Source of Truth with Perforce Helix

Page 15: Single Source of Truth in a Distributed World by Sven Erik Knop

One version of all your assets

Contributors

Consumers

Page 16: Single Source of Truth in a Distributed World by Sven Erik Knop

Distributed Single Source of Truth

Versioning Service

Proxy

Proxy

Edge Service (humans)

D/R

Edge Service (automation)

Page 17: Single Source of Truth in a Distributed World by Sven Erik Knop

Hybrid workflow

•Direct connection increases visibility

• Which file(s) are you currently working on?

• Enables locking of digital (non-mergeable assets)

•Shelving and reviews for immediate feedback

•DVCS for increased mobility and flexibility

• Native DVCS and Git

Page 18: Single Source of Truth in a Distributed World by Sven Erik Knop

Perforce Helix — Unique Hybrid Version Management

Developers use the tools &

workflows they prefer

Business gets visibility,

scalability, and security

Git Coder-preferred tools

Centralized Control, visibility, security

Helix Local Instance Enterprise-grade DVCS

PRODUCTIVITY BUSINESS

REQUIREMENTS VS

Page 19: Single Source of Truth in a Distributed World by Sven Erik Knop

Security and Management

•Central access control for any file or asset

•Each change is protocolled

•Audit log keeps track of any access

Page 20: Single Source of Truth in a Distributed World by Sven Erik Knop

Centralised vs Distributed?

•In the Enterprise:

• Many developers demand DVCS

• Still require central management

• Single Source of Truth for all source, assets and artefacts

•Hybrid version management

• Both distributed and centralised

• Single Source of Truth - with all the benefits of a distributed system

Page 21: Single Source of Truth in a Distributed World by Sven Erik Knop

Sven Erik Knop

@p4sven

[email protected]

Q&A