SlideShare a Scribd company logo
Decoupling Services from
IP Networks with NATS Messaging
Go SF Meetup / July 2019
Waldemar Quevedo / @wallyqs
@wallyqs
#GoSF
● Waldemar Quevedo / @wallyqs
● Software Engineer at Synadia Communications, Inc
● NATS core maintainer (Ruby, Python, Go, K8S)
● Author of Practical NATS (Apress, 2018)
About me
@wallyqs
#GoSF
Agenda
● Overview of NATS Messaging
● Building secure & decentralized services using NATS v2
● Demo
@wallyqs
#GoSF
Demo: Decentralized Chat App
@wallyqs
#GoSF
Demo: Decentralized Chat App
@wallyqs
#GoSF
What is NATS?
@wallyqs
#GoSF
NATS is a simple,
production proven,
cloud-native
messaging system.
@wallyqs
#GoSF
ICYMI: NATS v2.0 released 🎉
@wallyqs
#GoSF
Also repository renamed 🙈
Before:
https://github.com/nats-io/gnatsd
Now:
https://github.com/nats-io/nats-server
⚠
@wallyqs
#GoSF
Also repository renamed 😬
Before:
https://github.com/nats-io/go-nats
Now:
https://github.com/nats-io/nats.go
⚠
@wallyqs
#GoSF
Now using Go modules 😬🙇
@wallyqs
#GoSF
Now using Go modules 😬🙇🤦
@wallyqs
#GoSF
Now using Go modules 😬🙇🤦🙏
https://github.com/golang/go/issues/32483
@wallyqs
#GoSF
New Docs site (with Dark mode)
https://nats-io.github.io/docs/
@wallyqs
#GoSF
CNCF Landscape
Joined CNCF as an
incubation project
in 2018
https://landscape.cncf.io
@wallyqs
#GoSF
CNCF Landscape
Joined CNCF as an
incubation project
in 2018
https://landscape.cncf.io
@wallyqs
#GoSF
CNCF Landscape
@wallyqs
#GoSF
Project almost 10 years old...
@wallyqs
#GoSF
NATS Origins
● Created by Derek Collison in 2010 for CloudFoundry
● DNA: Simplicity, performance, security, and availability
● TCP/IP based with a very simple plain text protocol
| PUB | SUB | UNSUB | CONNECT | INFO | MSG | -ERR | +OK | PING | PONG |
@wallyqs
#GoSF
What if all it took to
connect all your
services was a single URL?
@wallyqs
#GoSF
nats://connect.ngs.global:4222
An always available dial-tone
@wallyqs
#GoSF
An always available dial-tone
An always available dial-tone
An always available dial-tone
An always available dial-tone
An always available dial-tone
❌
❌
An always available dial-tone
❌
❌
@wallyqs
#GoSF
Core of NATS:
3 Simple Patterns
@wallyqs
#GoSF
Messaging Patterns
● Publish/Subscribe (1:N)
● Request/Reply (1:1)
● Load Balanced Queue Subscribers (1:1)
@wallyqs
#GoSF
Messaging Patterns
● Publish/Subscribe (Streams)
● Request/Reply (Services)
● Load Balanced Queue Subscribers (Streams or Services)
@wallyqs
#GoSF
Publish/Subscribe (1:N)
NATS
Client
SUB foo
PUB foo
NATS
Client
NATS
Client
NATS
Client
@wallyqs
#GoSF
Publish/Subscribe (1:N)
@wallyqs
#GoSF
Request/Response (1:1)
NATS
Client
NATS
Client
@wallyqs
#GoSF
Request/Response (1:1)
@wallyqs
#GoSF
Request/Response (1:1)
@wallyqs
#GoSF
Request/Response (1:1)
@wallyqs
#GoSF
Request/Response (1:1)
PUB help
NATS
Client
SUB help
NATS
Client
NATS
Client
NATS
Client
@wallyqs
#GoSF
Request/Response (1:1)
PUB help
NATS
Client
First message would be lowest latency response
NATS
Client
NATS
Client
NATS
Client
SUB help
@wallyqs
#GoSF
Request/Response (1:N)
PUB help
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Scatter & Gather multiple replies
SUB help
@wallyqs
#GoSF
Request/Response (1:N)
PUB help
NATS
Client
Scatter & Gather multiple replies
NATS
Client
NATS
Client
NATS
Client
SUB help
@wallyqs
#GoSF
Request/Response (1:N)
@wallyqs
#GoSF
Request/Response (1:N)
@wallyqs
#GoSF
Load Balanced Queues
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Randomly distributed
@wallyqs
#GoSF
Load Balanced Queues
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Randomly distributed
@wallyqs
#GoSF
Load Balanced Queues
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Randomly distributed
@wallyqs
#GoSF
Load Balanced Queues
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Randomly distributed
@wallyqs
#GoSF
Load Balanced Queues
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
Randomly distributed
@wallyqs
#GoSF
Load Balanced Queues
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo workers
PUB foo
NATS
Client
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
@wallyqs
#GoSF
Wildcards
SUB foo.bar workers
PUB foo.bar
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
NATS
Client
SUB foo.*
@wallyqs
#GoSF
Wildcards
SUB foo.bar workers
PUB foo.bar
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
NATS
Client
SUB foo.*
@wallyqs
#GoSF
Wildcards
SUB foo.bar workers
PUB foo.bar
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
NATS
Client
SUB foo.*
@wallyqs
#GoSF
Wildcards
SUB foo.bar workers
PUB foo.bar
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
NATS
Client
SUB foo.*
@wallyqs
#GoSF
Wildcards
SUB foo.bar workers
PUB foo.bar
NATS
Client
NATS
Client
NATS
Client
NATS
Client
SUB >
NATS
Client
SUB foo.*
@wallyqs
#GoSF
Delivery modes
@wallyqs
#GoSF
Delivery modes
At most once (Core)
● No guarantee of delivery
● Messages can be lost
● Applications must detect and handle lost messages
https://github.com/nats-io/nats-server
@wallyqs
#GoSF
Delivery modes
At least once (Streaming)
● Ensure message delivery
● Messages are persisted
● Messages may be delivered more than once
https://github.com/nats-io/nats-streaming-server
@wallyqs
#GoSF
Messages replay with
NATS Streaming (STAN)
@wallyqs
#GoSF
Message replay with STAN
NATS
Streaming
Client
NATS
Streaming
Server
● A NATS Streaming Server can be attached to the NATS
network and provide persistence of messages.
@wallyqs
#GoSF
Message replay with STAN
@wallyqs
#GoSF
Message replay with STAN
@wallyqs
#GoSF
Decentralized Services w/ NATS v2
@wallyqs
#GoSF
Classic NATS v1 App Architecture
HTTP
Server
HTTP
Server
NATS
Service
NATS
Service
Load
Balancer
@wallyqs
#GoSF
No more silos!
● NATS v2 is multitenant
○ (containers but for messaging)
● A NATS user can now exist within an account
○ By default the global account ($G)
@wallyqs
#GoSF
Messaging Patterns
● Publish/Subscribe (Streams)
● Request/Reply (Services)
● Load Balanced Queue Subscribers (Streams or Services)
@wallyqs
#GoSF
Streams
Export
Import
@wallyqs
#GoSF
Services
Export
Import
@wallyqs
#GoSF
NKEYS (ed25519 based)
@wallyqs
#GoSF
NKEYS (ed25519 based)
@wallyqs
#GoSF
Decentralized auth via JWTs
https://api.synadia.io
/jwt/v1/accounts/AA
OSCON6ID63VZPP
AZRHMHKNYLNX7
N4J5UEWVSI64XLR
ZXZCYYVBTXG5?de
code=true
@wallyqs
#GoSF
Classic NATS v1 App Architecture
HTTP
Server
HTTP
Server
NATS
Service
NATS
Service
Load
Balancer
@wallyqs
#GoSF
Super Clusters with Gateways
NATS
Service
NATS
Service
NATS
Service
NATS
Service
EU West US West
Super Clusters with Gateways
nats://connect.ngs.global:4222
@wallyqs
#GoSF
Global NATS Network
@wallyqs
#GoSF
Global NATS Network
@wallyqs
#GoSF
Demo: Decentralized Chat App
@wallyqs
#GoSF
● To join the demo:
docker run -it wallyqs/nats-gosf2019
nats-req chat.req.access user$RANDOM > my.creds
chat -creds my.creds
https://github.com/connecteverything/oscon2019
Demo: Decentralized Chat App
@wallyqs
#GoSF
Questions?
@wallyqs
#GoSF
Thanks! https://natsio.slack.com
To join the real NATS Slack:

