SlideShare a Scribd company logo
PaaS on OpenStack@natishalomCTO & Founder GigaSpaces
Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 2
Defining the PaaSThere is a difference between knowing the PaaS (path), and walking the PaaS (path).  Morpheus in “The Matrix”Quiz: What do youexpect from a PaaS?® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 3
Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 4
Different  Paths to PaaSProductivity vs. Control tradeoffs® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 5
Google App Engine Architecture® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 6
Control assumptions® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 7YouHW configurationOperating systemLanguage (Java/Paython)Middleware stack (data-base, messaging,…)ArchitecturePerformance (Quota : CPU, Mem, Net,..)Data center locationApplication CodeSelecting the middleware stack from a predefined list.
Heroku Architecture® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 8Routing MeshDynoGridSQL DatabaseMemory Cache
Control assumptions® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 9YouHW configurationOperating systemLanguage (Ruby)Middleware stack (data-base, messaging…)Flexibility of choicesArchitecturePerformance (dyno)Data center locationApplication CodeSelecting the middleware stack from a predefined list
Elastic Beanstalk ArchitectureElastic BeanstalkApplicationhttp://myapp-staging.elasticbeanstalk.com/VersionEnvironmentElastic Load BalancerAutoScalingEC2 InstancesEC2 InstancesEC2 InstancesVersionVersionApacheElastic BeanstalkHost ManagerTomcatYour Running ApplicationAmazon Linux AMI10® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Control assumptionsAmazonOperating systemLanguage (Java)Middleware stack (tomcat, RDS…)Can be easily extendedArchitecture (Web)StorageData centerYouApplication CodeSelecting the middleware stack (anything beyond tomcat)HW configurationPerformance Limited control over the OS using linux toolsJVM tuning/configuration® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 11
Productivity MythsYou have to give up control for more simplicityNot always…Less code = more productivityProductivity is measured by units of features being delivered (not lines of code)Opinionated architecture (Rails/Grails) is extremely productive® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 12“..developing on GAE introduced such a design complexity that working around it pushes us 5 months behind schedule.”Carlos Ble's post Goodbye Google App Engine
So Who’s Better?Google/HerokuTop-down sandbox approachHighly opinionatedDesigned for extreme simplicity at expense of user control Amazon Bottom-up approachDesigned for extreme simplicity with a significantly higher degree of control® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 13Fits a small subset of appsFits a larger spectrum of apps
Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 14
PaaS on OpenStack – Aim Higher Anyone should be able to:Build their own PaaS in a snapRun on any cloud (public/private)Gain multi-tenancy, elasticity… Without code changes.Provide a significantly higher degree of control without substantial complexityLanguage choiceOSMiddleware stackShould come pre-integrated with popular stackSpring,Tomcat, DevOps, NoSQL, Hadoop…Designed to run the most demanding mission-critical apps ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 15
The Building Blocks..® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 16
Service Orchestration Layer® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 17GigaSpaces Application ClusterDeployControlGrid Service ContainerGrid Service ContainerGrid Service ContainerGrid Service ManagerAgentAgentAgentPublic CloudPrivate CloudBare metal Scale-inScale-outData Center/Cloud
 Life cycle
 Provisioning
 Monitoring
 StatisticsGrid Service ContainerAgentZoom-In…18® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Service Recipe (Proposal)service {  name "cassandra-service"  icon new File("icon.png")  defaultScalingUnit "small"  IpRange "*.*.*.*"  lifecycle {    //life cycle events can be shell scripts or groovy closures that receive the admin as a parameter    //here you can implement logic to download binaries from any repository or file server    install {ServiceContextserviceContext ->      myCalculatedParam = serviceContext.serviceInstance.localHostAddress.hostName;      masterNodeIp = serviceContext.getServiceInstanceMatching(name("cassandra-master")).localHostAddress.hostName      serviceContext.environmentParameters["localHostName"] = myCalculatedParam;      port = serviceContext.portLocator.nextAvailablePort      serviceContext.environmentParameters["port"] = port      //inject runtime parameters to a config file / script using a utility class      serviceContext.templateReplacer.replace("cassandra.yaml", serviceContext.environmentParameters)      "install.sh".execute();    }    uninstall "install.sh"    relocate "relocate.sh"    preStart "pre-start.sh"    start "start.sh"    postStart "post-start.sh"    preShutdown "pre-shutdown.sh"    shutdown "shutdown.sh"    postShutdown "post-shutdown.sh"  }® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 19
Service Recipe Monitors & SLAmonitoring {    pluginClass "org.openspaces.usm.JmxMetricsCollector"    config {      jmxOperations["org.apache.cassandra.db:CompactionManager:CompletedTasks:Cassandra": "Completed Tasks",                    "org.apache.cassandra.db:CompactionManager:PendingTasks:Cassandra": "Pending Tasks",                    "org.apache.cassandra.db:CompactionManager:ColumnFamilyInProgress:Cassandra": "Column Family In Progress"];      jmxHost "127.0.0.1";      jmxPort 8080;    }  }  sla {    deploymentConstraints {      scalingUnit small    }    scalingRules {      rule {        priority 1        when {thisSerice().anyInstace."Disk Space".lessThan(30.MB) }        add 2.ScalingUnits      }      rule {        priority 2        when {thisSerice().anyInstace."CPU Utilization".lessThan(30.Percent).for(5.Minutes)}        remove 1.ScalingUnit      }      rule {        when (alertOfType("CPU Utilization").raisedFor(anyServiceNode()))      }      //    }  } ® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 20
Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 21
How does it work?You take the control seat.
The DemoUse Cassandra as a private case for a serviceDemonstrate what it takes toDeployManageHandle failureScaleMonitor ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 23
The Deployment Process® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 24Elastic ServiceManagerDevOps CLI2) PackCassandraInstallation6) Start cassandraGrid Service Container3) Deploy5) Start containersAgentCassandraInstancesGrid Service Container1) Deploy Cassandra4) Provision  a Machine and installGigaSpacesAgentCassandraInstances7) Add instance
Continuous Availability® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 25Instance failureUSM starts new instance Grid Service ContainerGrid Service ContainerGrid Service ContainerMachine failureAgentAgentElastic ServiceManagerElastic manager starts a new instance on another machineCassandraInstancesCassandraInstances
Continuous Scalability® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 26Not enough resources to meet the SLAAdd resources to meet the SLAElastic ServiceManagerGrid Service ContainerGrid Service ContainerGrid Service ContainerGrid Service ContainerAgentAgentAgentAgentCassandraInstancesCassandraInstancesCassandraInstancesCassandraInstancesMonitor
Multi-Tenancy® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 27Elastic ServiceManagerAdd shared tenantGrid Service ContainerGrid Service ContainerTenant BAgentAgentTenant ATenant CAdd private tenant
Composite Application® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 28Elastic ServiceManagerGrid Service ContainerGrid Service ContainerAgentAgentApacheTomcatGrid Service ContainerAgentCassandra
MonitoringRedirect console outputMonitor statistics through JMXPluggable monitoringManagement console:WebCLIAPI (REST, Groovy, Java)Alerts® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 29
Current StatusJClouds provider for OpenStack is readyDeveloped in Collaboration with GridDynamics & Adrian ColeIntegrated with OpenStack/Cactus buildRequired a few patch updates to OpenStack code baseContinuous collaboration with CitrixIntegrate the platform with the underlying IaaS stackBetter performance/utilizationFull stack (pre-engineered) enterprise-ready solution ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 30

