SaaS Enablement of your existing application (Cloud Slam 2010)

31
Nati Shalom, CTO & Founder Cloud/SaaS Enablement of Existing Applications

description

SaaS Enablement of your existing application (Cloud Slam 2010)

Transcript of SaaS Enablement of your existing application (Cloud Slam 2010)

Page 1: SaaS Enablement of your existing application (Cloud Slam 2010)

Nati Shalom, CTO & Founder

Cloud/SaaS Enablement of Existing Applications

Page 2: SaaS Enablement of your existing application (Cloud Slam 2010)

About GigaSpaces Technologies

100+ Cloud Customers100+ Cloud Customers 400+ Direct Customers400+ Direct CustomersAmong Top 50 Cloud VendorsAmong Top 50 Cloud Vendors

22

Enabling applications to run a distributed cluster as if it was a single machine…Enabling applications to run a distributed cluster as if it was a single machine…

“Other vendors, including Oracle and IBM, plan to extend their

distributed caching platforms with OSGi, Spring and Java EE elements.

But none has yet architected a full cloud-enabled XTPP like

GigaSpaces. This gives the company at least a year's competitive

advantage on the technology front”.

Gartner’s Massimo Pezzini on GigaSpaces XAP 7.0

“Other vendors, including Oracle and IBM, plan to extend their

distributed caching platforms with OSGi, Spring and Java EE elements.

But none has yet architected a full cloud-enabled XTPP like

GigaSpaces. This gives the company at least a year's competitive

advantage on the technology front”.

Gartner’s Massimo Pezzini on GigaSpaces XAP 7.0

Page 3: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 4: SaaS Enablement of your existing application (Cloud Slam 2010)

Batch Processing SaaS Enablement – Primatics Financials

• Category: Batch processing• Business Case

– Many mid-size regional banks with sizeable mortgage portfolios– Outsource sophisticated mortgage credit risk modeling– Suited for PaaS, pay-as-you-go: outsource IT infrastructure to perform costly

computations Relied on manual installation• Challenges

– Managing data on the cloud– Achieving Linear scalability– Performance

• Data load and processing could take a lot of time– Complexity

• Spend lots of time on building infrastructure then dealing with their core business

– Lock-in• Avoiding Lockin to specific cloud provider

– Reliability• Handling failure and reliability in the cloud can be extremely complex

Alit Bar Sadeh
must reduce text
Page 5: SaaS Enablement of your existing application (Cloud Slam 2010)

Solution: Multi Tenant Scalable Architecture

5

Many jobs by the same user

Many jobs by the same user

Many users in a firm

Many users in a firm

Many firmsMany firms

Risk Analytics Platform

More loans,more simulations,

longer horizon

More loans,more simulations,

longer horizon

PaaSPaaS

Alit Bar Sadeh
since when we're a PaaS???
Page 6: SaaS Enablement of your existing application (Cloud Slam 2010)

Results Per Simulation

• Output 2.5MB/s, 12.5k records / second.  

• Input 128k/s 83 records/s.  

• Scales linearly per batch/machine combination

Page 7: SaaS Enablement of your existing application (Cloud Slam 2010)

Cost Benefits

• Time to market

– Shorter time to market

• Better throughput and scalability

– Less machines hours

• Full automation

– Better use of machine hours only when they needed

• Reliability

– Avoid lost of machine hours during a simulation failure

• Portability (between public and private clouds)

– Enable to benefit from the competitive cloud market

• Development costs

– Save the infrastructure development cost

Page 8: SaaS Enablement of your existing application (Cloud Slam 2010)

Real Time Application - SaaS Enablement

• Category: Real Time Transaction Processing– Active Mediation is a network grade event

processing platform: Policy management, Pre-paid service control

• Challenges– Cloud computing is very different then the current

environment

– Relied on manual installation

– Static network configuration

– Static server configuration (Server relied on local disks for configuration)

• Solution– Step 1 – Port to Amazon image (Using GigaSpaces)