More Related Content

What's hot

KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
KubeCon NA 2019 Keynote | NATS - Past, Present, and the FutureKubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
NATS
 
NATS Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service MeshNATS Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service Mesh
NATS
 
NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016
wallyqs
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
Apcera
 
Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140) Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140)
Bangladesh Network Operators Group
 
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
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
Apcera
 
Netflix CDN and Open Source
Netflix CDN and Open SourceNetflix CDN and Open Source
Netflix CDN and Open Source
Gleb Smirnoff
 
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
 
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlare
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlareSurviving A DDoS Attack: Securing CDN Traffic at CloudFlare
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlare
Cloudflare
 
Debugging Network Issues
Debugging Network IssuesDebugging Network Issues
Debugging Network Issues
Apcera
 
Traefik 2.x features - canary deployment with Traefik and K3S
Traefik 2.x features - canary deployment with Traefik and K3STraefik 2.x features - canary deployment with Traefik and K3S
Traefik 2.x features - canary deployment with Traefik and K3S
Jakub Hajek
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
NGINX, Inc.
 
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Alex Robinson
 
What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
NGINX, Inc.
 
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
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
Kevin Jones
 
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
LINE Corporation
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
NGINX, Inc.
 
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
APNIC
 

What's hot (20)

KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
KubeCon NA 2019 Keynote | NATS - Past, Present, and the FutureKubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
KubeCon NA 2019 Keynote | NATS - Past, Present, and the Future
 