More Related Content

PDF
PaaS application in Heroku
PDF
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
PDF
LIVE DEMO: Pivotal Cloud Foundry
PDF
LIVE DEMO: Pivotal Cloud Foundry
PPTX
Building REST APIs with Spring Boot and Spring Cloud
PDF
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...
PDF
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
PDF
Building Cloud Native Architectures with Spring
PaaS application in Heroku
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
LIVE DEMO: Pivotal Cloud Foundry
LIVE DEMO: Pivotal Cloud Foundry
Building REST APIs with Spring Boot and Spring Cloud
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Building Cloud Native Architectures with Spring

What's hot (20)

PDF
Itb 2021 - Bulding Quick APIs by Gavin Pickin
PDF
Cloud Foundry Technical Overview
PDF
How to Architect and Develop Cloud Native Applications
PPTX
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
PDF
Pivotal Power Lunch - Why Cloud Native?
PDF
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
PDF
Pivotal microservices spring_pcf_skillsmatter.pptx
PPTX
CF SUMMIT: Partnerships, Business and Cloud Foundry
PDF
Java Application Modernization Patterns and Stories from the IBM Garage
PDF
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
PPTX
The Cloud Native Journey
PDF
Pivotal spring boot-cloud workshop
PDF
Pivotal Cloud Foundry: A Technical Overview
PDF
PCF Cloud-Native Workshop Slides
PDF
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
PDF
How to Scale Operations for a Multi-Cloud Platform using PCF
PDF
Developer Experience (DX) as a Fitness Function for Platform Teams
PDF
Pivotal Cloud Foundry: A Technical Overview
PDF
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
PDF
James Watters Kafka Summit NYC 2019 Keynote
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Cloud Foundry Technical Overview
How to Architect and Develop Cloud Native Applications
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
Pivotal Power Lunch - Why Cloud Native?
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
Pivotal microservices spring_pcf_skillsmatter.pptx
CF SUMMIT: Partnerships, Business and Cloud Foundry
Java Application Modernization Patterns and Stories from the IBM Garage
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
The Cloud Native Journey
Pivotal spring boot-cloud workshop
Pivotal Cloud Foundry: A Technical Overview
PCF Cloud-Native Workshop Slides
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
How to Scale Operations for a Multi-Cloud Platform using PCF
Developer Experience (DX) as a Fitness Function for Platform Teams
Pivotal Cloud Foundry: A Technical Overview
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
James Watters Kafka Summit NYC 2019 Keynote
Ad

