Scaling Up & Out with Actors: Introducing Akka

Size: px
Start display at page:

Download "Scaling Up & Out with Actors: Introducing Akka"

Transcription

1 Scaling Up & Out with Actors: Introducing Akka Akka Tech Lead

2 The problem It is way too hard to build: 1. correct highly concurrent systems 2. truly scalable systems 3. fault-tolerant systems that self-heals...using state-of-the-art tools

3 Introducing

4 Introducing Akka (Áhkká): The name comes from the goddess in the Sami mythology that represented all the wisdom and beauty in the world. It is also the name of a beautiful mountain in Laponia in the north part of Sweden

5 Introducing View from the summit

6 Vision Simpler Concurrency Scalability Fault-tolerance

7 Vision...with a single unified Programming Model Managed Runtime Open Source Distribution

8 Manage system overload

9 Scale up & Scale out

10 Replicate and distribute for fault-tolerance

11 Transparent load balancing

12 INTRODUCING Akka 2.0

13 Akka 2.0-RC1

14 636 tickets closed

15 1011 files changed

16 96261 lines added

17 56733 lines removed

18 56733 lines removed

19 ARCHITECTURE CORE SERVICES

20 ADD-ON MODULES ARCHITECTURE

21 ARCHITECTURE TYPESAFE STACK ADD-ONS

22 WHERE IS AKKA USED? SOME EXAMPLES: FINANCE Stock trend Analysis & Simulation Event-driven messaging systems BETTING & GAMING Massive multiplayer online gaming High throughput and transactional betting TELECOM Streaming media network gateways SIMULATION 3D simulation engines E-COMMERCE Social media community sites

23 Scale up

24 What is an Actor?

25 Actor Behavior State

26 Eventdriven Actor Behavior State

27 Eventdriven Actor Behavior State

28 Eventdriven Actor Behavior State

29 Eventdriven Actor Behavior State

30 Eventdriven Actor Behavior State

31 Actor Behavior State

32 Eventdriven Actor Behavior State

33 Akka Actors one tool in the toolbox

34 Actors case object Tick class Counter extends Actor { var counter = 0 } def receive = { case Tick => counter += 1 println(counter) } Scala API

35 Actors class Counter extends UntypedActor { int counter = 0; } void onreceive(object msg) { if (msg.equals( Tick )) { counter += 1; System.out.println(counter); } } Java API

36 Create Application val conf = ConfigFactory.load( application ) val system = ActorSystem( my-app, conf) Scala API

37 Create Application Config conf = ConfigFactory.load( application ); ActorSystem system = ActorSystem.create( my-app, conf); Java API

38 Create Actors val counter = system.actorof(props[counter]) counter is an ActorRef Creates a top-level actor Scala API

39 Create Actors ActorRef counter = system.actorof(new Props(Counter.class)); Creates a top-level actor Java API

40 Stop actors system.stop(counter)...also stops all actors in the hierarchy below

41 Send:! counter! Tick fire-forget Scala API

42 ...or use tell counter tell Tick fire-forget Scala API

43 ...or use tell counter.tell(tick); fire-forget Java API

44 Send:? import akka.patterns.ask // returns a future val future = actor? message future onsuccess { case x => println(x) } returns the Future directly Scala API

45 ...or use ask import akka.patterns.ask // returns a future val future = actor ask message future onsuccess { case x => println(x) } returns the Future directly Scala API

