Oracle Middleware Elastic Cloud: Modernizzare i Datacenters tramite strategie di Application Consolidation e tecnologie per Extreme Java Performance

Paolo Ramasso Master Principal Sales Consultant @ Oracle Italy The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.

The development, release, and timing of any features or functionality described for Oracle‟s products remains at the sole discretion of Oracle. Important Challenges Facing IT Today

Deploy and run apps with agility

Scale with growth while preserving Do it all quality of service efficiently

BUT MOST OF ALL SAVE MONEY What Is ? Setting up and running software over a network

Traditional Software Cloud Computing Deployment Deployment

Specify and procure Deployment hardware Portal

Configure hardware Application Set up software Deploy hardware Middleware through Web interface Enabled by: Configure and OS SOA/Shared Services deploy supporting Service software Capacity Grid/Dynamic Resourcing Virtualization adjusts as Management Automation Configure and demand deploy application changes Add hardware and reconfigure stack as demand grows Cloud Can Be Provided at Different Levels The more cloud provides, the less to build per app (but the less flexibility!)

Application Built by (SaaS) e.g. Oracle Cloud On Demand Customer Provided Platform by Cloud (PaaS) e.g. Google App Engine

Infrastructure (IaaS) e.g. Amazon EC2 Cloud Computing Can Be Public or Private

Oracle On-Demand .com Corporate Google App Engine Cloud Amazon EC2 Services

Internet Corporate Network

Public Cloud: Both offer: Private Cloud: • No infrastructure setup • High efficiency • Greater control • Minimal management • High performance • Easier to integrate • Lower upfront costs • High availability • Lower total costs • Elastic capacity • None of the disadvantages of public cloud Private PaaS is a Natural Strategy for Enterprises • Cloud because - Agility - Quality of service - Efficiency • Private because - Security PaaS - Control (particularly over QoS) - Cost structure - Easiest evolution of existing expertise and practices • Platform (PaaS) because Private Cloud - Best balance between minimizing what users build and maximizing their flexibility and control Private PaaS Lifecycle

3. Use App 4. Scale up/down 2. Build App • Adjust capacity based on policies • Monitor via self- App Users service • Assemble app using shared App Developer components • Deploy through self-service App Owner 5. Chargeback App • Meter usage and charge back to app owners or departments 1. Set Up Cloud Shared Components Self-Service Interface IT Oracle • Set up PaaS Enterprise • Set up shared Manager components Oracle Enterprise Linux • Set up self- service portal Oracle VM Enter Cloud Computing (You may have heard of it…) Cloud Technology Enabler Runtimes Consolidation

Acceleration

Elasticity Oracle Delivers Integrated Systems Exadata: World’s Fastest Database Machine Software and hardware engineered together for business data Introducing: Oracle Exalogic Elastic Cloud Software and hardware engineered together for business logic Oracle Exalogic Elastic Cloud World’s Best Foundation for Cloud

• Fastest Java Performance - Application performance improved up to 10x • Foundation for Mission Critical Cloud - Best for application consolidation - Best for elastic capacity on demand • Engineered System - Lowest cost to deploy and operate - Fastest path to production Exalogic: Unbeatable Hardware

Oracle WebLogic Server Grid • 30 compute servers • 360 cores Integrated Storage • 2.8 TB DRAM • System images • 960 GB solid-state disk • Application files • Patch centrally • Clustered for HA • 40 TB SAS disk InfiniBand Network • 4 TB read cache • 40 Gb/sec InfiniBand fabric • 72 GB write cache • 1.2 microsecond latency • 10 Gigabit Ethernet to datacenter Oracle Exalogic Delivery and Support Model Assembled, Tested and Delivered

http://www.oracle.com/...

Oracle Hardware and Services Software and Support • System Installation Service • Customer Data and • Deploy Oracle software Device Retention as needed • Operations Management • My Oracle Support and Solution Support Center Customer • Enterprise Manager • Technology Services Premises automated services Scale from Single Application to Enterprise Cloud

Multi-rack Full Rack Half Rack Quarter Rack • Field Upgradable Mission-Critical Cloud

• Ideal for application consolidation Ideal for complex workloads Custom Built-in application isolation CRM and security with CICS/ WebLogic domains COBOL E20 3rd Party Built-in application isolation IDM and security with Batch InfiniBand partitions E20 Logs and virtual lanes Jobs Content

Runs any standard application 3rd Party ERP with elastic capacity Custom on demand SOA Fully HA - fault tolerant Oracle Exalogic Elastic Cloud JRockit GC Latency Management Traditional Java

120 JRockit Real Time

105

90

75

60

45

30

15

0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 During Low Load: GC spikes and occasional timeouts visible

120

105

90

75

