Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

39
Meetup.com/Bluemix Meetup.com/CloudFoundry Build Scalable Internet of Things Applications using Cloud Foundry, Bluemix & Cloudant

description

5 billion people vs 50 billion devices connected to the Internet by 2025 - How can we build application to handle this explosive growth in Internet of Things using Cloud Foundry, Bluemix and Cloudant

Transcript of Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Page 1: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Build Scalable Internet of Things Applications using Cloud Foundry, Bluemix & Cloudant!

Page 2: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Meetup.com/Bluemix Meetup.com/CloudFoundry!Nov 18th, Bluemix Garage, 543 Howard Street, 4th Floor, San Francisco, CA!

!Crap. Our IoT Kitchen is Broken !Talk by Renat Khasanshyn - CEO of Altoros Systems – Slideshare link for Renat`s talk coming soon and will be added here!!

Build scalable apps using IBM Internet of Things Foundation Cloud and Bluemix!Animesh Singh!!

Collect Data and Send Commands to Sensor Devices like Arduino and Raspberry Pi!Syed Zaidi and Nicholas Vargas!!

Store and Analyze IoT Data in Cloudant!Dwight Ford!

Internet of Things , Cloud Foundry, Bluemix and Cloudant Meetup Agenda!

Page 3: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

9 billion devices around the world are currently connected to the Internet

The number is expected to increase within the next decade, ranging from 50 Billion to reaching 1 trillion

Build IoT apps using IBM Internet of Things Cloud & Bluemix!Animesh Singh!

@AnimeshSingh!

Page 4: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

4Q 2013, Dept store drives 32% of sales online!

1.8Bn New Smartphones !in 2013!

Tablets outnumbered PC sales in 4Q 2013!

The world is changing…!

@AnimeshSingh!

Page 5: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Forecast 2020 View!

212 billion installed things!

50 billion autonomously connected things!

Public Sector, Distribution & Services, Manufacturing & Resources, and Consumers lead segment growth rates!

Approximately 3 million petabytes of embedded systems data (excludes streaming, surveillance-type data!

$8.9 trillion of business value!

Source: IDC, December 2013 !

Page 6: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Devices & Mobiles will be the touch points that drive new revenue streams

New Customer Interaction Points for the 21st Century!

@AnimeshSingh!

Page 7: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Smart Scales:!Track health in

outpatients!

Connected car:!Tracks location, status

of car parts!

Mobile:!Mobile payments!

Heating and Air Conditioning:!

Maximum efficiency using weather predictions and

remote control !

Building Security:!Facial recognition, remote notification!

Smart Deliveries:!Track parcel !

Monitor and open garage door remotely on arrival!

Smart Meter:!Track and control

usage!

Vending Machine:!Stock reporting,

temperature, shelf life!

HealthCare:!Monitor patients at

home!

Container Tracking:!End to end tracking, prevent tampering !

The Internet of Things connects the world around us…!

@AnimeshSingh!

Page 8: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM Bluemix!

Register now! bluemix.net !

@AnimeshSingh!

Page 9: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

§  IBM initiative to develop a Platform as a Services offering !

§  IBM and partner cloud services!

§  Integrated DevOps with both Browser and Eclipse-based tools!

Services  

Lifecycle    Management  (JazzHub)  

Applica8on  Run8me  

Run8mes  &  Frameworks    

Middleware   Applica8on   Opera8onal   Mobile   External  Data  

node   java   ruby   Worklight  WebSphere  Liberty  

Web  IDE  (Eclipse  Orion)   Eclipse  IDE  

Applica8on  Composi8on  Environment  

Create  &  Manage  Services  

Test/Run   Test/Run  

Explore  Services  

Explore  Services  

IBM  Bluemix ™  Check  In  Code   Check  In  Code  

IBM Bluemix (Powered by Cloud Foundry)!

@AnimeshSingh!

Register now! bluemix.net !

Page 10: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Run Your Apps!The developer can chose any language runtime or bring their own. Just upload your code and go.!Services!A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.!

Cloud Integration!Build hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.!Extend SaaS Apps!Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web)!

DevOps!Development, monitoring, deployment and logging tools allow the developer to run the entire application!

A Platform as a Service !

@AnimeshSingh!

Page 11: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM Internet of Things Foundation!

Connect!

Collect!

Manage!

Simple APIs!

Assemble!

Build!Real Time MQTT!

REST!

IBM® Internet of Things Foundation is a fully managed, cloud-hosted service that makes it simple to derive value from IoT devices. !

internetofthings.ibmcloud.com

@AnimeshSingh!

bluemix.net !

Page 12: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM Internet of Things Foundation allows you to easily compose IoT solutions!

Visually define logic flows!

Select from a growing list of device recipes!

Visualize real-time data stream!

Mix with other services in Bluemix to create apps!

!

Simply connect & “recognize” device types!

internetofthings.ibmcloud.com

@AnimeshSingh!

Page 13: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Device Recipes in IoT Foundation!

@AnimeshSingh!

internetofthings.ibmcloud.com

Page 14: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Internet of Things is part of our Bluemix Platform!

@AnimeshSingh!

Page 15: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Bluemix Recipes in IoT Foundation!

@AnimeshSingh!

Page 16: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Node-RED in Bluemix!

16

Node RED in Bluemix! A visual tool for wiring the Internet of Things!

Node-RED provides a browser-based editor that makes it easy to wire together flows that can be deployed to the runtime in a single click.!

@AnimeshSingh!

Page 17: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Foundation powered by IBM MessageSight!

•  Extends IBM Messaging family with secure, easy to deploy appliance-based messaging gateway!

•  Optimized for massive scale Internet of Things and Mobile use cases at edge of enterprise!

•  Exploits hardware acceleration for high performance!

•  Can extend existing messaging infrastructure or be used standalone!

Designed for Things!

•  Optimized gateway for Things and Mobile devices!

•  Efficient open protocol !•  Event-driven awareness!•  Open and industry agnostic!•  Fine-grained security policies!

Developer!Friendly!

•  Active dev community!•  Free dev virtual appliance!•  Simple yet powerful APIs !•  Simple messaging paradigm!•  40+ MQTT client libraries!

Easy to Deploy!!

•  Up and running < 30 minutes!•  Task oriented UI guides administrator

through first steps !•  Simple and scalable management

through policies!

Easy to Integrate!

•  JMS!•  WebSockets!•  MQ !•  Integration Bus!•  Worklight!•  InfoSphere Streams…!

Internet!Scale!

•  13M non-persistent msg/sec!•  400K persistent msg/sec!•  1M concurrent connections!•  Predictable microsecond latency under

load!•  Highly available!

@AnimeshSingh!

Page 18: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM delivers connectivity across IoT deployment options!

As-a-service, PAYG Public

Cloud

Dedicated appliances in

datacenter IoT

Foundation

IBM MessageSight

Powered by IBM MessageSight

Virtual appliances, Public or private cloud

deployed

@AnimeshSingh!

Page 19: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Why messaging for mobile and IoT?!

•  Simple request/response model!

•  Data from known source!

•  Available on any tablet, laptop, phone, PC!

•  Slow and unreliable on mobile networks!

•  Requires a real-time, event-driven model!•  Publishing information one-to-many!•  Listening for events as they happen!•  Sending small packets of data in huge volumes!•  Reliably pushing data over unreliable networks!

Mobile and IoT applications have !additional challenges!

HTTP revolutionized how we !consume data!

@AnimeshSingh!

Page 20: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

MQTT – the protocol for Mobile and IoT messaging!

§  MQTT is a machine-to-machine (M2M) "Internet of Things" connectivity and messaging protocol ideally suited to mobile and M2M environments - designed for constrained devices and low-bandwidth, high-latency or unreliable networks!

§  It has an open specification (http://mqtt.org)!ü  There are over 40 different client implementations!ü  Standardization with OASIS accomplished a week

ago.!

§  High-quality, open-source implementations of clients!ü  Hosted at the Eclipse Paho project!ü  Build the clients yourself or use free ones from IBM ! or others!

§  MQTT is very lean and fast!•  Efficient format with minimal overhead!•  Client implementations are small and can run

on small devices!!

§  Communication using messaging is much more flexible than request/response!

•  Bi-directional, asynchronous “push” communication!

•  Publish/subscribe decouples the senders of information from the receivers!

@AnimeshSingh!

Page 21: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Internet of Things Demo One: Connected Car!

@AnimeshSingh!

Page 22: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo One: Connected Car!

Applying models to predict, detect, optimize and anticipate!

Sensors tracking real-time location of cars!

Primary Event zone!

Secondary perimeter !

Overview of car status!

Real-time alerts personalized to each car!

Car that had entered and now left danger zone!

@AnimeshSingh!

Page 23: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo One: Connected Car!

Applying models to predict, detect, optimize and anticipate!

@AnimeshSingh!

Page 24: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Node-RED in Bluemix!

IoT Demo Two: Sample IoT boilerplate in Bluemix with simulated sensor!

@AnimeshSingh!

Page 25: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Two: Launch Simulated Sensor – Visualize in IoT !

@AnimeshSingh!

Page 26: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Two: Deploy Node application with simulated device id!

@AnimeshSingh!

Page 27: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT with Arduino and Raspberry Pi - How to store sensor-generated data, and send commands Syed Zaidi and Nicholas Vargas!

Page 28: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Three: Arduino w/ Light sensor!

Page 29: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Four: IoT application using Raspberry pi & node-red!

Page 30: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Five: The Other Direction!

Sending data back to a device l  Not just about getting data l  Bidirectional network of “Things” l  Collect data – then act on it

Page 31: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

IoT Demo Five: The Other Direction!

Use case l  Critical hardware temperature alert l  When device reaches dangerous

temperature, supervisor should be alerted l  Physical world to digital world, back to

physical l  LED lights change color when temperature

crosses a threshold

Page 32: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Store and Analyze IoT Data in Cloudant!Dwight Ford!

Page 33: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

33

Sync Any Device using JSON over HTTP!

JSON Cloudant

JSON JSON

JSON JSON

JSON

Page 34: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

The Cloudant Data Layer!

Best-of-Breed NoSQL Database and Clustering Technology Managed 24x7x365 by DevOps Experts

Global Data Presence in 35+ Data Centers 34!

Page 35: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Cloudant Overview!•  Operational Data Store

•  NoSQL Document Database

•  Simple and well-defined HTTP API

•  Fully Integrated:

•  Replication & Sync

•  MapReduce for Real-time Analytics

•  Full-Text Search

•  GeoSpatial

•  Multi-tenant and dedicated-tenant clusters

•  Powered by Apache CouchDB, Dynamo Clustering, Lucene Search, and a whole lot more…

35

Page 36: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry 36

Document Database Basics!

•  Documents are stored in the popular JSON format with a flexible schema •  A database is a logical collection of documents, with single set of access

permissions •  Cluster can hold any number of databases

Page 37: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry 37

Developing with Cloudant!

•  Dashboard •  HTTP RESTful API •  Language Agnostic •  Compatible with open source

Apache CouchDB •  Cloudant and CouchDB-

compatible API Libraries

Page 38: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

Join the Bluemix App Challenge!!http://appchallenge.mybluemix.net!

Page 39: Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant

Meetup.com/Bluemix Meetup.com/CloudFoundry

http://www.meetup.com/BlueMix/!

http://www.meetup.com/CloudFoundry/!

Meetup Groups:

Silicon Valley Cloud Foundry and Bluemix Meetups