SlideShare a Scribd company logo
MICROSERVICES
BREAKING APART THE MONOLITH
www.iron.io
About the Presenter
Ivan Dwyer | Business Development
● Joined Iron.io in early 2014 to collaborate with cloud ecosystem
● Founder of a Web 1.0 Startup in 1999
● Helped build the first mobile app program at PalmSource
● Spent 10 years in international business with ACCESS
@fortyfivan
Agenda
⬢ The Rise of Microservices in the Modern Cloud
⬢ How to Decouple Processes Into Discrete Microservices
⬢ Best Way to Keep Microservices and Connected Devices in Touch
⬢ Best Practices Around Event-Driven Asynchronous Processing
⬢ The Role of the API Gateway
⬢ How to Deal With State
⬢ DevOps & The Continuous Deployment Cycle
⬢ Bringing it All Together With Monitoring & Analytics
Evolution
How We Got Here
Expensive to
Scale
Difficult to Scale
Unnecessary Overhead
Complex Configurations
Granular Compute
Effective Separation
Monolith Multi-Tier / SOA Microservices
The Modern Cloud
{} Cloud-Native Protocols
RESTful APIs that communicate over
HTTP with JSON serialization
Agile Operations
Consistent environments for
development and deployment
Elastic Workloads
Granular workload-aware computing for
effective scalability
Microservices represents the convergence
of the modern cloud and modern
application development.
Microservices
Common Characteristics
Single Responsibility
Independent
Loosely Coupled
Stateless
Asynchronous
Interchangeable
Organizational Impact
Technology
Smaller services centered around specific
capabilities
Independently developed and deployed
functional components
Lightweight cloud-native communication
and processing
Multiple language and data sources fit for
the service
Business
Focused and flexible workgroups
Shorter release cycles
Cost-effective scalable systems
No vendor or framework lock-in
Considerations
➔ Building and maintaining highly available
distributed systems is complex
➔ More moving parts means more components to
keep track of and configure properly
➔ Loosely coupled services means steps must be
taken to keep data consistent
➔ Distributed asynchronous processes create
network latency and more API traffic
➔ Testing and monitoring individual services is
challenging
Microservices are meant to make
development and deployment better, but
not necessarily easier.
Decoupling
Where to Start
From Scratch Refactor New Features
Identify Candidate Components
➔ Outside of user response loop
➔ 3rd party service API calls
➔ Long running processes
➔ Transaction Processing
➔ Scale-out / burst processing
➔ Scheduled jobs
Business Capability
Loosely coupled microservices centered
around specific business capabilities lead to
more flexible and agile workflows across your
entire organization.
Communication
More Moving Parts
Queue all the Things
➔ Acknowledge data delivery
➔ Retry down endpoints
➔ Act as delivery buffer
➔ Keep data ordered properly
POST -> GET -> DELETE
Problems with Dumb Pipes
Down endpoints
Overloaded endpoints
Message Queueing for the Modern Cloud
Queue as a Service Cloud-Native Protocols
Reliable Data Persistence Advanced Feature Set
Detailed Monitoring Multiple Language Support
Leveraging a message queue ensures
reliable data transmission across services
and connected devices.
Compute
Event-Driven Asynchronous Patterns
Webhooks
Respond to events from external
services to initiate a process
Scheduled Jobs
Cron-like processes that occur on a
regular schedule.
Streams
Real-time activities through long
running agent/daemon processes
Fan Out
Respond to events and push to
multiple process/data endpoints
Compute Environment
Load Balancer
Traditional Hosting Model (Apps) Ephemeral Micro Computing (Tasks)
Distribute the Load
A master service can orchestrate slave
services to run concurrently to handle
spikes in traffic or bursts
Single responsibility microservices can
scale more effectively and cut down
total processing time
Ex: Send 4000 emails
1-1000 1001-2000 2001-3000 3001-4000
Highly Scalable Asynchronous Task Processing
Containerized Environment Event-Driven
Flexible Scheduling Reliable and Secure
Detailed Monitoring Multiple Language Support
This new pattern of event-driven asynchronous
processing with the container as the unit of scale
leads to more efficient and cost-effective
systems.
API Gateway
Request Handling / Routing
API
Gateway
Auth
User Request REST
Considerations
Keep it Light
Focus on handling requests and routing
to appropriate microservices
Make it Highly Available
Must be deployed in a fault-tolerant
distributed manner
Load Balanced
Must be able to handle incoming traffic
spikes elastically
The API Gateway provides the foundation for
your entire architecture.
State
Connections, Payloads & Caching
Deliver payload
Secure DB
connection
In-process temp storage
Polyglot Persistence
Key/Value
Rapid access for reads/writes
SQL
Transactional data
NoSQL
High volume reads
FIle
Distributed file system
While preserving stateless microservices,
choose the right data store and connection for
the process.
Presentation
Client Frameworks
Considerations
➔ Route via the API gateway not directly
from devices
➔ Fine-grained auth support may be
needed in certain cases
➔ Balance inline processing vs out-of-
process
➔ Pre-process for faster loading times
➔ Out-of-process for greater
responsiveness
➔ Distribute processing but not necessarily
core storage
Always remember that your users see your
application as one unit regardless of
architectural pattern.
Operations
Configuration
Environments Dependencies Deployment
Support for easier migration
paths
Consistent runtime from
development to production
Empowers independent teams
and workflows
Choose the right language for
the specific microservice
Limited scope of dependent
services and libraries
Scoped environment variables
and runtimes
Build, test, and deploy on a
simpler scale
Smaller services and teams
means faster iterations
Leverage a PaaS for automated
deployment configuration
Continuous Delivery
Code Test Deploy
Monitoring & Analytics
Responsibilities
Runtime Monitoring
Audit trails
Logging
Error Handling
Alerting
Performance Testing
Keeping it Together
STDOUT
Errors
Runtime
Performance
With microservices, monitoring and analytics
must be done at both the individual level and
as part of the whole application.
Conclusion
Full Microservices Stack
API
Infrastructure
Compute Storage Networking
Message Queue Scheduler
Monitoring
How We Can Help
Pair Programming
Get a hands-on walkthrough
of our platform
Architecture Review
Let us share some best
practices and advice
Start a Free Trial
Start building with Iron.io in
minutes
Iron.io
325 9th St
San Francisco, CA 94103
1-888-939-4623
www.iron.io
ivan@iron.io
THANK YOU
QUESTIONS?

