supercharge your applications

65
Pop quiz… who’s this? Ian Fleming – creator of James Bond Second question what was James Bonds first car?

Upload: sean-boiling

Post on 30-Jul-2015

387 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Supercharge Your Applications

Pop quiz… who’s this?

Ian Fleming – creator of James Bond

Second question what was James Bonds first car?

Page 2: Supercharge Your Applications

It was this (not the Aston Martin DB5 from the 1964 movie ‘Goldfinger’) in the first Bond novel, 'Casino Royale' published in 1953 Fleming put our James in one of these. This is a 4.5 litre supercharged Bentley from the 1920’s. W.O. Bentley famously said when talking about engine performance - "there's no replacement for displacement". One of his engineers said ah ha, I'll show you, and bolted a supercharger on to the engine of the regular 4.5 litre Bentley - the supercharger is the big silver box on the front of this car - forcing more oxygen into the engine allowing more fuel to be burnt and increasing performance. Now that's exactly what I'm going to outline for you in this presentation, how you can bolt on some currently available technology to increase the performance of your applications.

Page 3: Supercharge Your Applications

co·her·ence

I'm going to start with an overview of the supercharger - Oracle Coherence - what it is and how it works. And then show how it can be used and is being used by our customers to increase performance, reduce costs and improve user experience.

What does coherence mean? Well, it’s defined as the state of cohering or sticking together, or the logical and orderly and consistent relation of parts. I like that, logic, order, consistency.

Page 4: Supercharge Your Applications

“If you want a 3 second response time. You’ve got 3 seconds. 1 in the presentation layer, 1 in

the mid-tier and 1 in the back end”

This quote from the CIO of one of our customers really sums up the problem space that we’re in here. If you want a ‘n’ second response time then you only have ‘n’ seconds to deliver that. There are no silver medals for second place in the response time Olympics.

Page 5: Supercharge Your Applications

wrote the book

Page 6: Supercharge Your Applications

David Chappell – Enterprise Service Bus

Page 7: Supercharge Your Applications

Avoid processing wherever possible

What does a scalable architecture need to ensure? And see if you can identify a theme here...

Page 8: Supercharge Your Applications

Avoid I/O where possible

Page 9: Supercharge Your Applications

Avoid serialization and deserialization

Page 10: Supercharge Your Applications

Avoid sending a large document around

Page 11: Supercharge Your Applications

Avoid distributed file schemes

Page 12: Supercharge Your Applications

Avoid driving increased traffic to back end

systems

I like this one a lot... and it's a classic SOA example, and if it's a mainframe there's a monetary cost in terms of haw many MIPS you need to pay for, using the technologies described here you can actually reduce the traffic to the back ends, reduce the MIPS that you're paying for.

Page 13: Supercharge Your Applications

Value simplicity.

Maximize the amount of work not done

Thanks to the Agile Alliance for this one – more details here http://agilemanifesto.org/principles.html

Page 14: Supercharge Your Applications

where are we today?

Page 15: Supercharge Your Applications

Thanks to http://zapthink.com/ for the Lego block analogy to explain SOA – interoperable, unbreakable, composable, reusable.

Page 16: Supercharge Your Applications

paradigm shift

Page 17: Supercharge Your Applications

business agility

Page 18: Supercharge Your Applications

flexibility

Page 19: Supercharge Your Applications

We're trying to achieve business agility, business alignment, so that when a line of business comes to IT and says government legislation on superannuation just changed, make our systems change to reflect it. IT can say sure thing rather than suck it's teeth and say, "it's gonna cost ya" like some dodgy plumber.

Page 20: Supercharge Your Applications

large payloads

Page 21: Supercharge Your Applications

unexpected usage

Page 22: Supercharge Your Applications

unmet SLAs

Page 23: Supercharge Your Applications

tearing down silos

Page 24: Supercharge Your Applications

hard to share

Page 25: Supercharge Your Applications

boundary costs

Page 26: Supercharge Your Applications

And then there's this organisational tension that developing between the SOA architects who come up with these pristine blueprints for how the IT world should look within their organisation and then they hand that off…

Page 27: Supercharge Your Applications

…to IT operations and say make that run, make it highly available, make it high performance, ensure that it will scale. And today there is too tight a coupling between those two sets of folks - between the people that design the architecture and the people that have to operate it. For example, what does it mean to scale up the order to cash process? That process might consist of 42 different services across 8 machines. How do IT ops go about bringing some scale to that process at the same as managing the end of month financial close and keeping the lights on and fixing the printer on level 6 while resetting my password?

Page 28: Supercharge Your Applications

Scalability

Page 29: Supercharge Your Applications

Reliability

Page 30: Supercharge Your Applications

Availability – always open, always on. 24 hours a day, 7 days a week.

Page 31: Supercharge Your Applications

stateless

Page 32: Supercharge Your Applications

idempotent

Page 33: Supercharge Your Applications

So thinking about state and state management we have this continuum that runs from completely stateless to fully stateful. and there are a few things that can affect or influence this - one is complexity - the more complex a service the more likely it is that it will need to manage state across multiple requests coming in and out of the service, and the longevity of the service - how long the service needs to run to satisfy a particular business transaction.

Service Sophistication, Longevity

Complex

Stateless

Cookies +Servlet Session

State passing viaXML Payloads

Loose Coupling, Tight Coupling

Servic

e Com

plexi

ty

Stateful

Service State Repository

Simple

Page 34: Supercharge Your Applications

So that's where we are... where should we be?

state aware

Page 35: Supercharge Your Applications

continuous availability

Page 36: Supercharge Your Applications

predictable linear scalability

Page 37: Supercharge Your Applications

