CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

37
CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services

Transcript of CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

Page 1: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

CLOUDIFY INTRO

July 2013Dotan Horovits, Director, Customer Services

Page 2: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

2

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

AGENDA

Page 3: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

The Basics…

5

Page 4: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

ENTERPRISE IT - TODAY

http://www.slideshare.net/pizak/understanding-platform-as-a-service-8393601

6

Page 5: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

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

WHAT’S WRONG?

7

Page 6: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

8

ENTERPRISE IT - TOMORROW

http://www.slideshare.net/pizak/understanding-platform-as-a-service-8393601

How?

Page 7: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

GIGASPACES CLOUDIFY ANY APP, ON ANY CLOUD, YOUR WAY

February 2012

Page 8: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

CLOUDIFY POSITIONING

App

Infra.

Convenience

Control

Public clouds(AWS, GCS Rackspace,..)

Private clouds(OpenStack, CloudStack..)

PaaS(Heroku, Google AppEngine, Amazon BeansTalk, CloudFoundry)

DevOps Automation

Amazon OpsWorks, RightScale

• Open• Any Cloud• Enterprise-Grade

11

Page 9: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

12

CLOUDIFY & AMAZON OPSWORK

Cloudify provide the equivalent of Amazon OpsWork on other clouds

Page 10: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

CLOUDIFY – FULL APPLICATION LIFE CYCLE AUTOMATION

Cloudify

Continuous Integration

Monitoring & Alarming

Configuration Management

Infrastructure (IaaS /

Traditional)

API

13

Page 11: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

14

Managing Big Data on the Cloud

• No Code Change• Plug-in to the current way

of running enterprise Apps• Cloud Properties injected• Baby Step approach• Cloud Portability• Bare-Metal Cloud

Guiding Principles

Page 12: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

Application Infrastructure as Code

Configuration & Deployment Automation

Consistent Monitoring & Management

Failover & Scaling

CLOUDIFY FOUNDATIONS

15

Page 13: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

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.

16

Page 14: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

17

RECIPE DOMAIN MODEL

Application

• Name• Properties

(config)• Services• Service

Dependencies

Service

• Name• Properties

(config)• SLA• Infra templates• Lifecycle events• Custom

commands• Monitoring

1..*

Page 15: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

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"]

}}

18

Page 16: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

HOW IT WORKS

19

Page 17: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

INSTALL APPLICATION

20

Page 18: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

POST DEPLOYMENT

21

Page 19: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

SELF HEALING

22

Page 20: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

AUTO SCALE

23

Page 21: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

GET 100’S OF RECIPES OUT OF THE BOX

Leverage Puppet Templates

24

Page 22: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

27

CLOUDIFY ARCHITECTURE

The USM allows you to deploy & manage any middleware service in any tier using an extensible recipe to describe it

Using the Cloud Driver, Cloudify can trigger host provisioning in any virtual environment and abstract it from your application

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

Page 23: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

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 …

28

MAIN CLOUD DRIVERS

Page 24: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

Management Tools

29 29

Page 25: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

COMPLETE VISIBILITY

30

CUSTOMIZED AVAILABILITY AND PERFORMANCE MONITORING TO TRACK

YOUR APPLICATIONS

Page 26: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

EASY TROUBLESHOOTING

31

BROWSE ALL YOUR LOGS WITH A SINGLE CLICK

Page 27: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

MONITORING THE APPLICATION

32

Verifying application deployment vs. planned

Custom metrics at the service (cluster) level

Page 28: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

MONITORING THE APPLICATION

33

Verifying Infrastructure usage and resource

utilization Correlating VM metrics for comparison

Page 29: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

Recipe Deep Dive

34

Page 30: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

35

APPLICATION DESCRIPTION THROUGH RECIPES

Recipe DSLLifecycle scriptsAvailability & Monitoring

ProbesCustom 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"]

}

Page 31: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

36

APPLICATION DESCRIPTION THROUGH RECIPES

Recipe DSLLifecycle scriptsAvailability & Monitoring

ProbesCustom plug-ins(optional)

service { name "mysql" icon "mysql.png" type "DATABASE"

...}

Page 32: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

37

APPLICATION DESCRIPTION THROUGH RECIPES

Recipe DSLLifecycle scriptsAvailability & Monitoring

ProbesCustom 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"  ])}

Page 33: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

ENVIRONMENT BINDING

38

compute { template "SMALL_LINUX"}

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}

SMALL_LINUX : computeTemplate { machineMemoryMB 5850 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}

Page 34: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

MONITORING PROBES

39

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("127.0.0.1",currJmxPort,metricNamesToMBeansNames) }

Page 35: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

AUTO SCALING

40

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

Page 36: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

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.

50

Page 37: CLOUDIFY INTRO July 2013 Dotan Horovits, Director, Customer Services.

Thank you!