More Related Content

PPTX
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
PPTX
Engage 2018 - What About the Apps? A Domino Modernisation Story
PPTX
Azure Application Architecture Guide
PPTX
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
PDF
Docebo: history of a journey from legacy to serverless
PPTX
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
PPTX
Modeling microservices using DDD
PDF
Nats meetup sf 20150826
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Engage 2018 - What About the Apps? A Domino Modernisation Story
Azure Application Architecture Guide
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Docebo: history of a journey from legacy to serverless
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Modeling microservices using DDD
Nats meetup sf 20150826

What's hot (20)

PPTX
ECM Renovation Roadshow - ECM System Migration
PPT
Soa Eai Ver1 0
PDF
How to create custom dashboards in Elastic Search / Kibana with Performance V...
PPTX
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
PDF
WSO2Con US 2013 - Connected Business - making it happen
PPTX
Accelerate DevOps/Microservices and Kubernetes
PPTX
The Application Server Platform of the Future - Container & Cloud Native and ...
PPTX
Designing microservices
PPTX
Designing microservices part2
PPTX
Microservices and the Cloud-Based Future of Integration
PPT
Ss Esb
PPTX
Optimize your azure architecture
PDF
Modern Software Architecture - Cloud Scale Computing
PPTX
High volume real time contiguous etl and audit
PPTX
Architecting Microservices in .Net
PPTX
Webinar How to Achieve True Scalability in SaaS Applications
PPTX
Spider & F5 Round Table - The Flexible Data Center
PDF
Workshop on CIFS / SMB Protocol Performance Analysis
PPTX
Microservices with .Net - NDC Sydney, 2016
PPTX
Microservice vs. Monolithic Architecture
ECM Renovation Roadshow - ECM System Migration
Soa Eai Ver1 0
How to create custom dashboards in Elastic Search / Kibana with Performance V...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
WSO2Con US 2013 - Connected Business - making it happen
Accelerate DevOps/Microservices and Kubernetes
The Application Server Platform of the Future - Container & Cloud Native and ...
Designing microservices
Designing microservices part2
Microservices and the Cloud-Based Future of Integration
Ss Esb
Optimize your azure architecture
Modern Software Architecture - Cloud Scale Computing
High volume real time contiguous etl and audit
Architecting Microservices in .Net
Webinar How to Achieve True Scalability in SaaS Applications
Spider & F5 Round Table - The Flexible Data Center
Workshop on CIFS / SMB Protocol Performance Analysis
Microservices with .Net - NDC Sydney, 2016
Microservice vs. Monolithic Architecture
Ad

