Iot and the back-end developers

Post on 16-Apr-2017

1.127 views 0 download

Transcript of Iot and the back-end developers

Brought to you by Henryk Konsek

The Internet of Thingsand the back-end developers

@hekonsek

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

This talk

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

Enterprise vs Embedded

Enterprise vs Embedded

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

Enterprise vs Embedded

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

IoT = Enterprise + Embedded

IoT consolidates enterprise and embedded worlds.

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

The Internet Of Things = $$$

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

The market is full of the enterprise developers

IoT and enterprise architectures

The enterprise systems are located in the data center.

Enterprise systems in a nutshell

IoT architecture is the superset of the enterprise architecture.

IoT architecture

Synchronous communication, usually via HTTP.

Communication in the enterprise systems

How these new elements communicate?

Communication in the IoT systems

Communication in the IoT

IoT systems are usually messaging-based.

Messaging

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

Many enterprise developers are familiar with the messaging technologies.

Messaging legacy

Enterprise Integration Patterns “bible” still applies to IoT.

Messaging architecture legacy

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

MQTT

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

Why developers should care about MQTT?

MQTT can be bridged to JMS, AMQP, etc.

MQTT bridge

Reliability- and interoperability-oriented messaging.

AMQP

AMQP is pretty widely adopted in the enterprise world.

AMQP

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

REST

REST for the constrained devices.

CoAP

Operations

DevOps practices are extremely important for the IoT adoption.

DevOps

Enterprise developers can reuse their devOps skills.

Linux is IoT friendly

Think about it ;)

Docker for IoT?

The dark corners of the IoT adoption

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

Protocol wars

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

Unreliable connectivity

- batteries- paid GSM data

Constrained resources

- temperature- vibration- “GPS signal lost”

Surviving environmental conditions

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

Remoteness

Thank you!