SlideShare a Scribd company logo
MESSAGING WITHOUT SERVERS
BUILDING MESSAGING ON THE CLOUD
MESSAGING ON
PREMISE
SERVER CLOSEST
THAT LOOKED LIKE
THIS
NOW LOOK LIKE
THIS
MESSAGING SYSTEMS
 Azure
 Event Grid
 Event Hubs
 Service Bus
 Storage Queues
 GCP
 Cloud Pub/Sub
 Firebase Messaging
 AWS
 SQS
 Amazon MQ
 Amazon SNS
 Amazon Pinpoint
 Amazon Kinesis Streams
 AWS IoT Message broker
 Alibaba
 AlibabMQ for Apache
RocketMQ
 AlibabMQ for Apache Kafka
 Message Service
 Oracle
 Who cares?
 IBM
 See “Oracle”
ADVANTAGES TO CLOUD MESSAGING
 Super easy to manage
 Generally very reliable
 Takes advantage of known cloud constraints
 Excellent APIs
NSERVICEBUS CUSTOMERS 5 YEARS AGO
 On premise
 Fixed hardware provisioning
 In house transports like MSMQ, SQL or RabbitMQ
NSERVICEBUS CUSTOMERS IN 5 YEARS
 Cloud hosted
 Elastic provisioning
 Cloud transports like SQS
DEPLOYMENT MODELS
Physical Machines
Fully owned, responsible for hardware and software
Virtual Machines
Hardware managed but OS patching owned
Kubernetes
Responsible for some patching
Serverless
Fully managed
CLOUD BARE
METAL HOSTING
 AWS EC2 Bare Metal
 IBM Bare Metal Servers
 GCP Bare Metal Solution
CLOUD VM
HOSTING
 AWS EC2
 Azure Virtual Machines
 GCP Virtual Machines
DISADVANTAGES TO VM APPROACH
 Still responsible for patching and updating
 Management is largely done by logging into a machine and twiddling with it
 Still difficult to scale in a granular way
WHAT ABOUT
THAT KUBERNETES
THING?
KUBERNETES
HOSTING
 AWS Elastic Kubernetes
Service (EKS)
 Azure Virtual Machines
(AKS)
 Google Kubernetes Engine
(GKE)
KUBERNETES VS. SERVERLESS
 Kubernetes is the Linga Franca of different clouds
 Scaling requires some manual intervention or
defining of rules
 Minimum unit of scale is a single container
 Serverless provides deeper integration with the
cloud platforms
 Scaling is totally transparent
 Minimum unit of scale is 0
WHERE DOES SERVERLESS FIT?
LOW THROUGHPUT
ENDPOINTS
UNPREDICTABLE
LOAD
SMOOTHING PEAKS
BOOTSTRAP
WITHOUT
INVESTMENT
BUILD YOU ENTIRE
SYSTEM ON
SERVERLESS
HOW NSERVICEBUS HELPS
 Preview packages available for both Azure Functions and AWS Lambdas
 Helps with serialization and deserialization
 Makes handling multiple message types easy
 Handles batching
 Facilitates transactional processing with outbox
CODE - LAMBDA
CODE - FUNCTIONS
SERVERLESS GOTCHAS
 May scale beyond the capabilities of your other services
 May be more expensive than deploying to VMs
 Some restrictions on what can be run
 Time limits on processing
 Runtimes are specific to the cloud on which they run
 Messaging semantics can be difficult to understand
CODE - NSERVICEBUS
PRICING FOR NSERVICEBUS ACCOUNTS FOR SERVERLESS
SCENARIOS
Q & A
CATCH UP WITH ME
 Weekly episodes of ASP.NET Monsters https://www.youtube.com/c/Aspnetmonsters
 Occasional blogging https://aspnetmonsters.com/ https://blog.simontimms.com/
 Complaining about anything and everything on Twitter @stimms

More Related Content

What's hot

Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
Amazon Web Services
 
Amazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online TrainingAmazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online Training
Glory IT Technologies
 
20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-public20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-public
Shogo Muranushi
 
The Amazing AppEngine
The Amazing AppEngineThe Amazing AppEngine
The Amazing AppEngine
Alexander Khaerov
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
Sascha Möllering
 
AWS Containerization
AWS ContainerizationAWS Containerization
AWS Containerization
Mackenzie LeJeune
 
Come and learn with AWS HANDS-ON LABS - Poccia
Come and learn with AWS HANDS-ON LABS - PocciaCome and learn with AWS HANDS-ON LABS - Poccia
Come and learn with AWS HANDS-ON LABS - Poccia
Codemotion
 
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
UA DevOps Conference
 
