SlideShare a Scribd company logo
Alternative to Google Application Engine for Java™ Technology-Based Applications Nati Shalom CTO GigaSpaces Natishalom.typepad.com Twitter.com/natishalom Francis de la Cruz Manager ,  Argyn Kuketayev Senior Consultant,  Primatics Financial
About GigaSpaces 2,000+ Deployments 100+ Direct Customers Among Top 50 Cloud Vendors A middleware platform enabling applications to run a distributed cluster as if it was a single machine
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References PetClinic in the Clouds: Scaling a Classic Enterprise Application  Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132  Free drinks Webtide & GigaSpaces party – Tuesday 8 PM  SOMA   201 3rd St  (gigaspaces.com/javaone)
Introduction to cloud computing SaaS PaaS IaaS
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
AWS vs GAE Source:Zdnet
AWS vs GAE (1/2) AWS Very flexible, lower-level offering (closer to hardware) = more possibilities, higher performing Runs platform you provide (machine images) Supports all major web languages Industry-standard services (move off AWS easily) Require much more work, longer time-to-market Deployment scripts, configuring images, etc. Various libraries and GUI plug-ins make AWS do help
AWS vs GAE (2/2) GAE Easy to use, free (but limited) fees coming soon Very tightly controlled – no installation/config of open source software Proprietary environment = hard to move away from Further support may be limited (ex: Ruby on Rails tightly coupled with relational DBs)
GAE Java Limitations Once a request is sent to the client no further processing can be done.  A request will be terminated if it has taken around 30 seconds Sandbox restrictions: Applications can not write to the file system and must use the App Engine datastore instead.  Applications may not open sockets  Applications can not create their own threads or use related utilities such as timer.  java.lang.System has been restricted as follows: exit(), gc(), runFinalization(), and runFinalizersOnExit() do nothing.  JNI access is not allowed. Limited JPA support (many relationships, Aggregation queries, Join" queries,..)   Source: InfoQ
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
Typical Enterprise Application Business tier Back-up Back-up Back-up Back-up Load Balancer Web Tier Messaging Data Tier Do you see a problem?
Enterprise application challenges 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
The solution Build a Generic PaaS ontop of AWS Get the best out of the two worlds Flexibility and performance of AWS Simplicity and ease of use of PaaS JEE as first class citizen Minimize lock-in Use middleware virtualization Abstract the application code from the infrastructure Enable end to end elasticity
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
PaaS on top of AWS – Architecture view Application Repository (S3) MT Application Provisioning IaaS Provider (EC2, GoGrid, Sun, VMWhere, Citrix,..) App A App B Application Deployment Configuration 2)Deploy 1)Install Provision 3)Manage
Dynamic Images  Each machine can be assigned with 64/32 S,M,L,XL Images individually  Each machine dynamically install software packages GSM responsible for deploying application packages to GSC machines Cluster Manager Admin-Ui GSM Machine UI Machine WWW LB Machine Web Web Web Web Mirror IMDG IMDG IMDG Tomcat Comp- Node Comp-Nodes Jmeter Ext-Machine Database Machine SLA Containers
Understanding the provisioning process GSC Start GSC Join the GSM cluster GSM Start GSM Deploy processing units LB Start the Load Balancer Add/Remove web container DB Initialize the database storage Start the database Deployment manager Machine Parse the deployment configuration Provision the VM with assigned profile  Monitor and manage the application Install software packages from repo Assign machine profile Repeat for all machines
SLA Driven Containers of Containers Break physical machines into sub machines Automation of manual deployment Auto scaling Self healing Container of Containers Jetty Glassfish Tomcat  (Not supported yet)
Develop Custom SLA
Middleware virtualization App " All problems in computer science can be solved by another level of indirection"   ( Butler Lampson ) Similar principles to storage virtualization  Decouple the application from the deployment environment Use partitioning to split the load and the data.
End 2 End Elasticity Load Balancer to Database Embedded Web Container Dynamic Load Balancing HTTP Session Replication In Memory Data Grid Async update to the Database Dynamic  SLA Based Scaling
Design for linear scalability  Users Load Balancer Web Processing Units Business Processing  Units DB Partition the entire application stack
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
Case Study: Evolv ™  Risk: Cloud Computing Use Case for Java One 2009 Francis de la Cruz Manager, Primatics Financial Argyn Kuketayev Senior Consultant, Primatics Financial
Use Case Outline Business Challenge Client Needs and Application Evolution Business Needs Architectural Challenges Risk 1.5 Application Stack Risk 2.0 Application Stack Processing Unit diagram Lessons Learned
Business Case Many mid-size regional banks with sizeable mortgage portfolios Outsource sophisticated mortgage credit risk modeling Outsource IT infrastructure to perform costly computations, suited for on-demand PaaS
Primatics’ Story in Cloud Computing Company with roots in financial services and IT Multiple clients in financial services, 2 products 2007 EVOLV Risk V1: Web-based hosted solution, a regional bank 2008 V2: embrace Cloud computing, Amazon EC2 V1.5: big national bank M&A, portfolio valuation, AWS EC2 2009 V2 “reloaded”: ground up redesign, GigaSpaces
Business Needs: Accounting-Cashflows Risk Analytics Platform Stochastic (Monte Carlo) simulation:  for each loan run 100 paths (360 months each) INPUT Loan Portfolio  ( 100MB): 100k Loans x 1 KB data Forecast Scenarios (100MB): 1MB per simulation path Market History (<1MB) Assumptions, Setting, Dials (<1KB) OUTPUT Cashflows (3GB): 100k Loans  x 360 months  x 10 Doubles
Business Needs: Scale Many jobs by the same user Many users in a firm Many firms More loans, more simulations, longer time horizon Risk Analytics Platform
Overarching Challenges Quantitative financial applications (models) with heavy CPU load Large volumes of data I/O Infrastructure to support growing number of clients, and users Varying load on the system, with spikes of heavy load Avoid lock-in to cloud vendors
Evolv Risk 1.5 vs 2.0 Software Stack GIGASPACES Prior Grid Framework J2EE Platform Loans & securities Loans Web-Interface SSL Reporting Warehouse Model API Scenarios Loss & Valuation Securities Custom Templates Validation Pluggable Client models Model Validation & statistics Cohorts HPI rates Interest rates Market rates Provisioning Monitoring Job Scheduling Failover / Recovery Load Balancing AWS Billing Registration Management Loss Forecasts Valuations Discount rates Node Management OLAP Reports Auto Throttling SLA Space Based Architecture Scaling Manual Process Model Validation & statistics Provisioning Monitoring Billing AWS Registration AWS management Not In Architecture Auto Throttling Space Based Architecture SLA Node Management * Broker (MQ) Sun JMS Discovery Persistence Manager J2EE Platform Inbuilt models
Performance, Scalability, Data Security, Data Integrity
Performance, Scalability, Data Security, Data Integrity Primatics Gateway AWS Provisioning
Lessons Learned : Cloud Integration Provisioning Configuration API vs. Using Scripts Auto Throttling vs. Manual Throttling Failover and Recovery provided by framework Monitoring VIA GS Console and API vs in house application. Infrastructure took 5 weeks vs 8 weeks to develop. Achieving linear scalability was a matter of creating Processing Units.
Lessons Learned : Data and Processing Data Distribution Uses Spaces Architecture vs. In house developed JMS Broker and Discovery to push to Grid Deployment Uses GS API vs. Pushing data to grid or using machine images.
Lessons Learned: Problems are now high class problems.   GigaSpaces  Framework spared us from low level problems. Code written is for more answering ‘why’ not answering ‘how’. GigaSpaces: Provisioning out of the box Failover and Recovery much easier Monitoring through API and Console SLA out of the box Integrated into the Cloud Significantly lowers the barrier of entry into Cloud computing
Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References PetClinic in the Clouds: Scaling a Classic Enterprise Application  Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132  Free drinks Webtide & GigaSpaces party – Tuesday 8 PM  SOMA   201 3rd St (gigaspaces.com/javaone)
Adding PaaS to AWS brings the flexibility and performance of AWS and ease of use of PaaS 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,..) Summary: Key Takeaways
References PetClinic in the Clouds: Scaling a Classic Enterprise Application  Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132  Cloud Mailing List http:// groups.google.ca /group/cloud-computing Amazon Cloud: aws.amazon.com GigaSpaces PaaS  on AWS gigaspaces.com/mycloud
Nati Shalom Natishalom.typepad.com Twitter.com/natishalom Run your own demo http:// www.gigaspaces.com/mycloud
Speakers Argyn Kuketayev Senior Consultant Francis de la Cruz Manager [email_address] 703 342 0438 Has been using the Java Programming Language since the days of Java 1.2 Previously worked on the DoD and Security domain before moving on to the Financial Domain. Degree in Electrical Computer Engineering Has created many dead end open source projects notables including Active Record framework using annotations, proxy and Apache Torque HTML based web framework Java based batching and processing application [email_address] 703 342 0053 quant development team lead using Java since 1998 degrees in Physics and Finance started in scientific computing