60

45

30 JRRT Makes garbage collection deterministic. 15 Allowing for the guarantee of SLAs. 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000

During High Load: GC pauses can result in unacceptable response times State of the JVM

• As of the Sun acquisition, Oracle has two mainstream JVMs - HotSpot • Versatile, Market share leader, High quality and performance - JRockit • Specialized - Focus on Servicability, server-side performance and the Oracle stack • Basis of value-adds like JRMC, JRRT and JRVE • Both are highly strategic to Oracle • Both are based on the Sun JDK (class libraries etc) the only difference is the JVM Future Direction Convergence

• Project “Fusion VM” - Merge into one codebase with the best of both worlds - Continue to offer JRMC/JRRT/JRVE value-adds separately on top of the converged JVM • HotSpot was selected as the base because of the broad developer mindshare • It‟s an Oracle Strong Commitment!!! WebLogic Architectural View

• What is it? - Central configuration controller for the entire Managed Servers domain • What else does it do? - Hosts the Administration Console - Enables you to start and stop servers from a Admin Server central location

- Enables you to migrate servers and services config.xml within the domain - Enables you to deploy applications within the domain • Guidelines: - There must be exactly one* Administration Server in domain - An Administration Server controls only one domain. - For production use, we recommend not Admin Console hosting application logic or resources on the Administration Server

*The Administration Server does not need to run at all times, but is required for making configuration and deployment changes to a running domain. Fastest Java Performance - 1

• Network I/O optimized for Exalogic Software InfiniBand  3x throughput over 10Gb/sec Ethernet; TCP/IP Sockets 50% latency Direct  Up to 10x increase in network IPoIB Protocol performance • Buffer copies eliminated InfiniBand Core  From more than four to zero • Larger packet size used to reduce network overhead Host Channel Adapter (Driver)  64K instead of 4K packets Fastest Java Performance - 2 Fastest Java Performance - 2

• WebLogic Workload Scalability  Parallel processing of cluster communication via multiplexed connections  Parallel dispatch of incoming messages  New thread scheduling algorithm optimized for Exalogic • 50% Higher Throughput and Half the Latency Fastest Java Performance - 3

• GridLink for Exadata  Integrated Exalogic and Exadata clusters  Dynamic load balancing of requests, to appropriate RAC node  SQLNet over native InfiniBand protocol (SDP) maximizes JDBC performance  Transaction affinity to appropriate RAC node to maximize locality  Instant failover in case of RAC changes Across-the-Board 3x increase in OLTP performance Engineered Improvements Fastest Java Performance – The Numbers

• Internet Applications

- 12x improvement Exalogic - Over 1 Million HTTP Alternative requests/sec. • Messaging Applications

- 4.5x improvement Exalogic - Over 1.5 Million messages/sec. Alternative • Database Applications - 1.4x improvement

- Almost 2 million JPA Exalogic operations/sec. Alternative

On Single Exalogic Rack Self-Tuning and Work Managers WebLogic's Self-Tuning Thread Pool

Network Socket Handlers (“Muxers”) Self Tuning • Active Thread Pool • Standby • Stuck • Hogging Request Queue

Asynchronously dispatched work 1. Monitor rate of from WebLogic kernel, subsystem, request processing or application 2. Adjust thread pool size accordingly Side By Side Deployment Zero Down Time Application Deployment

Existing External Client New External Client Connections Connections • Application versions run side-by-side in same JVM • Controlled test mode New Application Retiring Application and automated Version Version rollback Managed WebLogic Server • Automatic retirement: Single Java VM graceful quiescence or Test First in timeout Administrative Mode • Ensures continuity of in-flight transactions Administrative Test Client Connections Traditional Scale-Out Approaches…

#1. Avoid the challenge of maintaining consensus - Opt for the “single point of knowledge”

Client + Server Model Active + Passive Master + Worker Model (Hub + Spoke) (High Availability) (Grid Agents)

#2. Have crude consensus mechanisms, that typically fail and result in data integrity issues (including loss) The Coherence Approach…

• Traditional scale-out approaches limit - Scalability, Availability, Reliability and Performance

• In Coherence… - Servers share responsibilities (health, services, data…) - No SPoB - No SPoF - Massively scalable by design

• Logically servers form a “mesh” - No Masters / Slaves etc. - Members work together as a team WebLogic Server with Coherence*Web Separate traffic processing, session management

Servlet EJB JDBC Sessions and Cache Sessions and Cache Load Balancer WebLogic Server Coherence Coherence

RDBMS

HTML Oracle Web Tier – Web Cache

Servlet EJB JDBC Sessions and Cache Sessions and Cache WebLogic Server Coherence Coherence

Engine Tier State Tier Data Grid Uses

