SlideShare a Scribd company logo
NATS Project Update
Derek Collison
NATS is a simple,
production proven,
cloud-native
messaging system.
What is NATS?
✓ Scalable Services and Streams
✓ At-Most-Once and At-Least-Once QoS
✓ Routing on Subjects/Topics, not IP or Hostnames
✓ Proven High-Performance Publish/Subscribe Router
✓ Simple, Secure, Performant and Resilient
✓ Built from the ground up to be Cloud-Native
✓ Support for over 30 different client languages
✓ Production-Proven for over 9 Yrs
Sample of NATS Clients
Some NATS Users
Use Cases
● Cloud Messaging
✓ Services (microservices)
✓ Event/Data Streaming (observability, analytics)
✓ Command and Control
● IoT and Edge
✓ Telemetry / Sensor Data / Command and Control
● Augmenting or Replacing Legacy Messaging
User Testimonials
With Choria.io, a user can be up and running with a scalable, clustered, secure
orchestration system within 30 minutes. Out of the box it’s known to support
50,000 nodes on a single compute node while being secure by default, easy to
maintain and production ready, all powered by NATS.
User Testimonials
Netlify, the leading platform for deploying high performance websites and
applications, utilizes NATS as the ultra-fast data plane for their services spanning
several cloud providers and supporting over 500,000 developers and businesses.
User Testimonials
Mastercard is leveraging NATS to transition from a legacy system to a next
generation cloud based infrastructure and has been providing valuable input for
new NATS features related to security, tracing, bridging, and configuration.
User Testimonials
StorageOS leverages NATS as a reliable control plane to transmit critical system
level events like volume creation and deletion between nodes in their persistent
storage for containers.
User Testimonials
Tinder migrated to NATS from a poll based system to allow push notifications to
their users, increasing scalability, and reducing mobile network bandwidth usage.
User Testimonials
Platform9 created Fission.io, a framework for “Serverless” Functions or
Functions-as-a-Service on Kubernetes which uses NATS for event sourcing.
NATS was chosen over other messaging projects for it's reliability and ease of use.
User Testimonials
Qlik's Qlik Sense is a Cloud Native data analytics platform built on Kubernetes that
provides a rich analytics user experience to thousands of users. Qlik Sense uses
NATS to broadcast messages to facilitate data synchronization, workload queues,
and cache invalidation as well as help provide monitoring and auditing of the
system as a whole, as well as handling our custom authentication requirements.
NATS Ecosystem
NATS Integrations
✓ Simple curl command to install and deploy to Kubernetes
✓ Prometheus Exporters, Fluentd Plugin and OpenTracing/Jaeger support
✓ Dapr.io Component Integration
✓ Spring Boot Starter
✓ NATS Cloud Stream Binder for Spring
✓ NATS / Kafka Bridge
✓ NATS / MQSeries Bridge
✓ Go-Cloud and Go-Micro pub/sub integration
NATS Monitoring
Global Dashboard
SuperCluster Metrics
Service Latency - Global View
NATS Getting Started
Basic Messaging Patterns
Services - Request/Reply
✓ Scale Up and Down
✓ Location Transparency
✓ Observability
Streams - Events and Data
✓ Scalable N:M communications
✓ Realtime and Persisted
✓ Playback by time, sequence, all or only last received
Accessing a NATS System
✓ Free Community Servers
• demo.nats.io (both open and secure versions)
✓ Kubernetes
• curl https://nats-io.github.io/k8s/setup.sh | sh
✓ Docker
• docker run -p 4222:4222 -ti nats:latest
✓ Additional Information
• https://docs.nats.io/nats-server/installation
Building Services with NATS
HTTP vs NATS (Requestor)
resp, err := http.Get("http://example.com/")
if err != nil {
// handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
// decode body
HTTP vs NATS (Requestor)
nc, err := nats.Connect("demo.nats.io")
if err != nil {
// handle err
}
resp, err := nc.Request("example.com", nil, 2*time.Second)
// decode resp.Data
HTTP vs NATS (Service)
http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request){
fmt.Fprintf(w, "Hello World")
})
log.Fatal(http.ListenAndServe(":8080", nil))
HTTP vs NATS (Service)
nc, err := nats.Connect("demo.nats.io")
if err != nil {
// handle err
}
sub, err := nc.QueueSubscribe("bar", "v0.1", func(m *nats.Msg) {
m.Respond([]byte("Hello World"))
})
NATS Service
✓ Deploy to any cloud, any geo, any deployment framework
✓ On-premise, Cloud, Edge or IoT
✓ No load balancers required
✓ No DNS updates to launch service
✓ No config changes to scale up or down
✓ Transparent service latency tracking (3 points of reference)
NATS History
History of NATS
NATS started as a project to power CloudFoundry
✓ Command and Control
✓ Querying
✓ Telemetry and Events
✓ Location Transparency
✓ Addressing and Discovery
✓ Distributed Scheduler
✓ Highly Resilient and Self Healing
NATS “then”
Built for me to serve
CloudFoundry and BOSH
control planes and telemetry system.
NATS “now”
Be the enabling technology to securely
connect ALL the world’s digital systems,
services and devices.
Connect Everything
✓ Shared utility of any size
✓ Decentralized and Federated
• Mix a shared utility with your own servers and security
✓ Secure by default, no passwords or keys, powerful authorization
✓ On-Premise, Multi-Cloud, Multi-Deployment, the Edge, and IoT
✓ Communicate, Publish, Consume, and Save and Restore State
✓ Healthy and thriving Ecosystem of Services and Streams
NATS Community
Contribution and Project Velocity
✓ Over 1,000 contributors, over 100 with more than 10 commits
✓ 33 Client Languages, most from outside contributors
✓ 15,000+ GitHub stars across repos
✓ 75 Public Repos
✓ 100M NATS Server and Streaming Server Docker Downloads
✓ ~1,600 Slack Members and accelerating
✓ 20+ releases of the NATS server since June 2014, ~= 5/yr
https://nats.devstats.cncf.io/d/9/developers-summary
Last 2.5 Years
✓ Designed PKI/JWT security for AuthZ and AuthN (w/ instant revocation)
• NO private keys transmitted or store on any NATS server
✓ Move to a secure multi-tenant distributed design, “containers for messaging”
✓ Additional Network Topologies
• Gateways for global superclusters
• Leafnodes to extend a NATS system with your own servers and auth
✓ Dynamic Response Authorization
✓ Transparent Service Latency Tracking
✓ All NEW Docs!
JetStream
✓ Next generation persistent messaging
✓ Years in the design and implementation
✓ Built into every NATS server, works with all NATS clients
✓ Supports Streams, Message-Queues and Work-Queues
✓ Push and Pull modes for Consumers
✓ File and Memory backing stores
✓ Scales horizontally, no additional components required
✓ NATS 2.0 Native, multi-tenant and secure by default
What’s Next?
✓ IoT and Edge
✓ Native MQTT support
✓ Websocket support for mobile and web
✓ Webassembly support
• Secure ingress and egress filtering and customization
• JetStream filters and processing
✓ Additional Stateful services, K/V, etc.
Timeline
2010
NATS first commit
Single Ruby Server and
Client. No clustering or
auth past single password
for the whole system.
2016
NATS Streaming
Authorization enhancements.
NATS.io site launched.
Ecosystem start. More clients
added.
2020
IoT, Edge & Mobile
MQTT support, Signed
Webassembly support,
Websockets support
2012
Go version released
Clustering. Performance
increase from 150k
msgs/sec to 6M msgs/sec.
2019
NATS 2.0 / JetStream
CNCF - 2018. Multi-Tenancy,
SuperClusters, Leafnodes,
PKI/JWT based authN and
authZ.
Want to learn more?
✓ 90 Minute Deep Dive Session on Thursday, 10:55am Room 6E
✓ Come by the Project Booth
✓ The nats.io website
✓ Docs! - docs.nats.io
✓ Slack Channel - slack.nats.io
✓ Email - info@nats.io
Come join us!
Let’s Connect Everything