Similar to Microservices: Breaking Apart the Monolith (20)

PDF
Microservices Application Simplicity Infrastructure Complexity
PPTX
Microservices-101
PDF
Microservices for Application Modernisation
PDF
Building microservices on azure
PPTX
Introduction to microservices
PDF
GreatLearning Webinar - Microservices and Event-Driven Architecture.pdf
PDF
Production-Ready_Microservices_excerpt.pdf
PDF
microservices in action.pdf
PPTX
05 microservices microdeck
PPTX
Microservices at Netflix
PPTX
Intro to Microservices Architecture
ODP
Monolithic to Microservices Architecture - STM 6
PDF
Microservices Interview Questions and Answers pdf by ScholarHat
PDF
20141210 - Microservice Container
PPTX
Moving to microservices – a technology and organisation transformational journey
PPTX
Application Networks: Microservices and APIs at Netflix
PPTX
building microservices
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
PPTX
Microservices architecture
PDF
Integration in the Cloud, by Rob Davies
Microservices Application Simplicity Infrastructure Complexity
Microservices-101
Microservices for Application Modernisation
Building microservices on azure
Introduction to microservices
GreatLearning Webinar - Microservices and Event-Driven Architecture.pdf
Production-Ready_Microservices_excerpt.pdf
microservices in action.pdf
05 microservices microdeck
Microservices at Netflix
Intro to Microservices Architecture
Monolithic to Microservices Architecture - STM 6
Microservices Interview Questions and Answers pdf by ScholarHat
20141210 - Microservice Container
Moving to microservices – a technology and organisation transformational journey
Application Networks: Microservices and APIs at Netflix
building microservices
Microservices Interview Questions and Answers PDF By ScholarHat
Microservices architecture
Integration in the Cloud, by Rob Davies
Ad

Recently uploaded (20)

PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPT
Geologic Time for studying geology for geologist
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPT
What is a Computer? Input Devices /output devices
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Five Habits of High-Impact Board Members
WOOl fibre morphology and structure.pdf for textiles
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Getting Started with Data Integration: FME Form 101
Final SEM Unit 1 for mit wpu at pune .pptx
A review of recent deep learning applications in wood surface defect identifi...
Taming the Chaos: How to Turn Unstructured Data into Decisions
Geologic Time for studying geology for geologist
Assigned Numbers - 2025 - Bluetooth® Document
What is a Computer? Input Devices /output devices
Module 1.ppt Iot fundamentals and Architecture
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Benefits of Physical activity for teenagers.pptx
Hindi spoken digit analysis for native and non-native speakers
Web Crawler for Trend Tracking Gen Z Insights.pptx
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
O2C Customer Invoices to Receipt V15A.pptx
sustainability-14-14877-v2.pddhzftheheeeee
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Five Habits of High-Impact Board Members

