SlideShare a Scribd company logo
From JavaSpaces, JINI and GigaSpaces to 
SpringBoot, Akka – reactive and 
microservice pitfalls 
Mite Mitreski 
Java2Days 2014 
@mitemitreski
What is reactive programming?
Reactive programming is _______ 
a) Hype 
b) Awesome 
c) Different 
d) Just the observer pattern 
e) Microsoft Excel 
f) Manifesto 
g) All of above
http://www.reactivemanifesto.org/ 
Responsive 
Elastic Resilient 
Message Driven
Microservices 
The monolith Microservices
The monolith 
● Componentization is via Services 
● Often organized around Tech abilities 
○ UI Expert teams 
○ Backend or middleware developers 
○ DBA’s 
● People are bound to step on each other 
toes
Conway’s law 
… organizations which design systems ... are 
constrained to produce designs which are copies of 
the communication structures of these organizations 
The architecture of the system gets cemented in the 
forms of the teams that develop it. 
—Melvin Conway
The microservices 
● Organized around Business Capabilities 
● Products not Projects 
○ development team takes full responsibility for the 
software in production 
○ "you build, you run it" - aka the Amazon way 
● SOA done right
Decentralized Governance 
Java EE 
Clojure 
Ruby 
C# app 
Spring 
based 
Spring 
with tab 
indentati 
on
Decentralized Governance 
Java EE 
Clojure 
Ruby 
NodeJS 
Spring 
based 
Spring 
with tab 
indentati 
on 
V2 
replaced 
C# with 
NodeJS
Separate pipelines for each app 
Java EE 
Clojure 
Ruby 
NodeJS 
Spring 
based 
Spring 
with tab 
indentati 
on
Other microservice benefits 
● Decentralized Data Management 
● Evolutionary Design
Microservices are the unix way 
This is the Unix philosophy: Write programs that 
do one thing and do it well. Write programs to 
work together. Write programs to handle text 
streams, because that is a universal interface. 
Doug McIlroy, head of the Bell Labs CSRC (Computing Sciences 
Research Center), and inventor of the Unix pipe
Mike Gancarz: The UNIX Philosophy 
1. Small is beautiful. 
2. Make each program do one thing well. 
3. Build a prototype as soon as possible. 
4. Choose portability over efficiency. 
5. Store data in flat text files. 
6. Use software leverage to your advantage. 
7. Use shell scripts to increase leverage and portability. 
8. Avoid captive user interfaces. 
9. Make every program a filter.
With all the frameworks out there 
what do I pick?
HOW not to FAIL @ MicroServices
#1 Divide and Conquer 
break down complex problems into 
smaller chunks that can be solved 
individually
#2 How big is too big? 
● Big enough to fit in your head 
● Small enough that you team can manage all 
the pieces 
● Each piece should be rewritable 
● Lines of code is not an important 
measurement @RestController 
class App { 
@RequestMapping 
("/") 
String home() { 
"hello" 
} 
}
#3 Each service on it’s own repo 
● Each service should be on a separate VCS 
root 
○ Physical code separation 
● Various dependencies temptations not 
possible
#5 What to standardize 
Java EE 
Clojure 
Ruby 
NodeJS 
Spring 
based 
Spring 
with tab 
indentati 
on 
Standardize interface 
Free for all
#7 How do test all of this? 
Nod 
S1 
App eSJ2S 
Nod 
Mock 
App eMJoSck 
PRODUCTION
#8 Coupling avoidance 
RPC (RMI) 
Shared serialization 
SOAP 
CORBA 
Resources (REST)
#9 Avoid distributed transactions 
JINI/Gigaspaces example 
Space B 
Space B 
Space A 
SOME 
APP
#9 Monitoring is essential 
Java EE 
Clojure 
Ruby 
NodeJS 
Spring 
based 
Spring 
with tab 
indentati 
on
#9 Monitoring is essential 
Spring Boot - Actuator 
Plain old JMX 
Custom HTTP monitoring 
Gigaspaces UI and admin API
#10 Use tracking ID 
Clojure 
Spring 
App 
ID : 223-305 
NodeJS
#10 Use tracking ID 
Clojure 
Spring 
App 
ID : 223-305 
NodeJS 
ID : 223-305
#10 Use tracking ID 
Clojure 
Spring 
App 
ID : 223-305 
NodeJS 
ID : 223-305 
ID : 223-305
#11 Have a single way of 
deployment 
Java EE 
Clojure 
Ruby 
NodeJS 
Spring 
based 
Spring 
with tab 
indentati 
on 
Missing the WAR files?
#12 Move to production individually 
PROD 
S2 
1.0.0 
S1 
1.0.0 
App 
1.0.0 
TEST 
S1 
1.0.0 
App 
1.0.0 
S2 
1.0.0
#12 Move to production individually 
PROD 
S2 
1.0.0 
S1 
1.0.0 
App 
1.0.0 
TEST 
S1 
1.0.1 
App 
1.0.0 
S2 
1.0.0
#12 Move to production individually 
PROD 
S2 
1.0.0 
S1 
1.0.1 
App 
1.0.0 
TEST 
S1 
1.0.1 
App 
1.0.0 
S2 
1.0.0
#13 Stability ? 
● Timeouts 
● Circuit breakers 
● Bulkheads 
● Handshakes
#14 Make batch calls if possible 
Service 
Client
#14 Make batch calls if possible 
Service 
Client
Are Microservices the Future?
Who uses microservices ? 
Shameless plug
Amazon’s SOA story 
1. All teams will henceforth expose their data and functionality through service 
interfaces. 
2. Teams must communicate with each other through these interfaces. 
3. There will be no other form of interprocess communication allowed: no direct 
linking, no direct reads of another team’s data store, no shared-memory model, 
no back-doors whatsoever. The only communication allowed is via service 
interface calls over the network. 
4. It doesn’t matter what technology they use. HTTP, Corba, Pub-Sub, custom 
protocols — doesn’t matter. Bezos doesn’t care. 
5. All service interfaces, without exception, must be designed from the ground up to 
be externalizable. That is to say, the team must plan and design to be able to 
expose the interface to developers in the outside world. No exceptions. 
6. Anyone who doesn’t do this will be fired.
Standing in the shoulders of giants
Microservices resources 
● http://martinfowler.com/articles/microservices.html 
● Microservices not a free Lunch 
● Adventures in a cloudy future
Summary 
Microservices are awesome but be 
aware of the challenges and make sure 
you use best practices. 
Operation and resilience are the 
biggest overheads.
Summary 
Ensure your team is up to the task. 
Ensure you have DevOps experties. 
Start small and make adjustments 
as needed.
Summary
Questions