More Related Content

PPT
How to Get Cloud Architecture and Design Right the First Time
PPTX
Migration to Cloud - How difficult is it ? A sample migration scenario
PPTX
Solutions presentation
PDF
Migrate to Microsoft Azure with Confidence
PDF
Discussing strategies for building the next gen data centre
PPTX
The Fast Path to Building a Private Cloud (With Guest Speaker from Forrester ...
PPT
Democratizing the Cloud with Open Source Cloud Development
PDF
Microsoft Azure For Solutions Architects
How to Get Cloud Architecture and Design Right the First Time
Migration to Cloud - How difficult is it ? A sample migration scenario
Solutions presentation
Migrate to Microsoft Azure with Confidence
Discussing strategies for building the next gen data centre
The Fast Path to Building a Private Cloud (With Guest Speaker from Forrester ...
Democratizing the Cloud with Open Source Cloud Development
Microsoft Azure For Solutions Architects

What's hot (12)

PDF
Hyper Stratus Migrating Applications to the Cloud
PPTX
Combining Private and Public Clouds into Meaningful Hybrids
PPTX
#PCMVision: VMware NSX - Transforming Security
 
PDF
Cloud Migration Strategy - IT Transformation with Cloud
PPTX
Architecting Solutions Leveraging The Cloud
PDF
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
PPTX
Architecting Cloudy Applications
PPTX
Advancing Cloud Initiatives and Removing Barriers to Adoption
PDF
Introduction to AWS
PDF
Pragmatic Enterprise Application Migration to AWS
PPT
Cloud Migration: Moving to the Cloud
Hyper Stratus Migrating Applications to the Cloud
Combining Private and Public Clouds into Meaningful Hybrids
#PCMVision: VMware NSX - Transforming Security
 
Cloud Migration Strategy - IT Transformation with Cloud
Architecting Solutions Leveraging The Cloud
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Architecting Cloudy Applications
Advancing Cloud Initiatives and Removing Barriers to Adoption
Introduction to AWS
Pragmatic Enterprise Application Migration to AWS
Cloud Migration: Moving to the Cloud
Ad

Similar to Giga Spaces Alternative To GAE_JavaOne 09 (20)

PPT
Primatics Financial - Parallel, High Throughput Risk Calculations On The Cloud
PPT
GigaSpaces - Getting Ready For The Cloud
PPT
Giga Spaces Getting Ready For The Cloud
PPT
Cloud Computing Realities - Getting past the hype and setting your cloud stra...
PPT
Cloud Crowd GigaSpaces Presentation
PPT
Cloud Computing
PPT
Deploying SaaS Application on the Cloud - Case Study
PPTX
Best Practices for Building Successful Cloud Projects
PPT
Using Grid Technologies in the Cloud for High Scalability
PPT
Giga spaces value prop - afas - cloud practices
PPT
Karrox introduction to cloud computing
PDF
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
PPT
Introduction to Cloud Computing
PPTX
Cloud Computing
PPT
Ct Cloud Computing.V1.0
PPT
Introduction To Cloud Computing By Beant Singh Duggal
PPT
Cloud Computing By Pankaj Sharma
PPT
Cloud computing pioneers - remarkable examples 2010-11-05
PPTX
Introduction To Cloud Computing
PDF
Keynote sp summit 2014 final
Primatics Financial - Parallel, High Throughput Risk Calculations On The Cloud
GigaSpaces - Getting Ready For The Cloud
Giga Spaces Getting Ready For The Cloud
Cloud Computing Realities - Getting past the hype and setting your cloud stra...
Cloud Crowd GigaSpaces Presentation
Cloud Computing
Deploying SaaS Application on the Cloud - Case Study
Best Practices for Building Successful Cloud Projects
Using Grid Technologies in the Cloud for High Scalability
Giga spaces value prop - afas - cloud practices
Karrox introduction to cloud computing
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Introduction to Cloud Computing
Cloud Computing
Ct Cloud Computing.V1.0
Introduction To Cloud Computing By Beant Singh Duggal
Cloud Computing By Pankaj Sharma
Cloud computing pioneers - remarkable examples 2010-11-05
Introduction To Cloud Computing
Keynote sp summit 2014 final
Ad

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Modernizing your data center with Dell and AMD
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
Modernizing your data center with Dell and AMD
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?

Giga Spaces Alternative To GAE_JavaOne 09

  • 1. Alternative to Google Application Engine for Java™ Technology-Based Applications Nati Shalom CTO GigaSpaces Natishalom.typepad.com Twitter.com/natishalom Francis de la Cruz Manager , Argyn Kuketayev Senior Consultant, Primatics Financial
  • 2. About GigaSpaces 2,000+ Deployments 100+ Direct Customers Among Top 50 Cloud Vendors A middleware platform enabling applications to run a distributed cluster as if it was a single machine
  • 3. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References PetClinic in the Clouds: Scaling a Classic Enterprise Application Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132 Free drinks Webtide & GigaSpaces party – Tuesday 8 PM SOMA   201 3rd St (gigaspaces.com/javaone)
  • 4. Introduction to cloud computing SaaS PaaS IaaS
  • 5. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
  • 6. AWS vs GAE Source:Zdnet
  • 7. AWS vs GAE (1/2) AWS Very flexible, lower-level offering (closer to hardware) = more possibilities, higher performing Runs platform you provide (machine images) Supports all major web languages Industry-standard services (move off AWS easily) Require much more work, longer time-to-market Deployment scripts, configuring images, etc. Various libraries and GUI plug-ins make AWS do help
  • 8. AWS vs GAE (2/2) GAE Easy to use, free (but limited) fees coming soon Very tightly controlled – no installation/config of open source software Proprietary environment = hard to move away from Further support may be limited (ex: Ruby on Rails tightly coupled with relational DBs)
  • 9. GAE Java Limitations Once a request is sent to the client no further processing can be done. A request will be terminated if it has taken around 30 seconds Sandbox restrictions: Applications can not write to the file system and must use the App Engine datastore instead. Applications may not open sockets Applications can not create their own threads or use related utilities such as timer. java.lang.System has been restricted as follows: exit(), gc(), runFinalization(), and runFinalizersOnExit() do nothing. JNI access is not allowed. Limited JPA support (many relationships, Aggregation queries, Join&quot; queries,..) Source: InfoQ
  • 10. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
  • 11. Typical Enterprise Application Business tier Back-up Back-up Back-up Back-up Load Balancer Web Tier Messaging Data Tier Do you see a problem?
  • 12. Enterprise application challenges 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
  • 13. The solution Build a Generic PaaS ontop of AWS Get the best out of the two worlds Flexibility and performance of AWS Simplicity and ease of use of PaaS JEE as first class citizen Minimize lock-in Use middleware virtualization Abstract the application code from the infrastructure Enable end to end elasticity
  • 14. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
  • 15. PaaS on top of AWS – Architecture view Application Repository (S3) MT Application Provisioning IaaS Provider (EC2, GoGrid, Sun, VMWhere, Citrix,..) App A App B Application Deployment Configuration 2)Deploy 1)Install Provision 3)Manage
  • 16. Dynamic Images Each machine can be assigned with 64/32 S,M,L,XL Images individually Each machine dynamically install software packages GSM responsible for deploying application packages to GSC machines Cluster Manager Admin-Ui GSM Machine UI Machine WWW LB Machine Web Web Web Web Mirror IMDG IMDG IMDG Tomcat Comp- Node Comp-Nodes Jmeter Ext-Machine Database Machine SLA Containers
  • 17. Understanding the provisioning process GSC Start GSC Join the GSM cluster GSM Start GSM Deploy processing units LB Start the Load Balancer Add/Remove web container DB Initialize the database storage Start the database Deployment manager Machine Parse the deployment configuration Provision the VM with assigned profile Monitor and manage the application Install software packages from repo Assign machine profile Repeat for all machines
  • 18. SLA Driven Containers of Containers Break physical machines into sub machines Automation of manual deployment Auto scaling Self healing Container of Containers Jetty Glassfish Tomcat (Not supported yet)
  • 20. Middleware virtualization App &quot; All problems in computer science can be solved by another level of indirection&quot; ( Butler Lampson ) Similar principles to storage virtualization Decouple the application from the deployment environment Use partitioning to split the load and the data.
  • 21. End 2 End Elasticity Load Balancer to Database Embedded Web Container Dynamic Load Balancing HTTP Session Replication In Memory Data Grid Async update to the Database Dynamic SLA Based Scaling
  • 22. Design for linear scalability Users Load Balancer Web Processing Units Business Processing Units DB Partition the entire application stack
  • 23. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References
  • 24. Case Study: Evolv ™ Risk: Cloud Computing Use Case for Java One 2009 Francis de la Cruz Manager, Primatics Financial Argyn Kuketayev Senior Consultant, Primatics Financial
  • 25. Use Case Outline Business Challenge Client Needs and Application Evolution Business Needs Architectural Challenges Risk 1.5 Application Stack Risk 2.0 Application Stack Processing Unit diagram Lessons Learned
  • 26. Business Case Many mid-size regional banks with sizeable mortgage portfolios Outsource sophisticated mortgage credit risk modeling Outsource IT infrastructure to perform costly computations, suited for on-demand PaaS
  • 27. Primatics’ Story in Cloud Computing Company with roots in financial services and IT Multiple clients in financial services, 2 products 2007 EVOLV Risk V1: Web-based hosted solution, a regional bank 2008 V2: embrace Cloud computing, Amazon EC2 V1.5: big national bank M&A, portfolio valuation, AWS EC2 2009 V2 “reloaded”: ground up redesign, GigaSpaces
  • 28. Business Needs: Accounting-Cashflows Risk Analytics Platform Stochastic (Monte Carlo) simulation: for each loan run 100 paths (360 months each) INPUT Loan Portfolio ( 100MB): 100k Loans x 1 KB data Forecast Scenarios (100MB): 1MB per simulation path Market History (<1MB) Assumptions, Setting, Dials (<1KB) OUTPUT Cashflows (3GB): 100k Loans x 360 months x 10 Doubles
  • 29. Business Needs: Scale Many jobs by the same user Many users in a firm Many firms More loans, more simulations, longer time horizon Risk Analytics Platform
  • 30. Overarching Challenges Quantitative financial applications (models) with heavy CPU load Large volumes of data I/O Infrastructure to support growing number of clients, and users Varying load on the system, with spikes of heavy load Avoid lock-in to cloud vendors
  • 31. Evolv Risk 1.5 vs 2.0 Software Stack GIGASPACES Prior Grid Framework J2EE Platform Loans & securities Loans Web-Interface SSL Reporting Warehouse Model API Scenarios Loss & Valuation Securities Custom Templates Validation Pluggable Client models Model Validation & statistics Cohorts HPI rates Interest rates Market rates Provisioning Monitoring Job Scheduling Failover / Recovery Load Balancing AWS Billing Registration Management Loss Forecasts Valuations Discount rates Node Management OLAP Reports Auto Throttling SLA Space Based Architecture Scaling Manual Process Model Validation & statistics Provisioning Monitoring Billing AWS Registration AWS management Not In Architecture Auto Throttling Space Based Architecture SLA Node Management * Broker (MQ) Sun JMS Discovery Persistence Manager J2EE Platform Inbuilt models
  • 32. Performance, Scalability, Data Security, Data Integrity
  • 33. Performance, Scalability, Data Security, Data Integrity Primatics Gateway AWS Provisioning
  • 34. Lessons Learned : Cloud Integration Provisioning Configuration API vs. Using Scripts Auto Throttling vs. Manual Throttling Failover and Recovery provided by framework Monitoring VIA GS Console and API vs in house application. Infrastructure took 5 weeks vs 8 weeks to develop. Achieving linear scalability was a matter of creating Processing Units.
  • 35. Lessons Learned : Data and Processing Data Distribution Uses Spaces Architecture vs. In house developed JMS Broker and Discovery to push to Grid Deployment Uses GS API vs. Pushing data to grid or using machine images.
  • 36. Lessons Learned: Problems are now high class problems. GigaSpaces Framework spared us from low level problems. Code written is for more answering ‘why’ not answering ‘how’. GigaSpaces: Provisioning out of the box Failover and Recovery much easier Monitoring through API and Console SLA out of the box Integrated into the Cloud Significantly lowers the barrier of entry into Cloud computing
  • 37. Agenda Introduction to Cloud Computing AWS vs GAE Challenges of Enterprise Applications PaaS on EC2 Case study – Primatics Risk Management as a Service Summary & References PetClinic in the Clouds: Scaling a Classic Enterprise Application Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132 Free drinks Webtide & GigaSpaces party – Tuesday 8 PM SOMA   201 3rd St (gigaspaces.com/javaone)
  • 38. Adding PaaS to AWS brings the flexibility and performance of AWS and ease of use of PaaS 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,..) Summary: Key Takeaways
  • 39. References PetClinic in the Clouds: Scaling a Classic Enterprise Application Wednesday 1:35 PM - 3:15 PM LAB-5564BYOL Hall E 132 Cloud Mailing List http:// groups.google.ca /group/cloud-computing Amazon Cloud: aws.amazon.com GigaSpaces PaaS on AWS gigaspaces.com/mycloud
  • 40. Nati Shalom Natishalom.typepad.com Twitter.com/natishalom Run your own demo http:// www.gigaspaces.com/mycloud
  • 41. Speakers Argyn Kuketayev Senior Consultant Francis de la Cruz Manager [email_address] 703 342 0438 Has been using the Java Programming Language since the days of Java 1.2 Previously worked on the DoD and Security domain before moving on to the Financial Domain. Degree in Electrical Computer Engineering Has created many dead end open source projects notables including Active Record framework using annotations, proxy and Apache Torque HTML based web framework Java based batching and processing application [email_address] 703 342 0053 quant development team lead using Java since 1998 degrees in Physics and Finance started in scientific computing