Serverless .NET on AWS
Serverless .NET on AWS Serverless .NET on AWS
Serverless .NET on AWS
Wojciech Gawroński
 
Web Front-End CQRS
Web Front-End CQRSWeb Front-End CQRS
Web Front-End CQRS
Emil Cardell
 
Various Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCPVarious Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCP
Mohammad Imran Ansari
 
Microservices
MicroservicesMicroservices
Microservices
Nguyen Dung
 
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
Carlos Cortez Senior Cloud Architect
 
AWS Perú Meetup - Arquitecting for HA by Raul Hugo
AWS Perú Meetup - Arquitecting for HA by Raul HugoAWS Perú Meetup - Arquitecting for HA by Raul Hugo
AWS Perú Meetup - Arquitecting for HA by Raul Hugo
Carlos Cortez Senior Cloud Architect
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
Hesham Amin
 
Cloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSCloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWS
samof76
 
AWS chez Attestis
AWS chez AttestisAWS chez Attestis
AWS chez Attestis
Olivier Destrebecq
 
Amazon Web Services - Ignite SP
Amazon Web Services - Ignite SPAmazon Web Services - Ignite SP
Amazon Web Services - Ignite SP
Roberto Gaiser
 
YOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps InnovationYOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps Innovation
YOOXlabsTechEvent
 

What's hot (20)

Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
Counter Service Digital Journey at AWS Summit Bangkok 2017 Keynote
 
Docker in der AWS Cloud
Docker in der AWS CloudDocker in der AWS Cloud
Docker in der AWS Cloud
 
Amazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online TrainingAmazon Web Services (AWS) Online Training
Amazon Web Services (AWS) Online Training
 
20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-public20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-public
 
The Amazing AppEngine
The Amazing AppEngineThe Amazing AppEngine
The Amazing AppEngine
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
AWS Containerization
AWS ContainerizationAWS Containerization
AWS Containerization
 
Come and learn with AWS HANDS-ON LABS - Poccia
Come and learn with AWS HANDS-ON LABS - PocciaCome and learn with AWS HANDS-ON LABS - Poccia
Come and learn with AWS HANDS-ON LABS - Poccia
 
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
АРТЕМ КОБРІН «Achieve Networking at Scale with a Self-Service Network Solutio...
 
Serverless .NET on AWS
Serverless .NET on AWS Serverless .NET on AWS
Serverless .NET on AWS
 
Web Front-End CQRS
Web Front-End CQRSWeb Front-End CQRS
Web Front-End CQRS
 
Various Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCPVarious Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCP
 
Microservices
MicroservicesMicroservices
Microservices
 
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
AWS Peru Meetup - recap reinvent 2016 (by Carlos Cortez)
 
AWS Perú Meetup - Arquitecting for HA by Raul Hugo
AWS Perú Meetup - Arquitecting for HA by Raul HugoAWS Perú Meetup - Arquitecting for HA by Raul Hugo
AWS Perú Meetup - Arquitecting for HA by Raul Hugo
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
Cloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSCloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWS
 
AWS chez Attestis
AWS chez AttestisAWS chez Attestis
AWS chez Attestis
 
Amazon Web Services - Ignite SP
Amazon Web Services - Ignite SPAmazon Web Services - Ignite SP
Amazon Web Services - Ignite SP
 
YOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps InnovationYOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps Innovation
 

Similar to Messaging without servers

Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Amazon Web Services
 
Intro to batch processing on AWS
Intro to batch processing on AWSIntro to batch processing on AWS
Intro to batch processing on AWS
Amazon Web Services
 
Introduction to Batch Processing on AWS
Introduction to Batch Processing on AWSIntroduction to Batch Processing on AWS
Introduction to Batch Processing on AWS
Amazon Web Services
 
Major Container Platform Comparison
Major Container Platform ComparisonMajor Container Platform Comparison
Major Container Platform Comparison
indu Yadav
 
Batch Processing with Containers on AWS - June 2017 AWS Online Tech Talks
Batch Processing with Containers on AWS -  June 2017 AWS Online Tech TalksBatch Processing with Containers on AWS -  June 2017 AWS Online Tech Talks
Batch Processing with Containers on AWS - June 2017 AWS Online Tech Talks
Amazon Web Services
 
Mainframe to Serverless Architectures
Mainframe to Serverless ArchitecturesMainframe to Serverless Architectures
Mainframe to Serverless Architectures
Maksim Djackov
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservices
Dipali Kulshrestha
 
