Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cloudify Intro July 2013 Dotan Horovits, Director, Customer Services.

Similar presentations


Presentation on theme: "Cloudify Intro July 2013 Dotan Horovits, Director, Customer Services."— Presentation transcript:

1 Cloudify Intro July 2013 Dotan Horovits, Director, Customer Services

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

3 GigaSpaces Business Card
GigaSpaces provides software middleware for Deployment, Management and Scaling of Mission-Critical applications Description Offices New York, San Jose, London , HK. R&D in Tel Aviv Products - XAP - Handle extreme data processing using IMDG. - Cloudify - Application lifecycle automation on any cloud environment Industries Financial Services, Telecom, E-Commerce, E-Healthcare

4 Customers

5 The Basics…

6 Enterprise IT - Today

7 No optimized utilization
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

8 Enterprise IT - Tomorrow
How?

9 GigaSpaces Cloudify Any App, On Any Cloud, Your Way
February 2012

10 Everything as a Service
Manage applications and services Provision hosts/VMs

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

12 Cloudify & Amazon OpsWork
Cloudify provide the equivalent of Amazon OpsWork on other clouds

13 Cloudify – Full Application Life Cycle Automation
Continuous Integration API Cloudify Monitoring & Alarming Templates to describe and drive all these processes Configuration Management Infrastructure (IaaS / Traditional)

14 Managing Big Data on the Cloud Guiding Principles
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

15 Cloudify Foundations Failover & Scaling
Application Infrastructure as Code Configuration & Deployment Automation Consistent Monitoring & Management Failover & Scaling From data tp

16 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.

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

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

19 How It Works

20 Install Application

21 Post Deployment

22 Self Healing

23 Auto Scale

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

25 Application Lifecycle Events
Install Services installation Uninstall Services uninstallation preService StartEvent Instances Life Cycle preService StopEvent

26 Service Lifecycle Events
preService StartEvent Instances Life Cycle preService StopEvent preInstall init postInstall preStart postStart preStop Shutdown postStop USM instance starts Installation Runtime starts (Currently with uninstall of files) At this point individual USM instances fire the service instance lifecycle

27 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

28 Main Cloud Drivers Local Cloud BYON Cloud Private Cloud Public 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 …

29 Management Tools 29

30 Complete visibility CUSTOMIZED AVAILABILITY AND PERFORMANCE MONITORING TO TRACK YOUR APPLICATIONS

31 BROWSE ALL YOUR LOGS WITH A SINGLE CLICK
Easy troubleshooting BROWSE ALL YOUR LOGS WITH A SINGLE CLICK

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

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

34 Recipe Deep Dive

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

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

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

38 Environment Binding compute { template "SMALL_LINUX" }
SMALL_LINUX : computeTemplate { machineMemoryMB 5850 remoteDirectory "/tmp/gs-files” username username password password custom ( "nodesList" : ([ ([ "id" : "byon-pc-lab{0}", "host-list" : " ” ]) // enable sudo. privileged true } SMALL_LINUX : computeTemplate { imageId "us-east-1/ami-76f0061f“ remoteDirectory "/home/ec2-user/gs-files“ machineMemoryMB 1600 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 }

39 Monitoring Probes monitors {
def ctxPath = ("default" == context.applicationName)?"":"${context.applicationName}“ def metricNamesToMBeansNames = [ "Current Http Threads Busy": ["Catalina:type=ThreadPool,name=\"http-bio-${currHttpPort}\"", "currentThreadsBusy"], "Current Http Thread Count": ["Catalina:type=ThreadPool,name=\"http-bio- ${currHttpPort}\"", "currentThreadCount"], return getJmxMetrics(" ",currJmxPort,metricNamesToMBeansNames) }

40 Auto Scaling scalingRules ([ scalingRule { serviceStatistics {
metric "Total Requests Count" statistics Statistics.maximumThroughput movingTimeRangeInSeconds 20 } highThreshold { value 1 instancesIncrease 1 lowThreshold { value 0.2 instancesDecrease 1 ])

41 Case Study Verifi – DR on Demand

42 Case Study: VErifi Technology-based concrete process control and information service  Deployments across North America, Latin America, Asia, and Europe for nearly a decade Part of W.R. Grace & Co , $6.3 B Company. The problem: On-Demand HA/DR over multiple Cloud regions. High Availability Data Replication Disaster Recovery

43 Pattern #1: High Availability CHALLENGE
The higher we aim towards availability, the more complex the cloud deployment topology becomes

44 Pattern #1: High Availability: Cloudify
Cloud Portability = High Availability

45 Pattern #2: Elastic On-Demand Disaster Recovery
Applying the cloud principle of Elasticity to Disaster Recovery When it comes to RTO, cost, cloud provider choice Recovery time objective (RTO)—The duration of time and the service level to which a business process must be restored after a disaster (or disruption) to avoid unacceptable consequences associated with a break in business continuity. Hot Disaster Recovery Cold/Warm Disaster Recovery Low/Flexible RTO Pay only for data replication in DR site High RTO Low RTO Low Cost High Cost Elastic On-Demand DR

46 HA @ VERIFI Web App Layer Middle-tier Layer Database Layer
Elastic JBoss cluster with web session replication Elastic load balancing with mod_cluster when scaling out JBoss instances Middle-tier Layer Elastic JBoss/HornetQ clustering for high throughput message redistribution Database Layer PostgreSQL cross-region master/slave streaming replication Cassandra network topology cross-region replication

47 Elastic On-Demand DR Demo HA/DR @ VERIFI
Minimize cost while minimizing RTO (Recovery Time Objective) Deploy as Warm DR, automatically provision instances upon failure Cross-zone, region, or cloud Demo Cross-region: AWS us-east/us-west Fail-over to DR site, and provision remaining application tiers in less than a minute

48 Cloudify Player – PaaS in a Box
The app The Cloudify dashboard

49 Demo Time! Demo Cloudy Basics On-Demand DR Cloudify Player

50 Summary – Cloudify Value
Any App, Any Stack Deploy any middleware stack using a recipe based deployment mechanism Automatic Self-Healing Crashed 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.

51 Thank you!


Download ppt "Cloudify Intro July 2013 Dotan Horovits, Director, Customer Services."

Similar presentations


Ads by Google