Viewers also liked (9)

PDF
Solum - OpenStack PaaS / ALM
PDF
Loadays 2013 OpenNebula Fundamentals
PPTX
Deploying Web Apps with PaaS and Docker Tools
PDF
Introduction to PaaS and Heroku
PPT
Cloud Computing
PDF
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
PPTX
Deploying OpenStack with Ansible
PDF
OpenStack Architected Like AWS (and GCP)
PDF
Introduction to Platform-as-a-Service and Cloud Foundry
Solum - OpenStack PaaS / ALM
Loadays 2013 OpenNebula Fundamentals
Deploying Web Apps with PaaS and Docker Tools
Introduction to PaaS and Heroku
Cloud Computing
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
Deploying OpenStack with Ansible
OpenStack Architected Like AWS (and GCP)
Introduction to Platform-as-a-Service and Cloud Foundry
Ad

Similar to PaaS on Openstack (20)

PPT
Cloudify Open PaaS Stack for DevOps
PPTX
Coherence RoadMap 2018
PPTX
Operating Kubernetes at Scale (Australia Presentation)
PDF
Building Your Docker Tech Stack
PDF
Building your production tech stack for docker container platform
PDF
Leveraging HybridMultiCloud for Devops and Automation Platform
PPTX
Operating Flink on Mesos at Scale
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
PDF
Cwin16 tls-a micro-service deployment - v1.0
PDF
Journey to containers by Chet Lintz - AWS Chicago Jan 17,2018 user group on C...
PPTX
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
PDF
DCOS Presentation
PPTX
Episode 4: Operating Kubernetes at Scale with DC/OS
PDF
Accelerate Your OpenStack Deployment Presented by SolidFire and Red Hat
PDF
2013 05-multicloud-paas-interop-scenarios-fia-dublin
PPTX
Madrid meetup #7 deployment models
PPT
Understanding Platform as a Service
PDF
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
PDF
Slides: How to Select a PaaS
PPTX
Episode 2: Deploying Kubernetes at Scale
Cloudify Open PaaS Stack for DevOps
Coherence RoadMap 2018
Operating Kubernetes at Scale (Australia Presentation)
Building Your Docker Tech Stack
Building your production tech stack for docker container platform
Leveraging HybridMultiCloud for Devops and Automation Platform
Operating Flink on Mesos at Scale
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Cwin16 tls-a micro-service deployment - v1.0
Journey to containers by Chet Lintz - AWS Chicago Jan 17,2018 user group on C...
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
DCOS Presentation
Episode 4: Operating Kubernetes at Scale with DC/OS
Accelerate Your OpenStack Deployment Presented by SolidFire and Red Hat
2013 05-multicloud-paas-interop-scenarios-fia-dublin
Madrid meetup #7 deployment models
Understanding Platform as a Service
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Slides: How to Select a PaaS
Episode 2: Deploying Kubernetes at Scale