NServiceBus in Azure - A Right Tool for the Web(Job)?
NServiceBus in Azure - A Right Tool for the Web(Job)?NServiceBus in Azure - A Right Tool for the Web(Job)?
NServiceBus in Azure - A Right Tool for the Web(Job)?
Sean Feldman
 
Monoliths to Microservices - Madhu - AWS - CC18
Monoliths to Microservices - Madhu - AWS - CC18Monoliths to Microservices - Madhu - AWS - CC18
Monoliths to Microservices - Madhu - AWS - CC18
CodeOps Technologies LLP
 
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at ScaleCustomer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
Amazon Web Services
 
Deep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at ScaleDeep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at Scale
Pahud Hsieh
 
AWS vs Azure vs GCP – Which one to choose in 2024.pdf
AWS vs Azure vs GCP – Which one to choose in 2024.pdfAWS vs Azure vs GCP – Which one to choose in 2024.pdf
AWS vs Azure vs GCP – Which one to choose in 2024.pdf
Sparity1
 
Startup Best Practices on AWS
Startup Best Practices on AWSStartup Best Practices on AWS
Startup Best Practices on AWS
Amazon Web Services
 
Aws learning sessoin_bm
Aws learning sessoin_bmAws learning sessoin_bm
Aws learning sessoin_bm
Balaji Mariyappan
 
Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018
Amazon Web Services
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
Pahud Hsieh
 
AWS 101 - Amazon Web Services
AWS 101 - Amazon Web ServicesAWS 101 - Amazon Web Services
AWS 101 - Amazon Web Services
Enmanuel Sosa G.
 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Amazon Web Services
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWS
Amazon Web Services
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
DevOps Indonesia
 

Similar to Messaging without servers (20)

Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017Intro to Batch Processing on AWS - DevDay Los Angeles 2017
Intro to Batch Processing on AWS - DevDay Los Angeles 2017
 
Intro to batch processing on AWS
Intro to batch processing on AWSIntro to batch processing on AWS
Intro to batch processing on AWS
 
Introduction to Batch Processing on AWS
Introduction to Batch Processing on AWSIntroduction to Batch Processing on AWS
Introduction to Batch Processing on AWS
 
Major Container Platform Comparison
Major Container Platform ComparisonMajor Container Platform Comparison
Major Container Platform Comparison
 
Batch Processing with Containers on AWS - June 2017 AWS Online Tech Talks
Batch Processing with Containers on AWS -  June 2017 AWS Online Tech TalksBatch Processing with Containers on AWS -  June 2017 AWS Online Tech Talks
Batch Processing with Containers on AWS - June 2017 AWS Online Tech Talks
 
Mainframe to Serverless Architectures
Mainframe to Serverless ArchitecturesMainframe to Serverless Architectures
Mainframe to Serverless Architectures
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservices
 
NServiceBus in Azure - A Right Tool for the Web(Job)?
NServiceBus in Azure - A Right Tool for the Web(Job)?NServiceBus in Azure - A Right Tool for the Web(Job)?
NServiceBus in Azure - A Right Tool for the Web(Job)?
 
Monoliths to Microservices - Madhu - AWS - CC18
Monoliths to Microservices - Madhu - AWS - CC18Monoliths to Microservices - Madhu - AWS - CC18
Monoliths to Microservices - Madhu - AWS - CC18
 
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at ScaleCustomer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
Customer Sharing: miiiCasa - Deep Dive into AWS ECS and Spot Instances at Scale
 
Deep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at ScaleDeep Dive into AWS ECS and Spot Instances at Scale
Deep Dive into AWS ECS and Spot Instances at Scale
 
AWS vs Azure vs GCP – Which one to choose in 2024.pdf
AWS vs Azure vs GCP – Which one to choose in 2024.pdfAWS vs Azure vs GCP – Which one to choose in 2024.pdf
AWS vs Azure vs GCP – Which one to choose in 2024.pdf
 
Startup Best Practices on AWS
Startup Best Practices on AWSStartup Best Practices on AWS
Startup Best Practices on AWS
 
Aws learning sessoin_bm
Aws learning sessoin_bmAws learning sessoin_bm
Aws learning sessoin_bm
 
Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
AWS 101 - Amazon Web Services
AWS 101 - Amazon Web ServicesAWS 101 - Amazon Web Services
AWS 101 - Amazon Web Services
 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdf
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWS
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

Messaging without servers