Caching Applications request data from the Data Grid rather than backend data sources

Analytics Applications ask the Data Grid questions from simple queries to advanced scenario modeling

Transactions Data Grid acts as a transactional System of Record, hosting data and business logic

Events Automated processing based on event The Distributed Scheme

• Sophisticated approach for Clustered Caching • Why: - Designed for extreme scalability • How: - Transparently partition, distribute and backup cache entries across Members - Often referred to as „Partitioned Topology‟ • Configurable Expiration Policies: - LFU, LRU, Hybrid (LFU+LRU), Time-based, Never, Pluggable The Distributed Scheme The Distributed Scheme The Near Scheme

• A composition of pluggable Front and Back schemes - Provides L1 and L2 caching (cache of a cache) • Why: - Partitioned Topology may always go across the wire - Need a local cache (L1) over the distributed scheme (L2) - Best option for scalable performance! • How: - Configure „front‟ and „back‟ topologies • Configurable Expiration Policies: - LFU, LRU, Hybrid (LFU+LRU), Time-based, Never, Pluggable The Near Scheme The Near Scheme What is Coherence*Extend?

• Allows applications to harness the power of the Coherence data grid without taking on the responsibilities of being a “good citizen” of the grid

• No in-process transport

• No cluster and service membership

• No data ownership PIF/POF

• POF (Portable Object Format) is the language independent serialization format used by Coherence*Extend • PIF (Portable Invocation Format) is a language independent remote method invocation. All Coherence*Extend protocol messages are PIFs (e.g. GetRequest) which are nothing more than a POF preceeded by a conversation identifier (a POF integer value)

Credit for the name belongs to Gene Gleyzer: The phonetic origin of PIF-POF is from Russian language comic strips, in which “piff-paff” (pronounced “peef-puff”) is the equivalent of the English “bang-bang” – the sound of a gun. QueryMap Interface Features : Observable Interface Features : InvocableMap Interface EclipseLink RI for Java EE 6

Java SE Java EE OSGi Spring ADF

JPA MOXy EIS SDO DBWS

Eclipse Persistence Services Project (EclipseLink)

Databases XML Data Legacy Systems TopLink Grid & Coherence Cache

Application Application

EntityManager EntityManager

L1 Cache L1 Cache

EntityManagerFactory EntityManagerFactory

Coherence Grid Cache—Reading Objects

1. Queries are performed using JPA em.find(..) or JPQL. 2. A find() will result in a get() on the appropriate Coherence cache. If found, Entity is returned. 3. If get() returns null or query is JPQL, the database is queried with SQL. 4. The queried Entities are put() into Coherence and returned to the application. Grid Cache—Writing Objects

1. Applications persist Entities using standard JPA and commit a transaction. 2. The new and/or updated Entities are inserted/updated in the database and the database transaction committed. 3. If the database transaction is successful the Entities are put() into Coherence which makes them available to all cluster members. Grid Read—Reading Objects

1. Queries are performed using JPA em.find(..) or JPQL. 2. JQPL will be translated to a Coherence Filter and used to query results from Coherence. A find() will result in a get() on the appropriate Coherence cache. • The database is not queried by EclipseLink. • If Coherence is configured with a CacheLoader then a find() may result in a SELECT, but JQPL will not. Grid Read—Writing Objects

1. An application commits a transaction with new Entities or modifications to existing Entities. 2. EclipseLink issues the appropriate SQL to update the database and commits the database transaction. 3. Upon successful commit, the new and updated Entities are put() into Coherence. Grid Entity—Reading Objects (Same as Grid Read)

1. Queries are performed using JPA em.find(..) or JPQL. 2. JQPL will be translated to a Coherence Filter and used to query results from Coherence. A find() will result in a get() on the appropriate Coherence cache. • The database is not queried by EclipseLink. • If Coherence is configured with a CacheLoader then a find() may result in a SELECT, but JQPL will not. Grid Entity—Writing Objects

1. An application commits a transaction with new Entities or modifications to existing Entities. 2. EclipseLink put()s all new and updated Entities into Coherence. 3. If a CacheStore is configured, Coherence will synchronously or asynchronously write the changes to the database, depending on configuration. Coherence 3.7 What’s New!

Theme Features Ease Of Use • Automatic Proxy Discovery for Clients (WKA for *Extend). • Client Connection Information now available via JMX. • Clients Automatically Attempt to Reconnect • Dynamic Load Balancing of Client Connections (*Extend). • XML Schemas (XSD) for Configuration. Integration • Load Balancer Integration (F5). • Native Coherence*Web Glassfish Integration.

RASP • Query Monitoring (via JMX). • Partition-Level Transactions.

Innovation • Elastic Data (Storage with Flash Support).

