Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017

Preview:

Citation preview

Phil Calçado - @pcalcado philcalcado.com

Microservices vs. The First Law of Distributed Objects

Phil Calçado - @pcalcado philcalcado.com

Microservices vs. The First Law of Distributed Objects

(disclaimer)

Servers used to be very expensive.

Efficient software was mandatory.

Internet usage was growing drastically.

And so was the demand for engineers.

"The flexible, server-side infrastructure of CORBA makes it feasible to develop servers that can scale from handling a small number of objects up to handling a virtually unlimited number of objects. "

what are objects

anyway?

"Smalltalk’s design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages."

i.e. annoying little things that can’t do anything on their

own.

An analogy from the meatspace

i.e. annoying little things that can’t do anything on their

own.

Communication isn’t free

don’t

don’t

don’t

and there was much rejoicing

fast forward to 2017

microservices

what are microservices

anyway?

"Microservices are small, autonomous services that work together."

i.e. annoying little things that can’t do anything on their

own.

wtf?

and still…

1. technology did get better

no more design-by-committee

2. services are coarse-grained

the problem with microservices is the

micro

service microservice?

MonolithClass ?

a real-world example

billing

billingBillableUser ?

it’s all about the language

run-rate

invoice

credit card

user

droplet-started

droplet-destroyed

taxcurrency

bank account

realised revenue

run-rateinvoice

credit card

user

droplet-starteddroplet-destroyed

taxcurrency

bank account

realised revenue

product price

charging model

rating invoicing

payment -collectingusers

rating invoicingpayment

-collectingusers

Highly visible

Not visible

Novel Commodity

the ubiquitous language can

give you a blueprint

…unless you are too big or too

small

Q&A

Recommended