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 " 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
- 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
- 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
- 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
- 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