NATS
A nervous system
for modern
distributed systems
Thank you! (&
Housekeeping)
•  Raul Perez
•  Maria Encinar (ITNIG.com)
•  Eric Pinto
•  Issel Guberna
•  You!
•  QnA aft...
Brian Flannery
•  NATS Community and Ecosystem Manager
•  @brianflannery
•  brian@apcera.com
GitHub: bjflanne
•  I want to ...
Created by Derek Collison
•  Google 6yrs
•  TIBCO > 10yrs
•  Former CTO, Cloud Platforms @ VMware
•  Architected TIBCO Ren...
What NATS is..
✓ High-Performance
✓ Always on and available
✓ Extremely light-weight
✓ Fire and Forget - At Most Once
✓ Pu...
Always-on dial tone; an
analogy
What NATS is NOT..
✓ Enterprise Messaging System
✓ Persistence
✓ Transactions
✓ Enhanced Delivery Models
✓ Queueing Product
New distributed architecture (Docker, Ansible, etc) uses NATS in conjunction with Asterisk and ARI fo
r distributed applic...
Performance
Performance
•  Originally written to support CloudFoundry
•  In use by CloudFoundry, HTC, Baidu, Apcera and
others
•  Writ...
Background
• Good Performance is good
•  Predictably Good Performance is king!
•  Measure everything (can’t fix what you do...
Performance and Simplicity*
*top image via CenturyLink imagelayers.io
Supported Clients
Community Clients
Summary
✓ Modeled to be always-on dial-tone
✓ Always available - NATS protects itself
✓ High-Performance server
✓ Clustere...
Community Update
Growing Community
•  Updates to monitoring tools:
https://github.com/
repejota/nats-mon
https://github.com/cmfatih/
natsb...
Growing Community
•  New clients:
https://github.com/
jedisct1/rust-nats/
https://github.com/
DawnAngel/lua-nats
Growing Community
•  New integrations:
https://github.com/
octante/
OctanteNatsBundle
•  Over 300,000 Docker Image Downloads to date, one
of the most popular on Docker Hub
•  Gained Docker Official Image Statu...
New Releases
•  Docker Image is now an Official Image on DockerHub
•  Go client updated to v1.1.2
•  Node.js Client update ...
New NATS.io site
New Docs
New Meetups
http://www.meetup.com/
Barcelona-NATS-Cloud-
Native-User-Group/
http://www.meetup.com/
London-NATS-Messaging-
...
New Meetups
http://www.meetup.com/
NATS-Cloud-Native-
Meetup/
New Slack Community
More to come…to a city
near you
Get involved!
•  GitHub: https://github.com/nats-io
•  Interwebs: www.nats.io
•  Contribute content for the project (eg. B...
Brian Flannery
•  NATS Community and Ecosystem Manager
•  @brianflannery
•  brian@apcera.com
•  I want to hear from you – g...
NATS.io Meetup October - Community Update
NATS.io Meetup October - Community Update
of 31

NATS.io Meetup October - Community Update

Talk given at ITNIG in Barcelona on 10/22/15
Published on: Mar 3, 2016
Published in: Software      
Source: www.slideshare.net


Transcripts - NATS.io Meetup October - Community Update

  • 1. NATS A nervous system for modern distributed systems
  • 2. Thank you! (& Housekeeping) •  Raul Perez •  Maria Encinar (ITNIG.com) •  Eric Pinto •  Issel Guberna •  You! •  QnA after each talk
  • 3. Brian Flannery •  NATS Community and Ecosystem Manager •  @brianflannery •  brian@apcera.com GitHub: bjflanne •  I want to hear from you – get in touch! We are here to help
  • 4. Created by Derek Collison •  Google 6yrs •  TIBCO > 10yrs •  Former CTO, Cloud Platforms @ VMware •  Architected TIBCO Rendezvous and EMS •  Architected the OpenPaaS CloudFoundry •  Building Messaging Systems and Solutions > 20yrs
  • 5. What NATS is.. ✓ High-Performance ✓ Always on and available ✓ Extremely light-weight ✓ Fire and Forget - At Most Once ✓ Pub/Sub ✓ Distributed Queues ✓ Request/Reply
  • 6. Always-on dial tone; an analogy
  • 7. What NATS is NOT.. ✓ Enterprise Messaging System ✓ Persistence ✓ Transactions ✓ Enhanced Delivery Models ✓ Queueing Product
  • 8. New distributed architecture (Docker, Ansible, etc) uses NATS in conjunction with Asterisk and ARI fo r distributed applications independent of the core. NATS abstracts business logic from core VoIP call delivery allowing for far greater speed and scale. Microservice-to-Microservice communication: NATS is replacing REST, and also run gnatsd in Marath on. Use consul and consul-template for auto-scaling NATS cluster. All services are written in Go. Single JSON REST API. Need to send notifications, email digests, and o ther event-driven via PubSub, not API. NATS simplicity and speed/scalability are a big win. PubSub broker for metrics/monitoring system tracking big data for IoT products CoreOS running on AWS. NATS handles microservice-to-microservice communitcation. Solves service discovery problem, and is simpler than full-blown HTTP. Because NATS round-robins queue groups, now longer need load balancer on on a service, either.
  • 9. Performance
  • 10. Performance •  Originally written to support CloudFoundry •  In use by CloudFoundry, HTC, Baidu, Apcera and others •  Written first in Ruby -> 150k msgs/sec •  Rewritten at Apcera in Go (Client and Server) •  First pass -> 500k msgs/sec •  Current Performance -> 8M msgs/sec
  • 11. Background • Good Performance is good •  Predictably Good Performance is king! •  Measure everything (can’t fix what you don’t know) •  Understand your data •  Understand your user experience • Don’t be a failure of your own success Performance 4k payloads Courtesy - http://www.bravenewgeek.com/dissecting-message-queues/
  • 12. Performance and Simplicity* *top image via CenturyLink imagelayers.io
  • 13. Supported Clients
  • 14. Community Clients
  • 15. Summary ✓ Modeled to be always-on dial-tone ✓ Always available - NATS protects itself ✓ High-Performance server ✓ Clustered Servers / Cluster aware Clients ✓ Clients in many languages, contribute!
  • 16. Community Update
  • 17. Growing Community •  Updates to monitoring tools: https://github.com/ repejota/nats-mon https://github.com/cmfatih/ natsboard
  • 18. Growing Community •  New clients: https://github.com/ jedisct1/rust-nats/ https://github.com/ DawnAngel/lua-nats
  • 19. Growing Community •  New integrations: https://github.com/ octante/ OctanteNatsBundle
  • 20. •  Over 300,000 Docker Image Downloads to date, one of the most popular on Docker Hub •  Gained Docker Official Image Status in Q3 2015’ •  One of the smallest and more performant images on all of Docker Hub
  • 21. New Releases •  Docker Image is now an Official Image on DockerHub •  Go client updated to v1.1.2 •  Node.js Client update to v 0.4.4 •  Gnatsd server updated to v 0.6.8
  • 22. New NATS.io site
  • 23. New Docs
  • 24. New Meetups http://www.meetup.com/ Barcelona-NATS-Cloud- Native-User-Group/ http://www.meetup.com/ London-NATS-Messaging- User-Group/
  • 25. New Meetups http://www.meetup.com/ NATS-Cloud-Native- Meetup/
  • 26. New Slack Community
  • 27. More to come…to a city near you
  • 28. Get involved! •  GitHub: https://github.com/nats-io •  Interwebs: www.nats.io •  Contribute content for the project (eg. Benchmark, overview of how you use NATS in your environment, etc.) •  NATS has formal Formal RnD Support, looking for large partners to anchor the community
  • 29. Brian Flannery •  NATS Community and Ecosystem Manager •  @brianflannery •  brian@apcera.com •  I want to hear from you – get in touch! We are here to help

Related Documents