iot and the back-end developers

37
Brought to you by Henryk Konsek The Internet of Things and the back-end developers

Upload: henryk-konsek

Post on 16-Apr-2017

1.130 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Iot and the back-end developers

Brought to you by Henryk Konsek

The Internet of Thingsand the back-end developers

Page 2: Iot and the back-end developers

@hekonsek

Page 3: Iot and the back-end developers

What it takes for the enterprise software developer to become the IoT developer?

This talk

Page 4: Iot and the back-end developers

- Enterprise vs Embedded- Architecture- Communication- Operations- The dark corners of the IoT adoption

Page 5: Iot and the back-end developers

Enterprise vs Embedded

Page 6: Iot and the back-end developers

Enterprise vs Embedded

Enterprise software developers:● software for the data center ● unified target platform● high level of abstraction

Page 7: Iot and the back-end developers

Enterprise vs Embedded

Embedded software developers:● software for the various hardware devices● different target platforms● low level of abstraction

Page 8: Iot and the back-end developers

IoT = Enterprise + Embedded

IoT consolidates enterprise and embedded worlds.

Page 9: Iot and the back-end developers

Many existing non-embedded companies would like to join the party.

The Internet Of Things = $$$

Page 10: Iot and the back-end developers

Can typical back-end developer be adopted to develop IoT solutions?

The market is full of the enterprise developers

Page 11: Iot and the back-end developers

IoT and enterprise architectures

Page 12: Iot and the back-end developers

The enterprise systems are located in the data center.

Enterprise systems in a nutshell

Page 13: Iot and the back-end developers

IoT architecture is the superset of the enterprise architecture.

IoT architecture

Page 14: Iot and the back-end developers

Synchronous communication, usually via HTTP.

Communication in the enterprise systems

Page 15: Iot and the back-end developers

How these new elements communicate?

Communication in the IoT systems

Page 16: Iot and the back-end developers

Communication in the IoT

Page 17: Iot and the back-end developers

IoT systems are usually messaging-based.

Messaging

● asynchronous● one-way communication● many, small messages

Page 18: Iot and the back-end developers

Many enterprise developers are familiar with the messaging technologies.

Messaging legacy

Page 19: Iot and the back-end developers

Enterprise Integration Patterns “bible” still applies to IoT.

Messaging architecture legacy

Page 20: Iot and the back-end developers

If developer understands JMS topics, (s)he’s halfway through understanding MQTT.

MQTT

Page 21: Iot and the back-end developers

- small payloads (i.e. GSM and battery friendly)- works well with the unreliable networks- devices can talk MQTT

Why developers should care about MQTT?

Page 22: Iot and the back-end developers

MQTT can be bridged to JMS, AMQP, etc.

MQTT bridge

Page 23: Iot and the back-end developers

Reliability- and interoperability-oriented messaging.

AMQP

Page 24: Iot and the back-end developers

AMQP is pretty widely adopted in the enterprise world.

AMQP

Page 25: Iot and the back-end developers

HTTP is still the most popular “messaging” protocol for IoT.

REST

Page 26: Iot and the back-end developers

REST for the constrained devices.

CoAP

Page 27: Iot and the back-end developers

Operations

Page 28: Iot and the back-end developers

DevOps practices are extremely important for the IoT adoption.

DevOps

Page 29: Iot and the back-end developers

Enterprise developers can reuse their devOps skills.

Linux is IoT friendly

Page 30: Iot and the back-end developers

Think about it ;)

Docker for IoT?

Page 31: Iot and the back-end developers

The dark corners of the IoT adoption

Page 32: Iot and the back-end developers

Enterprise developers are not used to mix protocols in a single solution.

Protocol wars

Page 33: Iot and the back-end developers

- high availability in the field is a luxury- design with the failure in mind

Unreliable connectivity

Page 34: Iot and the back-end developers

- batteries- paid GSM data

Constrained resources

Page 35: Iot and the back-end developers

- temperature- vibration- “GPS signal lost”

Surviving environmental conditions

Page 36: Iot and the back-end developers

- remote deployment- remote monitoring- remote updates (over-the-air)

Remoteness

Page 37: Iot and the back-end developers

Thank you!