on microservices and monoliths

Post on 22-Jan-2018

121 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

on µservices and monolithsHosted by

Let’s meet our speakers

Barak Shechter - Director of Architecture at Calypso Technology. He has focused

his career in software architecture for big data and cloud applications--specializing

in how to build resilient, fault tolerant distributed systems.

Daniel Rolnick - Chief Technology Officer of ShopKeep. He has been building

SaaS based software for the past 16 years with a focus on decreasing release

cycles for the past 8 years.

John Eckhart - Business Technology Officer at Yodle/Web.com. He primarily

seeks to keep Barak and Daniel on their toes and may have designed some of the

things they will talk about. ;-)

Quick Poll

● How often are your teams releasing software today?

● Does your team:

○ practice continuous integration?

○ have a release train?

○ practice continuous delivery?

● Have you heard of the terms: bulkheading or decoupling?

Are Microservices Good?

● Pros

○ Smaller computational units improve testability

○ Smaller changes are easier to release

○ Fewer dependencies means smaller machines

○ Granular deployable components are independently scalable

● Cons

○ Significant overhead to large scale micro-services organizations

○ Cognitive load for complex service architectures brings challenges

Are Monoliths Bad?

● Pros

○ A well architected Monolith has a lower cognitive load

○ Existing development tools make monoliths easy to deal with

● Cons

○ Monoliths can grow too large to develop locally

○ Complex testing requirements may make it difficult to push out small changes

○ Release trains are more complex

Architectural Paradigms

100 systems surveyed for patterns on decoupling.

Top 5 answers on the board

Hands on your buzzers

It’s time to play: The Feud

Let’s Play The Feud - How do you like to decouple?

Let me see.... Sharding

SHARDING

10

Sharding

Application

DB

Sharding

Some Router

Application

DB

Shard 1

Sharding

Some Router

Application

DB

Shard 1

Sharding

Some Router

Application

DB

Shard 2

Application

DB

Shard 1

Sharding

Some Router

Application

DB

Shard 2

Application

DB

Shared

DB

Back to the Board

SHARDING

10

Let me see.... Messaging

SHARDING

40

MESSAGING

Messaging

Application

Logical

Unit

DB

Messaging

Application

Logical

Unit

DB

Logical

UnitMessage Bus

Messaging

Application

DB

Logical

UnitMessage Bus

Logical

Unit

Messaging

Application

DB

Logical

UnitMessage Bus

Logical

Unit

DB

Two Down. Three to Go.

SHARDING

40

MESSAGING

Let me see.... Streams

SHARDING

50

MESSAGING

STREAMS

Stream Processing

Application

Logical

UnitMessage Bus

DB

Stream Processing

ApplicationMessage Bus

DB

Logical

Unit

Stream Processing

ApplicationMessage Bus

DB

Stream Processing

ApplicationMessage Bus

DB DB

Two answers left on the board

SHARDING

50

MESSAGING

STREAMS

Let me see.... Services

SHARDING

70

MESSAGING

STREAMS

SERVICES

Services

Application

Services

Application

Logical Unit 3 Logical Unit 4

Logical Unit 2Logical Unit 1

Services

Application

Logical Unit 3 Logical Unit 4

Unit 2 Call

RouterLogical Unit 1 Logical Unit 2

Services

Application

Logical Unit 3 Logical Unit 4

Unit 2 Call

RouterLogical Unit 1 Logical Unit 2

Logical Unit 2.1

Services

Application

Logical Unit 3 Logical Unit 4

Unit 2 Call

RouterLogical Unit 1

Logical Unit 2.1

One Answer Remaining

SHARDING

70

MESSAGING

STREAMS

SERVICES

Let me see.... Contracts

SHARDING

100

MESSAGING

STREAMS

SERVICES

CONTRACTS

Contracts

Contracts

Questions

top related