SlideShare a Scribd company logo
PRESENTED BY
Microservices Architecture
in the Real World
Mason Jones @masonoise
Senior Staff Infrastructure Engineer
2
Credit Karma champions
financial progress

for everyone
3
900+ employees, 50%
Engineering
Over 90 million members
Over 100 microservices now,
from zero in 2016
4
01 Introduction
So, you've decided to adopt
microservices!
5
6
7
Introduction
Routing
Management
Observability
01
02
03
04
User Experience05
Now you need to think about...
8
What you imagine
your system will
look like.
9
What your system
will really look like.
10
Engineering agility
Team independence
System flexibility
Technology choices
Benefits of
Microservices
11
02 Routing
12
How does service A make a request to service B?
Seems like a simple question, right?
Service
Routing
ROUTING
13
Where are (healthy) instances running?
How does service A find them?
Define "healthy"?
Service A
calling
Service B
ROUTING
14
Service Registry (Consul, Zookeeper…)
DNS (but no port # w/o SRV record)
Compute instances behind load-balancer
Service A calling Service B
ROUTING
15
Service Registry using Redis: Hydra
NodeJS package with service discovery, route
discovery, pub/sub messaging, load balancing,
health monitoring and more.
Uses Redis to store service and route
information, and for core pub/sub functionality.
https://www.hydramicroservice.com/
Service A calling Service B
ROUTING
16
Load Balancing
Timeouts
Retries / Circuit Breaking
Defensive Programming
Sending
Requests
ROUTING
17
Example: Rate Limiting with Redis
Can use INCR on a key with EXPIRE
Key can be per-user or per-service
Quick overview:
https://redislabs.com/redis-best-practices/basic-rate-limiting/
Sending
Requests
ROUTING
18
Service Routing
Service MeshClient-Side Management
ROUTING
19
Client-Side
Management
ROUTING
20
Service
Mesh
ROUTING
21
Service Routing
No libraries to maintain; automatic
observability and security. Easier to
span large systems.
It's another critical piece of
infrastructure to manage.
Service Mesh
Easy to understand, potentially
easier to debug.
But managing client libraries can be
difficult, especially across polyglot
systems.
Client-Side Management
ROUTING
22
?What’s the
Answer?
ROUTING
23
03 Management
24
Running many services on many servers?
Trying to manage resources more efficiently?
Dealing with dynamic cloud instances / auto-scaling?
Service
Management
Are you...
MANAGEMENT
25
If not:
Don't worry about new tools yet.
Use the tools you know.
Service
Management
MANAGEMENT
26
Automate first.
Think and plan ahead.
Maintenance overhead will grow exponentially.
Service
Management
But beware:
MANAGEMENT
27
So Many Services!
Suddenly you have lots of services on lots of servers.
Orchestration frameworks to the rescue.
MANAGEMENT
28
Kubernetes
Docker Swarm
Nomad
Mesos + Marathon
Amazon ECS / Fargate
Orchestration
Lots of options
MANAGEMENT
29
Kubernetes
Docker Swarm
Nomad
Mesos + Marathon
Amazon ECS / Fargate
Orchestration
Today's best option
MANAGEMENT
30
Primitives like
Services, Deployments
Pods with Sidecars (service mesh, Redis cache)
Namespaces, Node Pools, access control (RBAC)
Tools like Helm
Orchestration
Kubernetes
MANAGEMENT
31
04 Observability
There are so many questions.
32
OBSERVABILITY
33
What's healthy or not?
My service is slow?
Slow for some customers...?
Requests sometimes timing out?
Services spiking the CPU?
And so on...
So many
questions...
OBSERVABILITY
34
Ironically, there are fewer
questions with a monolith
OBSERVABILITY
35
Metrics?
OBSERVABILITY
Metrics might not help
With even 20 or 30 services, how much data can you watch?
It's unrealistic to expect actionable data out of the box
36
Alert on container CPU or memory?
and host CPU or memory
and disk & network usage
and request latency (for every service???)
and service metrics (for every service???)
and...
Metrics
Which?
OBSERVABILITY
37
OBSERVABILITY
38
Ask:
Why do you care?
OBSERVABILITY
If your customers are happy, does a CPU spike
matter?
Make sure you can answer questions when
something critical happens.
39
Tools
OBSERVABILITY
Logs: ELK, Splunk, Sumo Logic, cloud offerings
Metrics: Prometheus, InfluxDB, Datadog, Wavefront
Tracing: Zipkin, Opentracing, Jaeger, Stackdriver
40
Tools
OBSERVABILITY
Think very carefully about your useful
signal vs noise
41
Tools
OBSERVABILITY
Who needs what information when?
42
05 User Experience
43
Your users == developers
You want to give them a good experience
How do they currently work?
What does it mean to break it apart?
USER
EXPERIENCE
44
Environment
Parity
Everyone always wants dev, test, and production
to be identical.
Docker for Mac?
Use docker-compose? Kubernetes?
What about logging? Metrics? Configuration settings?
Service discovery? Do we add Consul or our service mesh?
Now what if our system has 50, 100, 200 services?
USER
EXPERIENCE
45
Environment
Parity
Nobody has solved this perfectly...?
Shared cloud environments?
Mock services?
Map dependencies to load them automatically?
USER
EXPERIENCE
46
Tools Integration is hard.
This is very different when
you move to containers.
Building and testing a
monolith is conceptually
easier.
Build/CI Process
Deploying containers is
completely different from
deploying a monolith. It
also varies between
orchestration frameworks.
Deployment
Integrating with whatever
tools you already have for
log management and
monitoring is a lot of work.
Logging/Monitoring
Using IDEs with
containers is tricky,
especially debugging and
integration with
orchestration.
Development tools
USER
EXPERIENCE
And there's more...
USER
EXPERIENCE47
Be prepared for
an unexpectedly
large amount of
change.
USER
EXPERIENCE48
Be prepared for
an unexpectedly
large amount of
change.
But enabling development teams to
be independent is a huge benefit.
49
All of this is not easy.
But it will pay off!
CULTURAL IMPACT
Thank you!
Mason Jones @masonoise
PRESENTED BY

More Related Content

What's hot (7)

PDF
Cisco cloud presentation
Abdelkader YEDDES
 
PDF
Juniper Networks Solutions for VMware NSX
Juniper Networks
 
PDF
VMware Network Virtualization Design Guide
EMC
 
PPTX
Containers and Why They Matter
Ray Lukas
 
PDF
Cloud Computing at Cisco
Cisco Canada
 
PDF
VMworld 2013: Symantec’s Real-World Experience with a VMware Software-Defined...
VMworld
 
PDF
Velas Blockchain - Fastest EVM Chain In The Crypto Space
Velas
 
Cisco cloud presentation
Abdelkader YEDDES
 
Juniper Networks Solutions for VMware NSX
Juniper Networks
 
VMware Network Virtualization Design Guide
EMC
 
Containers and Why They Matter
Ray Lukas
 
Cloud Computing at Cisco
Cisco Canada
 
VMworld 2013: Symantec’s Real-World Experience with a VMware Software-Defined...
VMworld
 
Velas Blockchain - Fastest EVM Chain In The Crypto Space
Velas
 

Similar to Microservices Architecture In The Real World: Mason Jones (20)

PDF
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
PDF
Sre With Java Microservices Patterns For Reliable Microservices In The Enterp...
sharatacosra
 
PPTX
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
PPTX
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
PDF
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
PDF
Service Mesh Talk for CTO Forum
Rick Hightower
 
PPT
Integration in the Cloud
Rob Davies
 
PDF
2016 - 10 questions you should answer before building a new microservice
devopsdaysaustin
 
PDF
Microservices on a budget meetup
Matthew Reynolds
 
PDF
The Need of Cloud-Native Application
Emiliano Pecis
 
PDF
Consul: Service-oriented at Scale
C4Media
 
PDF
Migrating from a monolith to microservices – is it worth it?
Katherine Golovinova
 
PDF
Docker microservices and the service mesh
Docker, Inc.
 
PPTX
A Microservice Journey
Christian Posta
 
PDF
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
PDF
Building a Smarter Application Stack
Docker, Inc.
 
PDF
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
PDF
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Startupfest
 
PDF
Production-Ready_Microservices_excerpt.pdf
ajcob123
 
PPTX
Iot cloud service v2.0
Vinod Wilson
 
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
Sre With Java Microservices Patterns For Reliable Microservices In The Enterp...
sharatacosra
 
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JSFestUA
 
Service Mesh Talk for CTO Forum
Rick Hightower
 
Integration in the Cloud
Rob Davies
 
2016 - 10 questions you should answer before building a new microservice
devopsdaysaustin
 
Microservices on a budget meetup
Matthew Reynolds
 
The Need of Cloud-Native Application
Emiliano Pecis
 
Consul: Service-oriented at Scale
C4Media
 
Migrating from a monolith to microservices – is it worth it?
Katherine Golovinova
 
Docker microservices and the service mesh
Docker, Inc.
 
A Microservice Journey
Christian Posta
 
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
Building a Smarter Application Stack
Docker, Inc.
 
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Startupfest
 
Production-Ready_Microservices_excerpt.pdf
ajcob123
 
Iot cloud service v2.0
Vinod Wilson
 
Ad

More from Redis Labs (20)

PPTX
Redis Day Bangalore 2020 - Session state caching with redis
Redis Labs
 
PPTX
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Redis Labs
 
PPTX
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
Redis Labs
 
PPTX
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Redis Labs
 
PPTX
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Redis Labs
 
PPTX
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis Labs
 
PPTX
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Redis Labs
 
PPTX
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Redis Labs
 
PPTX
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Redis Labs
 
PPTX
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
Redis Labs
 
PPTX
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Redis Labs
 
PPTX
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Redis Labs
 
PPTX
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Redis Labs
 
PPTX
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
PPTX
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
PPTX
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
PPTX
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
Redis Labs
 
PPTX
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Redis Labs
 
PDF
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Redis Labs
 
PPTX
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Redis Labs
 
Redis Day Bangalore 2020 - Session state caching with redis
Redis Labs
 
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Redis Labs
 
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
Redis Labs
 
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Redis Labs
 
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Redis Labs
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis Labs
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Redis Labs
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Redis Labs
 
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Redis Labs
 
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
Redis Labs
 
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Redis Labs
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Redis Labs
 
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Redis Labs
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
Redis Labs
 
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Redis Labs
 
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Redis Labs
 
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Redis Labs
 
Ad

Recently uploaded (20)

PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
Upskill to Agentic Automation 2025 - Kickoff Meeting
DianaGray10
 
PDF
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Upskill to Agentic Automation 2025 - Kickoff Meeting
DianaGray10
 
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Top Managed Service Providers in Los Angeles
Captain IT
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 

Microservices Architecture In The Real World: Mason Jones