Editor's Notes

  • #2: <number><number><number><number>
  • #3: Enabling to run a single app on a dist. env. Leveraging in memory resources to gain performance
  • #11: <number>
  • #12: Try to add a machine and see what happens? NothingEvetything is hard wired, staticAssuming we did do that, what the effect? Can you predict
  • #18: <number>
  • #21: <number>
  • #22: <number>
  • #23: Remoting over IMDGMessaging over IMDGIMDG as a system of record, async persistency
  • #31: PerformanceMust run in a matter of hours and minutes not days.On-demand performance. High priority requests can be run on more machines.Stochastic (Monte Carlo Simulation) or DeterministicScalabilityLinear scalability per additional node.Multiple ScenariosClients may choose to execute 1 to N scenariosHorizon 2 years to 30 yearsStress Tests – unemployment rate rises above 10% and home prices fall by another 25%Data Size can easily run into the tens and hundreds of gigabytes and maybe even terrabytesData IntegrityClient’s data must never reside on the same location as another client’s data.Cashflow or valuation produced cannot be lost.Transacted
  • #32: This is primatics’ story.Stress how respectful we are of the open source framework and we are not here to talk about merits and demerits.1.0 to 1.5 to 2.01.0 typical J2EE app. 1 client. 50k loans. Non Enterprise grade models. Few hours. 1.5 1st cloud app. N clients. 160k loans. Enterprise grade models. Few minutes/hours.2.0 NNNN clients. 1MM loans. Enterprise grade models. Few minutes/hours.Start out with 1.5Stress how 1.5 currently in production.What are the things that proved difficult to scale for multiple clients.Things that are missingThings that are not enterprise grade.1.5 not designed to scale over clients.2.0 is designed to scale over N clientsPulled Manual and Things we liked into the application.Replaced the underlying frameworkReplaced with enterprise gradeAdded space based architecture.<number>
  • #33: All Jobs are stored in spaces.Cashflow objects in the spaces are backed up to a store on a different PU.Compute PU will load models as needed.Compute PU will also push the cashflows to a MySQL database. Current throughput is at 60MM records in 13 minutes (transacted)1.5 Data PerformanceMax. throughput at 60M records in 30minutes. = 33k records / second on MySQL2.0 Data PerformanceEst. Max. throughput at 60M records in 13 minutes = 77k records / second on MySQL innodb33
  • #34: All Jobs are stored in spaces.Cashflow objects in the spaces are backed up to a store on a different PU.Compute PU will load models as needed.Compute PU will also push the cashflows to a MySQL database. Current throughput is at 60MM records in 13 minutes (transacted)
  • #35: Importance of integration into the cloud.ProvisioningCould take minutes to set up vs configThrottlingBring up servers, put application on it, have it register vs auto-throttlingStability / monitoringProbably works well on traditional grid environment – didn’t work well on AMZN.When you start out on the cloud. Pick up the tools that you know will work well vs making the tools work well.
  • #36: Data had to be pushed into the Grid vs using the spaces for caching and data distributionunicast vs multicast issue in Amazon forced us to create the JMS Broker and Discovery module for pushing data and monitoring.Deployment – bring server up through AMZN console then deploy application. 2.0 allows us to leverage GigaSpaces for deployment.Images can be a versioning nightmare.