SlideShare une entreprise Scribd logo
1  sur  51
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

Tendances

ECM Renovation Roadshow - ECM System Migration
ECM Renovation Roadshow - ECM System MigrationECM Renovation Roadshow - ECM System Migration
ECM Renovation Roadshow - ECM System MigrationZia Consulting
 
How to create custom dashboards in Elastic Search / Kibana with Performance V...
How to create custom dashboards in Elastic Search / Kibana with Performance V...How to create custom dashboards in Elastic Search / Kibana with Performance V...
How to create custom dashboards in Elastic Search / Kibana with Performance V...PerformanceVision (previously SecurActive)
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...AFAS Software
 
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happenWSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happenWSO2
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesRick Hightower
 
The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...The Application Server Platform of the Future - Container & Cloud Native and ...
The Application Server Platform of the Future - Container & Cloud Native and ...Lucas Jellema
 
Designing microservices part2
Designing microservices part2Designing microservices part2
Designing microservices part2Masashi Narumoto
 
Microservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of IntegrationMicroservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of IntegrationBizTalk360
 
Ss Esb
Ss EsbSs Esb
Ss EsbWSO2
 
Optimize your azure architecture
Optimize your azure architectureOptimize your azure architecture
Optimize your azure architectureAsaf Nakash
 
Modern Software Architecture - Cloud Scale Computing
Modern Software Architecture - Cloud Scale ComputingModern Software Architecture - Cloud Scale Computing
Modern Software Architecture - Cloud Scale ComputingGiragadurai Vallirajan
 
High volume real time contiguous etl and audit
High volume real time contiguous etl and auditHigh volume real time contiguous etl and audit
High volume real time contiguous etl and auditRemus Rusanu
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsTechcello
 
Spider & F5 Round Table - The Flexible Data Center
Spider & F5 Round Table - The Flexible Data CenterSpider & F5 Round Table - The Flexible Data Center
Spider & F5 Round Table - The Flexible Data CenterTzoori Tamam
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Richard Banks
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 

Tendances (20)

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

Similaire à Microservices: Breaking Apart the Monolith

REAN Cloud DevOps Accelerators
REAN Cloud DevOps AcceleratorsREAN Cloud DevOps Accelerators
REAN Cloud DevOps AcceleratorsREAN Cloud
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureAdam Stephensen
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...DigitalOcean
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application ModernisationAjay Kumar Uppal
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
Azure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersAzure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersJohn Stame
 
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Fwdays
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationLahav Savir
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...India Scrum Enthusiasts Community
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices confluent
 
Oracle 10g Application Server
Oracle 10g Application ServerOracle 10g Application Server
Oracle 10g Application ServerMark J. Feldman
 
POV - Practical Containerization
POV - Practical ContainerizationPOV - Practical Containerization
POV - Practical ContainerizationRobert Greiner
 
Windows Azure in Qatar
Windows Azure in QatarWindows Azure in Qatar
Windows Azure in Qatarguestb9112
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Sourceaspyker
 
Interop ITX: Moving applications: From Legacy to Cloud-to-Cloud
Interop ITX: Moving applications: From Legacy to Cloud-to-CloudInterop ITX: Moving applications: From Legacy to Cloud-to-Cloud
Interop ITX: Moving applications: From Legacy to Cloud-to-CloudSusan Wu
 
Agility with Microservices and DevOps
Agility with Microservices and DevOpsAgility with Microservices and DevOps
Agility with Microservices and DevOpsArchana Joshi
 

Similaire à Microservices: Breaking Apart the Monolith (20)

Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
REAN Cloud DevOps Accelerators
REAN Cloud DevOps AcceleratorsREAN Cloud DevOps Accelerators
REAN Cloud DevOps Accelerators
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
 
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
Combining Cloud Native & PaaS: Building a Fully Managed Application Platform ...
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Twelve Factor App
Twelve Factor AppTwelve Factor App
Twelve Factor App
 
Azure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersAzure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev Partners
 
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentation
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi an...
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices
 
Oracle 10g Application Server
Oracle 10g Application ServerOracle 10g Application Server
Oracle 10g Application Server
 
POV - Practical Containerization
POV - Practical ContainerizationPOV - Practical Containerization
POV - Practical Containerization
 
Windows Azure in Qatar
Windows Azure in QatarWindows Azure in Qatar
Windows Azure in Qatar
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
Interop ITX: Moving applications: From Legacy to Cloud-to-Cloud
Interop ITX: Moving applications: From Legacy to Cloud-to-CloudInterop ITX: Moving applications: From Legacy to Cloud-to-Cloud
Interop ITX: Moving applications: From Legacy to Cloud-to-Cloud
 
Agility with Microservices and DevOps
Agility with Microservices and DevOpsAgility with Microservices and DevOps
Agility with Microservices and DevOps
 

Dernier

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Dernier (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

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?