More Related Content

What's hot (20)

PDF
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
PDF
Your Developers Can Be Heroes on Kubernetes
Ambassador Labs
 
PDF
Microservices with Spring
Software Infrastructure
 
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
PPTX
Kube Apps in action
Karthik Gaekwad
 
PDF
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
Ambassador Labs
 
PPTX
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
PPTX
DevOps Moves To Production (Lori MacVittie)
Red Hat Developers
 
PPTX
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
PDF
CloudStack and testing
ShapeBlue
 
PDF
Microservice no fluff, the REAL stuff
nklmish
 
PPTX
20 mins to Faking the DevOps Unicorn by Matt williams, Datadog
Docker, Inc.
 
PDF
56k.cloud training
Brian Christner
 
PPTX
Using the KVMhypervisor in CloudStack
ShapeBlue
 
PDF
2017 Microservices Practitioner Virtual Summit: Move Fast, Make Things: how d...
Ambassador Labs
 
PDF
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Nati Shalom
 
PPTX
Securing your Cloud Environment v2
ShapeBlue
 
PDF
All the reasons for choosing react js that you didn't know about - Avi Marcus...
Codemotion Tel Aviv
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
Your Developers Can Be Heroes on Kubernetes
Ambassador Labs
 
Microservices with Spring
Software Infrastructure
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Kube Apps in action
Karthik Gaekwad
 
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
Ambassador Labs
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
DevOps Moves To Production (Lori MacVittie)
Red Hat Developers
 
Atlanta Microservices Day: Istio Service Mesh
Christian Posta
 
CloudStack and testing
ShapeBlue
 
Microservice no fluff, the REAL stuff
nklmish
 
20 mins to Faking the DevOps Unicorn by Matt williams, Datadog
Docker, Inc.
 
56k.cloud training
Brian Christner
 
Using the KVMhypervisor in CloudStack
ShapeBlue
 
