IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+...

74
IoT at Scale or, "From Little Things, Big Data Grow" Christopher Biggs — IoT at Scale @unixbigot @accelerando_au #YOWData Sept 2017 Christopher Biggs, Accelerando Consulting @unixbigot @accelerando_au 1 / 74

Transcript of IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+...

Page 1: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

IoT at Scaleor, "From Little Things, Big Data Grow"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Christopher Biggs, Accelerando Consulting

@unixbigot @accelerando_au

1 / 74

Page 2: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Who am I?

Christopher Biggs — @unixbigot — @accelerando_au

▷ Brisbane, Australia

▷ 20+ years in IT as developer, architect, manager

▷ Founder, Accelerando Consulting▷ Accelerando is a "full service" consultancy - chips to cloud

▷ IoT, DevOps, Big † Data

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude

† Actual bigness may vary

2 / 74

Page 3: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

From little Things, Big Data Grow

"Internet of Things" (IoT) At Scale

▷ Why Even IoT? - my personal motivation

▷ Chips to Cloud - the journey from sensor to senses

▷ The Air Gap - connecting wireless devices to the Internet

▷ Data Tributaries - follow the data from droplet to ocean

▷ Making sense of it all - Managing and visualising IoT data

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude

3 / 74

Page 4: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Overture: Why Even IoT?

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 4 / 74

Page 5: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

"Don't ever invite a vampire into your house, you silly boy. It renders you powerless."

-- "Max", The Lost Boys

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

5 / 74

Page 6: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

"The 'S' in IoT stands for 'Security'."

-- Absolutely Everyone, The Internet

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

6 / 74

Page 7: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

What is IoT For?

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

7 / 74

Page 8: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

It's for not this

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

Prelude Overture

Page 9: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

Children

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

9 / 74

Page 10: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

People of Colour

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

10 / 74

Page 11: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

Women

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

11 / 74

Page 12: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

Immigrants

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

12 / 74

Page 13: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

Foreigners

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

13 / 74

Page 14: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

People who shouldn't have to do crummy jobs:

Robots

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

14 / 74

Page 15: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Wait, what?"Aren't crummy jobs what robots are for?"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

15 / 74

Page 16: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

"Do you want a war of extinction? Because that's how you get wars of extinction"

--Malory Archer, nearly

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

16 / 74

Page 17: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Arti cial nonintelligence

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

17 / 74

Page 18: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Doing all the things no intelligent being should have to be bothered by.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

18 / 74

Page 19: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Give me your tired-of-doing-that, your poorly done jobs, your harried masses yearning to be stress-free

-- Emma Lazarus, kind of

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

19 / 74

Page 20: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

IoT's Trinity

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 20 / 74

Page 21: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

ThingsStart with the simplest parts...

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

21 / 74

Page 22: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Internet...connect them together...

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

22 / 74

Page 23: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Of (i.e. context)...to form a synergystic whole.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

23 / 74

Page 24: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

My Three Laws of IoT

▷ Devices must cooperate for the bene t of humans

▷ Devices must communicate, and obey instructions

▷ Devices must be as simple and reliable as possible

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

24 / 74

Page 25: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

OK, end of setup

-- "Ford Fairlane", (not just a car, but a really awful movie)

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture

25 / 74

Page 26: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

CommunicationsCrossing the Air Gap

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 26 / 74

Page 27: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Fast, Cheap, Battery-ef cient.

Choose any two.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

27 / 74

Page 28: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

PoE (Power-over-Ethernet)

Fast, no-battery, expensive wires.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

28 / 74

Page 29: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

EoP (Ethernet over Powerline)

Cheaper wiring, not so fast.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

29 / 74

Page 30: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