Microservices: Breaking Apart the Monolith

  • 1. MICROSERVICES BREAKING APART THE MONOLITH www.iron.io
  • 2. About the Presenter Ivan Dwyer | Business Development ● Joined Iron.io in early 2014 to collaborate with cloud ecosystem ● Founder of a Web 1.0 Startup in 1999 ● Helped build the first mobile app program at PalmSource ● Spent 10 years in international business with ACCESS @fortyfivan
  • 3. Agenda ⬢ The Rise of Microservices in the Modern Cloud ⬢ How to Decouple Processes Into Discrete Microservices ⬢ Best Way to Keep Microservices and Connected Devices in Touch ⬢ Best Practices Around Event-Driven Asynchronous Processing ⬢ The Role of the API Gateway ⬢ How to Deal With State ⬢ DevOps & The Continuous Deployment Cycle ⬢ Bringing it All Together With Monitoring & Analytics
  • 5. How We Got Here Expensive to Scale Difficult to Scale Unnecessary Overhead Complex Configurations Granular Compute Effective Separation Monolith Multi-Tier / SOA Microservices
  • 6. The Modern Cloud {} Cloud-Native Protocols RESTful APIs that communicate over HTTP with JSON serialization Agile Operations Consistent environments for development and deployment Elastic Workloads Granular workload-aware computing for effective scalability
  • 7. Microservices represents the convergence of the modern cloud and modern application development.
  • 9. Common Characteristics Single Responsibility Independent Loosely Coupled Stateless Asynchronous Interchangeable
  • 10. Organizational Impact Technology Smaller services centered around specific capabilities Independently developed and deployed functional components Lightweight cloud-native communication and processing Multiple language and data sources fit for the service Business Focused and flexible workgroups Shorter release cycles Cost-effective scalable systems No vendor or framework lock-in
  • 11. Considerations ➔ Building and maintaining highly available distributed systems is complex ➔ More moving parts means more components to keep track of and configure properly ➔ Loosely coupled services means steps must be taken to keep data consistent ➔ Distributed asynchronous processes create network latency and more API traffic ➔ Testing and monitoring individual services is challenging
  • 12. Microservices are meant to make development and deployment better, but not necessarily easier.
  • 14. Where to Start From Scratch Refactor New Features
  • 15. Identify Candidate Components ➔ Outside of user response loop ➔ 3rd party service API calls ➔ Long running processes ➔ Transaction Processing ➔ Scale-out / burst processing ➔ Scheduled jobs Business Capability
  • 16. Loosely coupled microservices centered around specific business capabilities lead to more flexible and agile workflows across your entire organization.
  • 19. Queue all the Things ➔ Acknowledge data delivery ➔ Retry down endpoints ➔ Act as delivery buffer ➔ Keep data ordered properly POST -> GET -> DELETE
  • 20. Problems with Dumb Pipes Down endpoints Overloaded endpoints
  • 21. Message Queueing for the Modern Cloud Queue as a Service Cloud-Native Protocols Reliable Data Persistence Advanced Feature Set Detailed Monitoring Multiple Language Support
  • 22. Leveraging a message queue ensures reliable data transmission across services and connected devices.
  • 24. Event-Driven Asynchronous Patterns Webhooks Respond to events from external services to initiate a process Scheduled Jobs Cron-like processes that occur on a regular schedule. Streams Real-time activities through long running agent/daemon processes Fan Out Respond to events and push to multiple process/data endpoints
  • 25. Compute Environment Load Balancer Traditional Hosting Model (Apps) Ephemeral Micro Computing (Tasks)
  • 26. Distribute the Load A master service can orchestrate slave services to run concurrently to handle spikes in traffic or bursts Single responsibility microservices can scale more effectively and cut down total processing time Ex: Send 4000 emails 1-1000 1001-2000 2001-3000 3001-4000
  • 27. Highly Scalable Asynchronous Task Processing Containerized Environment Event-Driven Flexible Scheduling Reliable and Secure Detailed Monitoring Multiple Language Support
  • 28. This new pattern of event-driven asynchronous processing with the container as the unit of scale leads to more efficient and cost-effective systems.
  • 30. Request Handling / Routing API Gateway Auth User Request REST
  • 31. Considerations Keep it Light Focus on handling requests and routing to appropriate microservices Make it Highly Available Must be deployed in a fault-tolerant distributed manner Load Balanced Must be able to handle incoming traffic spikes elastically
  • 32. The API Gateway provides the foundation for your entire architecture.
  • 33. State
  • 34. Connections, Payloads & Caching Deliver payload Secure DB connection In-process temp storage
  • 35. Polyglot Persistence Key/Value Rapid access for reads/writes SQL Transactional data NoSQL High volume reads FIle Distributed file system
  • 36. While preserving stateless microservices, choose the right data store and connection for the process.
  • 39. Considerations ➔ Route via the API gateway not directly from devices ➔ Fine-grained auth support may be needed in certain cases ➔ Balance inline processing vs out-of- process ➔ Pre-process for faster loading times ➔ Out-of-process for greater responsiveness ➔ Distribute processing but not necessarily core storage
  • 40. Always remember that your users see your application as one unit regardless of architectural pattern.
  • 42. Configuration Environments Dependencies Deployment Support for easier migration paths Consistent runtime from development to production Empowers independent teams and workflows Choose the right language for the specific microservice Limited scope of dependent services and libraries Scoped environment variables and runtimes Build, test, and deploy on a simpler scale Smaller services and teams means faster iterations Leverage a PaaS for automated deployment configuration
  • 45. Responsibilities Runtime Monitoring Audit trails Logging Error Handling Alerting Performance Testing
  • 47. With microservices, monitoring and analytics must be done at both the individual level and as part of the whole application.
  • 49. Full Microservices Stack API Infrastructure Compute Storage Networking Message Queue Scheduler Monitoring
  • 50. How We Can Help Pair Programming Get a hands-on walkthrough of our platform Architecture Review Let us share some best practices and advice Start a Free Trial Start building with Iron.io in minutes
  • 51. Iron.io 325 9th St San Francisco, CA 94103 1-888-939-4623 www.iron.io ivan@iron.io THANK YOU QUESTIONS?