JBoss & Infinispan open source data grids for the cloud era



Similar documents
Infinispan in 50 minutes. Sanne Grinovero

JBoss Enterprise App. Platforms Roadmap. Rich Sharples Director of Product Management, Red Hat 4th April 2011

Middleware Platforms for Application Development: A Product Comparison

ORACLE COHERENCE 12CR2

Developing Scalable Java Applications with Cacheonix

In Memory Accelerator for MongoDB

Cloud Computing: Making the right choices

Cloud Computing Summary and Preparation for Examination

INTRODUCING APACHE IGNITE An Apache Incubator Project

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Lecture 6 Cloud Application Development, using Google App Engine as an example

Why NoSQL? Your database options in the new non- relational world IBM Cloudant 1

Oracle im Open Source Kontext Abgrenzung GlassFish vs. JBoss und wozu noch WebLogic?

3 Techniques for Database Scalability with Hibernate. Geert Bevin - SpringOne 2009

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Apache Ignite TM (Incubating) - In- Memory Data Fabric Fast Data Meets Open Source

2) Xen Hypervisor 3) UEC

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

IBM WebSphere Distributed Caching Products

High Availability with Postgres Plus Advanced Server. An EnterpriseDB White Paper

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

Managing your Red Hat Enterprise Linux guests with RHN Satellite

<Insert Picture Here> Oracle In-Memory Database Cache Overview

GigaSpaces Real-Time Analytics for Big Data

NoSQL Data Base Basics

<Insert Picture Here> Java EE 7: the New Cloud Platform

High Availability Databases based on Oracle 10g RAC on Linux

Using Apache Derby in the real world

Preparing Your Data For Cloud

Scaling Web Applications in a Cloud Environment. Emil Ong Caucho Technology 8621

Introduction to Cloud Computing

Scalable Architecture on Amazon AWS Cloud

Adding scalability to legacy PHP web applications. Overview. Mario Valdez-Ramirez

Performance Management for Cloudbased STC 2012

Table Of Contents. 1. GridGain In-Memory Database

Dynamic Deployment and Scalability for the Cloud. Jerome Bernard Director, EMEA Operations Elastic Grid, LLC.

How To Use Attix5 Pro For A Fraction Of The Cost Of A Backup

Written examination in Cloud Computing

Platforms in the Cloud

An Introduction to Cloud Computing Concepts

<Insert Picture Here> Oracle NoSQL Database A Distributed Key-Value Store

Cloud Based Application Architectures using Smart Computing

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup

24/11/14. During this course. Internet is everywhere. Frequency barrier hit. Management costs increase. Advanced Distributed Systems Cloud Computing

Comparing Open Source Private Cloud (IaaS) Platforms

Scala Storage Scale-Out Clustered Storage White Paper

MakeMyTrip CUSTOMER SUCCESS STORY

Amazon Elastic Beanstalk

Private Clouds with Open Source

Cloud Computing Now and the Future Development of the IaaS

Alfresco Enterprise on AWS: Reference Architecture

Cloud Computing Technology

Cloud Models and Platforms

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

How To Write A Server On A Flash Memory On A Perforce Server

Large-Scale Web Applications

Bryan Tuft Sr. Sales Consultant Global Embedded Business Unit

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk

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

Emerging Technology for the Next Decade

Performance Management for Cloud-based Applications STC 2012

Oracle Applications and Cloud Computing - Future Direction

Mobile Cloud Computing T Open Source IaaS

WEB11 WebSphere extreme Scale et WebSphere DataPower XC10 Appliance : les solutions de caching élastique WebSphere

Cloud computing - Architecting in the cloud

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Open Source Technologies on Microsoft Azure

Hazelcast vs. TayzGrid

RED HAT OPENSTACK PLATFORM A COST-EFFECTIVE PRIVATE CLOUD FOR YOUR BUSINESS

Private Cloud Storage for Media Applications. Bang Chang Vice President, Broadcast Servers and Storage

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