Editor's Notes

  1. When I first took Udi’s distributed systems course it was a different age. We were building largely for on-premise deployment and messaging options were pretty limited. It was basically MSMQ or bust. Over the years we’ve seen a lot of changes in that space. There are loads of newer messaging systems like rabbitmq. There are also a lot of cloud-based message systems. Every major cloud player has one, probably several messaging systems. While many companies are still hosing their infrastructure in house it is becoming difficult to justify. It can be cheaper to do thing in-house but finding talent which can set up and maintain the sorts of data centers companies need these days is difficult
  2. We are rapidly moving away from people building their own data “centers” in a closet and towards just using the cloud. For small and medium sized companies the could makes a lot of sense. For very large or very technically proficient companies it can still be cheaper to roll your own hardware in a data center. I’m specifically thinking of stack overflow here who have amazing technical skills on staff and do save themselves money by standing up their own servers. If you’re anything less than that, though clouds make sense.
  3. The scale of these data centers is mind blowing. I think this is Ireland, but it is weirdly difficult to get pictures of data centers.
  4. I cannot stress enough how much easier it is to build out a message queue in the cloud as compared with on premise. In the time it takes you to set up the meeting with IT to talk about provisioning servers for messaging you can have an instance of ASB up and running. Messaging in the cloud is highly reliable. You’ll hardly ever find the service is down or that it is overloaded. That the service runs in a known configuration means that they can provide guarantees like in order messaging that are difficult to achieve locally The APIs these services also tend to be pretty good having had years to develop and supporting multiple languages.
  5. This is where I suspect Nservicebus will be going over the next few years. There will certainly still be a mass of customers who remain on premise for various regulatory, cost or comfort reasons but a good number of customers are going to be out here in the cloud I already see my clients moving a lot of their services to the cloud and I think it will continue, I hope it will
  6. There are some cases where you need to do something highly specialized that requires bare metal server. Examples I can think of include high performance databases and things which have been configured to talk directly to non-virtualized disks.
  7. We can of course host in the cloud using an extension of the current model of just installing the nsb host on a virtual machine. This doesn’t really offer us much in terms of advantages over running on data-center hardware
  8. It is difficult to get to a really large scale if you’re logging into machines and twiddling with it If you have a single VM image with all your services installed on it then when you go to scale out you get 2 machines with all your services on them. Often you need to just scale a sliver of your application instead of all the endpoints at once If you have a bunch of VM images with individual endpoints on them then that gives you better scalability but you’re going to end up scaling in a way that is coarse grained. Maybe login service is loaded but is it loaded enough to provision an entire server and distribute to it? There is also a pretty heavy startup cost to virtual machines, typically you see provision and start up times on the order of 2-3 minutes. That’s laughable when compared to getting IT to provision you a server but
  9. Kubernetes support containers and containers are pretty cool. They reduce the minimum size of the thing you deploy to computer significantly from virtual machines. All you need to deploy now is a prepackaged image which contains your application and any support libraries. This makes it much easier to do deployments and remain confident that what you’re deploying will run the same in the cloud as it does on your local machine. There is, however, a pretty high bar for entry into the k8s space. While there are plenty of tutorials and certifications out there for it the truth is that there are a lot of concepts in the k8s space
  10. Cloud providers all have their own Kubernetes hosting solution with various degrees of maturity. In general though they are pretty similar and support things like serverless Kubernetes allowing you to scale out for spiky load almost instantly .
  11. Endpoints which receive very few messages have a low load so having a service which only spins up when there are messages is a real cost savings. K8s is always going to have a minimum load as are vms
  12. If the load on a service isn’t known ahead of time then serverless can help. It will scale up to take the load and scale down when there is no load. You pay by execution so you basically pay per message
  13. Just like electrical grids most messaging systems have a kind of base load to them. At most times of the day we expect to see n messages flowing through the system. However when people first log in in the morning or when we process a large batch file we might see extra load over the base load. We can handle the base load using virtual machines because they’re cheaper. Using serverless to handle the peak load.
  14. Serverless has almost no cost to entry so if you need to get a company up quickly or you need to prototype a solution quickly then serverless can be a great option
  15. You can go all in on serverless and put all your endpoint there. This is a great option if you don’t know about how much use the system will have or if you just don’t want to have to worry at all about how to scale the system up and down
  16. You can cap the number of instances of a function you want running at a time on AWS. On azure the limits are a little harder to enforce. Functions/lambdas while cheap may be more expensive that just putting together a full on VM to handle the message processing For functions, at least, the integration with the .net runtime can cause problems with different versions of libraries and the framework There are limits to how long you can take to process a message
  17. The pricing of nservicebus use to be per server or per-core or something like that – I honestly don’t remember. But now it is a much friendlier model for both small installations and for serverless. If you only have a handful of messages and endpoints all of a sudden this pricing becomes remarkably good.