More Related Content

What's hot

How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine Learning
Apcera
 
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
GopherCon 2017 -  Writing Networking Clients in Go: The Design & Implementati...GopherCon 2017 -  Writing Networking Clients in Go: The Design & Implementati...
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
wallyqs
 
OSCON: Building Cloud Native Apps with NATS
OSCON:  Building Cloud Native Apps with NATSOSCON:  Building Cloud Native Apps with NATS
OSCON: Building Cloud Native Apps with NATS
wallyqs
 
KubeConEU - NATS Deep Dive
KubeConEU - NATS Deep DiveKubeConEU - NATS Deep Dive
KubeConEU - NATS Deep Dive
wallyqs
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
wallyqs
 
Connect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo EuropeConnect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo Europe
wallyqs
 
GoSF: Decoupling Services from IP networks with NATS
GoSF: Decoupling Services from IP networks with NATSGoSF: Decoupling Services from IP networks with NATS
GoSF: Decoupling Services from IP networks with NATS
wallyqs
 
NATS: Control Flow for Distributed Systems
NATS: Control Flow for Distributed SystemsNATS: Control Flow for Distributed Systems
NATS: Control Flow for Distributed Systems
Apcera
 
NATS for Rubyists - Tokyo Rubyist Meetup
NATS for Rubyists - Tokyo Rubyist MeetupNATS for Rubyists - Tokyo Rubyist Meetup
NATS for Rubyists - Tokyo Rubyist Meetup
wallyqs
 
SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3
wallyqs
 
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATSKubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
wallyqs
 
NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016
wallyqs
 
Flowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoTFlowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoT
LinuxCon ContainerCon CloudOpen China
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015
Arthur Berezin
 
Running a Robust DNS Infrastructure with CloudFlare Virtual DNS
Running a Robust DNS Infrastructure with CloudFlare Virtual DNSRunning a Robust DNS Infrastructure with CloudFlare Virtual DNS
Running a Robust DNS Infrastructure with CloudFlare Virtual DNS
Cloudflare
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDNinakipascual
 
An approach for migrating enterprise apps into open stack
An approach for migrating enterprise apps into open stackAn approach for migrating enterprise apps into open stack
An approach for migrating enterprise apps into open stack
Arthur Berezin
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
StreamNative
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
wallyqs
 

What's hot (19)

How Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine LearningHow Clarifai uses NATS and Kubernetes for Machine Learning
How Clarifai uses NATS and Kubernetes for Machine Learning
 
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
GopherCon 2017 -  Writing Networking Clients in Go: The Design & Implementati...GopherCon 2017 -  Writing Networking Clients in Go: The Design & Implementati...
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
 
OSCON: Building Cloud Native Apps with NATS
OSCON:  Building Cloud Native Apps with NATSOSCON:  Building Cloud Native Apps with NATS
OSCON: Building Cloud Native Apps with NATS
 
KubeConEU - NATS Deep Dive
KubeConEU - NATS Deep DiveKubeConEU - NATS Deep Dive
KubeConEU - NATS Deep Dive
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
 
Connect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo EuropeConnect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo Europe
 
GoSF: Decoupling Services from IP networks with NATS
GoSF: Decoupling Services from IP networks with NATSGoSF: Decoupling Services from IP networks with NATS
GoSF: Decoupling Services from IP networks with NATS
 
NATS: Control Flow for Distributed Systems
NATS: Control Flow for Distributed SystemsNATS: Control Flow for Distributed Systems
NATS: Control Flow for Distributed Systems
 
NATS for Rubyists - Tokyo Rubyist Meetup
NATS for Rubyists - Tokyo Rubyist MeetupNATS for Rubyists - Tokyo Rubyist Meetup
NATS for Rubyists - Tokyo Rubyist Meetup
 
SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3
 
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATSKubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
 
NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016
 
Flowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoTFlowchain: A case study on building a Blockchain for the IoT
Flowchain: A case study on building a Blockchain for the IoT
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015
 
Running a Robust DNS Infrastructure with CloudFlare Virtual DNS
Running a Robust DNS Infrastructure with CloudFlare Virtual DNSRunning a Robust DNS Infrastructure with CloudFlare Virtual DNS
Running a Robust DNS Infrastructure with CloudFlare Virtual DNS
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDN
 
An approach for migrating enterprise apps into open stack
An approach for migrating enterprise apps into open stackAn approach for migrating enterprise apps into open stack
An approach for migrating enterprise apps into open stack
 
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
Security and Multi-Tenancy with Apache Pulsar in Yahoo! (Verizon Media) - Pul...
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
 

Similar to KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future

Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATSDeploy Secure and Scalable Services Across Kubernetes Clusters with NATS
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
NATS
 
