THE INTERNET OF THINGS
Patterns for building real world applications
About the Presenter
Ivan Dwyer | Head of Business Development
➔ Co-Founded a Web 1.0 Startup in 2000
➔ Helped build the first mobile app developer program at PalmSource
➔ Spent 10 years in international business with ACCESS
➔ Joined Iron.io in early 2014 to collaborate with cloud ecosystem
@fortyfivan
Agenda
What’s with all the hype?
Who’s building it out?
What’s it going to take to power it all?
Where does Iron.io fit in the picture?
Beyond the Buzz
2020 Forecast
4 Billion Connected People
200 Billion Connected Devices
25 Million Applications
50 Trillion GBs of Data
$8.9 Trillion Market Size
Source: IDC
The Hype Lies in the Consumer Apps
The Value Lies in the Real World Solutions
Home Healthcare Cities Cars Energy Manufacturing
Impact on Business
“The Internet of Things will change business models, technology investments,
consumer experiences, and everyday life”
“There will be a string of new businesses, from those that will expand the
Internet “pipes”, to those that will analyze the realms of data, to those that will
make new things we have not even thought of yet”
“The Internet of Things market is a burgeoning market that will lead to all things
being connected and capturing data to transform business processes and
consumer behavior”
“As the Internet of Things grows rapidly, it is linking millions of assets, including
devices, people and places, to deliver and share information, enhancing business
value and competitive advantage, and creating new business opportunities”
“IoT is expected to be the next great technological
innovation and business opportunity. It will exceed in size
and importance both the personal computer and mobile
communications markets, and even the development of
the Internet itself.”
Opportunities for Developers
The Business of Things
Things Events Data Insight Business
The key for developers will be to translate events into insight through data
Actionable Intelligence
Real World Solutions
Big. Very Big.
Data Transformation
Raw Data
Filtered Data
Processed Data
API
Capture from connected devices
Dispatch workloads with relevant data
Run through analytics engines
Expose for application building
Close the gap between raw data and actionable intelligence
Data Flow Pattern
EXTRACT LOAD
TRANSFORM
The data destination of the things is the data source for the applications
The Power of APIs
API
An application that displays traffic patterns
throughout the day to provide city managers
insight into how best to adjust the timing of
traffic light.
An application that shows the number of
pedestrians on the street at a given time of day
to provide retail shops insight into when is the
best times to be staffed.
An application that monitors parking spots and
recognizes a car leaving to provider drivers with
real-time insight into where to park.
A single API can compound to multiple applications across verticals
A Fresh Look at UX
Goal Ensure all parts along the assembly line are functioning properly
Scenario A single part breaks
Response The part is replaced
Insight A sensor can detect failing parts in advance, notifying operators
Goal Ensure all steps in the assembly line complete within a set time frame
Scenario One step starts to slow down
Response Optimize process to fit within time window
Insight Capture and display time series data through charts in an application
How people interact with the world, and how the world interacts with people
New Challenges for Developers
➔ Dealing with varying protocols and communication layers
➔ More moving parts means more components to maintain
➔ Protecting against single points of failures across components
➔ Maintaining security across the entire lifecycle of things and data
➔ Collecting, processing, delivering, storing, and accessing large volumes of data
➔ Network reliability, resiliency, and latency across regions
➔ Cost-effective scalability, structured agility, and interchangeable flexibility
“The Internet of Things needs developers. And
developers need tools. The key isn’t the things, but the
data these things generate and the applications that will
be built on top of that data.”
Architectural Patterns
End-to-End IoT System
Gateway API
IoT Platform
Components
Application API
Security & Monitoring
Infrastructure
Network
API Management API Management
A complete IoT system covers the lifecycle of data from device to application
MQTT
CoAP
XMPP
HTTP
AMQP
Web Sockets
HTTP
IoT Platform Components
Infrastructure
Compute Storage Networking
Workload Processing
Services
Messaging Dispatch Scheduling
Security Monitoring Analytics
➔ Additional running agents and APIs
➔ Developer tools and add-ons
➔ Raw resources ready to use
➔ Run on cloud or on-premises
➔ Choreograph event-driven workflows
➔ Task-centric platform environment
There is no single “IoT Platform” that covers the entire system
Who’s Doing What
Device Gateways
API Management
Software Platforms
Software Services
The key to a successful IoT ecosystem will be in seamless integrations
“IoT software platforms will become the rage, displacing
the hardware. Much of the early hype has been about
cool new sensors, high-tech wearables, and new wireless
technologies. In 2015 we’ll see increased focus on the
software and especially the cloud services to make all
these sensors connect, upload data, and drive analytics
that generate insights and enable business
improvements.”
The Workloads of IoT
Common IoT Workloads
Data Filtering Analytics Processing Multimedia Encoding Data Transfer
Stream Processing Transaction Handling Workflow Dispatch Alerts & Notifications
IoT workloads behave differently than traditional application workloads
Impact on Systems
750%
INCREASE IN IOT
WORKLOADS BY 2019
Pressure on data centers providing the infrastructure, telecoms providing
the network, and software companies providing platforms and services
Source: IDC
Modern Cloud Evolution
Server VM Container
Monolith N-Tiered Microservices
DIY Software Defined Event-Driven
Unit of Scale
Software Architecture
Workload Handling
The cloud infrastructure and developer services ecosystem have
evolved to tackle these challenges with IoT workload volume
Platform Distinction
App-centric Task-centric
Hosted
Load Balanced
Elastic
Orchestrated
Real-time
Ephemeral
Queued
Concurrent
Choreographed
Asynchronous
IoT Workloads need a new event-driven computing environment
What it Means to Be Event-Driven
Humans Apps Services
Sensors Processes
Feeds Engines DBs
Event Triggers Event Processing Event Subscribers
Event
Publish
Alert
Invoke
Queue
Simple tasks or chained workflows
Database Cache
Dashboard
App
Service
Warehouse
Capture anything, anywhere, any time… and then act on it automatically
“The Internet of Things will gain widespread adoption
throughout the enterprise when the connectivity
between machines is used to generate machine
generated responses that create action.”
Where Iron.io Fits
EVENT-DRIVEN COMPUTING
FOR A CONNECTED WORLD
Our Products
Reliable message queue service to connect
systems and decouple components
Async task processing environment to power
event-driven workloads at scale
Iron.io provides the glue and the muscle for large scale IoT systems
Iron.io Concepts
➔ Workers: The task code and our unit of containerized compute
➔ Runners: The runtime agent that spins up containers for workload processing
➔ Stacks: Docker images that provide basic language and library dependencies
➔ Queues: Method of dispatching workloads through a persistent message queue
➔ Schedules: Regular occurring tasks much like cron jobs, but managed
➔ Concurrency: Number of tasks run at the same time and our unit of scale
➔ Clusters: Location and environment for runner deployment and workload processing
How It Works
Build Upload Run Scale
➔ Build lightweight tasks
➔ Use any language
➔ Containerize with Docker
➔ Package code & deps
➔ Upload to Iron.io
➔ Configure workloads
➔ Runs on event trigger
➔ Runs on set schedules
➔ Queue to run on-demand
➔ Scales automatically
➔ Processes concurrently
➔ No provisioning needed
Developers Iron.io
The Iron.io Stack
File/Object Store
Task Code Stacks
API Services
Task Scheduler Task Prioritizer
Middleware
Task Queues / Message Queues
Execution Servers
➔ Task execution within lightweight containers
➔ Task code packages and dependencies
➔ Dispatch workloads to execution containers
➔ Persists task state for reliable operations
➔ Manages regular occurring tasks
➔ Manages task priorities
API
Live Demo
Why Choose Iron.io
“Serverless” Environment
Power large-scale workloads without
the need to provision and manage
infrastructure.
No Ops Needed
Create complex workflows without
configuration scripts or custom
async/concurrent code.
Workload Scalability
Scale effectively and efficiently at the
task level through lightweight and
loosely coupled containers.
Developer Friendly
Cloud-native REST API-driven feature set
with client libraries across all major
languages.
Speed to Market
Comprehensive environment that gets
up and running in minutes with
seamless platform integrations.
Hybrid Capable
Deploy components and distribute
workloads to any cloud environment,
public or private.
Deployments and Integrations
Public Cloud On-Premises
IaaSPaaS
➔ Managed cloud service
➔ Containerized deployment
➔ Marketplace add-on
➔ Service API broker
All About Choice
Choose Your Triggers Choose Your Code Choose Your Location Choose Your Endpoints
Set your event response to fire
off from an API call, webhook,
schedule, or queue
Write custom tasks and
workflows in any language
using any library
Execute workloads in any
environment, public cloud or
private data center
Deliver data and results to any
destination directly or via a
message queue
“We have a system that can easily scale to take data
from a large amount of speed bumps from all over
Europe and the world. The ease of use has been a huge
benefit to allow us to get up and running and into
production. But it’s the flexibility, scalability and
reliability of this architecture, and company behind the
products, that give us the confidence we’ll be able to
handle the traffic loads we foresee.”
- John Eskilsson, Technical Architect at Edeva
Pair Programming
Get a hands-on walkthrough
of our platform
Architecture Review
Let us share some best
practices and advice
Start a Free Trial
Start building with Iron.io
in minutes
www.iron.io

