Resin.io contribution to the AGILE-IoT project

15
DevOps for the Industrial Internet

Transcript of Resin.io contribution to the AGILE-IoT project

Page 1: Resin.io contribution to the AGILE-IoT project

DevOps for the Industrial Internet

Page 2: Resin.io contribution to the AGILE-IoT project

SOFTWARE FOR DEVICES IS A NIGHTMARE

“The Web brought about the end of the annual software release cycle...The industrial internet will bring about a similar change in the physical world.”- O’Reilly, “Industrial Internet”

Page 3: Resin.io contribution to the AGILE-IoT project

SOFTWARE FOR DEVICES IS A NIGHTMARE

Devops skill needed for simplest projects

Finding the device on the network

Installing and managing an OS

On-device compilation incredibly slow

Cross compilers very complex to set up

Painfully long iteration cycles

A misstep can brick the device, causing

frustration & delay

Setting up Command & Control servers in

the cloud

Hard to reach devices

Home-brewed update systems

Easy to brick a device in the field

Software rollouts taking weeks

Many opt to never update, or require

physical presence (very expensive)

Outdated operating systems

Unprotected or compromised

networks

Need to secure update system

Device theft exposes data

MITM attacks

Hacked hardware is a PR disaster

DEVELOPMENT PRODUCTION SECURITY

Programing for the cloud has surged ahead, but we program devices (“firmware”) like we did in the 80’s.

Page 4: Resin.io contribution to the AGILE-IoT project

WE LIVED THE PROBLEM

Page 5: Resin.io contribution to the AGILE-IoT project

WE LIVED THE PROBLEM

In 2011 and 2012, we supported a network with hundreds of screens in 5 countries.

We had to go out on weekends, in the snow, with drills and USB sticks, upgrading software.

We spent a lot of resources on infrastructure that had little to do with our specific application.

resin.io is the platform we wished we had

Page 6: Resin.io contribution to the AGILE-IoT project

A MULTI-DISCIPLINARY TEAMTeam of 35 (Sep ‘15) and counting, plus Advisors

Series A funding led by DFJ

Page 7: Resin.io contribution to the AGILE-IoT project

HOW DOES RESIN.IO HELP USERS?

Provisionwithout sweat

Deploy & Configure just like the cloud

Developwith fast feedback

“Resin allows us to apply continuous integration and delivery best practices across our entire stack” -Forrest Pieper, NV Bots

Securelyout of the box

At Scalefor any size fleet

Uniformlyacross device form factors

Page 8: Resin.io contribution to the AGILE-IoT project

BEHIND THE SCENES

Page 9: Resin.io contribution to the AGILE-IoT project

BEST PRACTICES FROM THE CLOUD...

“Look and Feel” of CloudGit push changes, run unit and integration tests,

compatible with Docker, Travis, Jenkins etc

Page 10: Resin.io contribution to the AGILE-IoT project

LightweightRemote environments require

small payloads, so we dynamically generate “diffs” of

new container versions

...SOLVING HARD IOT PROBLEMS

Fail-Safe DeploymentsIoT-specific deployment logic that guards against “bricked”

devices

Architecture agnosticIoT devices have diverse CPU

architectures. Our builders compile for the target device

architecture

Page 11: Resin.io contribution to the AGILE-IoT project

ON-DEVICE S/W ARCHITECTURE

All containers update safely and reversibly. Our own agent (Supervisor) runs in its own container

Layers shared between containers are stored only once

Docker and Yocto userspace update using conventional methods

Safe kernel updates without fully rebooting the device (currently at proof of concept)

All software projects we depend on are under open source licenses

The Vision: 100% updateable

Page 12: Resin.io contribution to the AGILE-IoT project

THE OPEN IOT COMPANY

Open Source - All core technology being released under Apache 2.0 license

Open Containers - Founding members of the Open Container Initiative

Open Standards - RESTful interfaces, standard tools & protocols

Page 13: Resin.io contribution to the AGILE-IoT project

DEVICE FLEET DASHBOARD

● Device name● Connection status● UUID● Code version● IP Address● Last seen time● Configuration● Location● Logs● Terminal

Page 14: Resin.io contribution to the AGILE-IoT project

Eric Ries on Learning Fast

The only way to win is to learn faster than anyone else.

Page 15: Resin.io contribution to the AGILE-IoT project

DevOps for the Internet of Things

Georgios MichalakidisOperations [email protected]+44 (7964) 68 79 54