Making Cloud Portability  a Practical Reality @natishalom CTO & Founder GigaSppaces natishalom.typaped.com
Agenda ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
The DRIVES for CLOUD PORTABILITY ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
MOVING between clouds – REAL LIFE CASE studies..  ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Standard  OCCI VCloud OpenSource Cloud OpenStack Cloud.com Eucalyptus Abstraction frameworks Jclouds Deltacloud CLOUD API PORTABILITY - State of the UNION ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
And after three years of Countless attempts… ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
REALISATION I ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
REALISATION II  ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved APP PORTABILITY CLOUD PORTABILITY !=
APP PORTABILITY != CLOUD PORTABILITY (Cont..)  OS (Linux, Windows) looks pretty much the same on all clouds OS runs pretty much the same on all clouds OS  are packaged In different image format but that part is abstracted from the application code anyway. Compute & Storage are pretty common in most clouds Compute & Storage could be easily abstracted across clouds Elasticity, Scaling, Continues Availability  The same effect on the application regardless of the underlying cloud. The process of scaling & fail-over is done outside the app code ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Cloudify to the rescue ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Application description through  RECIPES Recipe DSL Lifecycle scripts Custom plug-ins (optional) Service binaries (optional) application  { name= "simple app" service  { name =  "mysql-service”} service  {   name =  "jboss-service" dependsOn = [ “ mysql-service ” } } ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved service  { name  "jboss-service" icon  "jboss.jpg" type  "APP_SERVER“ numInstances  2 [recipe body] } lifecycle { init  "mysql_install.groovy” start  "mysql_start.groovy” stop  "mysql_stop.groovy" } ..
Deploy YOUR APPLICATION in 2 steps ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 1. Prepare  (No code change) 2. Deploy The Result – Automated Deployment and Orchestration
Recipe Execution ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved Commands Resource Allocation Invokes IaaS API Bootstrap Java & Cloudify Agent Install Configure Start  Monitor & Ensures H/A Process Application Recipe Compute Services
Monitoring the Application ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved Application  Map Custom metrics at the service cluster level
Live Cloud Portability Workshop 16:50 – 17:50  Live Demo & Free Download – gigaspaces.com/cloudify Live DEMO  ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
Summary - Be prepared for a rainy day ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
® Copyright 2011 Gigaspaces Ltd. All Rights Reserved

Making cloud portability a practical reality (i pad)

  • 1.
    Making Cloud Portability a Practical Reality @natishalom CTO & Founder GigaSppaces natishalom.typaped.com
  • 2.
    Agenda ® Copyright2011 Gigaspaces Ltd. All Rights Reserved
  • 3.
    The DRIVES forCLOUD PORTABILITY ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 4.
    MOVING between clouds– REAL LIFE CASE studies.. ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 5.
    Standard OCCIVCloud OpenSource Cloud OpenStack Cloud.com Eucalyptus Abstraction frameworks Jclouds Deltacloud CLOUD API PORTABILITY - State of the UNION ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 6.
    And after threeyears of Countless attempts… ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 7.
    REALISATION I ®Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 8.
    REALISATION II ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved APP PORTABILITY CLOUD PORTABILITY !=
  • 9.
    APP PORTABILITY !=CLOUD PORTABILITY (Cont..) OS (Linux, Windows) looks pretty much the same on all clouds OS runs pretty much the same on all clouds OS are packaged In different image format but that part is abstracted from the application code anyway. Compute & Storage are pretty common in most clouds Compute & Storage could be easily abstracted across clouds Elasticity, Scaling, Continues Availability The same effect on the application regardless of the underlying cloud. The process of scaling & fail-over is done outside the app code ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 10.
    Cloudify to therescue ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 11.
    Application description through RECIPES Recipe DSL Lifecycle scripts Custom plug-ins (optional) Service binaries (optional) application { name= "simple app" service { name = "mysql-service”} service { name = "jboss-service" dependsOn = [ “ mysql-service ” } } ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved service { name "jboss-service" icon "jboss.jpg" type "APP_SERVER“ numInstances 2 [recipe body] } lifecycle { init "mysql_install.groovy” start "mysql_start.groovy” stop "mysql_stop.groovy" } ..
  • 12.
    Deploy YOUR APPLICATIONin 2 steps ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved 1. Prepare (No code change) 2. Deploy The Result – Automated Deployment and Orchestration
  • 13.
    Recipe Execution ®Copyright 2011 Gigaspaces Ltd. All Rights Reserved Commands Resource Allocation Invokes IaaS API Bootstrap Java & Cloudify Agent Install Configure Start Monitor & Ensures H/A Process Application Recipe Compute Services
  • 14.
    Monitoring the Application® Copyright 2011 Gigaspaces Ltd. All Rights Reserved Application Map Custom metrics at the service cluster level
  • 15.
    Live Cloud PortabilityWorkshop 16:50 – 17:50 Live Demo & Free Download – gigaspaces.com/cloudify Live DEMO ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 16.
    Summary - Beprepared for a rainy day ® Copyright 2011 Gigaspaces Ltd. All Rights Reserved
  • 17.
    ® Copyright 2011Gigaspaces Ltd. All Rights Reserved

Editor's Notes

  • #4 Choose the right cloud for the Job based on: Cost Performance SLA (Regulation, Security, Performance,..) Hybrid Cloud Testing on public cloud, production on private cloud Cloud bursting Combine fixed and on-demand resources
  • #5 http://code.mixpanel.com/2010/11/08/amazon-vs-rackspace/ http://blog.beatunes.com/2011/07/goodbye-amazon-ec2-see-you-later-cloud.html
  • #9 OS (Linux, Windows) looks pretty much the same on all clouds OS runs pretty much the same on all clouds They are packaged In different images format but that part is abstracted from the application code anyway. -> Instead of porting VMS’s between clouds just provide access to the OS through SSH , let each cloud start the OS with its own image -> Use image as a generic OS container and install the application on that image dynamically d Compute & Storage are pretty common in most clouds Compute & Storage could be easily abstracted across clouds -> Jclouds provide good Compute & Storage abstraction across 30 clouds Elasticity, Scaling, Continues Availability Have the same effect on the application architecture regardless of the underlying cloud. Cloud API provides means to automate the process of scaling & fail-over but that’s done outside of the app code. -> Automation can be abstracted from the specific underlying cloud API
  • #11 Application portability between clouds Use a lang independent recipe model to get enough knowledge on the managed application (Life Cycle, KPI’s, SLA..) Portable installation, deployment, scaling, fail-over, management across large diversity of clouds Integrate with large diversity of application stack Jboss, Tomcat, Spring, Solar, ActiveMQ, HSQL, MySQL, Cassandra, MongoDB,..