mod_cluster A new httpd-based load balancer Brian Stansberry JBoss, a division of Red Hat

Building Out Your Cloud-Ready Solutions. Clark D. Richey, Jr., Principal Technologist, DoD

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

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

Glassfish Architecture.

Introducing Red Hat s JBoss Portfolio

Service Overview CloudCare Online Backup

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead

RED HAT: UNLOCKING THE VALUE OF THE CLOUD

Big Data Analytics - Accelerated. stream-horizon.com

<Insert Picture Here> Java EE 7: the New Cloud Platform

Introduction to Cloud Computing

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SERVER STANDARD EDITION

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SERVER STANDARD EDITION

Lecture 02a Cloud Computing I

BUILDING THE IXONOS ELASTIC CLOUD WITH RED HAT. Ixonos Plc

Building Storage-as-a-Service Businesses

Big Data Technologies Compared June 2014

In-Memory BigData. Summer 2012, Technology Overview

Cloud Computing An Elephant In The Dark

Cloud Computing Is In Your Future

9/26/2011. What is Virtualization? What are the different types of virtualization.

Transcription:

JBoss & Infinispan open source data grids for the cloud era Dimitris Andreadis Manager of Software Engineering JBoss Application Server JBoss by Red Hat 5 th Free and Open Source Developer s Conference May 2010, Athens/Heraclion Adapted from an original presentation by Manik Surtani - Infinispan Project Lead

Agenda Clouds are Today JBoss Clustering Architecture Cloud Challenges and Solutions Introducing Infinispan Conclusion

Clouds Are Today

Why now? We re in a perfect storm! OS virtualization is mature Bandwidth is cheap and plentiful... and we re in a financial crisis! Everyone wants to cut costs, be more efficient! Making changes is easier now

Clouds are today! Clouds are happening *aas: SaaS, PaaS, IaaS You cannot escape them! Public: Amazon, Google, GoGrid, Rackspace Private: Eucalyptus, VMWare, IBM, RedHat Clouds become mainstream Traditional datacenters marginalized to niche deployments

Why are clouds popular? Piecemeal cost Pay for what you use Massive, global data centers means high availability Everyone benefits from economies of scale Ability to scale on demand Very fast provisioning Proven charging model Remember timesharing on mainframes?

JBoss Clustering Architecture

JBoss AS Clustering JBoss brought mission-critical application server clustering services to the masses Just start JBoss in the all configuration./run.sh c all JBoss clusters are dynamic Cluster nodes detect each other automagically No configuration of topology necessary

Typical Clustering Setup Cluster Server Clients Clients Clients Load Balancer Server Replication Primary DB Server replication Standby DB

What does it mean for your applications? Load balancer settings (e.g. httpd+mod_jk/mod_cluster) Session Replication (sync/async) Http Sessions Statefull Session Beans Data Access Query caching (Replication Cache) Entity caching (Invalidation Cache) Clients Clients Clients Load Balancer Cluster Server Server Server Replicatio n Primary DB replication Standby DB Highly Available (HA) Singleton services

Cloud Challenges and Solutions

Cloud Challenges Data Governance Manageability Monitoring Availability Security Scalability Going from dozens to hundreds of nodes Memory footprint & communications overhead Dynamicity, nodes that join and leave anytime

Major Challenge: the Data Storage Databases on clouds don't scale DBs become the bottleneck and a single point of failure! Various attempt to solve it E.g. Amazon Web Services & Elastic Block Store (EBS) or S3 Native DB clustering (e.g. Oracle RAC)

The solution: Data Grids! or Elastic Caching Platforms Data grids are perfect for clouds Highly scalable Highly concurrent Very low access latency No single point of failure Memory 2 orders of magnitude faster than disk Data grids Amazon SimpleDB uses Dynamo Many other commercial and OSS offerings

Introducing Infinispan

