THE INTERNET OF THINGS Patterns for building real world applications
Aug 17, 2015
THE INTERNET OF THINGSPatterns 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
Confidential and Proprietary - Iron.ioConfidential and Proprietary - Iron.io
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
Confidential and Proprietary - Iron.ioConfidential and Proprietary - Iron.io
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
Confidential and Proprietary - Iron.ioConfidential and Proprietary - Iron.io
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
Confidential and Proprietary - Iron.ioConfidential and Proprietary - Iron.io
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 PlatformComponents
Application API
Security & Monitoring
Infrastructure
Network
API Management API Management
A complete IoT system covers the lifecycle of data from device to application
MQTTCoAPXMPPHTTPAMQP
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 COMPUTINGFOR 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” EnvironmentPower large-scale workloads without
the need to provision and manage infrastructure.
No Ops NeededCreate complex workflows without
configuration scripts or custom async/concurrent code.
Workload ScalabilityScale effectively and efficiently at the
task level through lightweight and loosely coupled containers.
Developer FriendlyCloud-native REST API-driven feature set
with client libraries across all major languages.
Speed to MarketComprehensive environment that gets
up and running in minutes with seamless platform integrations.
Hybrid CapableDeploy components and distribute
workloads to any cloud environment, public or private.
Deployments and Integrations
Public Cloud On-Premises
IaaS
PaaS
➔ 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 ProgrammingGet a hands-on walkthrough
of our platform
Architecture ReviewLet us share some best practices and advice
Start a Free TrialStart building with Iron.io
in minutes
www.iron.io