iot and the back-end developers
TRANSCRIPT
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!