Practical Guide for Developing Enterprise Application on the Cloud PowerPoint PPT Presentation

presentation player overlay
1 / 22
About This Presentation
Transcript and Presenter's Notes

Title: Practical Guide for Developing Enterprise Application on the Cloud


1
Practical Guide for Developing Enterprise
Application on the Cloud
  • Nati Shalom
  • CTO
  • GigaSpaces Technologies

2
About GigaSpaces eXtreme Application Platform
(XAP)
A middleware platform enabling applications to
run a distributed cluster as if it was a single
machine
2,000 Deployments
Among Top 50 Cloud Vendors
100 Direct Customers
GigaSpaces has allowed us to greatly improve the
scalability and performance of our trading
platform
GigaSpaces exceeded our performance requirements
and enabled us to build a flexible,
cost-effective infrastructure
GigaSpaces has saved us significant time and
cost
Geoff Buhn, Options Trading Technology Manager,
SIG
Phil Ruhlman, CIO, Gallup
Julian Browne, Virgin Mobile
2
2
3
Business motivation
  • IT CANT KEEP UP WITH THE DEMANDS OF THE BUSINESS
  • Capacity planning is too difficult
  • Time to market
  • The business wants a quick and dirty way to
    prototype
  • Cost saving

Source Forrester March 09
4
The ideal world
5
The challenge with existing applications
Business tier
Web Tier
Load Balancer
Back-up
Back-up
Back-up
Back-up
Data Tier
Messaging
6
Challenges summary
  • Adding additional resources dynamically
  • No out-of-the-box infrastructure for J2EE
  • Dealing with a lack of persistence
  • Dealing with distributed programming models
  • Having to think about the whole stack.  Not just
    the code.
  • Using Memory Data Grids and Caching
    considerations
  • Messaging
  • Understanding configuration management tools
  • Pricing and licensing

Source Cloud Mailing List
7
How users deal with the current challenges
  • Deploy multiple Web servers
  • Deploy multiple load balancers
  • Deploy several database servers.
  • Another way of dealing with databases is to not
    use them
  • Source Grig Gheorghiu blog
  • Experiences deploying a large-scale
    infrastructure in Amazon EC2
  • Requires a lot of effort in setting up the
    environment.
  • Doesnt cover all the challenges

8
Meeting the challenges
  • Adding additional resources dynamically
  • Through virtualization of the middleware stack
  • Dealing with a lack of persistence
  • Using IMDG as a front end to the database
  • Dealing with distributed programming models
  • Use Remoting abstraction to simplify the
    distributed programming model
  • Having to think about the whole stack.  Not just
    the code.
  • Use one common runtim and clustering across the
    entire stack
  • Using Memory Data Grids and Caching
    considerations
  • Make IMDG pluggable and simple to integrate with
  • Messaging
  • Use messaging over IMDG to enable seamless
    distribution of the messaging
  • Understanding configuration management tools
  • Add built-in monitoring and management with the
    deployment
  • Automate deployment, scaling, fail-over to avoid
    minimal processes
  • No out-of-the-box infrastructure for J2EE
  • Support JEE as a first class citizen
  • Pricing and licensing
  • Elastic pricing (The Amazon model) - pay-per use,
    reserved instances (subscription, perpetual)

9
Expected result
Web Processing Units
BusinessProcessing Units
Load Balancer
Users
DB
Virtualize the Entire Application Stack
10
Solution Guidelines
  • Avoid radical change, 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
  • Dont make decision today, but be ready to make
    one without major effort
  • Avoid long-term commitment choose the right
    licensing model

11
Practical Steps
IMDG as System of Record
Messaging over IMDG
Value
Remoting over IMDG
Web Tier
Effort
Architecture On-demand provisioning vs. static, peak-based Parallel Processing vs. client-server Partitioned virtualized servers vs. central server Partitioned virtualized servers vs. central server
Savings Examples 7 machines (10 peak 3 avg) 90 machines (100 peak, 10 avg) 6x machines 6x machines
Additional Benefits Self-healing Basic caching Auto deployment Automatic failover Map/Reduce Async invocation Location transparency Commodity HW Low latency (in-memory) Fast Consistent response time. Commodity db vs. high-end
12
Step 1 Add Self Healing and Dynamic Scaling
  • Dynamic scaling is the ability to
  • Increase (or decrease) your applications
    capacity at will, on the fly, and with no
    down-time
  • Without code changes, use a standard JEE web app
  • Self healing is the ability to
  • Automatically recover from failure conditions
    (AKA failover) and restore the system to its
    previous state