More from Open Stack (20)

KEY
OpenStack Boston User Group, OpenStack overview
PDF
OpenStack Swift overview oscon2011
PDF
Dell Crowbar and OpenStack at OSCON
KEY
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
PPTX
OpenStack Technology Overview
PDF
JCO Conference OpenStack
PDF
OpenStack 101 Technical Overview
PDF
Nova HA
PPTX
Nebula james Williams
PPT
Open stack dashboard diablo
PDF
Snapshot clone-boot-presentation-final
PPTX
Opening Presentation
PDF
Gluster open stack dev summit 042011
PDF
Swift container sync
ODP
The site architecture you can edit
PDF
Mach Technology
PDF
OpenStack on Intel
PDF
Operating the Hyperscale Cloud
PPTX
Openstack and eBay
PPTX
OpenStack Opportunity - Citrix
OpenStack Boston User Group, OpenStack overview
OpenStack Swift overview oscon2011
Dell Crowbar and OpenStack at OSCON
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
OpenStack Technology Overview
JCO Conference OpenStack
OpenStack 101 Technical Overview
Nova HA
Nebula james Williams
Open stack dashboard diablo
Snapshot clone-boot-presentation-final
Opening Presentation
Gluster open stack dev summit 042011
Swift container sync
The site architecture you can edit
Mach Technology
OpenStack on Intel
Operating the Hyperscale Cloud
Openstack and eBay
OpenStack Opportunity - Citrix

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Advanced IT Governance
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
GamePlan Trading System Review: Professional Trader's Honest Take
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25 Week I
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Advanced IT Governance
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
Reach Out and Touch Someone: Haptics and Empathic Computing
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Diabetes mellitus diagnosis method based random forest with bat algorithm

