Reactive Applications: What if Your Internet of Things has 1000s of Things?



Similar documents
Getting Real Real Time Data Integration Patterns and Architectures

Monitoring Hadoop with Akka. Clint Combs Senior Software Engineer at Collective

Lambda Architecture. Near Real-Time Big Data Analytics Using Hadoop. January Website:

STREAM PROCESSING AT LINKEDIN: APACHE KAFKA & APACHE SAMZA. Processing billions of events every day

Elastic Application Platform for Market Data Real-Time Analytics. for E-Commerce

Understanding Neo4j Scalability

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

BASHO DATA PLATFORM SIMPLIFIES BIG DATA, IOT, AND HYBRID CLOUD APPS

Introducing Storm 1 Core Storm concepts Topology design

CitusDB Architecture for Real-Time Big Data

Affordable, Scalable, Reliable OLTP in a Cloud and Big Data World: IBM DB2 purescale

Axceleon s CloudFuzion Turbocharges 3D Rendering On Amazon s EC2

Software Life-Cycle Management

Software Defined Security Mechanisms for Critical Infrastructure Management

The evolution of database technology (II) Huibert Aalbers Senior Certified Executive IT Architect

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Tomcat Tuning. Mark Thomas April 2009

Above the Clouds: Introducing Akka

How To Use A Data Center With A Data Farm On A Microsoft Server On A Linux Server On An Ipad Or Ipad (Ortero) On A Cheap Computer (Orropera) On An Uniden (Orran)

Responsive, resilient, elastic and message driven system

Time series IoT data ingestion into Cassandra using Kaa

BSC vision on Big Data and extreme scale computing

How to Choose Between Hadoop, NoSQL and RDBMS

Networking in the Hadoop Cluster

<Insert Picture Here> Getting Coherence: Introduction to Data Grids South Florida User Group

Using distributed technologies to analyze Big Data

Distribution transparency. Degree of transparency. Openness of distributed systems

Petabyte Scale Data at Facebook. Dhruba Borthakur, Engineer at Facebook, SIGMOD, New York, June 2013

Converged, Real-time Analytics Enabling Faster Decision Making and New Business Opportunities

Find the Information That Matters. Visualize Your Data, Your Way. Scalable, Flexible, Global Enterprise Ready

The Sierra Clustered Database Engine, the technology at the heart of

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

PROPOSAL To Develop an Enterprise Scale Disease Modeling Web Portal For Ascel Bio Updated March 2015

JoramMQ, a distributed MQTT broker for the Internet of Things

Dell In-Memory Appliance for Cloudera Enterprise

A1 and FARM scalable graph database on top of a transactional memory layer

High Availability Essentials

Automation, Efficiency and Scalability in Securities Back Office Processing An implementer's view

Cluster Computing. ! Fault tolerance. ! Stateless. ! Throughput. ! Stateful. ! Response time. Architectures. Stateless vs. Stateful.

System Models for Distributed and Cloud Computing

ORACLE COHERENCE 12CR2

Building Scalable Applications Using Microsoft Technologies

Real-time Big Data Analytics with Storm

Mission-Critical Java. An Oracle White Paper Updated October 2008

Big Data Analytics Nokia

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users)

BUSINESS INTELLIGENCE ANALYTICS

Architecting Distributed Databases for Failure A Case Study with Druid

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

Wisdom from Crowds of Machines

A SURVEY OF POPULAR CLUSTERING TECHNOLOGIES

Big Data and Market Surveillance. April 28, 2014

The Internet of Things and Big Data: Intro

Big Data Analytics - Accelerated. stream-horizon.com

LSKA 2010 Survey Report Job Scheduler

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

PEPPERDATA IN MULTI-TENANT ENVIRONMENTS

Unified Big Data Analytics Pipeline. 连 城

EII - ETL - EAI What, Why, and How!

Table of Contents Cicero, Inc. All rights protected and reserved.

The Complete Performance Solution for Microsoft SQL Server

Top Purchase Considerations for Virtualization Management

TABLE OF CONTENTS THE SHAREPOINT MVP GUIDE TO ACHIEVING HIGH AVAILABILITY FOR SHAREPOINT DATA. Introduction. Examining Third-Party Replication Models

White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary

Parallel Databases. Parallel Architectures. Parallelism Terminology 1/4/2015. Increase performance by performing operations in parallel

Windows 2003 Performance Monitor. System Monitor. Adding a counter

Amazon EC2 Product Details Page 1 of 5

How Transactional Analytics is Changing the Future of Business A look at the options, use cases, and anti-patterns

Luncheon Webinar Series May 13, 2013

BigMemory & Hybris : Working together to improve the e-commerce customer experience

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

I/O Considerations in Big Data Analytics

TIBCO Live Datamart: Push-Based Real-Time Analytics

IAAS CLOUD EXCHANGE WHITEPAPER

Are You Ready for Big Data?

In Memory Accelerator for MongoDB

A FULL-STACK SMTP PLATFORM Open & Scriptable, Targeted Specifically at Large-Scale Infrastructures

CAPTURING & PROCESSING REAL-TIME DATA ON AWS

Improving Grid Processing Efficiency through Compute-Data Confluence

DataStax Enterprise, powered by Apache Cassandra (TM)

Oracle Database 11g: RAC Administration Release 2

Application Performance Management for Enterprise Applications

Manjrasoft Market Oriented Cloud Computing Platform

Using an In-Memory Data Grid for Near Real-Time Data Analysis

Using Attunity Replicate with Greenplum Database Using Attunity Replicate for data migration and Change Data Capture to the Greenplum Database

GigaSpaces Real-Time Analytics for Big Data

