Nati Shalom, CTO & Founder
Cloud/SaaS Enablement of Existing Applications
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
Agenda
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
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
Results Per Simulation
• Output 2.5MB/s, 12.5k records / second.
• Input 128k/s 83 records/s.
• Scales linearly per batch/machine combination
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
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
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
Agenda
Key Characteristics for Cloud/Virtualization Platforms
DataGridMessagin
gMapReduc
e
Elastic Middleware ServiceElastic Middleware Service
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
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
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
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)
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
Agenda
Resource Pooling with the Cloud – The Ideal World
SaaS
PaaS
IaaS
App 1App 1 App 2App 2 App 3App 3
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?
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
Agenda
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
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
Agenda
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
Agenda
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
• `
Auto Rebalancing
Auto RebalancingAuto Rebalancing
New MachineNew Machine• Application/Middleware is
being auto-balanced when
new resources joins the pool
Agenda
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
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