Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
smal...
what are
objects
anyway?
"Smalltalk’s design—and existence—is
due to the insight that everything we can
describe can be represented by the
recursiv...
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?
Monolith
Class
?
a real-world
example
billing
billing
BillableUser
?
it’s all about
the language
run-rate
invoice
credit card
user
droplet-started
droplet-destroyed
tax
currency
bank account
realised revenue
run-rate
invoice
credit card
user
droplet-started
droplet-destroyed
tax
currency
bank account
realised revenue
product pri...
rating invoicing
payment
-collectingusers
rating invoicing
payment
-collecting
users
Highly
visible
Not
visible
Novel Commodity
the ubiquitous
language can
give you a
blueprint
…unless you are
too big or too
small
Q&A
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017
Upcoming SlideShare
Loading in …5
×

of

Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 1 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 2 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 3 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 4 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 5 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 6 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 7 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 8 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 9 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 10 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 11 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 12 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 13 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 14 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 15 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 16 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 17 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 18 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 19 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 20 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 21 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 22 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 23 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 24 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 25 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 26 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 27 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 28 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 29 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 30 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 31 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 32 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 33 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 34 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 35 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 36 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 37 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 38 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 39 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 40 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 41 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 42 Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago 2017 Slide 43
Upcoming SlideShare
Microservices in your Datacentre
Next
Download to read offline and view in fullscreen.

7 Likes

Share

Download to read offline

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

Download to read offline

TALK #2: Microservices vs. The First Law of Object Design

We've been breaking systems and application into smaller components for a long time now. From Component-Based Design to Distributed Objects to SOA to what is today's preferred golden hammer: microservices.

One definition of microservices is that it is a flavor of SOA that emphasizes many specialize services versus a few more generalist ones. Often these microservices are so small that they take care of a single "object". Distributed objects aren't new to this industry, and in 2003, Martin Fowler wrote a classic article where he discusses several problems with this model, and proposes the First Law of Distributed Objects:

"Objects have been around for a while, and sometimes it seems that ever since they were created, folks have wanted to distribute them. However, distribution of objects, or indeed of anything else, has a lot more pitfalls than many people realize, especially when they're under the influence of vendors' cozy brochures. This article is about some of these hard lessons-lessons I've seen many of my clients learn the hard way... my First Law of Distributed Object Design: Don’t distribute your objects!"

Reinventing the wheel is nothing new in our field, but if microservices are meant to be small, how can we avoid the same problems from the past? What are the technologies, architectures, protocols, and practices we need in place to make sure that our microservices architecture isn't just the largest bowl of spaghetti this organization has ever cooked?

SPEAKER: Phil Calçado, Director of Software Engineering at DigitalOcean
Phil Calçado works at DigitalOcean, where he helps build the cloud for developers. Before that, he spent four years building the team and architecture behind SoundCloud's move from a monolith to microservices. He tweets at @pcalcado writes at http://philcalcado.com.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

  1. 1. Phil Calçado - @pcalcado philcalcado.com Microservices vs. The First Law of Distributed Objects
  2. 2. Phil Calçado - @pcalcado philcalcado.com Microservices vs. The First Law of Distributed Objects
  3. 3. (disclaimer)
  4. 4. Servers used to be very expensive. Efficient software was mandatory.
  5. 5. Internet usage was growing drastically. And so was the demand for engineers.
  6. 6. "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. "
  7. 7. what are objects anyway?
  8. 8. "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."
  9. 9. i.e. annoying little things that can’t do anything on their own.
  10. 10. An analogy from the meatspace
  11. 11. i.e. annoying little things that can’t do anything on their own.
  12. 12. Communication isn’t free
  13. 13. don’t
  14. 14. don’t
  15. 15. don’t
  16. 16. and there was much rejoicing
  17. 17. fast forward to 2017
  18. 18. microservices
  19. 19. what are microservices anyway?
  20. 20. "Microservices are small, autonomous services that work together."
  21. 21. i.e. annoying little things that can’t do anything on their own.
  22. 22. wtf? and still…
  23. 23. 1. technology did get better
  24. 24. no more design-by-committee
  25. 25. 2. services are coarse-grained
  26. 26. the problem with microservices is the micro service microservice?
  27. 27. Monolith Class ?
  28. 28. a real-world example
  29. 29. billing
  30. 30. billing BillableUser ?
  31. 31. it’s all about the language
  32. 32. run-rate invoice credit card user droplet-started droplet-destroyed tax currency bank account realised revenue
  33. 33. run-rate invoice credit card user droplet-started droplet-destroyed tax currency bank account realised revenue product price charging model
  34. 34. rating invoicing payment -collectingusers
  35. 35. rating invoicing payment -collecting users Highly visible Not visible Novel Commodity
  36. 36. the ubiquitous language can give you a blueprint
  37. 37. …unless you are too big or too small
  38. 38. Q&A
  • powerirs

    Sep. 16, 2020
  • PulojanSatchithanant

    May. 2, 2018
  • Gudimetla

    Mar. 28, 2018
  • alexandreaquiles

    Oct. 9, 2017
  • JohnSchroder3

    Sep. 28, 2017
  • cecuesta

    Mar. 15, 2017
  • emerleite

    Mar. 8, 2017

TALK #2: Microservices vs. The First Law of Object Design We've been breaking systems and application into smaller components for a long time now. From Component-Based Design to Distributed Objects to SOA to what is today's preferred golden hammer: microservices. One definition of microservices is that it is a flavor of SOA that emphasizes many specialize services versus a few more generalist ones. Often these microservices are so small that they take care of a single "object". Distributed objects aren't new to this industry, and in 2003, Martin Fowler wrote a classic article where he discusses several problems with this model, and proposes the First Law of Distributed Objects: "Objects have been around for a while, and sometimes it seems that ever since they were created, folks have wanted to distribute them. However, distribution of objects, or indeed of anything else, has a lot more pitfalls than many people realize, especially when they're under the influence of vendors' cozy brochures. This article is about some of these hard lessons-lessons I've seen many of my clients learn the hard way... my First Law of Distributed Object Design: Don’t distribute your objects!" Reinventing the wheel is nothing new in our field, but if microservices are meant to be small, how can we avoid the same problems from the past? What are the technologies, architectures, protocols, and practices we need in place to make sure that our microservices architecture isn't just the largest bowl of spaghetti this organization has ever cooked? SPEAKER: Phil Calçado, Director of Software Engineering at DigitalOcean Phil Calçado works at DigitalOcean, where he helps build the cloud for developers. Before that, he spent four years building the team and architecture behind SoundCloud's move from a monolith to microservices. He tweets at @pcalcado writes at http://philcalcado.com.

Views

Total views

1,313

On Slideshare

0

From embeds

0

Number of embeds

86

Actions

Downloads

25

Shares

0

Comments

0

Likes

7

×