Distribution One Server Requirements

Big data platform for IoT Cloud Analytics. Chen Admati, Advanced Analytics, Intel

Architectural patterns for building real time applications with Apache HBase. Andrew Purtell Committer and PMC, Apache HBase

Cray: Enabling Real-Time Discovery in Big Data

EMC VPLEX FAMILY. Continuous Availability and data Mobility Within and Across Data Centers

Transcription:

Reactive Applications: What if Your Internet of Things has 1000s of Things? dean.wampler@typesafe.com @deanwampler Photographs licensed from istock unless otherwise noted.

Characteristics of Large IoT Large number of nodes. Potentially large number of messages to/from service providers and managers. Message sizes usually small. Resilience requirements vary. 2

Characteristics of IoT Response times from: Real time: µ-seconds for avionics. Human time: 10s-100s of milliseconds. Phoning home: no response or slow response okay. Connectivity: Intermittent to always on. 3

Examples 4

Med. Devices, IT Appliances 5 Photos: http://www.oncolink.org/treatment/images/us-machine.jpg http://img.directindustry.com/images_di/photo-g/network-communications-appliances-55504-2715577.jpg

Med. Devices, IT Appliances Phone home with status updates. Diagnose pending problems. Learn client usage patterns. Stable internet connection. 6 Most of the time, the messages are fire and forget. Round-trip messages might include queries for updates and subsequent downloads.

Trucks, Farm Equipment 7 image: http://upload.wikimedia.org/wikipedia/commons/6/60/modern-tractor.jpg

Trucks, Farm Equipment Phone Home to report movements determined using GPS. Optimize routing. Spy on drivers? Occasional network. 8 The data can be uploaded in batch. It s usually not required for real-time analytics.

Remote Sensors 9 Used to monitor earthquakes and nuclear test ban compliance. Another example is the growing network of Tsunami detectors. Image: http://upload.wikimedia.org/wikipedia/commons/6/60/modern-tractor.jpg

Remote Sensors Human to Real Time: trigger alert systems. Earthquake warning systems. Nuclear test pinpointing - test ban compliance. Reliable networks 10 The data can be uploaded in batch. It s usually not required for real-time analytics.

The Core Infrastructure The case for a Reactive implementation. 11

The Core Infrastructure Reactive - the system responds to events quickly, rather than driving system activity 12

Reactive Manifesto 13

Why a Manifesto? Reactive has been trending up: Growing popularity of eventdriven systems like Node.js, Erlang, Akka. evangelism: Erik Meijer, Jonas Bonér, Martin Thompson Define the buzz word preemptively 14

Responsive Scalable Resilient Event-Driven reactivemanifesto.org 15

Responsive Scalable Resilient Event-Driven reactivemanifesto.org 16

Event Driven Reactive Applications scale up and down on demand Asynchronous Programming: Transparently leverage all cores on each CPU. Avoid resource contention; no blocking! Add/remove servers dynamically. 17

! Event Driven Reactive Applications respond to changes in the world around them Messages are passed between services and subsystems. Asynchronous and non-blocking throughout. You define the workflow; the runtime decides how to schedule those tasks. 18

Responsive Scalable Resilient Event-Driven reactivemanifesto.org 19

Resilient Reactive Applications are architected to handle failure at all levels Bulkheads: contain damage. Within one process. Within one server. Within one datacenter.! 20 Bulkheads are built into ships, for example, to contain leaks to a small section without compromising the whole ship. Firefalls perform a similar function. Image: http://axion.physics.ubc.ca/titanic/03_bulkhead.jpg

Responsive Scalable Resilient Event-Driven reactivemanifesto.org 21

Scalable Reactive Applications scale up and down on demand Asynchronous Programming: Leverage all cores on a CPU. Avoid resource contention. Add/remove servers dynamically. 22

Scalable Reactive Applications scale up and down on demand Horizontal Scaling: Add servers, clusters. ~Linear performance, load gain? 23

Responsive Scalable Resilient Event-Driven reactivemanifesto.org 24

Responsive Reactive Applications are always available & provide low-latency responsiveness No SPOFs: No bottlenecks. Tuned for performance. Minimized latency.! 25 Latency sources include garbage collection pauses, resource contention, network partitions, and bottlenecks.

So, a Reactive Application: Is reactive from top to bottom. Decouples event generation and processing. Minimizes the weakest link in the chain to match Amdahl s Law. 26

For More See this Martin Thompson Interview: infoq.com/interviews/reactivesystem-design-martin-thompson 27

Typesafe Stack Actors are asynchronous and communicate via message passing Supervision and clustering in support of fault tolerance Purely asynchronous and nonblocking web frameworks No container required, no inherent bottlenecks in session management Asynchronous and immutable programming constructs Composable abstractions enabling simpler concurrency and parallelism 28

Typesafe Stack Actors are asynchronous and communicate via message passing Supervision and clustering in support of fault tolerance Purely asynchronous and nonblocking web frameworks Supervision and clustering in support of fault tolerance Asynchronous and immutable programming constructs Composable abstractions enabling simpler concurrency and parallelism 29

Typesafe Stack Actors are asynchronous and communicate via message passing Supervision and clustering in support of fault tolerance Purely asynchronous and nonblocking web frameworks No container required, no inherent bottlenecks in session management Asynchronous and immutable programming constructs Composable abstractions enabling simpler concurrency and parallelism 30

http://typesafe.com/platform/getstarted

Reactive Coursera Course Principles of Reactive Programming! coursera.org/course/reactive! Started November 4th, 7 weeks long 32

Thank You! Questions? dean.wampler@typesafe.com @deanwampler