SlideShare a Scribd company logo
Think Small To Go Big – An
Introduction To Microservices
By: Ryan Baxter
@ryanjbaxter
http://ryanjbaxter.com
3/11/15
We Have A Need For Speed
1
Agile Meant Speed
2

.but we couldn’t deploy fast enough
3
Now We Have DevOps
4

.but getting infrastructure takes too long
5
The Cloud Made Infrastructure Easy
6

but our apps were not built for the cloud
7
Infrastructure That Is Out Of Our
Control
9
Unprecedented Scale
10
How Did We Solve This Problem
Before?
11
Scaling Horizontally Is Cheaper
12
We End Up With Something Like This
13
Load
Balancer
Different Platforms
14
Requires A New Way Of Thinking
 Our old application designs just can’t keep up
 Massive monolithic applications break down under
these new challenges
15
We Need A New Architecture
 Applications that are composed of smaller more
focused “micro” apps
16
What is a Microservice?
“In short, the microservice architectural style is an
approach to developing a single application as a suite of
small services, each running in its own process and
communicating with lightweight mechanisms, often an
HTTP resource API.” - Martin Fowler
17
It’s Not All About The Code
18
Guidelines For Microservices
 Make each one focused – no real rule on size
 “2 pizza teams”
 Each service should be treated like one app
 Have its one SCM repo, own pipeline, etc
 Should not require the use of other services
 Service owners are responsible for the entire lifecycle
 Use lightweight protocols
 Use the right tool for the job
19
Guidelines For Microservices
 Each service should have its own datastore
 Failure will happen, design for it
 Automate everything
20
Isn’t This Just SOA?
 Hot topic, they are certainly very similar and try to
solve the same problem
 SOA was always considered very heavy
 ESBs
 Driven by vendors
 SOA allowed for monoliths
 SOA was more about reuse than team organization and
application architecture
21
Benefits Of Microservices
 Code for each service is easier to understand
 Small code base means more speed
 Each service can be deployed independently
 Failures do not bring down the whole app
 Technology flexibility
 Easier to evolve
 Well defined APIs
22
Cons Of Microservices
 Complexity
 You have to manage multiple apps
 Deploying 1 feature may involve coordination between multiple
services
 Performance – multiple service calls
 When to switch to microservices
 Dev tools focus on monolithic apps
 Duplication of code
 End To End Testing
23
DEMO
24
Monolith Architecture
25
Client Side
Code
App
Sessions
APIs
Questions
APIs
Twilio
Endpoint
DB
SMS/Email
Service
Failures In A Monolith
26
Client Side
Code
App
Sessions
APIs
Questions
APIs
Twilio
Endpoint
DB
SMS/Email
Service
Scaled Monolith
27
My App 1
DB
Client Side Code
App
Sessions API
Twilio Endpoint
Questions API
Load
Balancer
My App 1
SMS/Email Service
Client Side Code
App
Sessions API
Twilio Endpoint
Questions API
SMS/Email Service
Microservices Architecture
28
Client Side Code
Sessions Service
Questions Service
Reply Service
Twilio Service
SendGrid Service
Sessions DB
Questions DB
Message
Queue
Client Fragility
29
Client Side Code
Sessions Service
Questions Service
Reply Service
Twilio Service
SendGrid Service
Sessions DB
Questions DB
Message
Queue
API Gateways
30
Sessions Service
Questions Service
Reply Service
Twilio Service
SendGrid Service
Sessions DB
Questions DB
Message
Queue
API
GatewayClient
Side
Code
Scaling A Service
31
Sessions Service
Questions Service
Reply Service
Twilio Service
SendGrid Service
Sessions DB
Questions DB
Message
Queue
Sessions Service
API
GatewayClient
Side
Code
Service Discovery
33
Sessions Service
Questions Service
Reply Service
Twilio Service
SendGrid Service
Sessions DBQuestions DB
Message
Queue
Sessions Service
API
GatewayClient
Side
Code
Service
Discover
y
Service Discovery
 Eureka – Neflix OSS Component
 Zookeeper – Apache Project
 Consul
34
Circuit Breakers
35
DEMO
36
Containers/Docker
 Is a great deployment and
isolation tool for your
microservices
 Allows your microservices to
run on various clouds
 Need to use some kind of
container management tool to
orchestrate, monitor, and scale
your microservices
37
Platform-as-a-Service
 Deploying a large scale distributed set of apps requires
