ithome devops summit - iot、docker與devops
TRANSCRIPT
Linker Networks Corp.http://www.linkernetworks.com
IoT、Docker與DevOpsSimon Su @ LinkerNetworks
var simon = {/** I am at GCPUG.TW **/};
simon.GDE = 'https://developers.google.com/experts/people/peihsin-su';
simon.nodejs = ‘http://opennodes.arecord.us';
simon.googleshare = 'http://gappsnews.blogspot.tw'
simon.nodejsblog = ‘http://nodejs-in-example.blogspot.tw';
simon.blog = ‘http://peihsinsu.blogspot.com';
simon.slideshare = ‘http://slideshare.net/peihsinsu/';
simon.email = ‘[email protected]’;
simon.say(‘Let’s go Cloud!');
Welcome to join us!
IoT、Docker、DevOps
What is IoT?
The internet of things (IoT) is the network of physical devices, vehicles, buildings and other items — embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.
From Wikipedia: https://en.wikipedia.org/wiki/Internet_of_things
Cloud Platform
IoT Gateway
Sensors / End Devices
Software Developers
Makers
What is Docker?
Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server.
From Wikipedia: https://en.wikipedia.org/wiki/Docker_(software)
What is DevOps?
DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.
From Wikipedia: https://en.wikipedia.org/wiki/DevOps
About LinerIoT
What LinkerIoT want to do...
● Software Engineer & Maker cooperation
● Management ubiquitous
● Container orchestration
● Everything for data
LinkerIoT Services
Device Management AgentIoT Management Service
Device Log AgentIoT Log Service
IoT CI/CD Service Device Builder Agent
Device management functions include user portal, CLI and also provide the management API for further development.
Design for IoT devices log collect and transfer for Big Data and Analysis use.
This is a develop continue flow for user to make their software to become a part of LinkerIoT service.
Device agent for long connect to LinkerIoT management server and provide the health information and remote control availability.
Device agent for device log transformation and transfer. It also a role as local gateway for sensor device to pass data to cloud.
Work with IoT CI/CD service to provide the image automatic build env. and hook with source code and repository system.
● Manage● Automatic● Integrate
LinkerIoT over Linker DC/OS
Big Data Platform
IoT Platform
Marathon
Linker DC/OS
Other Deploysmanagement
Core Architecture
The core architecture
DC/OS Public Cloud
IoT Gateway
Sensors
LinkerIoT Servers
LinkerIoT Agent
Management(RESTful API)
Big Data Services
Log Agent
Manage Path
WebsocketRESTful
We using websocket as service management protocol, and provide the RESTful API as remote management interface...
Log Path
Fluentd Forward
Fluentd Forward
We leverage fluentd as log data collect tool, it provides powerful data transfer feature and with large community plugin support...
Data Path
We use fluentd inside gateway device to help developer to collect sensor data and pass through this gateway to backend cloud service...
Devices
Linker IoTGateway
DevicesSensors
StandardProtocols
- TCP/UDP- RESTful (HTTP/HTTPS)- SNMP- syslog- MQTT- XBee- Others
Cloud
LinkerIoT Composites
What the opensources and cloud resources in LinkerIoT...
Open Hardware
Docker on ARMv6, v7
Gogs repository
Docker regostry
DCOS / Marathon
Fluentd
GCP - Cloud Logging
GCP - BigQuery
LinerIoT User View
After get the LinkerIoT gateway, you can follow the guide to enable the wifi to connect with management server and start to use it.
1. Update the network interface config from SDCard “/boot” folder
2. Put the SDCard and boot your device
3. Connect to your portal to check your device
User Enable Flow1
2
3
Device list
Every LinkerIoT enabled device will auto managed by the management server after network connect.
Deploy to Device
LinkerIoT provide the interface to deploy your application and also manage the delete. You can use our user portal to monitor and control your device.
LinkerCLI
LinkerCLI is our command line tool for interactive with your devices remotely. We also provide the interactive simulator for more power control with your device.
LinkerIoT Sensor Dev Flow
DC/OS Cloud
Gateway Device
/var/log/*
App1 App2 App3
App1 log App2 log App3 log
Log Agent
Sensor Group 1
Sensor Group 2
Sensor Group 3
PM2.5 Setup
LinkerIoT gateway is a raspberry pi device that already have GPIO for user to extend your sensor that directly plug in the device. Here is the sample for you to enable the pm2.5 sensor to collect related data...
RX TX GND 5V
Config SOP
After the sensor created, you can follow the instruction to pull the sample image and setup the config as (2), then you can enable your gateway to collect pm2.5 data to the clod...
1
2
3
Data View
We also provide a simple data view for the pm2.5 info, and you can also extend your own view using this tool.
LinkerIoT Developer Flow
Developer + Maker
● Developer create software
● Build software images
● Maker design hardware
● Configure data path
● Loading images run and test
Project layout
● Dockerfile● Icon.png● Your application code
Auto Build Trigger
Linker IoT Platform
builder controller builder
manage center Devices
Linker Version Service
(git repository)
Linker Image Store
(docker image registry)
DevicesDevices
1. push code
2. web hook
3. submit to builder
4. push to registry
5.2 notify new version to deploy
6. deploy
a. another trigger for deploy
vpn
5.1 notify build finished
More
We still want...
● More automation● More integration● More support protocol● More documents
Planning to Open Source...
Open Source Spirit
● Developer and Maker oriented
● Data collect oriented
● Remote control oriented
Road Maps...
Join us…
https://goo.gl/QV3TM7
Q&A