A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & Connectivity
NATS
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Global Azure Bootcamp 2018 - Azure Network Security
Global Azure Bootcamp 2018 - Azure Network SecurityGlobal Azure Bootcamp 2018 - Azure Network Security
Global Azure Bootcamp 2018 - Azure Network Security
Scott Hoag
 
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup AppliancesDeep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
Veritas Technologies LLC
 
RethinkConn 2022!
RethinkConn 2022!RethinkConn 2022!
RethinkConn 2022!
NATS
 
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
Ambassador Labs
 
NATS Internals, Strengths and Challenges
NATS Internals, Strengths and ChallengesNATS Internals, Strengths and Challenges
NATS Internals, Strengths and Challenges
souravagrawal35
 
Banv meetup-contrail
Banv meetup-contrailBanv meetup-contrail
Banv meetup-contrail
nvirters
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu
 
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
Kiran Sirupa
 
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
DevOps.com
 
Music city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lake
Timothy Spann
 
OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019
MayaData Inc
 
Abul-Devops-CloudArch.
Abul-Devops-CloudArch.Abul-Devops-CloudArch.
Abul-Devops-CloudArch.Abulfazl Khan
 
Orchestrating Stateful Applications with PKS and Portworx
Orchestrating Stateful Applications with PKS and PortworxOrchestrating Stateful Applications with PKS and Portworx
Orchestrating Stateful Applications with PKS and Portworx
Carlos Andrés García
 
Orchestrating stateful applications with PKS and Portworx
Orchestrating stateful applications with PKS and PortworxOrchestrating stateful applications with PKS and Portworx
Orchestrating stateful applications with PKS and Portworx
VMware Tanzu
 
Cozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building cloudsCozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building clouds
Andrei Kvapil
 
Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
Sadique Puthen
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
Mikkel Mørk Hegnhøj
 

Similar to KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future (20)

Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATSDeploy Secure and Scalable Services Across Kubernetes Clusters with NATS
Deploy Secure and Scalable Services Across Kubernetes Clusters with NATS
 
A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & Connectivity
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Global Azure Bootcamp 2018 - Azure Network Security
Global Azure Bootcamp 2018 - Azure Network SecurityGlobal Azure Bootcamp 2018 - Azure Network Security
Global Azure Bootcamp 2018 - Azure Network Security
 
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup AppliancesDeep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
Deep Dive: a technical insider's view of NetBackup 8.1 and NetBackup Appliances
 
RethinkConn 2022!
RethinkConn 2022!RethinkConn 2022!
RethinkConn 2022!
 
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
 
NATS Internals, Strengths and Challenges
NATS Internals, Strengths and ChallengesNATS Internals, Strengths and Challenges
NATS Internals, Strengths and Challenges
 
Banv meetup-contrail
Banv meetup-contrailBanv meetup-contrail
Banv meetup-contrail
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
 
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
Case Study: Anuta NCX empowers Telstra Cloud Gateway to deliver Global Interc...
 
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
Zero to 1000+ Applications - Large Scale CD Adoption at Cisco with Spinnaker ...
 
Music city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lake
 
OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019OpenEBS Technical Workshop - KubeCon San Diego 2019
OpenEBS Technical Workshop - KubeCon San Diego 2019
 
Abul-Devops-CloudArch.
Abul-Devops-CloudArch.Abul-Devops-CloudArch.
Abul-Devops-CloudArch.
 
Orchestrating Stateful Applications with PKS and Portworx
Orchestrating Stateful Applications with PKS and PortworxOrchestrating Stateful Applications with PKS and Portworx
Orchestrating Stateful Applications with PKS and Portworx
 
Orchestrating stateful applications with PKS and Portworx
Orchestrating stateful applications with PKS and PortworxOrchestrating stateful applications with PKS and Portworx
Orchestrating stateful applications with PKS and Portworx
 
Cozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building cloudsCozystack: Free PaaS platform and framework for building clouds
Cozystack: Free PaaS platform and framework for building clouds
 
Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
 

More from NATS

NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATSNATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS
 
NATS Connect Live!
NATS Connect Live!NATS Connect Live!
NATS Connect Live!
NATS
 
NATS Connect Live | Pub/Sub on the Power Grid
NATS Connect Live | Pub/Sub on the Power GridNATS Connect Live | Pub/Sub on the Power Grid
NATS Connect Live | Pub/Sub on the Power Grid
NATS
 