a lot of effort (even if you are using Docker)
 A platform-as-a-service can make it somewhat easier
 Built in monitoring, recovery, and scaling can really go
a long way
 Deployments are also much easier because you just
provide the code
 Take a look at any Cloud Foundry based PaaS
38
Deploying Microservices With Cloud
Foundry
 Easy as cf push appname –p <jar file>
 Or use Cloud Foundry Maven or Gradle plugin
 You can use blue/green deployments to make sure you
have no downtime during deploys
 Each microservice can be used as a Cloud Foundry
service to facilitate service discovery
 Built-in load balancer can help with dynamic scaling
 Everything can be automated so it all happens on
commit
39
Netflix
 The poster child for microservices
 They have a great set of open source
libraries in the Neflix OSS project
 Service Discovery, Circuit Breakers,
Service To Service Communication,
and much much more

 Check out Spring Cloud if you are a
Spring user, very easy to integrate
Netflix OSS into your apps
40
Transitioning To Microservices
42
Thank you.

More Related Content

What's hot (20)

PDF
Microservices in Practice
Kasun Indrasiri
 
PPTX
Introduction to Microservices
Roger van de Kimmenade
 
PPTX
Microservice architecture design principles
Sanjoy Kumar Roy
 
PDF
Microservice architecture
Ćœilvinas Kuusas
 
PPTX
Microservices in Action
Bhagwat Kumar
 
PDF
Introduction to microservices (from rails monolith)
Leandro Parazito
 
PDF
Microservice Architecture 101
Kochih Wu
 
PDF
Microservice Architecture
Engin Yoeyen
 
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
PDF
Integration Patterns and Anti-Patterns for Microservices Architectures
Apcera
 
PDF
Microservices
ACCESS Health Digital
 
PPTX
building microservices
Cisco DevNet
 
PPTX
Microservice architecture
Touraj Ebrahimi
 
PDF
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Ahmed Misbah
 
PPTX
Micro services and Containers
Richard Harvey
 
PPTX
Develop in ludicrous mode with azure serverless
Lalit Kale
 
PPTX
Microservice vs. Monolithic Architecture
Paul Mooney
 
PDF
Microservice Architecture
tyrantbrian
 
PDF
Design patterns for microservice architecture
The Software House
 
PDF
Breaking Down the Monolith - Peter Marton, RisingStack
NodejsFoundation
 
Microservices in Practice
Kasun Indrasiri
 
Introduction to Microservices
Roger van de Kimmenade
 
Microservice architecture design principles
Sanjoy Kumar Roy
 
Microservice architecture
Ćœilvinas Kuusas
 
Microservices in Action
Bhagwat Kumar
 
Introduction to microservices (from rails monolith)
Leandro Parazito
 
Microservice Architecture 101
Kochih Wu
 
Microservice Architecture
Engin Yoeyen
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Apcera
 
Microservices
ACCESS Health Digital
 
building microservices
Cisco DevNet
 
Microservice architecture
Touraj Ebrahimi
 
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Ahmed Misbah
 
Micro services and Containers
Richard Harvey
 
Develop in ludicrous mode with azure serverless
Lalit Kale
 
Microservice vs. Monolithic Architecture
Paul Mooney
 
Microservice Architecture
tyrantbrian
 
Design patterns for microservice architecture
The Software House
 
Breaking Down the Monolith - Peter Marton, RisingStack
NodejsFoundation
 

Viewers also liked (17)

PPTX
A Node.js Developer's Guide to Bluemix
ibmwebspheresoftware
 
PDF
IBM Bluemix Introdution for Hackathons
gjuljo
 
PPTX
Bluemix - Deploying a Java Web Application
Craig Trim
 
PPTX
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Ryan Baxter
 
PDF
Twitter analytics in Bluemix
Wilfried Hoge
 
PDF
BigData processing in the cloud – Guest Lecture - University of Applied Scien...
Romeo Kienzler
 
PPTX
IAB3948 Wiring the internet of things with Node-RED
PeterNiblett
 
PDF
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
PDF
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Daniel Krook
 
PPTX
DevNexus 2015
Christian Posta
 
PDF
ăƒ‡ăƒąă§ç†è§Łă™ă‚‹ïŒBluemixăƒąăƒă‚€ăƒ«ăƒ»ă‚”ăƒŒăƒ“ă‚č
IBMă‚œăƒȘăƒ„ăƒŒă‚·ăƒ§ăƒł
 