PaaS on Openstack

  • 1. PaaS on OpenStack@natishalomCTO & Founder GigaSpaces
  • 2. Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 2
  • 3. Defining the PaaSThere is a difference between knowing the PaaS (path), and walking the PaaS (path). Morpheus in “The Matrix”Quiz: What do youexpect from a PaaS?® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 3
  • 4. Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 4
  • 5. Different Paths to PaaSProductivity vs. Control tradeoffs® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 5
  • 6. Google App Engine Architecture® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 6
  • 7. Control assumptions® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 7YouHW configurationOperating systemLanguage (Java/Paython)Middleware stack (data-base, messaging,…)ArchitecturePerformance (Quota : CPU, Mem, Net,..)Data center locationApplication CodeSelecting the middleware stack from a predefined list.
  • 8. Heroku Architecture® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 8Routing MeshDynoGridSQL DatabaseMemory Cache
  • 9. Control assumptions® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 9YouHW configurationOperating systemLanguage (Ruby)Middleware stack (data-base, messaging…)Flexibility of choicesArchitecturePerformance (dyno)Data center locationApplication CodeSelecting the middleware stack from a predefined list
  • 10. Elastic Beanstalk ArchitectureElastic BeanstalkApplicationhttp://myapp-staging.elasticbeanstalk.com/VersionEnvironmentElastic Load BalancerAutoScalingEC2 InstancesEC2 InstancesEC2 InstancesVersionVersionApacheElastic BeanstalkHost ManagerTomcatYour Running ApplicationAmazon Linux AMI10® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 11. Control assumptionsAmazonOperating systemLanguage (Java)Middleware stack (tomcat, RDS…)Can be easily extendedArchitecture (Web)StorageData centerYouApplication CodeSelecting the middleware stack (anything beyond tomcat)HW configurationPerformance Limited control over the OS using linux toolsJVM tuning/configuration® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 11
  • 12. Productivity MythsYou have to give up control for more simplicityNot always…Less code = more productivityProductivity is measured by units of features being delivered (not lines of code)Opinionated architecture (Rails/Grails) is extremely productive® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 12“..developing on GAE introduced such a design complexity that working around it pushes us 5 months behind schedule.”Carlos Ble's post Goodbye Google App Engine
  • 13. So Who’s Better?Google/HerokuTop-down sandbox approachHighly opinionatedDesigned for extreme simplicity at expense of user control Amazon Bottom-up approachDesigned for extreme simplicity with a significantly higher degree of control® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 13Fits a small subset of appsFits a larger spectrum of apps
  • 14. Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 14
  • 15. PaaS on OpenStack – Aim Higher Anyone should be able to:Build their own PaaS in a snapRun on any cloud (public/private)Gain multi-tenancy, elasticity… Without code changes.Provide a significantly higher degree of control without substantial complexityLanguage choiceOSMiddleware stackShould come pre-integrated with popular stackSpring,Tomcat, DevOps, NoSQL, Hadoop…Designed to run the most demanding mission-critical apps ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 15
  • 16. The Building Blocks..® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 16
  • 17. Service Orchestration Layer® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 17GigaSpaces Application ClusterDeployControlGrid Service ContainerGrid Service ContainerGrid Service ContainerGrid Service ManagerAgentAgentAgentPublic CloudPrivate CloudBare metal Scale-inScale-outData Center/Cloud
  • 21. StatisticsGrid Service ContainerAgentZoom-In…18® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 22. Service Recipe (Proposal)service {  name "cassandra-service"  icon new File("icon.png")  defaultScalingUnit "small"  IpRange "*.*.*.*"  lifecycle {    //life cycle events can be shell scripts or groovy closures that receive the admin as a parameter    //here you can implement logic to download binaries from any repository or file server    install {ServiceContextserviceContext ->      myCalculatedParam = serviceContext.serviceInstance.localHostAddress.hostName;      masterNodeIp = serviceContext.getServiceInstanceMatching(name("cassandra-master")).localHostAddress.hostName      serviceContext.environmentParameters["localHostName"] = myCalculatedParam;      port = serviceContext.portLocator.nextAvailablePort      serviceContext.environmentParameters["port"] = port      //inject runtime parameters to a config file / script using a utility class      serviceContext.templateReplacer.replace("cassandra.yaml", serviceContext.environmentParameters)      "install.sh".execute();    }    uninstall "install.sh"    relocate "relocate.sh"    preStart "pre-start.sh"    start "start.sh"    postStart "post-start.sh"    preShutdown "pre-shutdown.sh"    shutdown "shutdown.sh"    postShutdown "post-shutdown.sh"  }® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 19
  • 23. Service Recipe Monitors & SLAmonitoring {    pluginClass "org.openspaces.usm.JmxMetricsCollector"    config {      jmxOperations["org.apache.cassandra.db:CompactionManager:CompletedTasks:Cassandra": "Completed Tasks",                    "org.apache.cassandra.db:CompactionManager:PendingTasks:Cassandra": "Pending Tasks",                    "org.apache.cassandra.db:CompactionManager:ColumnFamilyInProgress:Cassandra": "Column Family In Progress"];      jmxHost "127.0.0.1";      jmxPort 8080;    }  }  sla {    deploymentConstraints {      scalingUnit small    }    scalingRules {      rule {        priority 1        when {thisSerice().anyInstace."Disk Space".lessThan(30.MB) }        add 2.ScalingUnits      }      rule {        priority 2        when {thisSerice().anyInstace."CPU Utilization".lessThan(30.Percent).for(5.Minutes)}        remove 1.ScalingUnit      }      rule {        when (alertOfType("CPU Utilization").raisedFor(anyServiceNode()))      }      //    }  } ® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 20
  • 24. Agenda® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 21
  • 25. How does it work?You take the control seat.
  • 26. The DemoUse Cassandra as a private case for a serviceDemonstrate what it takes toDeployManageHandle failureScaleMonitor ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 23
  • 27. The Deployment Process® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 24Elastic ServiceManagerDevOps CLI2) PackCassandraInstallation6) Start cassandraGrid Service Container3) Deploy5) Start containersAgentCassandraInstancesGrid Service Container1) Deploy Cassandra4) Provision a Machine and installGigaSpacesAgentCassandraInstances7) Add instance
  • 28. Continuous Availability® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 25Instance failureUSM starts new instance Grid Service ContainerGrid Service ContainerGrid Service ContainerMachine failureAgentAgentElastic ServiceManagerElastic manager starts a new instance on another machineCassandraInstancesCassandraInstances
  • 29. Continuous Scalability® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 26Not enough resources to meet the SLAAdd resources to meet the SLAElastic ServiceManagerGrid Service ContainerGrid Service ContainerGrid Service ContainerGrid Service ContainerAgentAgentAgentAgentCassandraInstancesCassandraInstancesCassandraInstancesCassandraInstancesMonitor
  • 30. Multi-Tenancy® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 27Elastic ServiceManagerAdd shared tenantGrid Service ContainerGrid Service ContainerTenant BAgentAgentTenant ATenant CAdd private tenant
  • 31. Composite Application® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 28Elastic ServiceManagerGrid Service ContainerGrid Service ContainerAgentAgentApacheTomcatGrid Service ContainerAgentCassandra
  • 32. MonitoringRedirect console outputMonitor statistics through JMXPluggable monitoringManagement console:WebCLIAPI (REST, Groovy, Java)Alerts® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 29
  • 33. Current StatusJClouds provider for OpenStack is readyDeveloped in Collaboration with GridDynamics & Adrian ColeIntegrated with OpenStack/Cactus buildRequired a few patch updates to OpenStack code baseContinuous collaboration with CitrixIntegrate the platform with the underlying IaaS stackBetter performance/utilizationFull stack (pre-engineered) enterprise-ready solution ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 30
  • 34. Join the EffortCall for actionTry out the provider jcloudsEstablish a PaaS working group to drive PaaS within OpenStack communityRegister now for the beta programwww.gigaspaces.comLearn more..natishalom.typepad.comblog.gigaspaces.com® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 31
  • 35. SummaryCurving out complexity, opinionated architecture, relying on someone else’s stack is only one way to achieve productivity at the expense of controlWith OpenStack we can aim higher and make the application infrastructure simpler and better suited for the cloud in the first place® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 32
  • 36. GigaSpaces Cloud Enabled Platform gigaspaces.com/paas-enablementgigaspaces.com/saas-enablementGigaSpaces XAP Product Overview:http://www.gigaspaces.com/wiki/