– Step 1 – Automation

– Step 2 - Dynamic IP (Including on demand Oracle Database provisioning)

• Next steps– Add dynamic scaling – requires a change in how the

application is packaged

Active

Mediation

NoCode change

Page 9: SaaS Enablement of your existing application (Cloud Slam 2010)

Recent Benchmark – Real Time SaaS Telco App

• Hardware – Linux– HP DL380 G6 servers - each has:

– 2 Intel quad-core Xeon X5560 processors (2.8 Ghz Nehalem)

– 32 Gb RAM (4GB per core)

– 6 * 146 Gb 15K RPM SAS disks

– Red Hat 5.2

Event injectorUp to 128 threads

GigaSpaces/ (Other APP Server)

App ServicesUp to 128 threads

Other

Giga

Page 10: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 11: SaaS Enablement of your existing application (Cloud Slam 2010)

Key Characteristics for Cloud/Virtualization Platforms

DataGridMessagin

gMapReduc

e

Elastic Middleware ServiceElastic Middleware Service

Page 12: SaaS Enablement of your existing application (Cloud Slam 2010)

Tenant A Tenant ATenant A

Each userGets his own portion of the database based on the primary key

Each userGets his own portion of the database based on the primary key

Fine Grained Multi-Tenancy Approach

• Pros– Very efficient

• Cons– Complex

– Requires re-write

Page 13: SaaS Enablement of your existing application (Cloud Slam 2010)

Tenant A Tenant ATenant A

Shared Storage/Network, Electricity, Management

Shared Pool of Virtual MachinesShared Pool of Virtual Machines

Cross-Grained Multi-tenancy Approach

• Pros– Very simple

– Can fit with

existing

applications

• Cons– Less efficient

Page 14: SaaS Enablement of your existing application (Cloud Slam 2010)

Tenant A Tenant ATenant A

Shared Storage/Network, Electricity, Management

Shared Pool of Virtual MachinesShared Pool of Virtual Machines

Virtual Multi-tenant Data Service

Multi-tenancy approach - Simple fine grained multi-tenancy

• Each user gets his

own data tenant

• Each tenant is

spread across

multiple machines.

• All tenants can

share the same

resources

Page 15: SaaS Enablement of your existing application (Cloud Slam 2010)

Shared Pool of Virtual MachinesShared Pool of Virtual Machines

Elastic Middleware Characteristics

Characteristics

• On Demand– Automatic provisioning

• Multi-tenant– Use shared resources

• Auto-scale– Span across more

machines

– Down-scale when

needed

• Always on– Handle fail-over

automatically

Characteristics

• On Demand– Automatic provisioning

• Multi-tenant– Use shared resources

• Auto-scale– Span across more

machines

– Down-scale when

needed

• Always on– Handle fail-over

automatically

Load dataLoad data

Load dataLoad data

Simple and cost effective way to deliver independent

middleware services

Simple and cost effective way to deliver independent

middleware services

Create a Data GridMin (10G), Max (100G)Create a Data GridMin (10G), Max (100G)

Create a Data GridMin (10G), Max (200G)Create a Data GridMin (10G), Max (200G)

Page 16: SaaS Enablement of your existing application (Cloud Slam 2010)

Multi-Tenancy Modes

Server

AA

CC

Customer 1 – App Data Grid A

Customer 1 – App Data Grid B

Customer 2 – App Data Grid C

AA

AA

BB

Server

AA BB

Server

AA CC

Single User/ Single App data grid per

host

Single User/ Single App data grid per

host

Single User/ Multiple App data grids of the same

user per host

Single User/ Multiple App data grids of the same

user per host

Multiple User/Multiple

App data grids per host

Multiple User/Multiple

App data grids per host

Dedicated Shared - Private Shared - Public

Page 17: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 18: SaaS Enablement of your existing application (Cloud Slam 2010)

Resource Pooling with the Cloud – The Ideal World

SaaS

PaaS

IaaS

App 1App 1 App 2App 2 App 3App 3