PDF
Flow based programming an overview
Samuel Lampa
 
PDF
Using bluemix predictive analytics service in Node-RED
Lionel Mommeja
 
PDF
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
PPTX
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
MongoDB
 
PPTX
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
PDF
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
A Node.js Developer's Guide to Bluemix
ibmwebspheresoftware
 
IBM Bluemix Introdution for Hackathons
gjuljo
 
Bluemix - Deploying a Java Web Application
Craig Trim
 
Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry
Ryan Baxter
 
Twitter analytics in Bluemix
Wilfried Hoge
 
BigData processing in the cloud – Guest Lecture - University of Applied Scien...
Romeo Kienzler
 
IAB3948 Wiring the internet of things with Node-RED
PeterNiblett
 
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Daniel Krook
 
DevNexus 2015
Christian Posta
 
ăƒ‡ăƒąă§ç†è§Łă™ă‚‹ïŒBluemixăƒąăƒă‚€ăƒ«ăƒ»ă‚”ăƒŒăƒ“ă‚č
IBMă‚œăƒȘăƒ„ăƒŒă‚·ăƒ§ăƒł
 
Flow based programming an overview
Samuel Lampa
 
Using bluemix predictive analytics service in Node-RED
Lionel Mommeja
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
MongoDB
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
Ad

Similar to Think Small To Go Big - Introduction To Microservices (20)

PDF
Microservices for Application Modernisation
Ajay Kumar Uppal
 
PDF
Everything you want to know about microservices
Youness Lasmak
 
PDF
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
PDF
Building Microservices Software practics
muhammed84essa
 
PPTX
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
PDF
20141210 - Microservice Container
Jamie (Taka) Wang
 
PDF
Microservices for Mortals
Bert Ertman
 
ODP
Monolithic to Microservices Architecture - STM 6
Tricode (part of Dept)
 
PPTX
Microservices pros and cons
Andrew Siemer
 
PPTX
A Microservice Journey
Christian Posta
 
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
PDF
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PPTX
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
PPTX
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
PDF
Microservices for architects los angeles-2016-07-16
Derek Ashmore
 
PDF
Microservices: Notes From The Field
Apcera
 
PDF
Microservices Interview Questions and Answers pdf by ScholarHat
Scholarhat
 
PPTX
Microservices-101
Subhashish Bhattacharjee
 
PPTX
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Everything you want to know about microservices
Youness Lasmak
 
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
Building Microservices Software practics
muhammed84essa
 
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
20141210 - Microservice Container
Jamie (Taka) Wang
 
Microservices for Mortals
Bert Ertman
 
Monolithic to Microservices Architecture - STM 6
Tricode (part of Dept)
 
Microservices pros and cons
Andrew Siemer
 
A Microservice Journey
Christian Posta
 
Microservices Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Architecting for speed: How agile innovators accelerate growth through micros...
Jesper Nordström
 
Architecting for speed - how agile innovators accelerate growth through micro...
3gamma
 
Microservices for architects los angeles-2016-07-16
Derek Ashmore
 
Microservices: Notes From The Field
Apcera
 
Microservices Interview Questions and Answers pdf by ScholarHat
Scholarhat
 
Microservices-101
Subhashish Bhattacharjee
 
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
Ad

More from Ryan Baxter (7)

PPTX
Boston Cloud Meetup - IBM Containers
Ryan Baxter
 
PPTX
MWLUG Bluemix
Ryan Baxter
 
PPT
Boston Cloud Foundry Meetup 5-22-14
Ryan Baxter
 
PPTX
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
PPTX
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
ODP
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
ODP
JMP102 Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
Boston Cloud Meetup - IBM Containers
Ryan Baxter
 
MWLUG Bluemix
Ryan Baxter
 
Boston Cloud Foundry Meetup 5-22-14
Ryan Baxter
 
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
JMP102 Extending Your App Arsenal With OpenSocial
Ryan Baxter
 

Recently uploaded (20)

PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 

Think Small To Go Big - Introduction To Microservices

  • 1. Think Small To Go Big – An Introduction To Microservices By: Ryan Baxter @ryanjbaxter http://ryanjbaxter.com 3/11/15
  • 2. We Have A Need For Speed 1
  • 4. 
.but we couldn’t deploy fast enough 3
  • 5. Now We Have DevOps 4
  • 7. The Cloud Made Infrastructure Easy 6
  • 8. 
