microservices vs. the first law of distributed objects - goto nights chicago 2017
TRANSCRIPT
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