2017 Microservices Practitioner Virtual Summit: Move Fast, Make Things: how d...
Ambassador Labs
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Real World Example of Orchestrating Docker, Node JS, NFV on OpenStack
Nati Shalom
 
Securing your Cloud Environment v2
ShapeBlue
 
All the reasons for choosing react js that you didn't know about - Avi Marcus...
Codemotion Tel Aviv
 

Viewers also liked (20)

PDF
Top 10 Social Media Tips For Financial Advisors
Finworx
 
PDF
Power of Interfaith Storytelling
Karen Hochberg
 
PDF
Failing to learn from Australia’s most successful defence project
William Hall
 
PPTX
Scheduling Updates nov 2013
ClubReady Inc
 
PPTX
What is a computer
Ashok Kotra
 
PPT
Pgd0015 group dynamic topic 2
Melvin Yap
 
PPSX
Welcome to St. Margaret's
kdsnk9s
 
PPT
Prijswinnaar paulusschool
Webredactie_Zwijsen
 
PPTX
Política y redes sociales en bolivia
Tonny Lopez
 
PPT
Presentation1
kerangps
 
PDF
The Team Workshop Method
JD Graffam
 
PDF
Master develo
GLOBAL MOBILE NETWORK
 
PPTX
Socialmediaoct12
Lou Dubois
 
PPSX
Class 1. ss
Roberto Pesantes
 
PDF
Catalogo Empresa Simulada Ociplana
CAPITAL INTELECTUAL CREATIVO S.L.
 
PPT
A technology architecture for managing explicit knowledge over the entire lif...
William Hall
 
DOC
Tp6 principles of siphonic roof drainage systems(dr)
Marc Buitenhuis
 
PPTX
10 bagay na dapat malaman tungkol sa run
UlikblogRunner
 
DOCX
2003 arq.form
cepmaio
 
PDF
Promotional Bag Ideas by Sinoway
Lagniappe_Promotions
 
Top 10 Social Media Tips For Financial Advisors
Finworx
 
Power of Interfaith Storytelling
Karen Hochberg
 
Failing to learn from Australia’s most successful defence project
William Hall
 
Scheduling Updates nov 2013
ClubReady Inc
 
What is a computer
Ashok Kotra
 
Pgd0015 group dynamic topic 2
Melvin Yap
 
Welcome to St. Margaret's
kdsnk9s
 
Prijswinnaar paulusschool
Webredactie_Zwijsen
 
Política y redes sociales en bolivia
Tonny Lopez
 
Presentation1
kerangps
 
The Team Workshop Method
JD Graffam
 
Master develo
GLOBAL MOBILE NETWORK
 
Socialmediaoct12
Lou Dubois
 
Class 1. ss
Roberto Pesantes
 
Catalogo Empresa Simulada Ociplana
CAPITAL INTELECTUAL CREATIVO S.L.
 
A technology architecture for managing explicit knowledge over the entire lif...
William Hall
 
Tp6 principles of siphonic roof drainage systems(dr)
Marc Buitenhuis
 
10 bagay na dapat malaman tungkol sa run
UlikblogRunner
 
2003 arq.form
cepmaio
 
Promotional Bag Ideas by Sinoway
Lagniappe_Promotions
 
Ad

Similar to Microservice pitfalls (20)

PDF
Micro service pitfalls voxxed days istanbul 2015
Mite Mitreski
 
PPTX
Microservices: Yes or not?
Eduard Tomàs
 
PDF
Microservices - opportunities, dilemmas and problems
Łukasz Sowa
 
PDF
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Derek Ashmore
 
PDF
Microservices for java architects schamburg-2015-05-19
Derek Ashmore
 
PDF
Writing microservices in Java -- Chicago-2015-11-10
Derek Ashmore
 
PDF
Writing microservices in java java one-2015-10-28
Derek Ashmore
 
PDF
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
PDF
Microservices for Java Architects (Chicago, April 21, 2015)
Derek Ashmore
 
PDF
Microservices for java architects coders-conf-2015-05-15
Derek Ashmore
 
PDF
SOA Latam 2015
Domingo Suarez Torres
 
PPTX
Introduction to microservices
Anil Allewar
 
PDF
Microservices - Yet another buzzword
Ovidiu Dimulescu
 