Next pop quiz question, who knows what this is? That’s right, Napster. Remember Napster? Well think of Coherence like Napster for your business data - highly available, highly distributed peer to peer clustering protocol.

Page 38: Supercharge Your Applications

P

BBackup Node

PrimaryNode

ApplicationObject

Put()

HashKey/CacheKey

HashmapiFace

ApplicationObject

ApplicationObject

Here's a picture of how it works. At the core are a set of connected network nodes - software processes, which cooperate together across a network, with the sole purpose of storing and maintaining instance data for individual application objects. An application does a ‘put’, that operation is delegated to the grid and the grid automatically elects a primary storage node and a backup storage node on another machine and it does that in a highly available way. So each of these nodes is on a different physical server, and each knows about each other, they are aware of each other existence, health, availability etc... If the primary owner goes down the grid detects that and selects a new primary and backup pair. And this switching this failover can happen in flight without affecting a transaction because of the self-healing nature of the grid.

Page 39: Supercharge Your Applications

ApplicationObject

Put()HashKey/CacheKey

HashmapiFace

ApplicationObject

ApplicationObject

P

B

Backup Node

PrimaryNode

X

Page 40: Supercharge Your Applications

ApplicationObject

Put()HashKey/CacheKey

HashmapiFace

ApplicationObject

ApplicationObject

P

BBackup Node

PrimaryNode

X

Page 41: Supercharge Your Applications

Backup Node

PrimaryNode

Write Behind Queue

DB Grid

Service

Service

Service

Put()

HashKey/CacheKey

ES

B M

ed

iatio

n

P

B

Page 42: Supercharge Your Applications

Shared web session state across multiple

portals

Page 43: Supercharge Your Applications

Caching the results of service calls

Page 44: Supercharge Your Applications

State management for stateful services

Page 45: Supercharge Your Applications

Process large XML payloads

Page 46: Supercharge Your Applications

Shared web session state across multiple

portals

Page 47: Supercharge Your Applications
Page 48: Supercharge Your Applications

Solution

• Coherence solution provides caching for the data and no loss of connections to the back-end systems

• Customers can shop between different brands - Gap, Banana Republic, Old Navy and Piperlime without having to check out between sites

Problem

• On-line store shopping cart would lose connections to back-end servers, causing users to re-select the items and add to shopping cart, causing loss of sales and low customer satisfaction

• Slow on-line store performance

Scenario

• Online retail store

• High availability of the web site, shopping cart, over 4 distinct brands

Page 49: Supercharge Your Applications

Caching the results of service calls

Page 50: Supercharge Your Applications
Page 51: Supercharge Your Applications

Solution

• Coherence solution provides caching – side-cache - for the multi page sales histories

• One call to the back end and then 9 calls to the cache to get 10 pages of data.

Problem

• Costly to continue to hit the back end for every ‘next’ page of data

• Slow on-line performance in the field

• Un-necessary interaction

Scenario

• Sales application

• Large volumes of sales data retrieved – multi page histories

Page 52: Supercharge Your Applications

State management for stateful services

Page 53: Supercharge Your Applications
Page 54: Supercharge Your Applications

Solution

• Moving event processing into application tier increased capacity to handle peak loads

• Enabled application developers to modify logic without impacting the database; operational cost savings & increased flexibility

Problem

• Matching engine supporting several thousand matches per second, with intense “hot spots” on specific instruments

• Revenue tied directly to customer activity. Need for high-throughput, low-latency solution for financial transactions

Scenario

• Expanding their infrastructure to handle increased traffic

• Looking for an event-driven architecture, treating bids as incoming events, modifying the state of bidding markets, and dispatching matched bids

Page 55: Supercharge Your Applications

Process large XML payloads

Page 56: Supercharge Your Applications

So this picture is fairly typical - every vendor of a Service Bus could draw out this picture - they all use some sort of Message Oriented Middleware (MOM) to achieve high reliability and quality of service - and I'm using MOM here to cover anything that's JMS based or MQ based or Rendezvous based or implements WS-RM - all those similar techniques of message retries and store and forward to reliably send data from one place to the next... And then it dawned on us, why do I have to send something, when it really doesn't have to go anywhere?

Everything is already in the grid. All interested parties can act on it. Why do I have to put it in a big JMS message or a big SOAP message and put it into the bus and send it across the wire just so someone can take it out again - if all you really want to do is share that information reliably? So this is what the new bus looks like. Same as the old but without some MOM implementation at the core. There's just no need when the data is in the grid and everyone can access it.

Web Service

Consumer

WS-A ddr <ReplyTo> Callback

Portal

BPEL

CRM ERP

CEP RulesWeb Service

Provider

BAM

JMS / MOM / WS-RM Core

Page 57: Supercharge Your Applications

Web Service

Consumer

WS-A ddr <ReplyTo> Callback

Portal

BPEL

CRM ERP

CEP RulesWeb Service

Provider

BAM

Page 59: Supercharge Your Applications

The XTPP — a new generation of platform

middleware meant to enable low-cost, commodity

hardware-based XTP — is emerging from the

convergence of current enterprise application

servers, enterprise service buses, flow management

technology and innovative XTP point technologies.

Massimo Pezzini, Gartner

Page 60: Supercharge Your Applications

state aware

Page 61: Supercharge Your Applications

continuous availability

Page 62: Supercharge Your Applications

predictable linear scalability

Page 63: Supercharge Your Applications

dramatic increase in performance and

throughput

Page 64: Supercharge Your Applications

“Major, often unexpected, changes will directly affect IT

organizations in 2009. The

successful CIOs will be those who execute well, expand their

influence within the enterprise, and,

perhaps, are a little bit lucky.”

Stefan Spang, McKinsey

Page 65: Supercharge Your Applications

65