13
Step 1 Add Self Healing and Dynamic Scaling
  • Deploy the web application on to the GigaSpaces
    SLA driven environment
  • Integrate with a load balancer to enable dynamic
    update of cluster state

14
Step 2 Add Auto Scaling Support
  • Auto-scaling is the ability to
  • Automatically apply dynamic scaling based on SLA
    rules (CPU/Memory utilization, requests/sec, etc)
  • Use the GigaSpaces SLA driven environment to
    monitor the application
  • Web requests, CPU, memory, any other relevant
    stats

15
Step 2 Add Auto Scaling Support
  • Use simple Java/Groovy code to trigger
    auto-scaling
  • Deploy code as a reliable service in the
    GigaSpaces SLA driven environment
  • When the SLA is breached (e.g. average number of
    requests per container crosses 100/Sec)
  • Instruct the environment to increase the number
    of instances

16
Step 2 Add Auto Scaling Support
  • Calculating average request rate (Groovy)
  • Scaling up (Groovy)

17
Step 2 Add Auto Scaling Support
18
Deploying on the cloud using CCF4 XAP
MT Application Provisioning
2)Deploy
Application Deployment Configuration
3)Manage
1)Install
Provision
IaaS Provider (EC2, GoGrid, VMWhere, Citrix,..)
Application Repository
App A
App B
19
Application Deployment Configuration
  • ltcloud-configgt
  • ltcloud-namegtmy-applt/cloud-namegt
  • ltgsc-numof-machinesgt10lt/gsc-numof-machinesgt
  • ltgsc-per-machinegt1lt/gsc-per-machinegt
  • ltalternate-s3-source-dirgtmyapplicationfileslt/..gt
  • ltgigaspaces-version-idgt662ga3100ct233lt/gt
  • ltprocessing-unitsgt
  • ltprocessing-unitgt
  • ltnamegtCPD/myApp.warlt/namegt
  • ltdeploy-options/gt
  • lt/processing-unitgt
  • lt/processing-unitsgt
  • lt/cloud-configgt

Amount of machines to start initially
Application Repository
Application To deploy
20
GigaSpaces Cloud Customers
  • Large UK Telco Company
  • Deploying discrete stand alone services in the
    Cloud
  • More cost effective easier to outsource enabled
    by secure service interface
  • Large Global Telco Company
  • Deploying carrier grade VOIP service to the Cloud
  • New SaaS business model New revenue stream
  • Global Media Company
  • Using the Cloud to process events for innovative
    new TV programme
  • Cloud makes concept cost effective
  • Financial Services Start-up
  • Using the Cloud for a trading exchange
  • Cloud lowers barrier to entry and makes
    proposition possible
  • Online Gaming Company
  • Using the Cloud for testing and scaling
  • Able to test large scale user support early /
    easy on cloud, hard otherwise

21
Key Takeaways
  • Enterprise applications can run on the cloud
    today
  • No need to re-write your application
  • Preventing lock-in to specific cloud provider
  • Enabling seamless portability between your local
    environment to cloud environment 
  • Choose simple applications first
  • Avoid dealing with complex security issues
  • Application with Clear path to ROI (Fluctuating
    load, large scale testing, DR,..)

22
GigaSpaces XAP 7.0 (EA)http//www.gigaspaces.com
/wiki/display/RN/GigaSpaces7.0.0EarlyAcces
GigaSpaces XAP Product Overview http//www.giga
spaces.com/wiki/display/XAP7/Concepts
GigaSpaces XAP for Web Applications
http//www.gigaspaces.com/wiki/display/XAP66/Scal
ingYourWebApplication Try It Today on the
Cloud http//www.gigaspaces.com/mycloud
http//www.gigaspaces.com/mycloud-stg
Write a Comment
User Comments (0)
About PowerShow.com