What is Infinispan? A highly scalable data grid platform a Map (extends ConcurrentHashMap), like JSR-107 s JCACHE Java-based, 100% open source licensed (LGPL) Uses JGroups for group communication Standalone or Clustered Clustered modes includes, invalidation, replication and distribution Sync or Async communication

More scalable than JBoss Cache Data organised in Map-like structures As opposed to a tree, more memory efficient Designed for concurrency minimising synchronized blocks, mutexes Containers are naturally ordered makes eviction much more efficient Uses JBoss Marshalling smaller payloads + poolable streams = much faster remote calls

Local / Standalone Operation Simple standalone cache Highly concurrent with Tx Isolation Write-through CacheStore Eviction Etc. Front DBs or other expensive non-scalable data stores A id 322649 name Bela key value

A set of local standalone caches that are aware of each other! Each node fill in its own cache Invalidated Data Grid When an entry is changed in any cache, the others nodes must flush it E.g. Hibernate 2 nd level cache A B C id 322649 name Bela key value name key Bela value id 322649 name Bela

Replicated Data Grid Changes are replicated to all cluster nodes Every node has the same state Useful for smaller data sets and/or clusters A B C id 322649 name Bela key value id 322649 name Bela key value id 322649 name Bela key value

Distributed Data Grid with optional L1 caching There are only N copies of each key/value pair The servers on which the data resides are determined via consistent hashing E.g. N = 2, each key/value pair is stored on 2 servers N = 1 N > 1 N == -1 No redundancy, data is spread across the cluster (~RAID 0) Variable redundancy (~RAID 5) Data is stored everywhere, same as replication (~RAID 1) A B C id 322649 key value name key Bela value id 322649 name Bela

Data distribution Consistent hash based data distribution Goal of efficient scaling to 1000 s of nodes Peer to peer communication Lightweight, L1 cache for efficient reads On writes, L1 gets invalidated Or entries simply expire Dynamic rebalancing

Borrowed from JBoss Cache JTA transactions Replicated data structure Eviction, cache persistence Notifications and eventing API JMX reporting Fine-grained replication MVCC locking Non-blocking state transfer techniques Query API Custom (non-jdk) marshalling

and new features! REST API - REST-* caching spec effort Client/server module with memcached compatibility JPA API Ability to be consumed by non-jvm platforms JOPR based GUI management console Distributed executors Map/reduce programming model made easy!

Infinispan in JBoss AS 6 Http session & SFSB replication Infinispan Distributed Grid Entity Caching Infinispan Invalidation Grid Could also use Infinispan as a Storage Cluster!

Recap - Why is Infinispan sexy? Transparent horizontal scalability Fast, low latency data access Ability to address a very large heap Cloud-ready datastore Not just for Java Free and doesn't suck!

Conclusion

To sum it up Clouds are becoming mainstream But create a whole new set of problems DBs and clouds pose many challenges Data grids offer a viable alternative Infinispan, a new open source data grid Used inside or outside JBoss AS Memory is the new disk, disk is the new tape!

Download and try it out! Report bugs. Not just in code, even docs, wikis, etc. Suggest new features! How can YOU participate? Test with your own use cases We love to hear how people use our stuff!! Lend a hand with development Open and democratic dev process Helps prioritise features you want! Several non-red Hat core committers already!

More Info Infinispan www.jboss.org/infinispan JBoss AS www.jboss.org/jbossas Join the Discussion Get the News! GR-JBUG Greek JBoss User Group http://groups.google.com/group/gr-jbug Dimitris Andreadis dimitris@redhat.com

Extra Slides - Roadmap

Roadmap Infinispan 4.0.0 New Map API, Async API Distributed cache Management tooling REST API Infinispan 4.1.0 Client/server API, memcached module, language bindings Query API

Roadmap Infinispan 5.0.0 JPA API Fine-grained replication Infinispan 5.1.0 Distributed executors, map/reduce model Dynamic provisioning Infinispan 5.2.0 Distributed querying based on map/reduce