microservices in your datacentre · microservices in your datacentre. digitalocean.com phil...

41
digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre

Upload: others

Post on 11-Jun-2020

12 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

digitalocean.com

Phil Calçado @pcalcado

philcalcado.com

Microservices in your Datacentre

Page 2: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

digitalocean.com

Phil Calçado @pcalcado

philcalcado.com

Microservices in your Datacentre

Page 3: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18
Page 4: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

13 datacentres

Page 5: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

~18 million droplets

Page 6: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

a grown-up infrastructure

company

Page 7: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Why am I even here?

Page 8: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Projects take too long

idea $$

Page 9: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Upon closer look

idea $$

Page 10: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Product Engineering

Cloud Engineering

Page 11: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

We will be talking about Product Engineering

Page 12: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

I am completely biased

Page 13: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

"The general tendency is to over-design the second system, using all the ideas and frills that were cautiously sidetracked on the first one."

— Fred Brooks, "The Second-System Effect"

Page 14: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

finaglescalamuxservicediscoverybuildpipelinesconsulrabbitmqkubernetesdockerzipkineventsourcingservicesdirectorygolangbffsidecarsthriftcircuitbreakerszookeeperkafkaprometheusjenkinsrundeckcassandrahadoophystrixrxjavastitch

what to prioritise?

Page 15: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Some stuff is just mandatory.

Page 16: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

• Rapid provisioning • Basic Monitoring • Rapid application deployment

Page 17: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

• Rapid provisioning 😎 • Basic Monitoring💩 • Rapid application deployment 💩

Page 18: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18
Page 19: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18
Page 20: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Value-Added Service

Critical Path Service

PCI, ect.

Page 21: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

And some other stuff is just taste.

Page 22: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

HTTP+JSON

Page 23: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Performance isn’t likely to be your problem using it.

Page 24: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Tolerant Reader leads to lots of duplicated code.

Page 25: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Duplicated code leads to client libraries.

Page 26: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Client libraries lead to release management overhead.

Page 27: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Client libraries lead to hidden business logic.

Page 28: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Client Libraries need to be efficient, lean, robust.

Page 29: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

They don’t need to be written manually.

Page 30: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Something I’m sure you’ll have:

Page 31: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Circular dependencies.

Page 32: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

Event Bus

Circles can often be broken by async events

Page 33: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

We are event driven by nature

Page 34: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18
Page 35: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18
Page 36: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

What should be a service?

Page 37: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

billing

Page 38: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

rating invoicingpayment

-collectingenabled -features

Page 39: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

rating invoicingpayment

-collectingenabled -features

Highly visible

Not visible

Novel Commodity

Page 40: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

It’s early days, but we can already see progress.

idea $$

Page 41: Microservices in your Datacentre · Microservices in your Datacentre. digitalocean.com Phil Calçado @pcalcado philcalcado.com Microservices in your Datacentre. 13 datacentres ~18

digitalocean.com

Q&A