Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Internet of Things: Patterns For Building Real World Applications


Published on

Slides for a live webinar presented on Aug 13, 2015.

Published in: Technology

Internet of Things: Patterns For Building Real World Applications

  1. 1. THE INTERNET OF THINGS Patterns for building real world applications
  2. 2. 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 in early 2014 to collaborate with cloud ecosystem @fortyfivan
  3. 3. Agenda What’s with all the hype? Who’s building it out? What’s it going to take to power it all? Where does fit in the picture?
  4. 4. Beyond the Buzz
  5. 5. 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
  6. 6. The Hype Lies in the Consumer Apps
  7. 7. The Value Lies in the Real World Solutions Home Healthcare Cities Cars Energy Manufacturing
  8. 8. 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”
  9. 9. “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.”
  10. 10. Opportunities for Developers
  11. 11. 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.
  12. 12. 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
  13. 13. Data Flow Pattern EXTRACT LOAD TRANSFORM The data destination of the things is the data source for the applications
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. “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.”
  18. 18. Architectural Patterns
  19. 19. 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
  20. 20. 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
  21. 21. Who’s Doing What Device Gateways API Management Software Platforms Software Services The key to a successful IoT ecosystem will be in seamless integrations
  22. 22. “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.”
  23. 23. The Workloads of IoT
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. “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.”
  31. 31. Our Products Reliable message queue service to connect systems and decouple components Async task processing environment to power event-driven workloads at scale provides the glue and the muscle for large scale IoT systems
  32. 32. 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. 33. How It Works Build Upload Run Scale ➔ Build lightweight tasks ➔ Use any language ➔ Containerize with Docker ➔ Package code & deps ➔ Upload to ➔ Configure workloads ➔ Runs on event trigger ➔ Runs on set schedules ➔ Queue to run on-demand ➔ Scales automatically ➔ Processes concurrently ➔ No provisioning needed Developers
  34. 34. The 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
  35. 35. Live Demo
  36. 36. Why Choose “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. 37. Deployments and Integrations Public Cloud On-Premises IaaSPaaS ➔ Managed cloud service ➔ Containerized deployment ➔ Marketplace add-on ➔ Service API broker
  38. 38. 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
  39. 39. “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
  40. 40. 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 in minutes