Page 19: SaaS Enablement of your existing application (Cloud Slam 2010)

The Missing Piece…

Business tier

Back-upBack-up

Back-upBack-up

Load Balancer

Web Tier

Messaging

Data Tier

What will happen

when you add a new

machine?

What will happen

when you add a new

machine?

Which part of the app

should move to that new

machine?

Which part of the app

should move to that new

machine?

How will the app

behave in terms of

throughput, scaling?

How will the app

behave in terms of

throughput, scaling?

Page 20: SaaS Enablement of your existing application (Cloud Slam 2010)

The Solution: Virtualization of The Entire Stack

Load Balancer

Web Tier

Messaging

Data Tier

Bottom line: Better Resource Utilization

All resources are shared

Machines are virtualized

Middleware is virtualized

Auto-balanced, Managed

Business tier

Page 21: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 22: SaaS Enablement of your existing application (Cloud Slam 2010)

Self Service & Fine-Grained Usage Tracking

• Bringing operational awareness to the

application

• Provide built-in API for:

– Tracking the application behavior

– Reacting to failure/scaling events

– Trouble shooting

– Ensuring the SLA

Page 23: SaaS Enablement of your existing application (Cloud Slam 2010)

Automating Planned Downtime

23

Database (Background)

Network Load-Balancer

Web Tier

In-Memory Data Grid

1. Downtime

2. Down Scaling

3. Restart of Servers

4. Data Recovery

5. Resources Rebalancing

1. Downtime

2. Down Scaling

3. Restart of Servers

4. Data Recovery

5. Resources Rebalancing

Page 24: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 25: SaaS Enablement of your existing application (Cloud Slam 2010)

XTP-Grade Scalability & Reliability Through Partitioning

Users Load Balancer

Partition 1

Writer(Proxy)

Reader(Proxy)

Route callsBased on @useridRoute callsBased on @userid

Replica 1

Partition 1

Replica 1

Partition 1

Replica 1

Partition 1

Replica 1

Partition 1

Replica 1

Page 26: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 27: SaaS Enablement of your existing application (Cloud Slam 2010)

SaaS Enabled Middleware Virtualization in Action

Web ServiceDataGrid

Database• Virtual machines become App-

Services containers

• App-Services are provisioned

based on SLAs:

– Primary backup runs on

separate machines

– Web containers don’t share the

database machine

– Database runs on a dedicated

machine

• `

Page 28: SaaS Enablement of your existing application (Cloud Slam 2010)

Auto Rebalancing

Auto RebalancingAuto Rebalancing

New MachineNew Machine• Application/Middleware is

being auto-balanced when

new resources joins the pool

Page 29: SaaS Enablement of your existing application (Cloud Slam 2010)

Agenda

Page 30: SaaS Enablement of your existing application (Cloud Slam 2010)

SaaS Enablement – Putting It All Together

Multi-Tenancy Provide multi-tenant middleware

Simplify multi-tenant programming

Resource Pooling All resources are shared

User can control the level of isolation

Elasticity Scale on demand based on SLA

Fine-grained usage tracking, metrics and costing Extended real time monitoring of every bit of the system

Management API enables integration with external monitoring

XTP-grade global class advanced scalability, performance and availability The leading XTP product in the market

Self-service user/administrator experience User can create messaging, data services by a single call of the

API

System is self-balanced

DataGridMessagin

gMapReduc

e

Middleware as a ServiceMiddleware as a Service

Page 31: SaaS Enablement of your existing application (Cloud Slam 2010)

Summary – Best Practices

• Avoid radical changes, enabling a gradual process

• Choose an architecture supporting linear scalability

• Minimize vendor lock-in

– Enable application portability and freedom of choice of:

• cloud provider, web container, programming language, database

– Minimize API lock-in:

• Use of standards

• API Abstractions – when standards are not available

• Future proof your application

– Don’t make the decision today, but be ready to make one without major effort

• Avoid long-term commitments – choose the right licensing model