NATS Connect Live | Distributed Identity & Authorization
NATS Connect Live | Distributed Identity & AuthorizationNATS Connect Live | Distributed Identity & Authorization
NATS Connect Live | Distributed Identity & Authorization
NATS
 
NATS Connect Live | Resgate
NATS Connect Live | ResgateNATS Connect Live | Resgate
NATS Connect Live | Resgate
NATS
 
NATS Connect Live | NATS & Augmented Reality
NATS Connect Live | NATS & Augmented RealityNATS Connect Live | NATS & Augmented Reality
NATS Connect Live | NATS & Augmented Reality
NATS
 
OSCON 2019 | Time to Think Different
OSCON 2019 | Time to Think DifferentOSCON 2019 | Time to Think Different
OSCON 2019 | Time to Think Different
NATS
 
Serverless for the Cloud Native Era with Fission
Serverless for the Cloud Native Era with FissionServerless for the Cloud Native Era with Fission
Serverless for the Cloud Native Era with Fission
NATS
 
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
NATS
 
Writing Networking Clients in Go - GopherCon 2017 talk
Writing Networking Clients in Go - GopherCon 2017 talkWriting Networking Clients in Go - GopherCon 2017 talk
Writing Networking Clients in Go - GopherCon 2017 talk
NATS
 
NATS vs HTTP for Interservice Communication
NATS vs HTTP for Interservice CommunicationNATS vs HTTP for Interservice Communication
NATS vs HTTP for Interservice Communication
NATS
 
Using NATS for Control Flow in Distributed Systems
Using NATS for Control Flow in Distributed SystemsUsing NATS for Control Flow in Distributed Systems
Using NATS for Control Flow in Distributed Systems
NATS
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
NATS
 
Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup
NATS
 
Actor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder MeetupActor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder Meetup
NATS
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
NATS
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
NATS
 
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
NATS
 
The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATS The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATS
NATS
 
How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the Internet How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the Internet
NATS
 

More from NATS (20)

NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATSNATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
NATS Connect Live | Serverless on Kubernetes with OpenFaaS & NATS
 
NATS Connect Live!
NATS Connect Live!NATS Connect Live!
NATS Connect Live!
 
NATS Connect Live | Pub/Sub on the Power Grid
NATS Connect Live | Pub/Sub on the Power GridNATS Connect Live | Pub/Sub on the Power Grid
NATS Connect Live | Pub/Sub on the Power Grid
 
NATS Connect Live | Distributed Identity & Authorization
NATS Connect Live | Distributed Identity & AuthorizationNATS Connect Live | Distributed Identity & Authorization
NATS Connect Live | Distributed Identity & Authorization
 
NATS Connect Live | Resgate
NATS Connect Live | ResgateNATS Connect Live | Resgate
NATS Connect Live | Resgate
 
NATS Connect Live | NATS & Augmented Reality
NATS Connect Live | NATS & Augmented RealityNATS Connect Live | NATS & Augmented Reality
NATS Connect Live | NATS & Augmented Reality
 
OSCON 2019 | Time to Think Different
OSCON 2019 | Time to Think DifferentOSCON 2019 | Time to Think Different
OSCON 2019 | Time to Think Different
 
Serverless for the Cloud Native Era with Fission
Serverless for the Cloud Native Era with FissionServerless for the Cloud Native Era with Fission
Serverless for the Cloud Native Era with Fission
 
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
 
Writing Networking Clients in Go - GopherCon 2017 talk
Writing Networking Clients in Go - GopherCon 2017 talkWriting Networking Clients in Go - GopherCon 2017 talk
Writing Networking Clients in Go - GopherCon 2017 talk
 
NATS vs HTTP for Interservice Communication
NATS vs HTTP for Interservice CommunicationNATS vs HTTP for Interservice Communication
NATS vs HTTP for Interservice Communication
 
Using NATS for Control Flow in Distributed Systems
Using NATS for Control Flow in Distributed SystemsUsing NATS for Control Flow in Distributed Systems
Using NATS for Control Flow in Distributed Systems
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
 
Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup Simple Solutions for Complex Problems - Boulder Meetup
Simple Solutions for Complex Problems - Boulder Meetup
 