Internet of Things: Patterns For Building Real World Applications

  • 1.
    THE INTERNET OFTHINGS Patterns for building real world applications
  • 2.
    About the Presenter IvanDwyer | Head of Business Development ➔ Co-Founded a Web 1.0 Startup in 2000 ➔ Helped build the first mobile app developer program at PalmSource ➔ Spent 10 years in international business with ACCESS ➔ Joined Iron.io in early 2014 to collaborate with cloud ecosystem @fortyfivan
  • 3.
    Agenda What’s with allthe hype? Who’s building it out? What’s it going to take to power it all? Where does Iron.io fit in the picture?
  • 4.
  • 5.
    2020 Forecast 4 BillionConnected People 200 Billion Connected Devices 25 Million Applications 50 Trillion GBs of Data $8.9 Trillion Market Size Source: IDC
  • 6.
    The Hype Liesin the Consumer Apps
  • 7.
    The Value Liesin the Real World Solutions Home Healthcare Cities Cars Energy Manufacturing
  • 8.
    Impact on Business “TheInternet of Things will change business models, technology investments, consumer experiences, and everyday life” “There will be a string of new businesses, from those that will expand the Internet “pipes”, to those that will analyze the realms of data, to those that will make new things we have not even thought of yet” “The Internet of Things market is a burgeoning market that will lead to all things being connected and capturing data to transform business processes and consumer behavior” “As the Internet of Things grows rapidly, it is linking millions of assets, including devices, people and places, to deliver and share information, enhancing business value and competitive advantage, and creating new business opportunities”
  • 9.
    “IoT is expectedto be the next great technological innovation and business opportunity. It will exceed in size and importance both the personal computer and mobile communications markets, and even the development of the Internet itself.”
  • 10.
  • 11.
    The Business ofThings Things Events Data Insight Business The key for developers will be to translate events into insight through data Actionable Intelligence Real World Solutions Big. Very Big.
  • 12.
    Data Transformation Raw Data FilteredData Processed Data API Capture from connected devices Dispatch workloads with relevant data Run through analytics engines Expose for application building Close the gap between raw data and actionable intelligence
  • 13.
    Data Flow Pattern EXTRACTLOAD TRANSFORM The data destination of the things is the data source for the applications
  • 14.
    The Power ofAPIs API An application that displays traffic patterns throughout the day to provide city managers insight into how best to adjust the timing of traffic light. An application that shows the number of pedestrians on the street at a given time of day to provide retail shops insight into when is the best times to be staffed. An application that monitors parking spots and recognizes a car leaving to provider drivers with real-time insight into where to park. A single API can compound to multiple applications across verticals
  • 15.
    A Fresh Lookat UX Goal Ensure all parts along the assembly line are functioning properly Scenario A single part breaks Response The part is replaced Insight A sensor can detect failing parts in advance, notifying operators Goal Ensure all steps in the assembly line complete within a set time frame Scenario One step starts to slow down Response Optimize process to fit within time window Insight Capture and display time series data through charts in an application How people interact with the world, and how the world interacts with people
  • 16.
    New Challenges forDevelopers ➔ Dealing with varying protocols and communication layers ➔ More moving parts means more components to maintain ➔ Protecting against single points of failures across components ➔ Maintaining security across the entire lifecycle of things and data ➔ Collecting, processing, delivering, storing, and accessing large volumes of data ➔ Network reliability, resiliency, and latency across regions ➔ Cost-effective scalability, structured agility, and interchangeable flexibility
  • 17.
    “The Internet ofThings needs developers. And developers need tools. The key isn’t the things, but the data these things generate and the applications that will be built on top of that data.”
  • 18.
  • 19.
    End-to-End IoT System GatewayAPI IoT Platform Components Application API Security & Monitoring Infrastructure Network API Management API Management A complete IoT system covers the lifecycle of data from device to application MQTT CoAP XMPP HTTP AMQP Web Sockets HTTP
  • 20.
    IoT Platform Components Infrastructure ComputeStorage Networking Workload Processing Services Messaging Dispatch Scheduling Security Monitoring Analytics ➔ Additional running agents and APIs ➔ Developer tools and add-ons ➔ Raw resources ready to use ➔ Run on cloud or on-premises ➔ Choreograph event-driven workflows ➔ Task-centric platform environment There is no single “IoT Platform” that covers the entire system
  • 21.
    Who’s Doing What DeviceGateways API Management Software Platforms Software Services The key to a successful IoT ecosystem will be in seamless integrations
  • 22.
    “IoT software platformswill become the rage, displacing the hardware. Much of the early hype has been about cool new sensors, high-tech wearables, and new wireless technologies. In 2015 we’ll see increased focus on the software and especially the cloud services to make all these sensors connect, upload data, and drive analytics that generate insights and enable business improvements.”
  • 23.
  • 24.
    Common IoT Workloads DataFiltering Analytics Processing Multimedia Encoding Data Transfer Stream Processing Transaction Handling Workflow Dispatch Alerts & Notifications IoT workloads behave differently than traditional application workloads
  • 25.
    Impact on Systems 750% INCREASEIN IOT WORKLOADS BY 2019 Pressure on data centers providing the infrastructure, telecoms providing the network, and software companies providing platforms and services Source: IDC
  • 26.
    Modern Cloud Evolution ServerVM Container Monolith N-Tiered Microservices DIY Software Defined Event-Driven Unit of Scale Software Architecture Workload Handling The cloud infrastructure and developer services ecosystem have evolved to tackle these challenges with IoT workload volume
  • 27.
    Platform Distinction App-centric Task-centric Hosted LoadBalanced Elastic Orchestrated Real-time Ephemeral Queued Concurrent Choreographed Asynchronous IoT Workloads need a new event-driven computing environment
  • 28.
    What it Meansto Be Event-Driven Humans Apps Services Sensors Processes Feeds Engines DBs Event Triggers Event Processing Event Subscribers Event Publish Alert Invoke Queue Simple tasks or chained workflows Database Cache Dashboard App Service Warehouse Capture anything, anywhere, any time… and then act on it automatically
  • 29.
    “The Internet ofThings will gain widespread adoption throughout the enterprise when the connectivity between machines is used to generate machine generated responses that create action.”
  • 30.
    Where Iron.io Fits EVENT-DRIVENCOMPUTING FOR A CONNECTED WORLD
  • 31.
    Our Products Reliable messagequeue service to connect systems and decouple components Async task processing environment to power event-driven workloads at scale Iron.io provides the glue and the muscle for large scale IoT systems
  • 32.
    Iron.io Concepts ➔ Workers:The task code and our unit of containerized compute ➔ Runners: The runtime agent that spins up containers for workload processing ➔ Stacks: Docker images that provide basic language and library dependencies ➔ Queues: Method of dispatching workloads through a persistent message queue ➔ Schedules: Regular occurring tasks much like cron jobs, but managed ➔ Concurrency: Number of tasks run at the same time and our unit of scale ➔ Clusters: Location and environment for runner deployment and workload processing
  • 33.
    How It Works BuildUpload Run Scale ➔ Build lightweight tasks ➔ Use any language ➔ Containerize with Docker ➔ Package code & deps ➔ Upload to Iron.io ➔ Configure workloads ➔ Runs on event trigger ➔ Runs on set schedules ➔ Queue to run on-demand ➔ Scales automatically ➔ Processes concurrently ➔ No provisioning needed Developers Iron.io
  • 34.
    The Iron.io Stack File/ObjectStore Task Code Stacks API Services Task Scheduler Task Prioritizer Middleware Task Queues / Message Queues Execution Servers ➔ Task execution within lightweight containers ➔ Task code packages and dependencies ➔ Dispatch workloads to execution containers ➔ Persists task state for reliable operations ➔ Manages regular occurring tasks ➔ Manages task priorities API
  • 35.
  • 36.
    Why Choose Iron.io “Serverless”Environment Power large-scale workloads without the need to provision and manage infrastructure. No Ops Needed Create complex workflows without configuration scripts or custom async/concurrent code. Workload Scalability Scale effectively and efficiently at the task level through lightweight and loosely coupled containers. Developer Friendly Cloud-native REST API-driven feature set with client libraries across all major languages. Speed to Market Comprehensive environment that gets up and running in minutes with seamless platform integrations. Hybrid Capable Deploy components and distribute workloads to any cloud environment, public or private.
  • 37.
    Deployments and Integrations PublicCloud On-Premises IaaSPaaS ➔ Managed cloud service ➔ Containerized deployment ➔ Marketplace add-on ➔ Service API broker
  • 38.
    All About Choice ChooseYour Triggers Choose Your Code Choose Your Location Choose Your Endpoints Set your event response to fire off from an API call, webhook, schedule, or queue Write custom tasks and workflows in any language using any library Execute workloads in any environment, public cloud or private data center Deliver data and results to any destination directly or via a message queue
  • 39.
    “We have asystem that can easily scale to take data from a large amount of speed bumps from all over Europe and the world. The ease of use has been a huge benefit to allow us to get up and running and into production. But it’s the flexibility, scalability and reliability of this architecture, and company behind the products, that give us the confidence we’ll be able to handle the traffic loads we foresee.” - John Eskilsson, Technical Architect at Edeva
  • 40.
    Pair Programming Get ahands-on walkthrough of our platform Architecture Review Let us share some best practices and advice Start a Free Trial Start building with Iron.io in minutes www.iron.io