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

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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?