SlideShare a Scribd company logo
CCF 4 XAP C loud  C omputing  F ramework  4 XAP
What is GigaSpaces CCF 4 XAP Stands for : C loud  C omputing  F ramework  4  GigaSpaces  XAP Bring the value of cloud computing to EXISTING enterprise applications: No need to re-write your application  Preventing lock-in to specific cloud provider  Enabling seamless portability between your local environment to cloud environment   No code or configuration change is required between the two environments  Develop local - test on the cloud  Built for iterative development  Built on top of GigaSpaces XAP Leverage the XAP maturity and robustness Currently support Amazon EC2 More to come
How it fits into the Cloud stack? SaaS – Software as a Service Easy migration - Existing applications can become SaaS enabled easily Support hybrid public/private cloud Support the pay per use model Minimize lock-in  Multi-tenant and Scalable – can support large number of concurrent clients PaaS – Platform as a Service Bridges between on-demand hardware scalability and on-demand application scalability  Provides full distributed middleware and application development support Built in virtualization for the entire middleware stack Unique solution for database scaling Integrate with leading cloud providers  IaaS – infrastructure as a Service Enhanced Middleware for developing large scale IaaS infrastructure Rich API for cluster management  - enable fine grained control  Reduce time to market Ideal for aggregating monitoring event Built-in monitoring enables fine-gain visibility over the cluster behavior
Customers Using GigaSpaces Cloud to Reduce Costs 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
GigaSpaces XAP Overview
XAP = Enterprise Grade Middleware Scale-out application server End 2 End scale-out middleware for: Web, Data, Messaging, Business logic Space Based Architecture – designed for scaling stateful applications In-memory  Proven performance, Scalability, Low latency, Reliability SLA Driven  Unique database scaling solution that fits cloud environment In Memory Data Grid O/R mapping support Support major Enterprise languages Java, .Net  C++
XAP SLA Driven Architecture Move manual process to SLA driven deployment Scale only when you need Self healing
XAP Middleware virtualization Middleware Virtualization OpenSpaces – GigaSpaces Development framework Messaging Services Data " 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. Support JEE, .Net SaaS-Enabled  Business Application Tenant  App. View Users Tenant  App. View Tenant  App. View Users Users Business Application as a Service
Low latency applications Trading, Market data Billing On-line Systems On-line Banking, Gaming e-commerce Retail Search engines,  Web2.0  Large scale applications  Large Clusters > 1000 nodes Risk Calculation Real-time Analytics Large-volume data mining  Media Rendering (Similar to youtube) Suits for wide range of applications
CCF 4 XAP Architecture Overview
CCF+ XAP+ IaaS = Platform as a Service MT — Multitenancy Application Platform as a Service (APaaS) Infrastructure as a Service XAP -SaaS-Enabled  Scale-out Application Server CCF   4   XAP Public Cloud Private Cloud SaaS-Enabled  Business Application Tenant  App. View Users Tenant  App. View Tenant  App. View Users Users Business Application as a Service Application Provider User  Organizations Platform Supplier Host
CCF 4 XAP Architecture Application Repository Multitenant Application Provisioning IaaS Provider (EC2, GoGrid, VMWhere, Citrix,..) App A App B Application Deployment Configuration 2 - Deploy 1- Install Provision 3 - Manage
Understanding the provisioning process GSC Start GSC Join the GSM cluster GSM Start GSM Deploy processing units Load-Balancer Start the Load Balancer Add/Remove web container DB Initialize the database Start the database Deployment manager Virtual Machine on the Cloud 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
Typical Application Life-Cycle Step 1 – Install your App in the Cloud Repository Step 2 - Create your App Deployment Configuration Step 3 - Deploy your App (via Web Console or CLI) Step 4 - Manage your App via the Management tools Step 5 - Shutdown your Application
Step 1 – Install your App on the Repository Place your application files on the cloud repository
Step 2 - Create Cloud Application Config Deployment File <cloud-config> <cloud-name>my-app</cloud-name> <key-name>mykey</key-name> <gsm-numof-machines>1</gsm-numof-machines> <gsc-numof-machines>2</gsc-numof-machines> <gsm-per-machine>1</gsm-per-machine> <gsc-per-machine>1</gsc-per-machine> <alternate-s3-source-dir> myapplicationfiles </alternate-s3-source-dir>  <gigaspaces-version-id>662ga3100ct233</gigaspaces-version-id> <processing-units> <processing-unit> <name>$CPD/myApp.war</name> <deploy-options/> </processing-unit> </processing-units> </cloud-config> Amount of machines to start initially Application To deploy Application Repository
Step 3 - Login into the System Test Drive User New User – Register to the System Existing User
Step 3 – Deploy using CCF4XAP Web tool  Deploy Panel Control Panel Machines list Demo Apps
gs_launch-cloud Deploys an application (custom or web) or a data-grid to the Cloud. gs_shutdown-cloud Shuts down the application or a data-grid on the Cloud.  gs_admin-ui Starts the GigaSpaces Management Center on a dedicated AMI, and connects it to the provided cloud application. gs_shutdown-admin-ui Shuts down the GigaSpaces Management Center and its AMI for the provided cloud application. gs-add-machines Adds a machines running a GigaSpaces container (GSC) to a running cloud.  gs-list-cloud-instances Lists all running machines running for a given application.  Step 3 – Deploy using CCF4XAP Command Line
Step 4 - Manage your App via the Management tools Application Running on the Cloud Containers Running on the Cloud Virtual Desktop – Running on the Cloud
CCF 4 XAP Features Overview
Features outline Automated application deployment Built-in Machine-Profile Multi-Tenant Auto Scaling E2E Fail-over recovery and self healing Built-in portability – Minimiz lock-in Management and Monitoring Zero installation Standard development tools support Built-in dekstop virtualization integration Highly secured Support all application stages Built-in demos
Automated Application Deployment Built-in Support for core enterprise application components: HTTP Load balancer  Cluster Web Containers  Cluster Application Processing units  MySQL database connected to EBS Full lifecycle support Including adding new components post-deployment  Dynamic machine provisioning based on SLA Simple application orchestration using simple XML format  Order of deployment Basic dependency checking  Application repository Can easily support multiple application versions deployment Multiple JVM versions support (currently 1.5, 1.6) Dynamic installation of application packages
Built-in Machine profiles 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 WWW LB Machine Web Web Web Web Mirror IMDG IMDG IMDG Admin-Ui GSM Machine Tomcat Comp- Node Comp-Nodes Jmeter Ext-Machine Database Machine GSC Machines UI Machine
Multitenant Same user can manage multiple applications: Using the Same Console Under the same Cloud account Different versions can coexist at the same time Complete Isolation of management Logging View Machines Lifecycle  Scalable  No single point of contention or central bottleneck
Auto Scaling  End to End  Works for web, business logic, messaging, and data layer SLA Driven Scale within machine (more threads, partitions) Scale between machines (More Containers, Web Servers,..) Scale-up and down Customizable through the application layer Not  just CPU or Memory TX/Sec Backlog Concurrent users
Failover, Recovery and Self healing When web server fails Instantiate new machine with web server container and automatically connect it to the Load balancer When application transaction breaks Fail to hot backup while bringing new backup When messaging is down Fail to hot backup while bringing new backup When database is down Store data in-memory until the database is recovered When the deployment manager is down Fail to hot-backup
Built-in Portability - Minimize lock-in Enable application portability and freedom of choice between:  cloud providers, web containers, programming language, database Minimize API lock in: Use of Standards API Abstractions – when standards are not available OpenSource Development framework (OpenSpaces) Extendable
Management and Monitoring Basic system monitoring  Disk Memory CPU Network Rich application monitoring Cluster Deployment Statistics Content Rich management API  Enable easy customization and integration
Zero installation Experience full production ready environment through web interface Add custom application easily
Standard development tools support Offline Development  No Need to pay for development machine Can easily work offline Standard IDE and tools support Java Eclipse ,  IntelliJ IDEA ,  Ant Maven .Net Visual Studio .Net Support Iterative Development Test local->Deploy on the cloud No need to change code or application configuration between local and cloud
Built-in desktop virtualization integration Integration with No-Machine Desktop virtualization No installation required Client downloaded via applet One click access Users can access the each machine through a click on the browser Login Machine Desktop Login Application Management
Fully Secured Support Amazon Security Groups Firewall settings blocking specific ports Secured remote desktop access Built-in SSH tunneling Secured Database access  via mySQL security roles Secured grid deployment infrastructure Start Stop Deploy/ Un-deploy Secured In-Memory-Data-Grid access roles  Class Level Object Level Operation Level
Consistent across all application stages Same tools used between Demo to Production environment Demo Evaluation Development Testing Deployment
Built-in Demo Applications Data-Grid - Demonstrates a simple clustered space running 2 partitions with one backup for each partition. The  benchmark tool  is used to populate the IMDG with data and perform different space operations.  Trader Stock Desktop  - Demonstrates a RIA web2.0 deployment designed with Spring MVC, AJAX (ExtJS) and Caching.  Pet Clinic  - shows a typical eCommerce application based on Spring pet-clinic with emphasize on Data-Base and Data-Grid integration
Implementation Best Practices
Implementation 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  Don’t make decision today, but be ready to make one without major effort Avoid long-term commitment – choose the right licensing model
Practical Gradual Steps for Increasing ROA  Intrusiveness Time to value Web Tier Business Logic Messaging Data tier 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 Saving Examples  7x machines (10 peak – 3 avg) 90x machines (100 peak, 10 avg) 6x machines (TBA/SBA Bench.) 6x machines (TBA/SBA Bench) Additional Benefits - Self-healing - Basic caching - Auto deployment -Commodity HW Simple dev and testing  -Commodity HW Low latency (in-memory) Fast& Consistent response time.  Commodity db vs. high-end
Thank You

