3. The Internet of Things is...
● Healthcare
● Energy delivery (water, oil & gas)
● Connected city
● Smart vehicles (cars, elevators...)
● Security sensors and devices
● Monitoring and analytic systems
● Smart...
4. The problem
Device
● Electronics
knowledge
● Master-Slave
architecture
● OSI model
● Binary protocol
● Cloud connectivity
Server
● Meta- and time-
series data
● Data storage
● Business logic
● Data analysis
● Client applications
Orchestration
● Scalability
● Fault-tolerance
● Administration
● Responsibility
6. What is DeviceHive?
Firmware
● Install Ubuntu Snappy
Core on your device
● BLE support
● Firmwares
● Gateways
Device Server
Java and .NET based
servers
● REST & Websockets
● API libraries in
different languages
(JS, C, C#, Python...)
● Lambda-architecture
Orchestration
Simplify deployment
as much as possible
● Documentation
● Playgrounds
● Wrap the containers
8. What it used to be...
● JavaEE, EJB, Glassfish
● Hibernate with RDBMS for meta and operational data
(PostgreSQL)
● REST and Websockets handled the same way
● Hazelcast for both - caching and messaging
● Integration with Docker
● Admin console with the latest 100 notifications in the table (JSON)
12. Lambda-architecture in DeviceHive
Lambda architecture is a data-processing architecture designed to handle
massive quantities of data by taking advantage of both batch- and stream-
processing methods.
13. What was done...
● Message bus added (Kafka)
● Only metadata in RDBMS
● Operational data to message bus and cache only
● REST endpoints are served from cache only
● Cassandra worker streaming data from Kafka to C*
● Moved to Spring and Spring boot
18. Pintostack
Containerization
● Every service is a container
● Container is more than just an app, it is an environment
● Container is a final build artifact
● Containers for HDFS nodes, Databases, Microservices, Web Applications
● Docker Containers are the first class citizens
Key Components
● Infrastructure: supply of resources
● Containers
● Resource abstraction
● Scheduling
● Service discovery
● Logging
20. Freeboard.io
● A web-based tool
● Fully customizable
and interactive
user-interfaces
● Real time
dashboards
21. ELK (Elasticsearch + Logstash + Kibana)
Open source, scalable solution to search, analyze, and visualize your data, allowing you
to get actionable insight in real time