1 / 37

Cloudify Intro

Cloudify Intro. July 2013 Dotan Horovits , Director, Customer Services. Agenda. The Cloud Environment High level architecture App provisioning Self-healing Scale up/down On-Demand DR Cloudify Player – PaaS in a box. The Basics…. Enterprise IT - Today .

cleta
Télécharger la présentation

Cloudify Intro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloudify Intro July 2013 DotanHorovits, Director, Customer Services

  2. Agenda • The Cloud Environment • High level architecture • App provisioning • Self-healing • Scale up/down • On-Demand DR • Cloudify Player – PaaS in a box

  3. The Basics…

  4. Enterprise IT - Today http://www.slideshare.net/pizak/understanding-platform-as-a-service-8393601

  5. What’s Wrong? • No Agility • Can’t provision resources in minutes. Takes weeks or months • No optimized utilization • Most data centers are at 10%-20% average CPU utilization (Gartner) • No Consistent Management • Everybody looking for easier management and availability through automation and accountability • Each BU pays for its own use and manages its own resources • IT ops focus on IT enablement rather than on going IT management

  6. Enterprise IT- Tomorrow How? http://www.slideshare.net/pizak/understanding-platform-as-a-service-8393601

  7. GigaSpaces Cloudify Any App, On Any Cloud, Your Way February 2012

  8. Cloudify Positioning Convenience • Open • Any Cloud • Enterprise-Grade DevOps Automation PaaS (Heroku, Google AppEngine, Amazon BeansTalk, CloudFoundry) App Amazon OpsWorks, RightScale Private clouds (OpenStack, CloudStack..) Public clouds (AWS, GCS Rackspace,..) Infra. Control

  9. Cloudify & Amazon OpsWork Cloudify provide the equivalent of Amazon OpsWork on other clouds

  10. Cloudify – Full Application Life Cycle Automation Continuous Integration API Cloudify Monitoring & Alarming Configuration Management Infrastructure (IaaS/ Traditional)

  11. No Code Change Plug-in to the current way of running enterprise Apps Cloud Properties injected Baby Step approach Cloud Portability Bare-Metal Cloud Managing Big Data on the Cloud Guiding Principles

  12. Cloudify Foundations

  13. The Cloudify Recipe – Your Application Blueprint • Middleware services to run • Dependencies between services • How to install & configure services • Where to get application & service binaries • When to add or remove instances • How to monitor each of the services.

  14. Recipe Domain Model • Application • Name • Properties (config) • Services • Service Dependencies • Service • Name • Properties (config) • SLA • Infra templates • Lifecycle events • Custom commands • Monitoring 1..*

  15. Recipe - Application Structure & Dependencies application { name="petclinic" service { name ="mongod" } service { name ="mongoConfig" } service { name ="apacheLB" } service { name ="mongos" dependsOn=["mongoConfig","mongod"] } service { name ="tomcat" dependsOn=["mongos","apacheLB"] } }

  16. How It Works

  17. Install Application

  18. Post Deployment

  19. Self Healing

  20. Auto Scale

  21. Get 100’s of recipes out of the box Leverage Puppet Templates

  22. Cloudify Architecture The USM allows you to deploy & manage any middleware service in any tier using an extensible recipe to describe it The brains of the system. Orchestrates the deployment of the application, continuously monitors it and triggers alerts and scaling rules based on real-time metrics and load Using the Cloud Driver, Cloudify can trigger host provisioning in any virtual environment and abstract it from your application

  23. Main Cloud Drivers • Local Cloud • Basic development environment testing the app in a local mode. Good for unit testing. • BYON Cloud • Development and Deployment environment - running the app in a distributed mode leveraging existing pool of VMs/physical machines. • Private Cloud • Deployment environment. Launching VMs on demand. • Public Cloud • Deployment environment. Launching VMs on demand. Supporting EC2 , HP Cloud , Rackspace , Terramark,Azure , openstack …

  24. Management Tools 29

  25. Complete visibility CUSTOMIZED AVAILABILITY AND PERFORMANCE MONITORING TO TRACK YOUR APPLICATIONS

  26. Easy troubleshooting BROWSE ALL YOUR LOGS WITH A SINGLE CLICK

  27. Monitoring the Application Verifying application deployment vs. planned Custom metrics at the service (cluster) level

  28. Monitoring the Application Verifying Infrastructure usage and resource utilization Correlating VM metrics for comparison

  29. Recipe Deep Dive

  30. Application description through RECIPES • Recipe DSL • Lifecycle scripts • Availability & Monitoring Probes • Custom plug-ins(optional) application { name="petclinic" service { name ="mongod" } service { name ="mongoConfig" } service { name ="apacheLB" } service { name ="mongos" dependsOn=["mongoConfig","mongod"] } service { name ="tomcat" dependsOn=["mongos","apacheLB"] }

  31. service { name "mysql" icon "mysql.png" type "DATABASE" ... } Application description through RECIPES • Recipe DSL • Lifecycle scripts • Availability & Monitoring Probes • Custom plug-ins(optional)

  32. Application description through RECIPES • Recipe DSL • Lifecycle scripts • Availability & Monitoring Probes • Custom plug-ins(optional) Lifecycle { install "mysql_install.groovy" start "mysql_start.groovy" startDetectionTimeoutSecs900 startDetection"mysql_startDetection.groovy" stopDetection{ !ServiceUtils.isPortOccupied(jdbcPort) } preStop([ "Win.*":"killAllMysql.bat", "Linux.*":"mysql_stop.groovy” ]) shutdown ([ "Linux.*":"mysql_uninstall.groovy" ]) }

  33. Environment Binding compute { template "SMALL_LINUX" } SMALL_LINUX : computeTemplate { imageId"us-east-1/ami-76f0061f“ remoteDirectory"/home/ec2-user/gs-files“ machineMemoryMB1600 hardwareId"m1.small" locationId"us-east-1" localDirectory"upload" keyFile"myKeyFile.pem" options ([ "securityGroups" : ["default"]as String[], "keyPair" : "myKeyFile” ]) overrides (["jclouds.ec2.ami-query":"", "jclouds.ec2.cc-ami-query":""]) privileged true } SMALL_LINUX : computeTemplate { machineMemoryMB5850 remoteDirectory"/tmp/gs-files” username username password password custom ( "nodesList" : ([ ([ "id" : "byon-pc-lab{0}", "host-list" : "0.0.0.0” ]) ]) ]) // enable sudo. privileged true }

  34. Monitoring Probes monitors { defctxPath=("default"==context.applicationName)?"":"${context.applicationName}“ defmetricNamesToMBeansNames=[ "Current Http Threads Busy":["Catalina:type=ThreadPool,name=\"http-bio-${currHttpPort}\"", "currentThreadsBusy"], "Current Http Thread Count":["Catalina:type=ThreadPool,name=\"http-bio- ${currHttpPort}\"", "currentThreadCount"], returngetJmxMetrics("127.0.0.1",currJmxPort,metricNamesToMBeansNames) }

  35. Auto Scaling scalingRules([ scalingRule{ serviceStatistics{ metric "Total Requests Count" statistics Statistics.maximumThroughput movingTimeRangeInSeconds20 } highThreshold{ value 1 instancesIncrease1 } lowThreshold{ value 0.2 instancesDecrease1 } } ])

  36. Summary – Cloudify Value Any App, Any StackDeploy any middleware stack using a recipe based deployment mechanism Automatic Self-HealingCrashed nodes and machines are automatically replaced by new ones, following recipe instructions Auto-Scale, Your Way Automatic scaling of your application services based on out-of-the-box or custom metrics. Scale Up or Out Automation of the Entire Lifecycle Deploy, manage, and update your application using a single platform Any Cloud Support all major cloud and virtualization platforms. Your Application is completely decoupled from the Cloud API Cluster-Aware Availability & Performance Monitoring Pluggable monitoring, collects tier and application KPIs Fully Testable on Your Laptop Easily start, debug & test on your laptop with a fully functional cloud emulator. No VMs, no hassles.

  37. Thank you!

More Related