Zetta: An API First Platform

24
@adammagaluk @mdobs IoT Workshop Zetta: An API First Platform

Transcript of Zetta: An API First Platform

Page 1: Zetta: An API First Platform

@adammagaluk

@mdobs

IoT Workshop

Zetta: An API First Platform

Page 2: 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

Page 3: Zetta: An API First Platform

Intro to the Internet of Things

Page 4: Zetta: An API First Platform

© 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

Page 5: Zetta: An API First Platform

© 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.)

Page 6: Zetta: An API First Platform

© 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

Page 7: Zetta: An API First Platform

© 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)

Page 8: Zetta: An API First Platform

© 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)

Page 9: Zetta: An API First Platform

© 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)

Page 10: Zetta: An API First Platform

© 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

Page 11: Zetta: An API First Platform

© 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

Page 12: Zetta: An API First Platform

Intro to our Technology

Page 13: Zetta: An API First Platform

© 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

Page 14: Zetta: An API First Platform

© 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?

Page 15: Zetta: An API First Platform

© 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?

Page 16: Zetta: An API First Platform

Zetta Architecture

Page 17: Zetta: An API First Platform

© 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

Page 18: Zetta: An API First Platform

© 2014 Apigee Confidential – All Rights Reserved

Zetta components

Page 19: Zetta: An API First Platform

© 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

Page 20: Zetta: An API First Platform

© 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

Page 21: Zetta: An API First Platform

© 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.

Page 22: Zetta: An API First Platform

Demo

Page 23: Zetta: An API First Platform

© 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

Page 24: Zetta: An API First Platform

Thank you

@mdobs