17
CLOUD NATIVE MESSAGING OpenIoT Summit 2016 Larry McQueary Product Manager Twitter: @mcqueary GitHub: mcqueary

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

  • Upload
    apcera

  • View
    1.798

  • Download
    0

Embed Size (px)

Citation preview

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

CLOUD NATIVE MESSAGING

OpenIoT Summit 2016Larry McQueary

Product ManagerTwitter: @mcquearyGitHub: mcqueary

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

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”

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

Created byDerek CollisonFounder 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

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

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

github.com/nats-io

2015

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

Messaging & The “General Problem”

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

๏ 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

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

๏ 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

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

Small Footprint

*top image via CenturyLink imagelayers.io

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

Performance - Throughput and Latency

๏ Current Throughput Performance - ~10M msgs/sec*

*https://github.com/nats-io/gnatsd/blob/master/test/bench_results.txt

“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 Greta.io

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

Latency

*https://github.com/nats-io/gnatsd/blob/master/test/bench_results.txt

๏ Look closely… NATS is hugging the X axis.

๏ Where’s everyone else?

๏ Kafka, ActiveMQ, and RabbitMQ were orders of magnitude higher latency

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

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

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

Who is Using NATS?

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

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

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

NATS at Workiva

“NATS is a masterpiece…”

Tyler Treat, Senior Software Engineer, Workiva

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

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

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

Rapid growth company

Disrupting major categories:

๏ Hybrid Cloud๏ Policy/Governance๏ Container Management๏ IoT

Deep Strategic Investment from

Sponsored by Apcera