Upload
api-meetup
View
803
Download
3
Embed Size (px)
Citation preview
@adammagaluk
@mdobs
IoT Workshop
Zetta: An API First Platform
© 2014 Apigee Confidential – All Rights Reserved
● Brief Introduction to the Internet of Things
● What is the Internet of Things
● Problems faced in the Internet of Things
● Introduction To Zetta
● Platform
● Architecture
● Interesting Features
● Demo
Overview
Intro to the Internet of Things
© 2014 Apigee Confidential – All Rights Reserved
● A growing ubiquitous network of devices.
● Made up of Sensors and Actuators
● Sensors
● Sense the world around you.
● Report data back
● Actuators
● Act on the world around you
● Give feedback
The Internet of Things
© 2014 Apigee Confidential – All Rights Reserved
● Bosch predicts 14 Billion Devices online by 2022
● Generating 596 Billion Euros in Revenue
● Enabling many new use cases
● Smart Cities
● Intelligent supply chain management
● Clean energy management
The Internet of Things (contd.)
© 2014 Apigee Confidential – All Rights Reserved
● Interfaces and Protocols
● Many protocols exist for IoT?
● What to use?
● Future proofing against new protocols
● Security?
Issues within the Internet of Things
© 2014 Apigee Confidential – All Rights Reserved
● Devices in large systems
● How to coordinate devices in large systems?
● How to improve on emergent behaviors in large systems?
● How to
Issues within the Internet of Things (contd)
© 2014 Apigee Confidential – All Rights Reserved
● Data
● What to store?
● What to use?
● How to learn from all the data collected
Issues within the Internet of Things (contd)
© 2014 Apigee Confidential – All Rights Reserved
● Quality of Tooling
● How to build tools for people building products?
● Many tools are of varying quality
● Soon there will be a shortage of developers with necessary experience
Issues within the Internet of Things (contd)
© 2014 Apigee Confidential – All Rights Reserved
Zetta is an open source platform for the Internet of Things. It harnesses
JavaScript to make development more agile. Zetta tackles all these
problems in an elegant, and efficient way.
Intro to Zetta
© 2014 Apigee Confidential – All Rights Reserved
● Interfaces and Protocols
● Use HTTP to communicate with devices
● Every device gets an API generated from Node.js
● Devices in large systems
● Coordinate devices across the globe with ease
● Quality of Tooling
● Designed with the developer in mind
● Multiple tools for helping develop quickly
● Data
● Broadcasting data over websockets
● Make collection and analysis easy
Solving these problems
Intro to our Technology
© 2014 Apigee Confidential – All Rights Reserved
● Completely Node.js Based
● Open Source
● MIT License
● An out of box API client used for development
Our Stack
© 2014 Apigee Confidential – All Rights Reserved
● Evented and Async
● Open source
● Every developer knows some JavaScript
● Can run on many different platforms
● Windows
● Linux
● Mac
● Embedded
Why Node.js?
© 2014 Apigee Confidential – All Rights Reserved
● It’s the best thing for the IoT Community
● Proprietary development stifles innovation
● Provide a “Building Blocks” approach to system creation
● It’s also fun!
Why Open Source?
Zetta Architecture
© 2014 Apigee Confidential – All Rights Reserved
Zetta Topology
hub
cloud
device device device
tabletphone tv
hub
device device device device device device
hub
data
apiapi
api
api
zs
zs
zk
zs
Legend
zs - Zetta Serverzk - ZettaKit SDKf - Firmware
zkzk
zs
f ffffffff
© 2014 Apigee Confidential – All Rights Reserved
Zetta components
© 2014 Apigee Confidential – All Rights Reserved
● Zetta is a lightweight process that lives in multiple places
● First on the edge of the network on a hardware hub
● Second in a datacenter or on a cloud server
● Zetta will mediate protocols in the hardware hub
● Separation between API tech and Device protocol tech
● Zetta processes establish a secure link between each other using the
Z2Z protocol.
● Zetta maintains a layered approach keeping components pluggable
and extensible
Architecture Notes
© 2014 Apigee Confidential – All Rights Reserved
Linking
Zetta allows for creating secure links between nodes for proxying http calls.
Z1Z2
F
i
r
e
w
a
l
l
HTTP Proxy
HTTP
Request
© 2014 Apigee Confidential – All Rights Reserved
Device Definitions
Off On
turn-off
turn-on
Devices are modeled as simple state machines in JavaScript. Then they
are rendered on a by state basis in the API.
Demo
© 2014 Apigee Confidential – All Rights Reserved
1. Zetta Github - http://github.com/zettajs/zetta
2. Workshop Code - https://github.com/zettajs/zetta-security-system-edison/
3. Zetta Mailing List - https://groups.google.com/forum/#!forum/zetta-discuss
4. IoT Craft - https://groups.google.com/forum/#!forum/iot-craft
5. My Personal Email - [email protected]
Additional Resources
Thank you
@mdobs