SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
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?

Contenu connexe

En vedette

En vedette (15)

Peningkatan kesembuhan tb paru
Peningkatan kesembuhan tb paruPeningkatan kesembuhan tb paru
Peningkatan kesembuhan tb paru
 
151 175
151 175151 175
151 175
 
Historic meeting
Historic meetingHistoric meeting
Historic meeting
 
126 150
126 150126 150
126 150
 
176 200
176 200176 200
176 200
 
Nxt deconstructing ux_in_ereading
Nxt deconstructing ux_in_ereadingNxt deconstructing ux_in_ereading
Nxt deconstructing ux_in_ereading
 
Presentation1
Presentation1Presentation1
Presentation1
 
Affective computing by Sandeep Jadhav
Affective computing by Sandeep JadhavAffective computing by Sandeep Jadhav
Affective computing by Sandeep Jadhav
 
Proyecto curricular
Proyecto curricularProyecto curricular
Proyecto curricular
 
1 20
1 201 20
1 20
 
Border crossing
Border crossingBorder crossing
Border crossing
 
La
LaLa
La
 
秒速で基板をつくれ
秒速で基板をつくれ秒速で基板をつくれ
秒速で基板をつくれ
 
Dcompress mobilecalm final
Dcompress mobilecalm finalDcompress mobilecalm final
Dcompress mobilecalm final
 
Visual Resume1
Visual Resume1Visual Resume1
Visual Resume1
 

Plus de Ivan Dwyer

BeyondCorp Austin Meetup: BeyondCorp Myths Busted
BeyondCorp Austin Meetup: BeyondCorp Myths BustedBeyondCorp Austin Meetup: BeyondCorp Myths Busted
BeyondCorp Austin Meetup: BeyondCorp Myths BustedIvan Dwyer
 
BeyondCorp Myths: Busted
BeyondCorp Myths: BustedBeyondCorp Myths: Busted
BeyondCorp Myths: BustedIvan Dwyer
 
BeyondCorp New York Meetup: Closing the Adherence Gap
BeyondCorp New York Meetup: Closing the Adherence GapBeyondCorp New York Meetup: Closing the Adherence Gap
BeyondCorp New York Meetup: Closing the Adherence GapIvan Dwyer
 
BeyondCorp Boston Meetup: Closing the Adherence Gap
BeyondCorp Boston Meetup: Closing the Adherence GapBeyondCorp Boston Meetup: Closing the Adherence Gap
BeyondCorp Boston Meetup: Closing the Adherence GapIvan Dwyer
 
BeyondCorp Seattle Meetup: Closing the Adherence Gap
BeyondCorp Seattle Meetup: Closing the Adherence GapBeyondCorp Seattle Meetup: Closing the Adherence Gap
BeyondCorp Seattle Meetup: Closing the Adherence GapIvan Dwyer
 
BeyondCorp SF Meetup: Closing the Adherence Gap
BeyondCorp SF Meetup: Closing the Adherence GapBeyondCorp SF Meetup: Closing the Adherence Gap
BeyondCorp SF Meetup: Closing the Adherence GapIvan Dwyer
 
BeyondCorp: Closing the Adherence Gap
BeyondCorp: Closing the Adherence GapBeyondCorp: Closing the Adherence Gap
BeyondCorp: Closing the Adherence GapIvan Dwyer
 
BeyondCorp and Zero Trust
BeyondCorp and Zero TrustBeyondCorp and Zero Trust
BeyondCorp and Zero TrustIvan Dwyer
 
BeyondCorp and Zero Trust
BeyondCorp and Zero TrustBeyondCorp and Zero Trust
BeyondCorp and Zero TrustIvan Dwyer
 
BeyondCorp - Google Security for Everyone Else
BeyondCorp  - Google Security for Everyone ElseBeyondCorp  - Google Security for Everyone Else
BeyondCorp - Google Security for Everyone ElseIvan Dwyer
 
How Zero Trust Changes Identity & Access
How Zero Trust Changes Identity & AccessHow Zero Trust Changes Identity & Access
How Zero Trust Changes Identity & AccessIvan Dwyer
 
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV PerspectiveNavigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV PerspectiveIvan Dwyer
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsIvan Dwyer
 

Plus de Ivan Dwyer (13)

BeyondCorp Austin Meetup: BeyondCorp Myths Busted
BeyondCorp Austin Meetup: BeyondCorp Myths BustedBeyondCorp Austin Meetup: BeyondCorp Myths Busted
BeyondCorp Austin Meetup: BeyondCorp Myths Busted
 
BeyondCorp Myths: Busted
BeyondCorp Myths: BustedBeyondCorp Myths: Busted
BeyondCorp Myths: Busted
 
BeyondCorp New York Meetup: Closing the Adherence Gap
BeyondCorp New York Meetup: Closing the Adherence GapBeyondCorp New York Meetup: Closing the Adherence Gap
BeyondCorp New York Meetup: Closing the Adherence Gap
 
BeyondCorp Boston Meetup: Closing the Adherence Gap
BeyondCorp Boston Meetup: Closing the Adherence GapBeyondCorp Boston Meetup: Closing the Adherence Gap
BeyondCorp Boston Meetup: Closing the Adherence Gap
 
BeyondCorp Seattle Meetup: Closing the Adherence Gap
BeyondCorp Seattle Meetup: Closing the Adherence GapBeyondCorp Seattle Meetup: Closing the Adherence Gap
BeyondCorp Seattle Meetup: Closing the Adherence Gap
 
BeyondCorp SF Meetup: Closing the Adherence Gap
BeyondCorp SF Meetup: Closing the Adherence GapBeyondCorp SF Meetup: Closing the Adherence Gap
BeyondCorp SF Meetup: Closing the Adherence Gap
 
BeyondCorp: Closing the Adherence Gap
BeyondCorp: Closing the Adherence GapBeyondCorp: Closing the Adherence Gap
BeyondCorp: Closing the Adherence Gap
 
BeyondCorp and Zero Trust
BeyondCorp and Zero TrustBeyondCorp and Zero Trust
BeyondCorp and Zero Trust
 
BeyondCorp and Zero Trust
BeyondCorp and Zero TrustBeyondCorp and Zero Trust
BeyondCorp and Zero Trust
 
BeyondCorp - Google Security for Everyone Else
BeyondCorp  - Google Security for Everyone ElseBeyondCorp  - Google Security for Everyone Else
BeyondCorp - Google Security for Everyone Else
 
How Zero Trust Changes Identity & Access
How Zero Trust Changes Identity & AccessHow Zero Trust Changes Identity & Access
How Zero Trust Changes Identity & Access
 
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV PerspectiveNavigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World Applications
 

Dernier

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Dernier (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

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?