Contenu connexe
Similaire à Zetta: An API First Platform (20)
Zetta: An API First Platform
- 2. Overview
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 4. The Internet of Things
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 5. The Internet of Things (contd.)
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 6. Issues within the Internet of Things
● Interfaces and Protocols
● Many protocols exist for IoT?
● What to use?
● Future proofing against new protocols
● Security?
© 2014 Apigee Confidential – All Rights Reserved
- 7. Issues within the Internet of Things (contd)
● Devices in large systems
● How to coordinate devices in large systems?
● How to improve on emergent behaviors in large systems?
● How to
© 2014 Apigee Confidential – All Rights Reserved
- 8. Issues within the Internet of Things (contd)
● Data
● What to store?
● What to use?
● How to learn from all the data collected
© 2014 Apigee Confidential – All Rights Reserved
- 9. Issues within the Internet of Things (contd)
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 10. Intro to Zetta
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.
© 2014 Apigee Confidential – All Rights Reserved
- 11. Solving these problems
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 13. Our Stack
● Completely Node.js Based
● Open Source
● MIT License
● An out of box API client used for development
© 2014 Apigee Confidential – All Rights Reserved
- 14. Why Node.js?
● Evented and Async
● Open source
● Every developer knows some JavaScript
● Can run on many different platforms
● Windows
● Linux
● Mac
● Embedded
© 2014 Apigee Confidential – All Rights Reserved
- 15. Why Open Source?
● 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!
© 2014 Apigee Confidential – All Rights Reserved
- 17. Zetta Topology
hub
phone tablet tv
© 2014 Apigee Confidential – All Rights Reserved
cloud
device device device
hub
hub
data
device device device device device device
api
api
api
api
zs
zs
zk
zs
Legend
zs - Zetta Server
zk - ZettaKit SDK
f - Firmware
zk zk
zs
f f f f f f f f f
- 19. Architecture Notes
● 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
© 2014 Apigee Confidential – All Rights Reserved
- 20. Linking
Zetta allows for creating secure links between nodes for proxying http calls.
Z2 Z1
© 2014 Apigee Confidential – All Rights Reserved
F
i
r
e
w
a
l
l
HTTP Proxy
HTTP
Request
- 21. Device Definitions
Devices are modeled as simple state machines in JavaScript. Then they
are rendered on a by state basis in the API.
Off On
© 2014 Apigee Confidential – All Rights Reserved
turn-off
turn-on
- 23. Additional Resources
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 - matt@apigee.com
© 2014 Apigee Confidential – All Rights Reserved