PDF
Microservices for Java Architects (Indianapolis, April 15, 2015)
Derek Ashmore
 
PDF
Microservices Architecture
Srinivasan Nanduri
 
PPTX
Microservices architecture
Faren faren
 
PDF
L11 Service Design and REST
Ólafur Andri Ragnarsson
 
PPTX
A Microservice Journey
Christian Posta
 
PPTX
Microservices
Ideyatech
 
PDF
SGCE 2015 REST APIs
Domingo Suarez Torres
 
Micro service pitfalls voxxed days istanbul 2015
Mite Mitreski
 
Microservices: Yes or not?
Eduard Tomàs
 
Microservices - opportunities, dilemmas and problems
Łukasz Sowa
 
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Derek Ashmore
 
Microservices for java architects schamburg-2015-05-19
Derek Ashmore
 
Writing microservices in Java -- Chicago-2015-11-10
Derek Ashmore
 
Writing microservices in java java one-2015-10-28
Derek Ashmore
 
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
Microservices for Java Architects (Chicago, April 21, 2015)
Derek Ashmore
 
Microservices for java architects coders-conf-2015-05-15
Derek Ashmore
 
SOA Latam 2015
Domingo Suarez Torres
 
Introduction to microservices
Anil Allewar
 
Microservices - Yet another buzzword
Ovidiu Dimulescu
 
Microservices for Java Architects (Indianapolis, April 15, 2015)
Derek Ashmore
 
Microservices Architecture
Srinivasan Nanduri
 
Microservices architecture
Faren faren
 
L11 Service Design and REST
Ólafur Andri Ragnarsson
 
A Microservice Journey
Christian Posta
 
Microservices
Ideyatech
 
SGCE 2015 REST APIs
Domingo Suarez Torres
 
Ad

More from Mite Mitreski (8)

PDF
Getting all the 99.99(9) you always wanted
Mite Mitreski
 
PDF
The core libraries you always wanted - Google Guava
Mite Mitreski
 
PDF
Devoxx 2014 : Sparky guide to bug free JavaScirpt
Mite Mitreski
 
PDF
Unix for developers
Mite Mitreski
 
PDF
State of the lambda
Mite Mitreski
 
PDF
Java2day 2013 : Modern workflows for javascript integration
Mite Mitreski
 
PDF
Google Guava for cleaner code
Mite Mitreski
 
PDF
Eclipse 10 years Party
Mite Mitreski
 
Getting all the 99.99(9) you always wanted
Mite Mitreski
 
The core libraries you always wanted - Google Guava
Mite Mitreski
 
Devoxx 2014 : Sparky guide to bug free JavaScirpt
Mite Mitreski
 
Unix for developers
Mite Mitreski
 
State of the lambda
Mite Mitreski
 
Java2day 2013 : Modern workflows for javascript integration
Mite Mitreski
 
Google Guava for cleaner code
Mite Mitreski
 
Eclipse 10 years Party
Mite Mitreski
 

Recently uploaded (20)

PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
PDF
What companies do with Pharo (ESUG 2025)
ESUG
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PDF
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
What companies do with Pharo (ESUG 2025)
ESUG
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
Brief History of Python by Learning Python in three hours
adanechb21
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 