but our apps were not built for the cloud 7
  • 9. Infrastructure That Is Out Of Our Control 9
  • 11. How Did We Solve This Problem Before? 11
  • 13. We End Up With Something Like This 13 Load Balancer
  • 15. Requires A New Way Of Thinking  Our old application designs just can’t keep up  Massive monolithic applications break down under these new challenges 15
  • 16. We Need A New Architecture  Applications that are composed of smaller more focused “micro” apps 16
  • 17. What is a Microservice? “In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.” - Martin Fowler 17
  • 18. It’s Not All About The Code 18
  • 19. Guidelines For Microservices  Make each one focused – no real rule on size  “2 pizza teams”  Each service should be treated like one app  Have its one SCM repo, own pipeline, etc  Should not require the use of other services  Service owners are responsible for the entire lifecycle  Use lightweight protocols  Use the right tool for the job 19
  • 20. Guidelines For Microservices  Each service should have its own datastore  Failure will happen, design for it  Automate everything 20
  • 21. Isn’t This Just SOA?  Hot topic, they are certainly very similar and try to solve the same problem  SOA was always considered very heavy  ESBs  Driven by vendors  SOA allowed for monoliths  SOA was more about reuse than team organization and application architecture 21
  • 22. Benefits Of Microservices  Code for each service is easier to understand  Small code base means more speed  Each service can be deployed independently  Failures do not bring down the whole app  Technology flexibility  Easier to evolve  Well defined APIs 22
  • 23. Cons Of Microservices  Complexity  You have to manage multiple apps  Deploying 1 feature may involve coordination between multiple services  Performance – multiple service calls  When to switch to microservices  Dev tools focus on monolithic apps  Duplication of code  End To End Testing 23
  • 26. Failures In A Monolith 26 Client Side Code App Sessions APIs Questions APIs Twilio Endpoint DB SMS/Email Service
  • 27. Scaled Monolith 27 My App 1 DB Client Side Code App Sessions API Twilio Endpoint Questions API Load Balancer My App 1 SMS/Email Service Client Side Code App Sessions API Twilio Endpoint Questions API SMS/Email Service
  • 28. Microservices Architecture 28 Client Side Code Sessions Service Questions Service Reply Service Twilio Service SendGrid Service Sessions DB Questions DB Message Queue
  • 29. Client Fragility 29 Client Side Code Sessions Service Questions Service Reply Service Twilio Service SendGrid Service Sessions DB Questions DB Message Queue
  • 30. API Gateways 30 Sessions Service Questions Service Reply Service Twilio Service SendGrid Service Sessions DB Questions DB Message Queue API GatewayClient Side Code
  • 31. Scaling A Service 31 Sessions Service Questions Service Reply Service Twilio Service SendGrid Service Sessions DB Questions DB Message Queue Sessions Service API GatewayClient Side Code
  • 32. Service Discovery 33 Sessions Service Questions Service Reply Service Twilio Service SendGrid Service Sessions DBQuestions DB Message Queue Sessions Service API GatewayClient Side Code Service Discover y
  • 33. Service Discovery  Eureka – Neflix OSS Component  Zookeeper – Apache Project  Consul 34
  • 36. Containers/Docker  Is a great deployment and isolation tool for your microservices  Allows your microservices to run on various clouds  Need to use some kind of container management tool to orchestrate, monitor, and scale your microservices 37
  • 37. Platform-as-a-Service  Deploying a large scale distributed set of apps requires a lot of effort (even if you are using Docker)  A platform-as-a-service can make it somewhat easier  Built in monitoring, recovery, and scaling can really go a long way  Deployments are also much easier because you just provide the code  Take a look at any Cloud Foundry based PaaS 38
  • 38. Deploying Microservices With Cloud Foundry  Easy as cf push appname –p <jar file>  Or use Cloud Foundry Maven or Gradle plugin  You can use blue/green deployments to make sure you have no downtime during deploys  Each microservice can be used as a Cloud Foundry service to facilitate service discovery  Built-in load balancer can help with dynamic scaling  Everything can be automated so it all happens on commit 39
  • 39. Netflix  The poster child for microservices  They have a great set of open source libraries in the Neflix OSS project  Service Discovery, Circuit Breakers, Service To Service Communication, and much much more
  Check out Spring Cloud if you are a Spring user, very easy to integrate Netflix OSS into your apps 40