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.
I HAVE
MICROSERVICES
(and I didn’t know)
@despos facebook.com/naa4e Press
DINO
ESPOSITO
EXPOWARE SOFT - 2016
Samuel Beckett, 1983
Ever tried.Ever failed.No matter.Try agai
Fail again.Fail better.
EXPOWARE SOFT - 2016
MICROSERVICES
EXPOWARE SOFT - 2016
MANY TIMES,
THINGS
LOOK
DIFFERENT
FROM WHAT
THEY ARE…
EXPOWARE SOFT - 2016
EXPOWARE SOFT - 2016
Microservices are not exactly
what we often hear and read
Architecture >> Technology
EXPOWARE SOFT - 2016
MICROSERVICES
EXPOWARE SOFT - 2016
MICROSERVICE
A particular way of designing software applications as suites
of independently deployabl...
EXPOWARE SOFT - 2016
SOA
IN OTHER WORDS …
JUST MADE
SIMPLER
EXPOWARE SOFT - 2016
WS-XXX protocols
SOA tenets
EXPOWARE SOFT - 2016
 Tenet 1: Boundaries are explicit.
 Tenet 2: Services are autonomous.
 Tenet 3: Services share sch...
EXPOWARE SOFT - 2016
EXPOWARE SOFT - 2016
Vertical stacks of
logic and data
Can contain replicated data
Can access data via services
Easy to pa...
EXPOWARE SOFT - 2016
MONOLITHIC APPLICATION
EXPOWARE SOFT - 2016
SEGMENTED APPLICATION
COLLECTION OF MONOLITHIC APPLICATIONS
EXPOWARE SOFT - 2016
from BOUNDED CONTEXT to MICROSERVICE
EXPOWARE SOFT - 2016
HOW DO WE GET THERE?
EXPOWARE SOFT - 2016
ImplementationStrategic Design
Ubiquitous
language
Bounded
contexts
Domain model
Layered
architecture...
EXPOWARE SOFT - 2016
Business
domain
Bounded
context
Bounded
context
Bounded
context
Bounded
context
Business
domain
SOFTW...
EXPOWARE SOFT - 2016
Bounded Context
Ubiquitous language
Independent
implementation
External interface
(to other contexts)
EXPOWARE SOFT - 2016
Functional areas of the application that are better treated separately
Same term meaning different th...
EXPOWARE SOFT - 2016
CONTEXT MAP
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
API
SERVER
SCORING
SERVER
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
API
SERVER
SCORING
SERVER
PLAYER
SERVER
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
LIVE DATA
SERVER
SCORING
SERVER
PLAYER
SERVER
API
SERVER
CMS
SERVER
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
LIVE DATA
SERVER
SCORING
SERVER
PLAYER
SERVER
API
SERVER
CMS
SERVER
TOURNAMENT
S...
EXPOWARE SOFT - 2016
SAY YOU’RE A STARTUP
LIVE DATA
SERVER
SCORING
SERVER
PLAYER
SERVER
LIVE DATA
SERVER
CMS
SERVER
TOURNA...
EXPOWARE SOFT - 2016
I Built a (Perfect)
Microservice Architecture
and I Didn’t Know
EXPOWARE SOFT - 2016
The reason we ended up to microservices has to do
much more with productivity than pure technical
mat...
EXPOWARE SOFT - 2016http://twitter.com/hhariri/status/540463864622895104
EXPOWARE SOFT - 2016
The user of the software won’t know what
she wants until she sees the software.
Humphrey’s Law
An int...
EXPOWARE SOFT - 2016
@despos
Upcoming SlideShare
Loading in …5
×

of

.NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 1 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 2 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 3 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 4 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 5 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 6 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 7 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 8 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 9 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 10 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 11 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 12 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 13 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 14 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 15 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 16 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 17 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 18 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 19 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 20 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 21 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 22 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 23 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 24 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 25 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 26 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 27 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 28 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 29 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 30 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 31 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 32 .NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know Slide 33
Upcoming SlideShare
Collaboration of (micro-)services
Next

0 Likes

Share

.NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know

Microservices are vertical slices of functionality independent from one another in terms of technologies, paradigms and to some extent also data. As it is an isolated module, a microservice can be easily replaced or entirely rewritten or just scaled horizontally without the risk of regression in case of need. Multiple microservices interact in a loosely coupled manner participating to a distributed architecture but being fully usable on their own. Honestly, this design has very few cons and quite a few pros. And more importantly, it is much more common than expected. It’s simply the name given to all running solutions that for some reasons are not falling in the realm of well-architected, comprehensive systems. Nearly any system is a collection of microservices. In this talk, I’ll share some painful personal experience that resulted from the building of the infrastructure for a company in multiple steps, with limited resources, adding—like a family would do—one piece after the next trying not to lose track of the existing. Come and hear how to rename and leverage the mess you have around to take some concrete functional benefits.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

