Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NATS: A Central Nervous System for IoT Messaging - Larry McQueary

Security, identity and scalability define the IoT landscape. Developers in any IoT ecosystem need a flexible, lightweight and secure method to communicate device status/telemetry and content that operates at the speed of a central nervous system and doesn’t rely on inflexible and outdated protocol specifications designed for point-to-point communication. Enter NATS.

NATS is an open source messaging framework based on Go that is designed for simple, secure, lightweight and scalable messaging in any language and for any platform/processor architecture.

Larry McQueary present's an overview and short demonstration on the NATS architecture and API that will demonstrate how NATS can enable “things” and backend infrastructure to communicate securely and scalably at high speed without locking in vendor-specific technology or protocols.

You can learn more about NATS at

NATS: A Central Nervous System for IoT Messaging - Larry McQueary

  1. 1. CLOUD NATIVE MESSAGING OpenIoT Summit 2016 Larry McQueary Product Manager Twitter: @mcqueary GitHub: mcqueary
  2. 2. We are in a Messaging Renaissance Cloud Messaging is fastest growing segment of current messaging market. (Gartner 2013) New requirements for IoT, mobile, big data, and microservices applications ● Legacy bloated platforms don’t work ● Open source first Massive sensor enablement wave ● 20.8 billion connected things by 2020 (Gartner) ● Driving requirements for “Trusted IoT”
  3. 3. Created by Derek Collison Founder and CEO at Apcera ๏ CTO, Chief Architect at VMware ๏ Architected CloudFoundry ๏ Technical Director at Google ๏ SVP and Chief Architect at TIBCO The Vision Building Messaging Systems and Solutions > 20yrs Experienced Messaging Team
  4. 4. NATS Community and User Engagement 2016 Q1 ● Dedicated NATS Team Established ● Community acceleration Q3 ● NATS Meetups launched in several cities, hundreds of members ● Rust, Lua clients, and Monitoring Tools Q4 ● Site re-launch ● Product Documentation update ● Java, C#, ● Slack Community launched with hundreds of community members Q2 ● Growth of engineering team ● Node.js, PHP clients Q1 ● Major roadmap updates announced ● IoT adoption acceleration ● Arduino, Elixir, client ● NATS Connectors launched Red Hat Container Zone Partner 7MB Docker Image ● ~350K+ downloads to date Cloud Foundry’s Control Plane NATS repos have been: ● Starred over 3,800 times ● Forked over 800 times ● Dozens of active contributors 2015
  5. 5. Messaging & The “General Problem” ๏
  6. 6. ๏ They try to do too much ‣ “Kitchen sink” mentality ๏ They don’t prioritize stability and performance ‣ If it’s not fast/available enough... who cares what it does ๏ They carry too much baggage ‣ Compile-time and runtime dependencies ‣ Standards for their own sake ๏ Engineered for traditional on-premise computing ๏ Generalize and compromise ‣ Built for specific use cases and later generalized, sometimes poorly Why Messaging Systems Disappoint
  7. 7. ๏ Performance ๏ Simplicity ‣ Single binary ‣ Text-based protocol ‣ No external dependencies ๏ Availability over anything - Dialtone ๏ Small footprint & embeddable ๏ Just what you need, and none of what you don’t NATS DNA
  8. 8. Small Footprint *top image via CenturyLink
  9. 9. Performance - Throughput and Latency ๏ Current Throughput Performance - ~10M msgs/sec* * “By combining NATS and Golang, the new signaling system is now able to do 10M+ concurrent connections... with an average speed improvement of 32%...which means we had successfully combined our two most important goals; scaling and speed.” -- Dennis Mårtensson, CTO
  10. 10. Latency * ๏ Look closely… NATS is hugging the X axis. ๏ Where’s everyone else? ๏ Kafka, ActiveMQ, and RabbitMQ were orders of magnitude higher latency
  11. 11. Auto Discovery ๏ Intra-cluster discovery ๏ Client cluster discovery Enterprise Messaging ๏ Hosted Service ๏ At-least-once delivery (message acks + redelivery) ๏ Rate matching/limited (max in-flight messages) ๏ Replay features: ‣ All available ‣ Start at last/initial value ‣ Time offset ‣ Sequence offset Security ๏ ACL based permissions ๏ Pluggable integration with external authorization ๏ Identity-focused security enhancements NATS Roadmap
  12. 12. Who is Using NATS?
  13. 13. Market Use Cases Open Source. Performant. Simple. Scalable. ๏ IoT - operational and telemetry data from sensors and mobile devices ๏ B2C Customer Engagement - High fan-out messaging ๏ Microservices Transport - Control Plane ๏ Clickstream/Stream Processing ๏ Infrastructure Monitoring/Anomaly Detection ๏ Legacy Replacement
  14. 14. NATS at Workiva “NATS is a masterpiece…” Tyler Treat, Senior Software Engineer, Workiva
  15. 15. Microservices Examples "We opted for NATS over other message systems due to its elegant simplicity and remarkable performance — and because NATS has an exceptional potential for scalability that matches our project's ambitions. --Aaron John Schlosser, Application Developer at NextGen Leads The simplicity and focus of NATS enables it to deliver superior performance and stability with a lightweight footprint. It has the potential of becoming the de-facto transport for microservice architectures and event driven systems in this new era. --Asim Aslam, Creator of Micro “NATS is clearly leading the messaging technology pack when it comes to performance, scalability, simplicity, and ease of use. These metrics made it the clear choice for our development team who are busy building our next-generation call-center platform.” --Leif Madsen - Director of Engineering, Product Development, AVOXI
  16. 16. Rapid growth company Disrupting major categories: ๏ Hybrid Cloud ๏ Policy/Governance ๏ Container Management ๏ IoT Deep Strategic Investment from Sponsored by Apcera
  17. 17. @nats_io / Learn More at Thank You! Larry McQueary @mcqueary