SlideShare a Scribd company logo
1 of 29
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 TrainingGlory IT Technologies
 
20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-public20160916 aws premier-night-v2-public
20160916 aws premier-night-v2-publicShogo Muranushi
 
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 - PocciaCodemotion
 
АРТЕМ КОБРІН «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
 
Web Front-End CQRS
Web Front-End CQRSWeb Front-End CQRS
Web Front-End CQRSEmil Cardell
 
Various Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCPVarious Cloud offerings AWS/AZURE/GCP
Various Cloud offerings AWS/AZURE/GCPMohammad Imran Ansari
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWSHesham Amin
 
Cloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSCloud- IaaS in Perspective AWS
Cloud- IaaS in Perspective AWSsamof76
 
Amazon Web Services - Ignite SP
Amazon Web Services - Ignite SPAmazon Web Services - Ignite SP
Amazon Web Services - Ignite SPRoberto Gaiser
 
YOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps InnovationYOOXlabTechEvent: How Cloud helps Innovation
YOOXlabTechEvent: How Cloud helps InnovationYOOXlabsTechEvent
 

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 2017Amazon Web Services
 
Intro to batch processing on AWS
Intro to batch processing on AWSIntro to batch processing on AWS
Intro to batch processing on AWSAmazon Web Services
 
Introduction to Batch Processing on AWS
Introduction to Batch Processing on AWSIntroduction to Batch Processing on AWS
Introduction to Batch Processing on AWSAmazon Web Services
 
Major Container Platform Comparison
Major Container Platform ComparisonMajor Container Platform Comparison
Major Container Platform Comparisonindu 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 TalksAmazon Web Services
 
Mainframe to Serverless Architectures
Mainframe to Serverless ArchitecturesMainframe to Serverless Architectures
Mainframe to Serverless ArchitecturesMaksim Djackov
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservicesDipali 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 - CC18CodeOps 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 ScaleAmazon 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 ScalePahud 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.pdfSparity1
 
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 2018Amazon 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 ServicesEnmanuel 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.pdfAmazon Web Services
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWSAmazon Web Services
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECSDevOps 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

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 

Recently uploaded (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 

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.