Microservice pitfalls

  • 1. From JavaSpaces, JINI and GigaSpaces to SpringBoot, Akka – reactive and microservice pitfalls Mite Mitreski Java2Days 2014 @mitemitreski
  • 2. What is reactive programming?
  • 3. Reactive programming is _______ a) Hype b) Awesome c) Different d) Just the observer pattern e) Microsoft Excel f) Manifesto g) All of above
  • 6. The monolith ● Componentization is via Services ● Often organized around Tech abilities ○ UI Expert teams ○ Backend or middleware developers ○ DBA’s ● People are bound to step on each other toes
  • 7. Conway’s law … organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations The architecture of the system gets cemented in the forms of the teams that develop it. —Melvin Conway
  • 8. The microservices ● Organized around Business Capabilities ● Products not Projects ○ development team takes full responsibility for the software in production ○ "you build, you run it" - aka the Amazon way ● SOA done right
  • 9. Decentralized Governance Java EE Clojure Ruby C# app Spring based Spring with tab indentati on
  • 10. Decentralized Governance Java EE Clojure Ruby NodeJS Spring based Spring with tab indentati on V2 replaced C# with NodeJS
  • 11. Separate pipelines for each app Java EE Clojure Ruby NodeJS Spring based Spring with tab indentati on
  • 12. Other microservice benefits ● Decentralized Data Management ● Evolutionary Design
  • 13. Microservices are the unix way This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface. Doug McIlroy, head of the Bell Labs CSRC (Computing Sciences Research Center), and inventor of the Unix pipe
  • 14. Mike Gancarz: The UNIX Philosophy 1. Small is beautiful. 2. Make each program do one thing well. 3. Build a prototype as soon as possible. 4. Choose portability over efficiency. 5. Store data in flat text files. 6. Use software leverage to your advantage. 7. Use shell scripts to increase leverage and portability. 8. Avoid captive user interfaces. 9. Make every program a filter.
  • 15. With all the frameworks out there what do I pick?
  • 16. HOW not to FAIL @ MicroServices
  • 17. #1 Divide and Conquer break down complex problems into smaller chunks that can be solved individually
  • 18. #2 How big is too big? ● Big enough to fit in your head ● Small enough that you team can manage all the pieces ● Each piece should be rewritable ● Lines of code is not an important measurement @RestController class App { @RequestMapping ("/") String home() { "hello" } }
  • 19. #3 Each service on it’s own repo ● Each service should be on a separate VCS root ○ Physical code separation ● Various dependencies temptations not possible
  • 20. #5 What to standardize Java EE Clojure Ruby NodeJS Spring based Spring with tab indentati on Standardize interface Free for all
  • 21. #7 How do test all of this? Nod S1 App eSJ2S Nod Mock App eMJoSck PRODUCTION
  • 22. #8 Coupling avoidance RPC (RMI) Shared serialization SOAP CORBA Resources (REST)
  • 23. #9 Avoid distributed transactions JINI/Gigaspaces example Space B Space B Space A SOME APP
  • 24. #9 Monitoring is essential Java EE Clojure Ruby NodeJS Spring based Spring with tab indentati on
  • 25. #9 Monitoring is essential Spring Boot - Actuator Plain old JMX Custom HTTP monitoring Gigaspaces UI and admin API
  • 26. #10 Use tracking ID Clojure Spring App ID : 223-305 NodeJS
  • 27. #10 Use tracking ID Clojure Spring App ID : 223-305 NodeJS ID : 223-305
  • 28. #10 Use tracking ID Clojure Spring App ID : 223-305 NodeJS ID : 223-305 ID : 223-305
  • 29. #11 Have a single way of deployment Java EE Clojure Ruby NodeJS Spring based Spring with tab indentati on Missing the WAR files?
  • 30. #12 Move to production individually PROD S2 1.0.0 S1 1.0.0 App 1.0.0 TEST S1 1.0.0 App 1.0.0 S2 1.0.0
  • 31. #12 Move to production individually PROD S2 1.0.0 S1 1.0.0 App 1.0.0 TEST S1 1.0.1 App 1.0.0 S2 1.0.0
  • 32. #12 Move to production individually PROD S2 1.0.0 S1 1.0.1 App 1.0.0 TEST S1 1.0.1 App 1.0.0 S2 1.0.0
  • 33. #13 Stability ? ● Timeouts ● Circuit breakers ● Bulkheads ● Handshakes
  • 34. #14 Make batch calls if possible Service Client
  • 35. #14 Make batch calls if possible Service Client
  • 37. Who uses microservices ? Shameless plug
  • 38. Amazon’s SOA story 1. All teams will henceforth expose their data and functionality through service interfaces. 2. Teams must communicate with each other through these interfaces. 3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. 4. It doesn’t matter what technology they use. HTTP, Corba, Pub-Sub, custom protocols — doesn’t matter. Bezos doesn’t care. 5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. 6. Anyone who doesn’t do this will be fired.
  • 39. Standing in the shoulders of giants
  • 40. Microservices resources ● http://martinfowler.com/articles/microservices.html ● Microservices not a free Lunch ● Adventures in a cloudy future
  • 41. Summary Microservices are awesome but be aware of the challenges and make sure you use best practices. Operation and resilience are the biggest overheads.
  • 42. Summary Ensure your team is up to the task. Ensure you have DevOps experties. Start small and make adjustments as needed.