Actor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder MeetupActor Patterns and NATS - Boulder Meetup
Actor Patterns and NATS - Boulder Meetup
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
 
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
Simple and Scalable Microservices: Using NATS with Docker Compose and Swarm
 
The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATS The Zen of High Performance Messaging with NATS
The Zen of High Performance Messaging with NATS
 
How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the Internet How Greta uses NATS to revolutionize data distribution on the Internet
How Greta uses NATS to revolutionize data distribution on the Internet
 

Recently uploaded

Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
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
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
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
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
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
 
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
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
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
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 

Recently uploaded (20)

Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
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 ...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
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
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
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
 
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
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
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...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 

KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future

  • 1.
  • 3. NATS is a simple, production proven, cloud-native messaging system.
  • 4. What is NATS? ✓ Scalable Services and Streams ✓ At-Most-Once and At-Least-Once QoS ✓ Routing on Subjects/Topics, not IP or Hostnames ✓ Proven High-Performance Publish/Subscribe Router ✓ Simple, Secure, Performant and Resilient ✓ Built from the ground up to be Cloud-Native ✓ Support for over 30 different client languages ✓ Production-Proven for over 9 Yrs
  • 5. Sample of NATS Clients
  • 7. Use Cases ● Cloud Messaging ✓ Services (microservices) ✓ Event/Data Streaming (observability, analytics) ✓ Command and Control ● IoT and Edge ✓ Telemetry / Sensor Data / Command and Control ● Augmenting or Replacing Legacy Messaging
  • 8. User Testimonials With Choria.io, a user can be up and running with a scalable, clustered, secure orchestration system within 30 minutes. Out of the box it’s known to support 50,000 nodes on a single compute node while being secure by default, easy to maintain and production ready, all powered by NATS.
  • 9. User Testimonials Netlify, the leading platform for deploying high performance websites and applications, utilizes NATS as the ultra-fast data plane for their services spanning several cloud providers and supporting over 500,000 developers and businesses.
  • 10. User Testimonials Mastercard is leveraging NATS to transition from a legacy system to a next generation cloud based infrastructure and has been providing valuable input for new NATS features related to security, tracing, bridging, and configuration.
  • 11. User Testimonials StorageOS leverages NATS as a reliable control plane to transmit critical system level events like volume creation and deletion between nodes in their persistent storage for containers.
  • 12. User Testimonials Tinder migrated to NATS from a poll based system to allow push notifications to their users, increasing scalability, and reducing mobile network bandwidth usage.
  • 13. User Testimonials Platform9 created Fission.io, a framework for “Serverless” Functions or Functions-as-a-Service on Kubernetes which uses NATS for event sourcing. NATS was chosen over other messaging projects for it's reliability and ease of use.
  • 14. User Testimonials Qlik's Qlik Sense is a Cloud Native data analytics platform built on Kubernetes that provides a rich analytics user experience to thousands of users. Qlik Sense uses NATS to broadcast messages to facilitate data synchronization, workload queues, and cache invalidation as well as help provide monitoring and auditing of the system as a whole, as well as handling our custom authentication requirements.
  • 16. NATS Integrations ✓ Simple curl command to install and deploy to Kubernetes ✓ Prometheus Exporters, Fluentd Plugin and OpenTracing/Jaeger support ✓ Dapr.io Component Integration ✓ Spring Boot Starter ✓ NATS Cloud Stream Binder for Spring ✓ NATS / Kafka Bridge ✓ NATS / MQSeries Bridge ✓ Go-Cloud and Go-Micro pub/sub integration
  • 20. Service Latency - Global View
  • 22. Basic Messaging Patterns Services - Request/Reply ✓ Scale Up and Down ✓ Location Transparency ✓ Observability Streams - Events and Data ✓ Scalable N:M communications ✓ Realtime and Persisted ✓ Playback by time, sequence, all or only last received
  • 23. Accessing a NATS System ✓ Free Community Servers • demo.nats.io (both open and secure versions) ✓ Kubernetes • curl https://nats-io.github.io/k8s/setup.sh | sh ✓ Docker • docker run -p 4222:4222 -ti nats:latest ✓ Additional Information • https://docs.nats.io/nats-server/installation
  • 25. HTTP vs NATS (Requestor) resp, err := http.Get("http://example.com/") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) // decode body
  • 26. HTTP vs NATS (Requestor) nc, err := nats.Connect("demo.nats.io") if err != nil { // handle err } resp, err := nc.Request("example.com", nil, 2*time.Second) // decode resp.Data
  • 27. HTTP vs NATS (Service) http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request){ fmt.Fprintf(w, "Hello World") }) log.Fatal(http.ListenAndServe(":8080", nil))
  • 28. HTTP vs NATS (Service) nc, err := nats.Connect("demo.nats.io") if err != nil { // handle err } sub, err := nc.QueueSubscribe("bar", "v0.1", func(m *nats.Msg) { m.Respond([]byte("Hello World")) })
  • 29. NATS Service ✓ Deploy to any cloud, any geo, any deployment framework ✓ On-premise, Cloud, Edge or IoT ✓ No load balancers required ✓ No DNS updates to launch service ✓ No config changes to scale up or down ✓ Transparent service latency tracking (3 points of reference)
  • 31. History of NATS NATS started as a project to power CloudFoundry ✓ Command and Control ✓ Querying ✓ Telemetry and Events ✓ Location Transparency ✓ Addressing and Discovery ✓ Distributed Scheduler ✓ Highly Resilient and Self Healing
  • 32. NATS “then” Built for me to serve CloudFoundry and BOSH control planes and telemetry system.
  • 33. NATS “now” Be the enabling technology to securely connect ALL the world’s digital systems, services and devices.
  • 34. Connect Everything ✓ Shared utility of any size ✓ Decentralized and Federated • Mix a shared utility with your own servers and security ✓ Secure by default, no passwords or keys, powerful authorization ✓ On-Premise, Multi-Cloud, Multi-Deployment, the Edge, and IoT ✓ Communicate, Publish, Consume, and Save and Restore State ✓ Healthy and thriving Ecosystem of Services and Streams
  • 36. Contribution and Project Velocity ✓ Over 1,000 contributors, over 100 with more than 10 commits ✓ 33 Client Languages, most from outside contributors ✓ 15,000+ GitHub stars across repos ✓ 75 Public Repos ✓ 100M NATS Server and Streaming Server Docker Downloads ✓ ~1,600 Slack Members and accelerating ✓ 20+ releases of the NATS server since June 2014, ~= 5/yr https://nats.devstats.cncf.io/d/9/developers-summary
  • 37. Last 2.5 Years ✓ Designed PKI/JWT security for AuthZ and AuthN (w/ instant revocation) • NO private keys transmitted or store on any NATS server ✓ Move to a secure multi-tenant distributed design, “containers for messaging” ✓ Additional Network Topologies • Gateways for global superclusters • Leafnodes to extend a NATS system with your own servers and auth ✓ Dynamic Response Authorization ✓ Transparent Service Latency Tracking ✓ All NEW Docs!
  • 38. JetStream ✓ Next generation persistent messaging ✓ Years in the design and implementation ✓ Built into every NATS server, works with all NATS clients ✓ Supports Streams, Message-Queues and Work-Queues ✓ Push and Pull modes for Consumers ✓ File and Memory backing stores ✓ Scales horizontally, no additional components required ✓ NATS 2.0 Native, multi-tenant and secure by default
  • 39. What’s Next? ✓ IoT and Edge ✓ Native MQTT support ✓ Websocket support for mobile and web ✓ Webassembly support • Secure ingress and egress filtering and customization • JetStream filters and processing ✓ Additional Stateful services, K/V, etc.
  • 40. Timeline 2010 NATS first commit Single Ruby Server and Client. No clustering or auth past single password for the whole system. 2016 NATS Streaming Authorization enhancements. NATS.io site launched. Ecosystem start. More clients added. 2020 IoT, Edge & Mobile MQTT support, Signed Webassembly support, Websockets support 2012 Go version released Clustering. Performance increase from 150k msgs/sec to 6M msgs/sec. 2019 NATS 2.0 / JetStream CNCF - 2018. Multi-Tenancy, SuperClusters, Leafnodes, PKI/JWT based authN and authZ.
  • 41. Want to learn more? ✓ 90 Minute Deep Dive Session on Thursday, 10:55am Room 6E ✓ Come by the Project Booth ✓ The nats.io website ✓ Docs! - docs.nats.io ✓ Slack Channel - slack.nats.io ✓ Email - info@nats.io
  • 42. Come join us! Let’s Connect Everything