More Related Content

GigaSpaces CCF 4 Xap

  • 1. CCF 4 XAP C loud C omputing F ramework 4 XAP
  • 2. What is GigaSpaces CCF 4 XAP Stands for : C loud C omputing F ramework 4 GigaSpaces XAP Bring the value of cloud computing to EXISTING enterprise applications: No need to re-write your application Preventing lock-in to specific cloud provider Enabling seamless portability between your local environment to cloud environment  No code or configuration change is required between the two environments Develop local - test on the cloud Built for iterative development Built on top of GigaSpaces XAP Leverage the XAP maturity and robustness Currently support Amazon EC2 More to come
  • 3. How it fits into the Cloud stack? SaaS – Software as a Service Easy migration - Existing applications can become SaaS enabled easily Support hybrid public/private cloud Support the pay per use model Minimize lock-in Multi-tenant and Scalable – can support large number of concurrent clients PaaS – Platform as a Service Bridges between on-demand hardware scalability and on-demand application scalability Provides full distributed middleware and application development support Built in virtualization for the entire middleware stack Unique solution for database scaling Integrate with leading cloud providers IaaS – infrastructure as a Service Enhanced Middleware for developing large scale IaaS infrastructure Rich API for cluster management - enable fine grained control Reduce time to market Ideal for aggregating monitoring event Built-in monitoring enables fine-gain visibility over the cluster behavior
  • 4. Customers Using GigaSpaces Cloud to Reduce Costs 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
  • 6. XAP = Enterprise Grade Middleware Scale-out application server End 2 End scale-out middleware for: Web, Data, Messaging, Business logic Space Based Architecture – designed for scaling stateful applications In-memory Proven performance, Scalability, Low latency, Reliability SLA Driven Unique database scaling solution that fits cloud environment In Memory Data Grid O/R mapping support Support major Enterprise languages Java, .Net C++
  • 7. XAP SLA Driven Architecture Move manual process to SLA driven deployment Scale only when you need Self healing
  • 8. XAP Middleware virtualization Middleware Virtualization OpenSpaces – GigaSpaces Development framework Messaging Services Data &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. Support JEE, .Net SaaS-Enabled Business Application Tenant App. View Users Tenant App. View Tenant App. View Users Users Business Application as a Service
  • 9. Low latency applications Trading, Market data Billing On-line Systems On-line Banking, Gaming e-commerce Retail Search engines, Web2.0 Large scale applications Large Clusters > 1000 nodes Risk Calculation Real-time Analytics Large-volume data mining Media Rendering (Similar to youtube) Suits for wide range of applications
  • 10. CCF 4 XAP Architecture Overview
  • 11. CCF+ XAP+ IaaS = Platform as a Service MT — Multitenancy Application Platform as a Service (APaaS) Infrastructure as a Service XAP -SaaS-Enabled Scale-out Application Server CCF 4 XAP Public Cloud Private Cloud SaaS-Enabled Business Application Tenant App. View Users Tenant App. View Tenant App. View Users Users Business Application as a Service Application Provider User Organizations Platform Supplier Host
  • 12. CCF 4 XAP Architecture Application Repository Multitenant Application Provisioning IaaS Provider (EC2, GoGrid, VMWhere, Citrix,..) App A App B Application Deployment Configuration 2 - Deploy 1- Install Provision 3 - Manage
  • 13. Understanding the provisioning process GSC Start GSC Join the GSM cluster GSM Start GSM Deploy processing units Load-Balancer Start the Load Balancer Add/Remove web container DB Initialize the database Start the database Deployment manager Virtual Machine on the Cloud 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
  • 14. Typical Application Life-Cycle Step 1 – Install your App in the Cloud Repository Step 2 - Create your App Deployment Configuration Step 3 - Deploy your App (via Web Console or CLI) Step 4 - Manage your App via the Management tools Step 5 - Shutdown your Application
  • 15. Step 1 – Install your App on the Repository Place your application files on the cloud repository
  • 16. Step 2 - Create Cloud Application Config Deployment File <cloud-config> <cloud-name>my-app</cloud-name> <key-name>mykey</key-name> <gsm-numof-machines>1</gsm-numof-machines> <gsc-numof-machines>2</gsc-numof-machines> <gsm-per-machine>1</gsm-per-machine> <gsc-per-machine>1</gsc-per-machine> <alternate-s3-source-dir> myapplicationfiles </alternate-s3-source-dir> <gigaspaces-version-id>662ga3100ct233</gigaspaces-version-id> <processing-units> <processing-unit> <name>$CPD/myApp.war</name> <deploy-options/> </processing-unit> </processing-units> </cloud-config> Amount of machines to start initially Application To deploy Application Repository
  • 17. Step 3 - Login into the System Test Drive User New User – Register to the System Existing User
  • 18. Step 3 – Deploy using CCF4XAP Web tool Deploy Panel Control Panel Machines list Demo Apps
  • 19. gs_launch-cloud Deploys an application (custom or web) or a data-grid to the Cloud. gs_shutdown-cloud Shuts down the application or a data-grid on the Cloud. gs_admin-ui Starts the GigaSpaces Management Center on a dedicated AMI, and connects it to the provided cloud application. gs_shutdown-admin-ui Shuts down the GigaSpaces Management Center and its AMI for the provided cloud application. gs-add-machines Adds a machines running a GigaSpaces container (GSC) to a running cloud. gs-list-cloud-instances Lists all running machines running for a given application. Step 3 – Deploy using CCF4XAP Command Line
  • 20. Step 4 - Manage your App via the Management tools Application Running on the Cloud Containers Running on the Cloud Virtual Desktop – Running on the Cloud
  • 21. CCF 4 XAP Features Overview
  • 22. Features outline Automated application deployment Built-in Machine-Profile Multi-Tenant Auto Scaling E2E Fail-over recovery and self healing Built-in portability – Minimiz lock-in Management and Monitoring Zero installation Standard development tools support Built-in dekstop virtualization integration Highly secured Support all application stages Built-in demos
  • 23. Automated Application Deployment Built-in Support for core enterprise application components: HTTP Load balancer Cluster Web Containers Cluster Application Processing units MySQL database connected to EBS Full lifecycle support Including adding new components post-deployment Dynamic machine provisioning based on SLA Simple application orchestration using simple XML format Order of deployment Basic dependency checking Application repository Can easily support multiple application versions deployment Multiple JVM versions support (currently 1.5, 1.6) Dynamic installation of application packages
  • 24. Built-in Machine profiles 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 WWW LB Machine Web Web Web Web Mirror IMDG IMDG IMDG Admin-Ui GSM Machine Tomcat Comp- Node Comp-Nodes Jmeter Ext-Machine Database Machine GSC Machines UI Machine
  • 25. Multitenant Same user can manage multiple applications: Using the Same Console Under the same Cloud account Different versions can coexist at the same time Complete Isolation of management Logging View Machines Lifecycle Scalable No single point of contention or central bottleneck
  • 26. Auto Scaling End to End Works for web, business logic, messaging, and data layer SLA Driven Scale within machine (more threads, partitions) Scale between machines (More Containers, Web Servers,..) Scale-up and down Customizable through the application layer Not just CPU or Memory TX/Sec Backlog Concurrent users
  • 27. Failover, Recovery and Self healing When web server fails Instantiate new machine with web server container and automatically connect it to the Load balancer When application transaction breaks Fail to hot backup while bringing new backup When messaging is down Fail to hot backup while bringing new backup When database is down Store data in-memory until the database is recovered When the deployment manager is down Fail to hot-backup
  • 28. Built-in Portability - Minimize lock-in Enable application portability and freedom of choice between: cloud providers, web containers, programming language, database Minimize API lock in: Use of Standards API Abstractions – when standards are not available OpenSource Development framework (OpenSpaces) Extendable
  • 29. Management and Monitoring Basic system monitoring Disk Memory CPU Network Rich application monitoring Cluster Deployment Statistics Content Rich management API Enable easy customization and integration
  • 30. Zero installation Experience full production ready environment through web interface Add custom application easily
  • 31. Standard development tools support Offline Development No Need to pay for development machine Can easily work offline Standard IDE and tools support Java Eclipse , IntelliJ IDEA , Ant Maven .Net Visual Studio .Net Support Iterative Development Test local->Deploy on the cloud No need to change code or application configuration between local and cloud
  • 32. Built-in desktop virtualization integration Integration with No-Machine Desktop virtualization No installation required Client downloaded via applet One click access Users can access the each machine through a click on the browser Login Machine Desktop Login Application Management
  • 33. Fully Secured Support Amazon Security Groups Firewall settings blocking specific ports Secured remote desktop access Built-in SSH tunneling Secured Database access via mySQL security roles Secured grid deployment infrastructure Start Stop Deploy/ Un-deploy Secured In-Memory-Data-Grid access roles Class Level Object Level Operation Level
  • 34. Consistent across all application stages Same tools used between Demo to Production environment Demo Evaluation Development Testing Deployment
  • 35. Built-in Demo Applications Data-Grid - Demonstrates a simple clustered space running 2 partitions with one backup for each partition. The benchmark tool is used to populate the IMDG with data and perform different space operations. Trader Stock Desktop - Demonstrates a RIA web2.0 deployment designed with Spring MVC, AJAX (ExtJS) and Caching. Pet Clinic - shows a typical eCommerce application based on Spring pet-clinic with emphasize on Data-Base and Data-Grid integration
  • 37. Implementation 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 Don’t make decision today, but be ready to make one without major effort Avoid long-term commitment – choose the right licensing model
  • 38. Practical Gradual Steps for Increasing ROA Intrusiveness Time to value Web Tier Business Logic Messaging Data tier 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 Saving Examples 7x machines (10 peak – 3 avg) 90x machines (100 peak, 10 avg) 6x machines (TBA/SBA Bench.) 6x machines (TBA/SBA Bench) Additional Benefits - Self-healing - Basic caching - Auto deployment -Commodity HW Simple dev and testing -Commodity HW Low latency (in-memory) Fast& Consistent response time. Commodity db vs. high-end