© 2011 Coherence 3.7 Innovation Elastic Data

Overview - New Storage implementation for Server-Side Caches.

- Seamless and efficient bridging between memory and disk.

- Transparent Storage (with massive capacity)

Elastic Data RAM Disk

© 2011 Oracle Corporation Coherence 3.7 Innovation Elastic Data

Benefits - Dramatic increase in data capacity (4x more objects in ram)

- Greater cache capacity with significantly less servers. (100GB of external data per Cluster node)

- Very high performance, low latency. (pure memory-based performs on same or better than legacy default implementation = garbage collector friendly)

- Massively concurrent reads and writes (to external storage). (compared with legacy Coherence)

© 2011 Oracle Corporation Coherence 3.7 Innovation Elastic Data

How to Configure:

elastic-data DistributedCacheElasticData

© 2011 Oracle Corporation Coherence 3.7 Innovation Elastic Data

Configuring Ram Journal Size - Percentage of Heap: -Dtangosol.coherence.ramjournal.size=25%

- Specific Size: -Dtangosol.coherence.ramjournal.size=12GB

© 2011 Oracle Corporation Cloud Technology Enablers Management Comprehensive Mgmt. of Oracle Ecosystem Open and Extensible

Oracle Enterprise Manager

Applications Middleware Virtual Servers Network

• Oracle VM Remedy,HP, PeopleSoft Siebel,

• VMWare Service Desk ConnectorsService Desk

• Oracle Applications • Check Point Firewall • Oracle Beehive • Oracle Fusion Mware. Operating • Juniper Netscreen Firewall • Oracle Comm & BRM • Oracle WebLogic Systems • F5 BIG-IP • Microsoft Exchange • IBM WebSphere • Nortel Alteon Switch • MS .NET • Oracle Enterprise • MS BizTalk Server Linux Databases • MS IIS • All Unix • MS Commerce Server • Microsoft Storage • MS ISA Server • MVS

• MS Active Directory Event Connectors Event

Microsoft, HP, IBM IBM Microsoft, HP, • JBoss AS • IBM MQ Series Servers • Oracle Database • Citrix Pres. Server • NetApp Filer • Oracle Exadata • Blue Lane PatchPoint • EMC Celerra, • Oracle TimesTen • IBM DB2 • Apache Tomcat Clariion, Symmetrix • MS SQL Server • Pillar Axiom • MySQL • Dell PowerEdge • Onaro SANScreen • Sybase • Dell Change Auto. Enterprise Manager Grid Control

HTTP/S HTTP/S Html Console Application Server

Management Service HTTP/S

HTTP/S Collaboration Suite/Ebus suite Firewall Mobile Device /Application Server Thin JDBC

HTTP/S

HTTP/S Oracle 8i Management Repository Oracle9i Oracle 10g Portals What’s New in WebLogic Server Management

• Enhanced User Experience for Discovering WebLogic - Remote Management Agents no longer require local WebLogic jar files - Monitor each managed server independently - Perform WebLogic discovery via EMCLI - Continuous rediscovery of WebLogic Domain via predefined job

• Enhanced Interface for Managing Fusion Middleware - ADF-based interface - Navigation tree on left controls details displayed on right - Customize home page views via drag and drop of regions - Context sensitive menus - In-context drilldowns to Fusion Middleware Control and WebLogic Server Administration Console JVM Diagnostics Integrated Java Thread/Method Diagnostics

• Contextual drill-down directly from Request Monitoring Pages, Application Dependency Pages and Performance pages into JVM Diagnostics provides true end- to-end root cause analysis • Deep JVM diagnostics with metrics related to the heap stack and allowing for traces • CPU and memory can be inspected and correlated with the active threads and locks (DB, thread, etc) Coherence Cluster Monitoring

• Simple Discovery and monitor Coherence Cluster as single target • Complete visibility of the cluster • Identify Hotspots in the cluster

Problem areas : weak nodes, node with max queue size and memory Coherence Node Monitoring

• Top and weak Nodes based on performance • Search nodes • Key performance metrics • Stop node, reset statistics Define Metric Thresholds

Define Warning Define Critical threshold threshold Metric alert

May automatically send an email or SMS or SNMP trap Real time configuration changes

Change for a single or all nodes

Node configuration Provision Coherence

• Automate manual tasks - Create new cluster - Extend existing cluster by adding nodes • Store Coherence binaries, configuration files, scripts in software library • Create multiple nodes simultaneously • Auto discovery of newly added nodes and clusters Conclusion Exalogic: World’s Best Foundation for Cloud Hardware and Software Engineered to Work Together

Building the 21st Century Datacenter For More Information

search.oracle.com

exalogic

or

www.oracle.com / exalogic