Presentation is loading. Please wait.

Presentation is loading. Please wait.

SINGLE PLATFORM. COMPLETE SCALABILITY. PaaS on CTO & Founder GigaSpaces.

Similar presentations


Presentation on theme: "SINGLE PLATFORM. COMPLETE SCALABILITY. PaaS on CTO & Founder GigaSpaces."— Presentation transcript:

1 SINGLE PLATFORM. COMPLETE SCALABILITY. PaaS on OpenStack @natishalom CTO & Founder GigaSpaces

2 Agenda Defining the PaaS Different paths to PaaS PaaS on OpenStack Demo (Optional) ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 2

3 Defining the PaaS ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 3

4 Agenda Defining the PaaS Different paths to PaaS PaaS on OpenStack Demo (Optional) ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 4

5 Different Paths to PaaS Productivity 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 7 HW configuration Operating system Language (Java/Paython) Middleware stack (data- base, messaging,…) Architecture Performance (Quota : CPU, Mem, Net,..) Data center location Application Code Selecting the middleware stack from a predefined list. You

8 Heroku Architecture ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 8 Routing Mesh Dyno Grid SQL Database Memory Cache

9 Control assumptions ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 9 HW configuration Operating system Language (Ruby) Middleware stack (data- base, messaging…) –Flexibility of choices Architecture Performance (dyno) Data center location Application Code Selecting the middleware stack from a predefined list You

10 Elastic Beanstalk Application Elastic Beanstalk Architecture Auto Scaling http://myapp-staging.elasticbeanstalk.com/ Apache Tomcat Amazon Linux AMI Your Running Application Version Environment Elastic Beanstalk Host Manager Elastic Beanstalk Host Manager ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 10

11 Control assumptions Amazon Operating system Language (Java) Middleware stack (tomcat, RDS…) –Can be easily extended Architecture (Web) Storage Data center You Application Code Selecting the middleware stack (anything beyond tomcat) HW configuration Performance Limited control over the OS using linux tools JVM tuning/configuration ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 11

12 Productivity Myths You have to give up control for more simplicity –N–Not always… Less code = more productivity –P–Productivity 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 Carlos Ble's post Goodbye Google App Engine “..developing on GAE introduced such a design complexity that working around it pushes us 5 months behind schedule.”

13 So Who’s Better? Google/Heroku Top-down sandbox approach Highly opinionated Designed for extreme simplicity at expense of user control Amazon Bottom-up approach Designed for extreme simplicity with a significantly higher degree of control ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 13 Fits a small subset of apps Fits a larger spectrum of apps

14 Agenda Defining the PaaS Different paths to PaaS PaaS on OpenStack Demo (Optional) ® 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 snap –Run on any cloud (public/private) –Gain multi-tenancy, elasticity… Without code changes. Provide a significantly higher degree of control without substantial complexity –Language choice –OS –Middleware stack Should come pre-integrated with popular stack –Spring,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.. Service Orchestration Recipe Service Provision Automation Multi-tenancy Management/Monitoring Package Configuration Life cycle Any process or group of processes DB, Web, NoSQL ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 16

17 Service Orchestration Layer ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 17 Grid Service Manager Agent Grid Service Container GigaSpaces Application Cluster Agent Grid Service Container Agent Grid Service Container Public Cloud Private Cloud Bare metal Scale-out Scale-in Deploy Control Data Center/Cloud

18 Agent Grid Service Container  Life cycle  Provisioning  Monitoring  Statistics Zoom-In… ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 18

19 Service Recipe (Proposal) ® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 19 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 {ServiceContext serviceContext -> 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" }newFileexecutestart

20 Service Recipe Monitors & SLA ® Copyright 2011 GigaSpaces Ltd. All Rights Reserved 20 monitoring { 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())) } // } } for

21 Agenda Defining the PaaS Different paths to PaaS PaaS on OpenStack Demo (Optional) ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 21

22 How does it work?

23 The Demo Use Cassandra as a private case for a service Demonstrate what it takes to –Deploy –Manage –Handle failure –Scale –Monitor ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 23

24 The Deployment Process ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 24 Cassandra Installation Cassandra Installation Agent Grid Service Container 4) Provision a Machine and install GigaSpaces 5) Start containers 6) Start cassandra Cassandra Instances Agent Grid Service Container Cassandra Instances 7) Add instance 3) Deploy 2) Pack 1) Deploy Cassandra DevOps CLI Elastic Service Manager

25 Continuous Availability ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 25 Agent Grid Service Container Cassandra Instances Grid Service Container USM starts new instance Machine failure Agent Grid Service Container Cassandra Instances Elastic Service Manager Instance failure Elastic manager starts a new instance on another machine

26 Continuous Scalability ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 26 Agent Grid Service Container Cassandra Instances Agent Grid Service Container Cassandra Instances Elastic Service Manager Agent Grid Service Container Cassandra Instances Agent Grid Service Container Cassandra Instances Monitor Not enough resources to meet the SLA Add resources to meet the SLA

27 Multi-Tenancy ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 27 Agent Grid Service Container Tenant A Elastic Service Manager Tenant B Agent Grid Service Container Tenant C Add shared tenant Add private tenant

28 Composite Application ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 28 Agent Grid Service Container Apache Elastic Service Manager Agent Grid Service Container Tomcat Agent Grid Service Container Cassandra

29 Monitoring Redirect console output Monitor statistics through JMX Pluggable monitoring Management console: –Web –CLI –API (REST, Groovy, Java) Alerts ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 29

30 Current Status JClouds provider for OpenStack is ready –Developed in Collaboration with GridDynamics & Adrian Cole –Integrated with OpenStack/Cactus build –Required a few patch updates to OpenStack code base Continuous collaboration with Citrix –Integrate the platform with the underlying IaaS stack Better performance/utilization –Full stack (pre-engineered) enterprise-ready solution ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 30

31 Join the Effort Call for action –Try out the provider jclouds –Establish a PaaS working group to drive PaaS within OpenStack community Register now for the beta program –www.gigaspaces.comwww.gigaspaces.com Learn more.. –natishalom.typepad.com –blog.gigaspaces.com ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 31

32 Summary Curving out complexity, opinionated architecture, relying on someone else’s stack is only one way to achieve productivity at the expense of control With 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

33 GigaSpaces Cloud Enabled Platform gigaspaces.com/paas-enablement gigaspaces.com/saas-enablement GigaSpaces XAP Product Overview: http://www.gigaspaces.com/wiki/


Download ppt "SINGLE PLATFORM. COMPLETE SCALABILITY. PaaS on CTO & Founder GigaSpaces."

Similar presentations


Ads by Google