PoDS (Plain ol' Dumb Serial)

Please, no.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

30 / 74

Page 31: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

WiFi

(Wireless Made-up-Acronym)

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

31 / 74

Page 32: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Bluetooth

(Don't chew on that Biro)

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

32 / 74

Page 33: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

ETPH

You know, telephones

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

33 / 74

Page 34: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

LoRa

Telephones from 1978, but without the wires.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

34 / 74

Page 35: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

IPoSUV

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

35 / 74

Page 36: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Comms Recap

▷ If you have wires, use 'em

▷ PoDS is not IoT

▷ If you have the power budget for WiFi, great

▷ How about a bluetooth mesh?

▷ "Low-power" equals "really bloody slow"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications

36 / 74

Page 37: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Structuring for Scalability

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 37 / 74

Page 38: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Insert magic cloud here

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

38 / 74

Page 39: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Nope

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

39 / 74

Page 40: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Edge Computingaka "Not the cloud but we've spent so long plugging cloud we can't possibly admit that"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

40 / 74

Page 41: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Web API

HTTP is awful on slow links

HTTPs is aw-over owing

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

41 / 74

Page 42: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Message buses

long-lived connection, lightweight messages

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

42 / 74

Page 43: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Retro t

Websockets

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

43 / 74

Page 44: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Build your own

A bit of orchestration, a bit of docker, a bit of time

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

44 / 74

Page 45: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Owning an architecture is a big responsibility

Maybe you should start with a puppy.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

45 / 74

Page 46: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Don't build your own

Oh, look, google, amazon and microsoft already did it

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

46 / 74

Page 47: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Well, they announced it

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

47 / 74

Page 48: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Microsoft

Messaging in place, provisioning "coming soon"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

48 / 74

Page 49: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Google

Messaging in place, management in private beta

Device platform (Android Things) supports two vendors only.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

49 / 74

Page 50: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Amazon

Messaging, device management function-provisioning in place.

No news on device provisioning.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

50 / 74

Page 51: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

So, tell me again about rolling my own?(I'll tell you on Thursday)

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

51 / 74

Page 52: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Give me a hint?Saltstack. Mosquitto. Docker.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

52 / 74

Page 53: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Leveraging saltstack

▷ ZeroMQ message bus transport

▷ Tree-structured hierarchy

▷ Top level master (or multiple)

▷ Intermediate "syndicate masters" (optional)

▷ Leaf-node "minions"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

53 / 74

Page 54: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Playing nice with MQTT

▷ Message broker federation (one- or two-way)

▷ Lots of implementations

▷ Mosquitto in Docker

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

54 / 74

Page 55: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

What do you mean you want it reliable?

▷ MQTT QoS options (but not end-to-end)

▷ Apache Kafka

▷ Amazon Kinesis

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability

55 / 74

Page 56: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Case study 1 - MQTT and Kinesis

▷ Sensors transmit to on-site MQTT broker

▷ Cloud MQTT broker federates on-site brokers

▷ Cloud ingester writes to Elasticsearch

▷ Cloud ingester forwards certain events to kinesis stream

▷ AWS Lambda functions handle kinesis event

▷ Problems: no recovery of missed messages

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude

56 / 74

Page 57: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Case study 2 - Saltstack and Elasticsearch ( eetvalid.com)

▷ Sensors connect to on-site saltstack gateway

▷ (Potential store-and-forward for disconnected sensor stations)

▷ Saltstack gateway connects to cloud 'master'

▷ Event 'engine' on master relays events to Elasticsearch data store

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude

57 / 74

Page 58: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Case study 3 - Meshes and AWS IoT (evacmate.com.au)

▷ Sensors create a mesh network over bluetooth

▷ One or more gateway nodes have 3G uplinks

▷ Data streamed to cloud over websocket

▷ Gateway nodes managed with AWS IoT

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude

58 / 74

Page 59: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Making sense of data

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 59 / 74

Page 60: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Layers of data

▷ Device health

▷ Population health

▷ Application data

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

60 / 74

Page 61: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Put it all in a data bucket

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

61 / 74

Page 62: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

But don't look at it

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

62 / 74

Page 63: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Except when you do

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

63 / 74

Page 64: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Arti cial nonintelligence

Machine learning for "this is ne"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

64 / 74

Page 65: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Machine Learning in Elastic Search

"this is not ne for 10am on Tuesday"

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation

65 / 74

Page 66: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Managing your thingsBig data bassackwards

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017 66 / 74

Page 67: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Addressing the eet

Saltstack - rich syntax for addressing sets of devices

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction

67 / 74

Page 68: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Addressing the eet

MQTT comms - bidirectional messaging but little structure

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction

68 / 74

Page 69: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Addressing the eet

Broadcasts - IP or otherwise

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction

69 / 74

Page 70: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Reactive architectures

Rule based response to events.

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction

70 / 74

Page 71: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Coda

▷ IoT (for me) is about relieving Future Shock

▷ IoT's trinity: Hardware, Comms, Data

▷ Crossing the Air Gap

▷ Flowing to the sea

▷ Case studies

▷ Making sense of it all

▷ Knowing when to run

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction Coda

71 / 74

Page 72: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Homework

▷ Make your systems amenable to cooperation

▷ Try out Amazon GreenGrass - lambda functions on your Raspberry Pi

▷ Keep an eye on beta offerings from Google and Microsoft.

▷ Use a message fabric to instrument your distributed systems

▷ Try out Elastic or Google ML for anomaly detection

▷ What cool things can you do with LoRa and 300bits per second?

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction Coda

72 / 74

Page 73: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Resources, Questions

Related talks - http://christopher.biggs.id.au/#talks

Me - Christopher Biggs

▷ Twitter: @unixbigot

▷ Email: [email protected]

▷ Slides, and getting my advice: http://christopher.biggs.id.au/

▷ Accelerando Consulting - IoT, DevOps, Big Data - https://accelerando.com.au/

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction Coda

73 / 74

Page 74: IoT at Scale · Christopher Biggs — @unixbigot — @accelerando_au + Brisbane, Australia + 20+ years in IT as developer, architect, manager + Founder, Accelerando Consulting + Accelerando

Links

▷ Open source Bluetooth Mesh on current hardware

▷ Future Standard Bluetooth mesh networksing

▷ Public access LoRaWAN in Sydney

▷ The 'mosquitto' MQTT broker:

▷ Example of how I use SaltStack to provision MQTT

▷ Asynchronous Microservices

Christopher Biggs — IoT at Scale @unixbigot @accelerando_au

#YOWData Sept 2017

Prelude Overture Communications Scalability Interlude Interpretation Reaction Coda

74 / 74