NATS Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service MeshNATS Connect Live | NATS as a Service Mesh
NATS Connect Live | NATS as a Service Mesh
 
NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016NATS + Docker meetup talk Oct - 2016
NATS + Docker meetup talk Oct - 2016
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140) Network Security Best Practice (BCP38 & 140)
Network Security Best Practice (BCP38 & 140)
 
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)
 
Implementing Microservices with NATS
Implementing Microservices with NATSImplementing Microservices with NATS
Implementing Microservices with NATS
 
Netflix CDN and Open Source
Netflix CDN and Open SourceNetflix CDN and Open Source
Netflix CDN and Open Source
 
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...
 
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlare
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlareSurviving A DDoS Attack: Securing CDN Traffic at CloudFlare
Surviving A DDoS Attack: Securing CDN Traffic at CloudFlare
 
Debugging Network Issues
Debugging Network IssuesDebugging Network Issues
Debugging Network Issues
 
Traefik 2.x features - canary deployment with Traefik and K3S
Traefik 2.x features - canary deployment with Traefik and K3STraefik 2.x features - canary deployment with Traefik and K3S
Traefik 2.x features - canary deployment with Traefik and K3S
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
 
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
 
What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
 
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
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
 
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
Internet Week 2018: APNIC Reverse DNS service outage report: May 2018
 

Similar to GoSF: Decoupling Services from IP networks with NATS

Upstate DevOps - What's New With DevOps
Upstate DevOps - What's New With DevOpsUpstate DevOps - What's New With DevOps
Upstate DevOps - What's New With DevOps
Allen Vailliencourt
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking Professionals
Victor Morales
 
The Big Cloud native FaaS Lebowski
The Big Cloud native FaaS LebowskiThe Big Cloud native FaaS Lebowski
The Big Cloud native FaaS Lebowski
QAware GmbH
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
QAware GmbH
 
Bridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianBridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the Guardian
Kaelig Deloumeau-Prigent
 
Kubernetes Operability Tooling (devopsdays Seattle 2019)
Kubernetes Operability Tooling (devopsdays Seattle 2019)Kubernetes Operability Tooling (devopsdays Seattle 2019)
Kubernetes Operability Tooling (devopsdays Seattle 2019)
bridgetkromhout
 
Deis - Building our own PaaS at Springest
Deis - Building our own PaaS at SpringestDeis - Building our own PaaS at Springest
Deis - Building our own PaaS at Springest
Wouter de Vos
 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Edward Wilde
 
Building full-stack Node.js web apps with Visual Studio Code
Building full-stack Node.js web apps with Visual Studio CodeBuilding full-stack Node.js web apps with Visual Studio Code
Building full-stack Node.js web apps with Visual Studio Code
Microsoft Tech Community
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
QAware GmbH
 
Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalability
Damien Coraboeuf
 
Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)
bridgetkromhout
 
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Devoxx 2016 talk: Going Global with Nomad and Google Cloud PlatformDevoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Bastiaan Bakker
 
Intro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP SwitzerlandIntro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP Switzerland
Matt Tesauro
 
Escaping the Jungle - Migrating to Cloud Native CI/CD
Escaping the Jungle - Migrating to Cloud Native CI/CDEscaping the Jungle - Migrating to Cloud Native CI/CD
Escaping the Jungle - Migrating to Cloud Native CI/CD
Anton Weiss
 
New Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application SecurityNew Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application Security
James Wickett
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
César Hernández
 
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherKubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
Edward Wilde
 
Epistemological Problem of Application Security
Epistemological Problem of Application SecurityEpistemological Problem of Application Security
Epistemological Problem of Application Security
James Wickett
 
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
Codemotion
 

Similar to GoSF: Decoupling Services from IP networks with NATS (20)

Upstate DevOps - What's New With DevOps
Upstate DevOps - What's New With DevOpsUpstate DevOps - What's New With DevOps
Upstate DevOps - What's New With DevOps
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking Professionals
 
The Big Cloud native FaaS Lebowski
The Big Cloud native FaaS LebowskiThe Big Cloud native FaaS Lebowski
The Big Cloud native FaaS Lebowski
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
 
Bridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianBridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the Guardian
 
Kubernetes Operability Tooling (devopsdays Seattle 2019)
Kubernetes Operability Tooling (devopsdays Seattle 2019)Kubernetes Operability Tooling (devopsdays Seattle 2019)
Kubernetes Operability Tooling (devopsdays Seattle 2019)
 
Deis - Building our own PaaS at Springest
Deis - Building our own PaaS at SpringestDeis - Building our own PaaS at Springest
Deis - Building our own PaaS at Springest
 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
 
Building full-stack Node.js web apps with Visual Studio Code
Building full-stack Node.js web apps with Visual Studio CodeBuilding full-stack Node.js web apps with Visual Studio Code
Building full-stack Node.js web apps with Visual Studio Code
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
 
Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalability
 
Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)Kubernetes Operability Tooling (GOTO Chicago 2019)
Kubernetes Operability Tooling (GOTO Chicago 2019)
 
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Devoxx 2016 talk: Going Global with Nomad and Google Cloud PlatformDevoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
 
Intro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP SwitzerlandIntro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP Switzerland
 
Escaping the Jungle - Migrating to Cloud Native CI/CD
Escaping the Jungle - Migrating to Cloud Native CI/CDEscaping the Jungle - Migrating to Cloud Native CI/CD
Escaping the Jungle - Migrating to Cloud Native CI/CD
 
New Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application SecurityNew Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application Security
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
 
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherKubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
 
Epistemological Problem of Application Security
Epistemological Problem of Application SecurityEpistemological Problem of Application Security
Epistemological Problem of Application Security
 
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
Fabio Tiriticco - Ádám Sándor - Akka Cluster versus Kubernetes: Clustering...
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

GoSF: Decoupling Services from IP networks with NATS