Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
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
Prochain SlideShare
Chargement dans…5
×

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

1 050 vues

Publié le

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.

Publié dans : Logiciels
  • Identifiez-vous pour voir les commentaires

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

×