View
237
Download
2
Category
Preview:
Citation preview
RED HAT CONFIDENTIAL | ADD NAME1
RED HAT JBOSS ENTERPRISEAPPLICATION PLATFORM 6
John OsborneMiddleware Solutions Architectjosborne@redhat.com
4
● JBoss EAP 6 Container
• JEE 6 Container
• Flexible Modular classloading
• Small Footprint
• Repository based dir structure● JBoss Developer Studio
• Eclipse based IDE
● Web Framework Kit (WFK)
• Tiered support for common OSS frameworks
● Apache HTTPD
• mod_cluster: intelligent load balancing with discovery● JBoss Operations Network (JON)
• Plugin based Central Management & Monitoring Server
Apache HTTPDmod_cluster
JBDSJBoss EAP
JON
JBoss EAP 6 Components
WFK
5
What is a cloud-ready architecture?
● High degree of automation● Flexible management● Frugal use of resources● Lean, agile development● Open platform
PHYSICAL VIRTUAL PRIVATE PUBLIC
RED HAT JBOSS MIDDLEWARE
7
Develop Differently
Run your app server in test cases
Fewer mocks!
Simulate multiple configurations (staging, prod, etc)
Exploit the cloud
Use Multiple JVMs
10
• Central Management and Monitoring for all JBoss platforms
• Multiple Products / Versions
• Configuration Management / Drift Detection
• Responsive Provisioning / Deployment
• Performance and Availability Management
• Custom Dashboards
JBoss Operations Network Overview
13
Making it easy to get started
● Webinar series● 50+ quickstarts
● Supporting videos for many
● In-depth tutorials● Technical articles● Growing set of
technical blogs● Migration guides
Focus on enabling developers to easily adopt technologies with JBoss EAP 6
15
Open Choice and Web Framework Kit 2.4
RichFaces SnowDrop Hibernate Search
Struts Spring Spring WebFlow Modernizr
GWT JQuery JQuery Mobile Apache Cordova
Bootstrap Flex and more...
17
Traditional data and knowledge
● In people, on paper, and in data warehouses
● In relational tables, rows, and columns
Modern data and knowledge
● On websites, mobile devices, and in the cloud
● Global, at home, at work, and distributed
● In non-traditional and non-relational forms
● Video, images, phrases, and tags
● Tweets, timelines, conversations, comments, and “likes”
Business today
Varied, real-time, complex in nature...
18
The challenge
How do you design your application for:
● Performance during unprecedented transaction volumes?
● Availability to meet high uptime requirements?
● Flexibility in open hybrid cloud environments?
● Reliability to provide accurate, real-time information?
● Independence from the complex, rigid data-tier?
19
Modern challenges, traditional solutions?
Design for more...● Pile on complex code, servers,
databases, DBAs
● Cost-prohibitive
● Quick fix until you need to scale again
Start from scratch...
● Completely re-architect
● Sharding? Denormalization?
● Complicated
● Time- and resource-intensive
● Risky
20
What is a data grid?
● An in-memory distributed database designed for fast access to large volumes of data and scalability
● Commonly a complementary layer to the relational database and the application.
Key data grid characteristics:
● In-memory, distributed caching
● Elastic scalability
● Advanced querying
● Data replication
● Processing for streaming data
● Transaction capabilities
21
“Although the in-memory data grid (IMDG) market, a key IMC segment,is small, it is likely to grow fast and to
reach $1 billion by 2016.”
SOURCE: Gartner, Gartner Says In-Memory Computing Is Racing Towards Mainstream Adoption, http://www.gartner.com/newsroom/id/2405315
22
Fast access to data
● In-memory speeds, high availability, reliability, elasticity
● Built on proven, popular open source Infinispan technology
Flexibility beyond Java
● Compatible with Java and non-Java platforms
Premium and advanced features in a cost-effective subscription
● Includes Red Hat JBoss Operations Network Management for management tooling
● Includes remote clients
24
Configuration - Local cacheAlleviate load on the traditional database and boost application performance
A more sophisticated data structure...
● Memory management
● Persistence
● Eviction, expiration
● Eliminate memory overflow errors
● Warm-start, preload
● Transaction capable (JTA)
● Rich monitoring and administration (via JBoss Operations Network)
● Events and notifications
● Plugs into many frameworks to boost performance
Ideal for:
Single processes
Data unique to a process
Unshared data
25
Configuration – Remote CacheSeparate the lifecycle and maintenance of theapplication from its cache/data.
26
Configuration - Replicated cacheUltimate failover protection
● Instant reads, linear performance scalability
● Network overhead scales linearly
● Limited to a single JVM heap size
● Replicate the same key/value, updates across the cluster
Ideal for:
Small, fixed datasets
Scenarios requiring extremely high fault tolerance
Real-time read access by multiple applications
27
Configuration – Data gridGlobal, distributed processing and scale
● Distributed, horizontally scalable, unlimited storage
● Move processing to data with map/reduce
● Low-latency, fast performance
● Eliminate single point of failure
● Multiple access protocols
● Compatible with applications written in any language, any framework
28
Cross datacenterreplicationKey functionality
● Achieve failover with active-passive or active-active
● Synchronous and asychronous replication
● High availability to meet SLA requirements for data within and across datacenters
● Geographic data partitioning with failover
29
Red Hat JBoss Data GridBuilt on today’s and tomorrow’s standards
JSR-107: Temporary caching API
● Targeted for EE8
JSR-347: Data grids
● Development led by Red Hat
JSR-346: CDI1.1
● Programming model for data grids
JSR-317: JPA2
● Data grids for caching API for database via JPA2
30
Client and serverMultiple access protocols
Protocol Format Client type Smart? Load balance and failover
REST text any no external
Memcached text any no pre-defined
Hot Rod binary Java, C++ yes auto/dynamic
Hot Rod: Infinispan's native TCP client/server protocol
● Hashing and topology aware
● Failover during topology changes
● Smart request routing in partitioned or distributed server clusters
31
Data compatibility modeKey functionality
● Access data regardless of how it was stored
Library mode and client/server mode interoperability
● Data written by a Library mode application can be read over a remote client (and vice versa)
Protocol interoperability
● Data written via one protocol can be read via another protocol
● Example: Write data via the REST protocol and read data via Hot Rod protocol
Cross-language interoperability
● Data written via the C++ Hot Rod protocol can be read by an application via the Java Hot Rod protocol (and vice versa)
Access via Hot Rod
Access via memcached
RED HAT CONFIDENTIAL | ADD NAME32
Cache ManagementExpiration - Keep your data fresh
● Removes entries...● Based on time they have been in memory (lifespan
value or maximum idle time value)● Globally (memory, cache stores, cluster...)
● Specified on a per-entry or per-cache basis
RED HAT CONFIDENTIAL | ADD NAME33
Cache ManagementEviction – Avoid running out of memory
● Remove entries based on how recently (and often) they are used, and only when too many entries are present
● Remove entries from memory and remain in cluster and persists to cache stores (if a cache store exists)
● On a per node basis
● Strategies● Least Recently Used (LRU) - default● Unordered eviction strategy – recommended for testing
purposes● Low Inter-reference Recency (LIRS)
RED HAT CONFIDENTIAL | ADD NAME34
Options for Persistence
● Cache store
● High performance file● SimpleFileCacheStore
● LevelDB (JNI)● Database (JDBC)
● Read-through
● If data is not in cache, then read from cache store
● Write-through
● Write to cache store sychronously
● Write-behind
● Write to cache store asychronously
35
Management and administrationRed Hat JBoss Operations Network
● Centralized control for management and administration of all Red Hat JBoss Middleware
● Efficiently monitor JBoss Data Grid performance and availability ● Clearly exposes node state and statistical information needed to manage tens to
hundreds of JBoss Data Grid nodes● Displays information in clear and concise manner
Recommended