46 Reply class SomeActor extends Actor { def receive = { case User(name) => // reply to sender sender! ( Hi + name) } } Scala API

47 Reply class SomeActor extends UntypedActor { void onreceive(object msg) { if (msg instanceof User) { User user = (User) msg; // reply to sender getsender().tell( Hi + user.name); } } } Java API

48 ...or use ask import akka.patterns.ask // returns a future val future = actor ask message future onsuccess { case x => println(x) } Scala API

49 ...or use ask import static akka.patterns.patterns.ask; Future<Object> future = ask(actor, message, timeout); future.onsuccess(new OnSuccess<Object>() { public void onsuccess(string result) { System.out.println(result); } }); Java API

50 Future val f = Promise[String]() f oncomplete {... } onsuccess {... } onfailure {... } f foreach {... } f map {... } f flatmap {... } f filter {... } f zip otherf f fallbackto otherf Await.result(f, 5 seconds) Scala API

51 Future firstcompletedof find sequence fold traverse reduce Combinators for collections of Futures

52 become context become { // new body case NewMessage =>... } Scala API

53 become context.become(new Procedure[Object]() { void apply(object msg) { // new body if (msg instanceof NewMessage) { NewMessage newmsg = (NewMessage)msg;... } } }); Java API

54 unbecome context.unbecome()

55 Routers val router = system.actorof( Props[SomeActor].withRouter( RoundRobinRouter(nrOfInstances = 5))) Scala API

56 Router + Resizer val resizer = DefaultResizer(lowerBound = 2, upperbound = 15) val router = system.actorof( Props[ExampleActor1].withRouter( RoundRobinRouter(resizer = Some(resizer)) ) ) Scala API

57 Scale up?

58 ThreadPoolExecutor

59 ThreadPoolExecutor

60 new ForkJoinPool

61 new ForkJoinPool

62 Scale out

63 New Remote Actors

64 Name val actor = system.actorof(props[myactor], my-service ) Bind the actor to a name Scala API

65 Name ActorRef actor = system.actorof( new Props(MyActor.class), my-service ) Bind the actor to a name Java API

66 Deployment Actor name is virtual and decoupled from how it is deployed

67 Deployment If no deployment configuration exists then actor is deployed as local

68 Deployment The same system can be configured as distributed without code change (even change at runtime)

69 Deployment Write as local but deploy as distributed in the cloud without code change

70 Deployment Allows runtime to dynamically and adaptively change topology

71 Deployment configuration akka { actor { deployment { /my-service { router = "round-robin" nr-of-instances = 3 target { nodes = ["wallace:2552", "gromit:2552"] } } } } }

72 Let it crash fault-tolerance

73 The Erlang model

74 9 nines

75 ...let s take a standard OO application

76

77 Which components have critically important state and explicit error handling?

78

79 Fault-tolerant onion-layered Error Kernel

80 Error Kernel

81 Error Kernel

82 Error Kernel

83 Error Kernel

84 Error Kernel

85 Error Kernel

86 Node 1 Node 2

87 Parental automatic supervision // from within an actor val child = context.actorof(props[myactor], my-actor ) transparent and automatic fault handling by design Scala API

88 Parental automatic supervision // from within an actor ActorRef child = getcontext().actorof( new Props(MyActor.class), my-actor ); transparent and automatic fault handling by design Java API

89 Parental automatic supervision Guardian System Actor

90 Parental automatic supervision Guardian System Actor system.actorof(props[foo], Foo )

91 Parental automatic supervision Guardian System Actor Foo system.actorof(props[foo], Foo )

92 Parental automatic supervision Guardian System Actor Foo context.actorof(props[a], A )

93 Parental automatic supervision Guardian System Actor Foo A context.actorof(props[a], A )

94 Parental automatic supervision Guardian System Actor Foo Bar A C A B E B C D

95 Name resolution Guardian System Actor Foo Bar A C A B E B C D

96 Name resolution Guardian System Actor /Foo Foo Bar A C A B E B C D

97 Name resolution Guardian System Actor /Foo Foo Bar /Foo/A A C A B E B C D

98 Name resolution Guardian System Actor /Foo Foo Bar /Foo/A A C A /Foo/A/B B E B C D

99 Name resolution Guardian System Actor /Foo Foo Bar /Foo/A A C A /Foo/A/B B E B C /Foo/A/D D

100 Supervision class MySupervisor extends Actor { def supervisorstrategy = OneForOneStrategy({ case _: ActorKilledException => Stop case _: ArithmeticException => Resume case _: Exception => Restart case _ => Escalate }, maxnrofretries = None, withintimerange = None) def receive = { case NewUser(name) =>... = context.actorof[user](name) } } Scala API

101 Supervision class MySupervisor extends Actor { def supervisorstrategy = AllForOneStrategy OneForOneStrategy({ case _: ActorKilledException => Stop case _: ArithmeticException => Resume case _: Exception => Restart case _ => Escalate }, maxnrofretries = None, withintimerange = None) } def receive = { case NewUser(name) =>... = context.actorof[user](name) } Scala API

102 Manage failure class FaultTolerantService extends Actor {... override def prerestart( reason: Throwable, message: Option[Any]) = {... // clean up before restart } override def postrestart(reason: Throwable) = {... // init after restart } } Scala API

103 watch/unwatch val buddy: ActorRef =... val watcher = system.actorof(props( new Actor { context.watch(buddy) } )) def receive = { case t: Terminated =>... } Scala API

104 Akka 2.1+

105 The runtime provides Decentralized P2P gossip-based cluster membership (dynamo-style w/ vector clocks, hand-off on fail-over etc.)

106 The runtime provides Automatic adaptive cluster rebalancing

107 The runtime provides Automatic cluster-wide deployment

108 The runtime provides Highly available configuration service

109 The runtime provides Automatic replication with automatic fail-over upon node crash

110 The runtime provides Transparent and user-configurable load-balancing

111 Akka Node

112 Akka Node val ping = actorof(props[ping], ping ) val pong = actorof(props[pong], pong ) ping! Ball(pong)

113 Akka Node val ping = actorof(props[ping], ping ) val pong = actorof(props[pong], pong ) ping! Ball(pong) Ping Pong

114 Akka Node Akka Cluster Node Ping Pong

115 Akka Cluster Node Akka Node Akka Cluster Node Akka Cluster Node Ping Pong Akka Cluster Node Akka Cluster Node

116 Akka Cluster Node Akka Cluster Node Akka Cluster Node Ping Pong Akka Cluster Node Akka Cluster Node

117 Akka Cluster Node Akka Cluster Node Ping akka { actor { deployment { /ping {} /pong { router = "round-robin" nr-of-instances = 3 } } Pong } } Akka Cluster Node Akka Cluster Node Akka Cluster Node

118 Akka Cluster Node Akka Cluster Ping Node akka { actor { deployment { /ping {} /pong { router = "round-robin" nr-of-instances = 3 } } Pong } } Akka Cluster Node Akka Cluster Node Akka Cluster Node

119 Akka Pong Cluster Node Akka Cluster Ping Node akka { actor { deployment { /ping {} /pong { router = "round-robin" nr-of-instances = 3 } } } } Akka Pong Cluster Node Akka Pong Cluster Node Akka Cluster Node

120 ...and much much more HTTP Transactors FSM Durable Mailboxes Microkernel SLF4J Camel NIO ZeroMQ Dataflow AMQP Agents Spring TestKit

121 Get it and learn more

122 EOF

Above the Clouds: Introducing Akka

Above the Clouds: Introducing Akka Above the Clouds: Introducing Akka Jonas Bonér CTO Typesafe Email: jonas@typesafe.com Twitter: @jboner The problem It is way too hard to build: 1. correct highly concurrent systems 2. truly scalable systems

More information

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

Monitoring Hadoop with Akka. Clint Combs Senior Software Engineer at Collective Monitoring Hadoop with Akka Clint Combs Senior Software Engineer at Collective Collective - The Audience Engine Ad Technology Company Heavy Investment in Hadoop and Other Scalable Infrastructure Need to

More information

Akka Streams. Dr. Roland Kuhn @rolandkuhn Typesafe

Akka Streams. Dr. Roland Kuhn @rolandkuhn Typesafe Akka Streams Dr. Roland Kuhn @rolandkuhn Typesafe Why Streams? processing big data with finite memory real-time data processing (CEP) serving numerous clients simultaneously with bounded resources (IoT,

More information

Wisdom from Crowds of Machines

Wisdom from Crowds of Machines Wisdom from Crowds of Machines Analytics and Big Data Summit September 19, 2013 Chetan Conikee Irfan Ahmad About Us CloudPhysics' mission is to discover the underlying principles that govern systems behavior

More information

Scala Actors Library. Robert Hilbrich

Scala Actors Library. Robert Hilbrich Scala Actors Library Robert Hilbrich Foreword and Disclaimer I am not going to teach you Scala. However, I want to: Introduce a library Explain what I use it for My Goal is to: Give you a basic idea about

More information

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

Elastic Application Platform for Market Data Real-Time Analytics. for E-Commerce Elastic Application Platform for Market Data Real-Time Analytics Can you deliver real-time pricing, on high-speed market data, for real-time critical for E-Commerce decisions? Market Data Analytics applications

More information

TYPESAFE TOGETHER - SUBSCRIBER TRAINING. Training Classes

TYPESAFE TOGETHER - SUBSCRIBER TRAINING. Training Classes TYPESAFE TOGETHER - SUBSCRIBER TRAINING Training Classes As your business goes Reactive, a ton of development work lays ahead. Now, more than ever, the knowledge and skills of your staff has a direct impact

More information

Glassfish Architecture.

Glassfish Architecture. Glassfish Architecture. First part Introduction. Over time, GlassFish has evolved into a server platform that is much more than the reference implementation of the Java EE specifcations. It is now a highly

More information

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November 2014. 2014 Pivotal Software, Inc. All rights reserved.

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November 2014. 2014 Pivotal Software, Inc. All rights reserved. 2 Apache Tomcat Load-balancing and Clustering Mark Thomas, 20 November 2014 Introduction Apache Tomcat committer since December 2003 markt@apache.org Tomcat 8 release manager Member of the Servlet, WebSocket

More information

REACTIVE systems [1] currently lie on the final frontier

REACTIVE systems [1] currently lie on the final frontier 1 Comparing Akka and Spring JMS Mati Vait Abstract Reactive systems [1] need to be built in a certain way. Specific requirements that they have, call for certain kinds of programming techniques and frameworks.

More information

membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010

membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010 membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010 Membase is an Open Source distributed, key-value database management system optimized for storing data behind

More information

Building Scalable Big Data Infrastructure Using Open Source Software. Sam William sampd@stumbleupon.

Building Scalable Big Data Infrastructure Using Open Source Software. Sam William sampd@stumbleupon. Building Scalable Big Data Infrastructure Using Open Source Software Sam William sampd@stumbleupon. What is StumbleUpon? Help users find content they did not expect to find The best way to discover new

More information

In-Memory BigData. Summer 2012, Technology Overview

In-Memory BigData. Summer 2012, Technology Overview In-Memory BigData Summer 2012, Technology Overview Company Vision In-Memory Data Processing Leader: > 5 years in production > 100s of customers > Starts every 10 secs worldwide > Over 10,000,000 starts

More information

High Availability with Elixir

High Availability with Elixir High Availability with Elixir High Availability High-availability clusters (also known as HA Clusters or Failover Clusters) are computer clusters that are implemented primarily for the purpose of providing

More information

FioranoMQ 9. High Availability Guide

FioranoMQ 9. High Availability Guide FioranoMQ 9 High Availability Guide Copyright (c) 1999-2008, Fiorano Software Technologies Pvt. Ltd., Copyright (c) 2008-2009, Fiorano Software Pty. Ltd. All rights reserved. This software is the confidential

More information

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

Reactive Applications: What if Your Internet of Things has 1000s of Things? 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

More information

Building Scalable Messaging Systems with Qpid. Lessons Learned from PayPal

Building Scalable Messaging Systems with Qpid. Lessons Learned from PayPal Building Scalable Messaging Systems with Qpid Lessons Learned from PayPal Background @ PayPal Handles 60% of all web transacbons One of the largest Oracle instances Mix of proprietary systems Mix of 1000

More information

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg

ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING. Sander Sõnajalg ACTOR-BASED MODEL FOR CONCURRENT PROGRAMMING Sander Sõnajalg Contents Introduction to concurrent programming Shared-memory model vs. actor model Main principles of the actor model Actors for light-weight

More information

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS White paper Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS June 2001 Response in Global Environment Simply by connecting to the Internet, local businesses transform themselves

More information

Deploying complex applications to Google Cloud. Olia Kerzhner olia@google.com

Deploying complex applications to Google Cloud. Olia Kerzhner olia@google.com Deploying complex applications to Google Cloud Olia Kerzhner olia@google.com Cloud VMs Networks Databases Object Stores Firewalls Disks LoadBalancers Control..? Application stacks are complex Storage External

More information

OpenSER the open SIP Server. Bogdan-Andrei Iancu CEO Voice System Co-Founder OpenSER Project

OpenSER the open SIP Server. Bogdan-Andrei Iancu CEO Voice System Co-Founder OpenSER Project penser the open SIP Server Bogdan-Andrei Iancu CE Voice System Co-Founder penser Project About penser verview penser is an open source, GPLed SIP server with High scalability (up to thousands of calls

More information

Spark Job Server. Evan Chan and Kelvin Chu. Date

Spark Job Server. Evan Chan and Kelvin Chu. Date Spark Job Server Evan Chan and Kelvin Chu Date Overview Why We Needed a Job Server Created at Ooyala in 2013 Our vision for Spark is as a multi-team big data service What gets repeated by every team: Bastion

More information

Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control

Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control EP/K006487/1 UK PI: Prof Gareth Taylor (BU) China PI: Prof Yong-Hua Song (THU) Consortium UK Members: Brunel University

More information

Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002

Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002 Page 1 of 9 Published on The O'Reilly Network (http://www.oreillynet.com/) http://www.oreillynet.com/pub/a/onjava/2002/07/17/tomcluster.html See this if you're having trouble printing code examples Clustering

More information

Building Heavy Load Messaging System

Building Heavy Load Messaging System CASE STUDY Building Heavy Load Messaging System About IntelliSMS Intelli Messaging simplifies mobile communication methods so you can cost effectively build mobile communication into your business processes;

More information

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013 F1: A Distributed SQL Database That Scales Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013 What is F1? Distributed relational database Built to replace sharded MySQL back-end of AdWords

More information

A distributed system is defined as

A distributed system is defined as A distributed system is defined as A collection of independent computers that appears to its users as a single coherent system CS550: Advanced Operating Systems 2 Resource sharing Openness Concurrency

More information

Big Data Analytics! Architectures, Algorithms and Applications! Part #3: Analytics Platform

Big Data Analytics! Architectures, Algorithms and Applications! Part #3: Analytics Platform Big Data Analytics! Architectures, Algorithms and Applications! Part #3: Analytics Platform Simon Wu! HTC (Prior: Twitter & Microsoft)! Edward Chang 張 智 威 HTC (prior: Google & U. California)! 1/26/2015

More information

Architectures for massive data management

Architectures for massive data management Architectures for massive data management Apache Kafka, Samza, Storm Albert Bifet albert.bifet@telecom-paristech.fr October 20, 2015 Stream Engine Motivation Digital Universe EMC Digital Universe with

More information

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture

More information

Redis Cluster. a pragmatic approach to distribution

Redis Cluster. a pragmatic approach to distribution Redis Cluster a pragmatic approach to distribution All nodes are directly connected with a service channel. TCP baseport+4000, example 6379 -> 10379. Node to Node protocol is binary, optimized for bandwidth

More information

Sentinet for Windows Azure SENTINET

Sentinet for Windows Azure SENTINET Sentinet for Windows Azure SENTINET Sentinet for Windows Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Isolated Deployment Model... 3 Collocated Deployment Model...

More information

Streaming items through a cluster with Spark Streaming

Streaming items through a cluster with Spark Streaming Streaming items through a cluster with Spark Streaming Tathagata TD Das @tathadas CME 323: Distributed Algorithms and Optimization Stanford, May 6, 2015 Who am I? > Project Management Committee (PMC) member

More information

RED HAT JBOSS FUSE. An open source enterprise service bus

RED HAT JBOSS FUSE. An open source enterprise service bus RED HAT JBOSS FUSE An open source enterprise service bus TECHNOLOGY OVERVIEW Our main goal at Sabre is stability, scalability, and flexibility for our partners. When evaluating solutions, we recognized

More information

Clustering/HA. Introduction, Helium Capabilities, and Potential Lithium Enhancements. www.opendaylight.org

Clustering/HA. Introduction, Helium Capabilities, and Potential Lithium Enhancements. www.opendaylight.org Clustering/HA Introduction, Helium Capabilities, and Potential Lithium Enhancements Overview Introduction to Clustering Goals Terminology Functionality Helium Clustering Capabilities Potential Lithium

More information

Amazon Kinesis and Apache Storm

Amazon Kinesis and Apache Storm Amazon Kinesis and Apache Storm Building a Real-Time Sliding-Window Dashboard over Streaming Data Rahul Bhartia October 2014 Contents Contents Abstract Introduction Reference Architecture Amazon Kinesis

More information

VMware vrealize Automation

VMware vrealize Automation VMware vrealize Automation Reference Architecture Version 6.0 and Higher T E C H N I C A L W H I T E P A P E R Table of Contents Overview... 4 What s New... 4 Initial Deployment Recommendations... 4 General

More information

BSC vision on Big Data and extreme scale computing

BSC vision on Big Data and extreme scale computing BSC vision on Big Data and extreme scale computing Jesus Labarta, Eduard Ayguade,, Fabrizio Gagliardi, Rosa M. Badia, Toni Cortes, Jordi Torres, Adrian Cristal, Osman Unsal, David Carrera, Yolanda Becerra,

More information

JoramMQ, a distributed MQTT broker for the Internet of Things

JoramMQ, a distributed MQTT broker for the Internet of Things JoramMQ, a distributed broker for the Internet of Things White paper and performance evaluation v1.2 September 214 mqtt.jorammq.com www.scalagent.com 1 1 Overview Message Queue Telemetry Transport () is

More information

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server GlassFish v3 - A Taste of a Next Generation Application Server Peter Doschkinow Senior Java Architect Agenda GlassFish overview and positioning GlassFish v3 architecture Features

More information

Deployment Topologies

Deployment Topologies , page 1 Multinode Cluster with Unified Nodes, page 2 Clustering Considerations, page 3 Cisco Unified Communications Domain Manager 10.6(x) Redundancy and Disaster Recovery, page 4 Capacity Considerations,

More information

Responsive, resilient, elastic and message driven system

Responsive, resilient, elastic and message driven system Responsive, resilient, elastic and message driven system solving scalability problems of course registrations Janina Mincer-Daszkiewicz, University of Warsaw jmd@mimuw.edu.pl Dundee, 2015-06-14 Agenda

More information

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS Venkat Perumal IT Convergence Introduction Any application server based on a certain CPU, memory and other configurations

More information

Developing modular Java applications

Developing modular Java applications Developing modular Java applications Julien Dubois France Regional Director SpringSource Julien Dubois France Regional Director, SpringSource Book author :«Spring par la pratique» (Eyrolles, 2006) new

More information

Disaster Recovery White Paper

Disaster Recovery White Paper Introduction Remote access plays a critical role in successfully executing a business recovery plan both in terms of providing access for existing remote users and accommodating the potential increase

More information

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence Exploring Oracle E-Business Suite Load Balancing Options Venkat Perumal IT Convergence Objectives Overview of 11i load balancing techniques Load balancing architecture Scenarios to implement Load Balancing

More information

The Service Availability Forum Specification for High Availability Middleware

The Service Availability Forum Specification for High Availability Middleware The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,

More information

Apache Tomcat Clustering

Apache Tomcat Clustering Apache Tomcat Clustering Mark Thomas, Staff Engineer 2012 SpringSource, by VMware. All rights reserved Agenda Introductions Terminology When to cluster Components Configuration choices Debugging Questions

More information

Networks and Services

Networks and Services Networks and Services Dr. Mohamed Abdelwahab Saleh IET-Networks, GUC Fall 2015 TOC 1 Infrastructure as a Service 2 Platform as a Service 3 Software as a Service Infrastructure as a Service Definition Infrastructure

More information

Contents. 1010 Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA http://www.nevatech.com

Contents. 1010 Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA http://www.nevatech.com Sentinet Overview Contents Overview... 3 Architecture... 3 Technology Stack... 4 Features Summary... 6 Repository... 6 Runtime Management... 6 Services Virtualization and Mediation... 9 Communication and

More information

High Availability Essentials

High Availability Essentials High Availability Essentials Introduction Ascent Capture s High Availability Support feature consists of a number of independent components that, when deployed in a highly available computer system, result

More information

VMware vcloud Automation Center 6.1

VMware vcloud Automation Center 6.1 VMware vcloud Automation Center 6.1 Reference Architecture T E C H N I C A L W H I T E P A P E R Table of Contents Overview... 4 What s New... 4 Initial Deployment Recommendations... 4 General Recommendations...

More information

Ecomm Enterprise High Availability Solution. Ecomm Enterprise High Availability Solution (EEHAS) www.ecommtech.co.za Page 1 of 7

Ecomm Enterprise High Availability Solution. Ecomm Enterprise High Availability Solution (EEHAS) www.ecommtech.co.za Page 1 of 7 Ecomm Enterprise High Availability Solution Ecomm Enterprise High Availability Solution (EEHAS) www.ecommtech.co.za Page 1 of 7 Ecomm Enterprise High Availability Solution Table of Contents 1. INTRODUCTION...

More information

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example Overview Elements of Programming Languages Lecture 12: Object-oriented functional programming James Cheney University of Edinburgh November 6, 2015 We ve now covered: basics of functional and imperative

More information

Layer 4-7 Server Load Balancing. Security, High-Availability and Scalability of Web and Application Servers

Layer 4-7 Server Load Balancing. Security, High-Availability and Scalability of Web and Application Servers Layer 4-7 Server Load Balancing Security, High-Availability and Scalability of Web and Application Servers Foundry Overview Mission: World Headquarters San Jose, California Performance, High Availability,

More information

ViSION Status Update. Dan Savu Stefan Stancu. D. Savu - CERN openlab

ViSION Status Update. Dan Savu Stefan Stancu. D. Savu - CERN openlab ViSION Status Update Dan Savu Stefan Stancu D. Savu - CERN openlab 1 Overview Introduction Update on Software Defined Networking ViSION Software Stack HP SDN Controller ViSION Core Framework Load Balancer

More information

Hadoop IST 734 SS CHUNG

Hadoop IST 734 SS CHUNG Hadoop IST 734 SS CHUNG Introduction What is Big Data?? Bulk Amount Unstructured Lots of Applications which need to handle huge amount of data (in terms of 500+ TB per day) If a regular machine need to

More information

Unified Big Data Processing with Apache Spark. Matei Zaharia @matei_zaharia

Unified Big Data Processing with Apache Spark. Matei Zaharia @matei_zaharia Unified Big Data Processing with Apache Spark Matei Zaharia @matei_zaharia What is Apache Spark? Fast & general engine for big data processing Generalizes MapReduce model to support more types of processing

More information

Configuring Nex-Gen Web Load Balancer

Configuring Nex-Gen Web Load Balancer Configuring Nex-Gen Web Load Balancer Table of Contents Load Balancing Scenarios & Concepts Creating Load Balancer Node using Administration Service Creating Load Balancer Node using NodeCreator Connecting

More information

Sentinet for BizTalk Server SENTINET

Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and APIs Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication

More information

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper Building Reliable, Scalable Solutions High-Availability White Paper Introduction This paper will discuss the products, tools and strategies available for building reliable and scalable Action Request System

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &

More information

Spark ΕΡΓΑΣΤΗΡΙΟ 10. Prepared by George Nikolaides 4/19/2015 1

Spark ΕΡΓΑΣΤΗΡΙΟ 10. Prepared by George Nikolaides 4/19/2015 1 Spark ΕΡΓΑΣΤΗΡΙΟ 10 Prepared by George Nikolaides 4/19/2015 1 Introduction to Apache Spark Another cluster computing framework Developed in the AMPLab at UC Berkeley Started in 2009 Open-sourced in 2010

More information

Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs

Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs Disaster Recovery Design Ehab Ashary University of Colorado at Colorado Springs As a head of the campus network department in the Deanship of Information Technology at King Abdulaziz University for more

More information

Couchbase Server Technical Overview. Key concepts, system architecture and subsystem design

Couchbase Server Technical Overview. Key concepts, system architecture and subsystem design Couchbase Server Technical Overview Key concepts, system architecture and subsystem design Table of Contents What is Couchbase Server? 3 System overview and architecture 5 Overview Couchbase Server and

More information

Operations Orchestration Automating Your Data Center May 21, 2014

Operations Orchestration Automating Your Data Center May 21, 2014 Operations Orchestration Automating Your Data Center May 21, 2014 Copyright 2014 Vivit Worldwide Brought to you by the Vivit Chapters in India and the Data Center Automation Special Interest Group www.vivit-worldwide.org

More information

Lambda Architecture for Batch and Real- Time Processing on AWS with Spark Streaming and Spark SQL. May 2015

Lambda Architecture for Batch and Real- Time Processing on AWS with Spark Streaming and Spark SQL. May 2015 Lambda Architecture for Batch and Real- Time Processing on AWS with Spark Streaming and Spark SQL May 2015 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document

More information

Windows Azure and private cloud

Windows Azure and private cloud Windows Azure and private cloud Joe Chou Senior Program Manager China Cloud Innovation Center Customer Advisory Team Microsoft Asia-Pacific Research and Development Group 1 Agenda Cloud Computing Fundamentals

More information

12 Factor App. Best Practices for Scala Deployment

12 Factor App. Best Practices for Scala Deployment 12 Factor App Best Practices for Scala Deployment 2005 2015 WAR files JAR files App Servers Microservices Hot-Deploy Continuous Deploy Java Scala Joe Kutner @codefinger JVM Platform Owner @Heroku 12 Factor

More information

CSci 8980 Mobile Cloud Computing. Mobile Cloud Programming

CSci 8980 Mobile Cloud Computing. Mobile Cloud Programming CSci 8980 Mobile Cloud Computing Mobile Cloud Programming Introduction Mobile applications are multi-platform, multi-user Introduction Code and data spread across many systems The Problem Deployment logic

More information

Monitor Your Key Performance Indicators using WSO2 Business Activity Monitor

Monitor Your Key Performance Indicators using WSO2 Business Activity Monitor Published on WSO2 Inc (http://wso2.com) Home > Stories > Monitor Your Key Performance Indicators using WSO2 Business Activity Monitor Monitor Your Key Performance Indicators using WSO2 Business Activity

More information

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical Identify a problem Review approaches to the problem Propose a novel approach to the problem Define, design, prototype an implementation to evaluate your approach Could be a real system, simulation and/or

More information

TIBCO FTL Glossary. Software Release 4.3 November 2015. Two-Second Advantage

TIBCO FTL Glossary. Software Release 4.3 November 2015. Two-Second Advantage TIBCO FTL Glossary Software Release 4.3 November 2015 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE

More information

VMware vrealize Automation

VMware vrealize Automation VMware vrealize Automation Reference Architecture Version 6.0 or Later T E C H N I C A L W H I T E P A P E R J U N E 2 0 1 5 V E R S I O N 1. 5 Table of Contents Overview... 4 What s New... 4 Initial Deployment

More information

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

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure Patriek van Dorp and Alex Thissen About me: Patriek van Dorp pvandorp@xpirit.com @pvandorp Xpirit http://onwindowsazure.com

More information

CONSUL AS A MONITORING SERVICE

CONSUL AS A MONITORING SERVICE CONSUL AS A MONITORING SERVICE SETH VARGO @sethvargo SERVICE ORIENTED ARCHITECTURE SOA PRIMER Autonomous Limited Scope Loose Coupling ORDER PROCESSING ORDER WEB APP HISTORY FORECASTING ORDER PROCESSING

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Department of Physics and Technology, University of Bergen. November 8, 2011 Systems and Virtualization

More information

Asynchronous Peer-to- Peer Web Services and Firewalls

Asynchronous Peer-to- Peer Web Services and Firewalls Asynchronous Peer-to- Peer Web s and Firewalls Aleksander Slominski 1, Alexandre di Costanzo 2 Dennis Gannon 1, Denis Caromel 2 1) Indiana University, 2) INRIA Sophia Antipolis Motivation! SOAP: better

More information

Advanced LCR (Least Cost Router) With SIP Proxy Server

Advanced LCR (Least Cost Router) With SIP Proxy Server With SIP Proxy Server It s all about Reducing Cost!!! WHY ADVANCED LCR (Least Cost Routing) Advanced LCR is a product by Advanced Communications; the same parent company of AdvancedVoIP.com, a widely used

More information

Architectures for massive data management

Architectures for massive data management Architectures for massive data management Apache Spark Albert Bifet albert.bifet@telecom-paristech.fr October 20, 2015 Spark Motivation Apache Spark Figure: IBM and Apache Spark What is Apache Spark Apache

More information

Deploying Windows Streaming Media Servers NLB Cluster and metasan

Deploying Windows Streaming Media Servers NLB Cluster and metasan Deploying Windows Streaming Media Servers NLB Cluster and metasan Introduction...................................................... 2 Objectives.......................................................

More information

Based on Geo Clustering for SUSE Linux Enterprise Server High Availability Extension

Based on Geo Clustering for SUSE Linux Enterprise Server High Availability Extension CAS7318 A Geo Redundant Cloud VoIP Service Based on Geo Clustering for SUSE Linux Enterprise Server High Availability Extension Brett Buckingham Managing Director, silhouette Research and Development Broadview

More information

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Open-PaaS platform resources description model SP L2.2.1 Télécom SudParis 1 / 18 1Contexte...3 1.1Abstract...3 1.2Contributors...3 1.3Remainder...3 2Open Cloud Computing

More information

Intro to Load-Balancing Tomcat with httpd and mod_jk

Intro to Load-Balancing Tomcat with httpd and mod_jk Intro to Load-Balancing Tomcat with httpd and mod_jk Christopher Schultz Chief Technology Officer Total Child Health, Inc. * Slides available on the Linux Foundation / ApacheCon2015 web site and at http://people.apache.org/~schultz/apachecon

More information

Chao Chen 1 Michael Lang 2 Yong Chen 1. IEEE BigData, 2013. Department of Computer Science Texas Tech University

Chao Chen 1 Michael Lang 2 Yong Chen 1. IEEE BigData, 2013. Department of Computer Science Texas Tech University Chao Chen 1 Michael Lang 2 1 1 Data-Intensive Scalable Laboratory Department of Computer Science Texas Tech University 2 Los Alamos National Laboratory IEEE BigData, 2013 Outline 1 2 3 4 Outline 1 2 3

More information

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications by Samuel D. Kounev (skounev@ito.tu-darmstadt.de) Information Technology Transfer Office Abstract Modern e-commerce

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

Routing Security Server failure detection and recovery Protocol support Redundancy

Routing Security Server failure detection and recovery Protocol support Redundancy Cisco IOS SLB and Exchange Director Server Load Balancing for Cisco Mobile SEF The Cisco IOS SLB and Exchange Director software features provide a rich set of server load balancing (SLB) functions supporting

More information

Optimizing High-Performance Trading Solutions: An Engineering Perspective

Optimizing High-Performance Trading Solutions: An Engineering Perspective Optimizing High-Performance Trading Solutions: An Engineering Perspective Matt Davey, CTO, Lab49 (www.lab49.com) Blog: http://mdavey.wordpress.com April 2011 V0.84 About Lab49 Lab49 is a strategy, design

More information

Availability Digest. www.availabilitydigest.com. Redundant Load Balancing for High Availability July 2013

Availability Digest. www.availabilitydigest.com. Redundant Load Balancing for High Availability July 2013 the Availability Digest Redundant Load Balancing for High Availability July 2013 A large data center can comprise hundreds or thousands of servers. These servers must not only be interconnected, but they

More information

WELCOME TO Open Source Enterprise Architecture

WELCOME TO Open Source Enterprise Architecture WELCOME TO Open Source Enterprise Architecture WELCOME TO An overview of Open Source Enterprise Architecture In the integration domain Who we are Fredrik Hilmersson Petter Nordlander Why Open Source Integration

More information

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008 A Brief Introduction of MG-SOFT s SNMP Network Management Products Document Version 1.3, published in June, 2008 MG-SOFT s SNMP Products Overview SNMP Management Products MIB Browser Pro. for Windows and

More information

Productionizing a 24/7 Spark Streaming Service on YARN

Productionizing a 24/7 Spark Streaming Service on YARN Productionizing a 24/7 Spark Streaming Service on YARN Issac Buenrostro, Arup Malakar Spark Summit 2014 July 1, 2014 About Ooyala Cross-device video analytics and monetization products and services Founded

More information

Load balancing in SOAJA (Service Oriented Java Adaptive Applications)

Load balancing in SOAJA (Service Oriented Java Adaptive Applications) Load balancing in SOAJA (Service Oriented Java Adaptive Applications) Richard Olejnik Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022)

More information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani

More information

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure Introduction The concept of Virtual Networking Infrastructure (VNI) is disrupting the networking space and is enabling

More information

18.2 user guide No Magic, Inc. 2015

18.2 user guide No Magic, Inc. 2015 18.2 user guide No Magic, Inc. 2015 All material contained here in is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All information

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information