Editor's Notes

  • #13: How to measure productivityA generally accepted working definition of programmer productivity needs to be established and agreed upon. Appropriate metrics need to established. Productivity needs to be viewed over the lifetime of code. Example: Programmer A writes code in a shorter interval than programmer B but programmer A's code is of lower quality and months later requires additional effort to match the quality of programmer B's code; in such a case, it is fair to claim that programmer B was actually more productive.You have to give up control for better simplicityTrue in some cases – but there are many cases were better control gets you more productivity for example – choosing your own OS can get you better performance, save bugs through patches that was already addressed etc , choosing your own selection of middleware packages can save the need to develop things that was already addressed through the ecosystem,..Productivity is measured by the number of lines of codeProductivity is measured by units of features being delivered (not lines of code)Development languages is only a small measure – take scala or earlnag for example. You can code the same thing that you would do in Java in few lines of code but it doesn’t come with strong development tools support, adminstration tools, and its hard to find skilled programmer in Scala – so even in the case that you could write less code for the same feature it doesn’t means that you would be able to deliver more features faster.Opinionated architecture (Rails/Grails) gets your more productivityTrue only if you stick to the exact design concept – but in reality architecture change and doesn’t always fits to all cases – in those cases designing to an opinionated approach can be significantly more complex.. (See the Twitter example, they started with Rails and over time found out that they needed something different – at the time Rails became extremely un productive to address their new needs and coding around it was extremely difficult that twitter decided to move away from it to Java/Scala…)