IoT Workshop 
Zetta: An API First Platform 
@adammagaluk 
@mdobs
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
Intro to the Internet of Things
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
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
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
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
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
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
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
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
Intro to our Technology
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
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
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
Zetta Architecture
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
Zetta components 
© 2014 Apigee Confidential – All Rights Reserved
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
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
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
Demo
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
Thank you 
@mdobs

Zetta: An API First Platform

  • 1.
    IoT Workshop Zetta:An API First Platform @adammagaluk @mdobs
  • 2.
    Overview ● BriefIntroduction 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
  • 3.
    Intro to theInternet of Things
  • 4.
    The Internet ofThings ● 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 ofThings (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 theInternet 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 theInternet 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 theInternet 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 theInternet 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
  • 12.
    Intro to ourTechnology
  • 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
  • 16.
  • 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
  • 18.
    Zetta components ©2014 Apigee Confidential – All Rights Reserved
  • 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 allowsfor 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 Devicesare 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
  • 22.
  • 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
  • 24.