.NET Fest 2017. Dino Esposito. I Have a Microservices Architecture and I Didn't Know

  1. 1. I HAVE MICROSERVICES (and I didn’t know) @despos facebook.com/naa4e Press DINO ESPOSITO
  2. 2. EXPOWARE SOFT - 2016 Samuel Beckett, 1983 Ever tried.Ever failed.No matter.Try agai Fail again.Fail better.
  3. 3. EXPOWARE SOFT - 2016 MICROSERVICES
  4. 4. EXPOWARE SOFT - 2016 MANY TIMES, THINGS LOOK DIFFERENT FROM WHAT THEY ARE…
  5. 5. EXPOWARE SOFT - 2016
  6. 6. EXPOWARE SOFT - 2016 Microservices are not exactly what we often hear and read Architecture >> Technology
  7. 7. EXPOWARE SOFT - 2016 MICROSERVICES
  8. 8. EXPOWARE SOFT - 2016 MICROSERVICE A particular way of designing software applications as suites of independently deployable services. ■ Run in dedicated process ■ Communicate through lightweight mechanisms ■ Simplified and automated deployment ■ Decentralized control of languages and data https://martinfowler.com/articles/microservices.html
  9. 9. EXPOWARE SOFT - 2016 SOA IN OTHER WORDS … JUST MADE SIMPLER
  10. 10. EXPOWARE SOFT - 2016 WS-XXX protocols SOA tenets
  11. 11. EXPOWARE SOFT - 2016  Tenet 1: Boundaries are explicit.  Tenet 2: Services are autonomous.  Tenet 3: Services share schema & contract, not class.  Tenet 4: Service compatibility is based upon policy.
  12. 12. EXPOWARE SOFT - 2016
  13. 13. EXPOWARE SOFT - 2016 Vertical stacks of logic and data Can contain replicated data Can access data via services Easy to package and deploy Easy to assign to development teams Work well with containers Not that well with Visual Studio Nuget packages better way to share code than references MICROSERVICE
  14. 14. EXPOWARE SOFT - 2016 MONOLITHIC APPLICATION
  15. 15. EXPOWARE SOFT - 2016 SEGMENTED APPLICATION COLLECTION OF MONOLITHIC APPLICATIONS
  16. 16. EXPOWARE SOFT - 2016 from BOUNDED CONTEXT to MICROSERVICE
  17. 17. EXPOWARE SOFT - 2016 HOW DO WE GET THERE?
  18. 18. EXPOWARE SOFT - 2016 ImplementationStrategic Design Ubiquitous language Bounded contexts Domain model Layered architecture DOMAIN-DRIVEN DESIGN Bounded contexts
  19. 19. EXPOWARE SOFT - 2016 Business domain Bounded context Bounded context Bounded context Bounded context Business domain SOFTWARE MODEL
  20. 20. EXPOWARE SOFT - 2016 Bounded Context Ubiquitous language Independent implementation External interface (to other contexts)
  21. 21. EXPOWARE SOFT - 2016 Functional areas of the application that are better treated separately Same term meaning different things to different people Same term used to indicate different elements Dependency on external subsystems Dependency on legacy code Why Having Bounded Contexts
  22. 22. EXPOWARE SOFT - 2016 CONTEXT MAP
  23. 23. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP
  24. 24. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP API SERVER SCORING SERVER
  25. 25. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP API SERVER SCORING SERVER PLAYER SERVER
  26. 26. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP LIVE DATA SERVER SCORING SERVER PLAYER SERVER API SERVER CMS SERVER
  27. 27. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP LIVE DATA SERVER SCORING SERVER PLAYER SERVER API SERVER CMS SERVER TOURNAMENT SERVER
  28. 28. EXPOWARE SOFT - 2016 SAY YOU’RE A STARTUP LIVE DATA SERVER SCORING SERVER PLAYER SERVER LIVE DATA SERVER CMS SERVER TOURNAMENT SERVER MANAGEMENT SERVER
  29. 29. EXPOWARE SOFT - 2016 I Built a (Perfect) Microservice Architecture and I Didn’t Know
  30. 30. EXPOWARE SOFT - 2016 The reason we ended up to microservices has to do much more with productivity than pure technical matters or technologies. It had to do much more with common sense and attitude to solve concrete (and small) business problems than religion or design for big-scale.
  31. 31. EXPOWARE SOFT - 2016http://twitter.com/hhariri/status/540463864622895104
  32. 32. EXPOWARE SOFT - 2016 The user of the software won’t know what she wants until she sees the software. Humphrey’s Law An interactive system can never be fully specified nor can it ever be fully tested. Wegner’s Lemma Pluralsight courses UXDD/DDD
  33. 33. EXPOWARE SOFT - 2016 @despos

Microservices are vertical slices of functionality independent from one another in terms of technologies, paradigms and to some extent also data. As it is an isolated module, a microservice can be easily replaced or entirely rewritten or just scaled horizontally without the risk of regression in case of need. Multiple microservices interact in a loosely coupled manner participating to a distributed architecture but being fully usable on their own. Honestly, this design has very few cons and quite a few pros. And more importantly, it is much more common than expected. It’s simply the name given to all running solutions that for some reasons are not falling in the realm of well-architected, comprehensive systems. Nearly any system is a collection of microservices. In this talk, I’ll share some painful personal experience that resulted from the building of the infrastructure for a company in multiple steps, with limited resources, adding—like a family would do—one piece after the next trying not to lose track of the existing. Come and hear how to rename and leverage the mess you have around to take some concrete functional benefits.

Views

Total views

436

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

0

Shares

0

Comments

0

Likes

0

×