Microservices and Monorepos Match made in heaven? Sven Erik Knop, - - PowerPoint PPT Presentation

microservices and monorepos
SMART_READER_LITE
LIVE PREVIEW

Microservices and Monorepos Match made in heaven? Sven Erik Knop, - - PowerPoint PPT Presentation

Microservices and Monorepos Match made in heaven? Sven Erik Knop, Perforce Software Overview Microservices refresher Microservices and versioning What are Monorepos and why use them? These two concepts seem to contradict why


slide-1
SLIDE 1

Microservices and Monorepos

Match made in heaven? Sven Erik Knop, Perforce Software

slide-2
SLIDE 2

2

Overview

  • Microservices refresher
  • Microservices and versioning
  • What are Monorepos and why use them?
  • These two concepts seem to contradict – why mix them

together?

  • The magic of narrow cloning
  • A match made in heaven!
slide-3
SLIDE 3

3

Why Microservices?

  • Monolithic approach:

App Database

slide-4
SLIDE 4

4

Microservices approach

  • Individual Services

Database DB DB

slide-5
SLIDE 5

5

Versioning Microservices

  • Code
  • Executables and Containers
  • Configuration
  • Natural choice: individual repositories for each service  Git
  • But:
  • Security
  • Visibility
  • Refactoring
  • Single change id to rule them all?
slide-6
SLIDE 6

6

Monorepo

  • Why would you use a monorepo?
  • Who is using monorepos?
  • How would you use a monorepo?
slide-7
SLIDE 7

7

Monorepos: Why would you do this?

  • Single Source of Truth for all projects
  • Simplified security
  • Configuration and Refactoring across entire application
  • Single change id across all projects
  • Examples:
  • Google, Facebook, Twitter, Salesforce, ...
slide-8
SLIDE 8

8

Single change across projects

change 314156

slide-9
SLIDE 9

9

Monorepos: Antipatterns

User workspace User workspace

slide-10
SLIDE 10

10

Monorepos – view mapping

User workspace

  • Map one or more services
  • Users only access files they need
  • Simplified pushing of changes
slide-11
SLIDE 11

11

What does this have to do with Git?

  • Git does not support Monorepos
  • Limitations on number and size of files, history, contributing users
  • Companies have tried and failed
  • Android source spread over a thousand Git repositories
  • Requires repo and gerrit to work with
slide-12
SLIDE 12

12

How can we square this circle?

https://en.wikipedia.org/wiki/Squaring_the_circle

slide-13
SLIDE 13

13

Narrow cloning!

  • Clone individual projects/services
  • Clone a group of projects into a single repo
slide-14
SLIDE 14

14

Working with narrowly cloned repos

  • Users work normally in Git
  • Fetch and push changes from and to monorepo
  • SHAs preserved within the same repo
  • SHAs for compound repos will differ
  • But: common change id in the monorepo
slide-15
SLIDE 15

15

So what does Perforce have to offer?

  • The vendor talk bit ...
slide-16
SLIDE 16

16

Who we are

  • Perforce helps delivery teams build

complex products collaboratively, securely and efficiently.

  • Commonly used for…
  • Software
  • Games
  • Electronics
  • Animations
  • Chipsets
  • Medical Devices
  • IoT

Global 24x7 Support

slide-17
SLIDE 17

17

Managing IP for market leaders

Chips Games & Animation Cloud/SW Electronics Systems Automotive

slide-18
SLIDE 18

18

  • Hybrid Workflows
  • Distributed & Centralized Version control,

code reviews, simple file sharing

  • Happy developers & contributors
  • Every File
  • Efficiently handles large, often binary, data
  • DevOps Stay Happy & Productive
  • A mainline source for all builds even with

distributed development

  • All IP Safe & Secure
  • Granular permissions, theft risk monitoring

Perforce Helix

CONTRIBUTORS CONSUMERS

slide-19
SLIDE 19

19

More performance More uptime More control Better coordination Binaries Large files Protect IP Regulations/audit More code More frequently More freedom More flexibility All text Small files Code anywhere Local repos

Perforce Helix

Serves developers Serves operations

Coordinate Development & Operations at Scale

slide-20
SLIDE 20

20

GitSwarm: Integrated Git Management

Based on GitLab CE

  • Self-service repos
  • Merge requests
  • Permissions
  • Issue tracking, etc.
slide-21
SLIDE 21

21

Mirrored to the Helix Versioning Engine

  • Automatic bidirectional mirroring with Helix servers
  • Helix enforces security, down to the file level if needed
  • Immutable content for audit trails, regulated industries, etc.
  • Support for Git LFS that works for DevOps
slide-22
SLIDE 22

22

Work Locally, Scale Globally

  • Distributed environment

for developers

  • Git experience and workflow

equivalent to well known tools

  • Single source of truth
  • Perforce reliability and stability

protecting your assets

Helix GitSwarm

slide-23
SLIDE 23

23

Microservices and Monorepos?

Narrow cloning ...