• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Automating Cloud Orchestration with Puppet and Cloudify
 

Automating Cloud Orchestration with Puppet and Cloudify

on

  • 521 views

Ron Zavner, Technical Director, EMEA ...

Ron Zavner, Technical Director, EMEA

Presentation from the last DevOps Israel meetup where Ron presented how to achieve easy cloud orchestration using Cloudify for the post-deployment phase, while plugging into Puppet for the configuration management of the pre-deployment and deployment phase. All this on OpenStack.

Statistics

Views

Total Views
521
Views on SlideShare
521
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Usually I start with an intro to what continuous deployment actually is – but since you’re more advanced than that – and could probably teach me a thing or two about CD and CI, I’ll just skip to the interesting stuffwell we all know the motivation for automation, and you may already know this but I’ll just state the obvious, while the cloud isn’t necessarily directly related to DevOps and automation, it’s often times achieved via the cloud because it exposes APIs and is basically software based infrastructure that is more easily manipulated etc etcAutomation Is Key for:TestabilityConsistencyAgilityStability
  • ProvisioningVMs / Bare Metal ServersNetwork (Firewall, NAT, VPN, etc.)LB Groups Storage (Block / Blob) InstallOS Configuration (e.g. ulimit, useradd, permissions, etc.)Installation of packages and middleware components Startup orchestrationUpdate (not very frequent) User code installation on software infrastructure e.g. jar, war, rails sources, PHP sources, DB scripts, etc. After setupOn going - can be very frequentPost DeploymentWhat should be monitored? Availability: are my services up or not?Performance (OS &services level metrics). How are my services doing?State: What’s running where, state of system resourcesAlarms upon failure or when reaching certain thresholdsSimple (a-la CloudWatch) or complex (CEP driven)Various types of failuresService level – service not responding, process failedVM / Node failure Infrastructure failure (disk, network) Automation tools can go a certain way Resiliency should also be part of the SW stack Manually or Automatically (alarm triggered) Scaling by Adding / removing instances (AKA out / in)Adding / removing resources within existing instance (AKA up / down)For both, it needs to be supported by the SW stack
  • Great at creating openstack resources, basic integration with Chef / puppet for swconfig, basic built in monitoring and alarming, moving to ceilometer in Havana
  • Env setup is not automated SW infra setup is good but has no startup orchestration
  • Healthnmon is more geared toward cloud resource monitoring and is has more opinionated domain model, ceilometer seems to be picking momentum and
  • Talk about what’s next
  • Cloudify provisions machines and installs Cloudify agents as part of the deployment
  • Cloudify executes a parameterized Cloudify Puppet recipe. This recipe installs and runs the Puppet agent.
  • The Puppet agent executes the Puppet Classifier and installs the required software.
  • ProvisioningVMs / Bare Metal ServersNetwork (Firewall, NAT, VPN, etc.)LB Groups Storage (Block / Blob) InstallOS Configuration (e.g. ulimit, useradd, permissions, etc.)Installation of packages and middleware components Startup orchestrationUpdate (not very frequent) User code installation on software infrastructure e.g. jar, war, rails sources, PHP sources, DB scripts, etc. After setupOn going - can be very frequentPost DeploymentWhat should be monitored? Availability: are my services up or not?Performance (OS &services level metrics). How are my services doing?State: What’s running where, state of system resourcesAlarms upon failure or when reaching certain thresholdsSimple (a-la CloudWatch) or complex (CEP driven)Various types of failuresService level – service not responding, process failedVM / Node failure Infrastructure failure (disk, network) Automation tools can go a certain way Resiliency should also be part of the SW stack Manually or Automatically (alarm triggered) Scaling by Adding / removing instances (AKA out / in)Adding / removing resources within existing instance (AKA up / down)For both, it needs to be supported by the SW stack

Automating Cloud Orchestration with Puppet and Cloudify Automating Cloud Orchestration with Puppet and Cloudify Presentation Transcript

  • Cloud Automation – How? Orchestration, Automation, Scaling & What’s in Between Ron Zavner Technical Director, EMEA @ GigaSpaces
  • Agenda • App lifecycle • Tools for these phases • Conf Management • Orchestration • Real life scenario
  • The Automation Continuum Environment Creation Install Configure Monitoring & Alarming Repairing Scaling
  • Let’s Look at Some Tools
  • Orchestration Tools Environment Creation Install Configure Monitoring & Alarming Repairing Scaling
  • CM Tools Environment Creation Install Configure Monitoring & Alarming Repairing Scaling
  • Monitoring Environment Creation Install Configuration Monitoring & Alarming Repairing Scaling
  • Tying The Pieces Together Usually Looks Like This
  • Puppet
  • Open Source Platform for Deploying, Managing and Scaling Complex Multi-Tier Applications on the Cloud
  • The Cloudify Recipe – Your Application Blueprint       Middleware services to run Dependencies between services How to install & configure services (Puppet too) Where to get application & service binaries (Puppet too) When to add or remove instances How to monitor each of the services.
  • How Does Cloudify Use Puppet? Cloudify creates the virtual machines and installs Cloudify agents on them
  • How Does Cloudify Use Puppet? Cloudify agents install Puppet Agents and set the classes to run
  • How Does Cloudify Use Puppet? Puppet Agents install the required application services
  • Self Healing
  • Provision Scale Install Monitor Configure Real Life Scenario Deploy
  • Complete View of the App
  • Multiple vNetworks
  • Self Healing
  • Auto Scaling
  • Advantages of the Integration • Automating puppet deployment - agent installation • Dependency management (e.g tomcat => mysql) • Overall monitoring – deployment and post deployment • Multi Cloud - abstraction layer from the cloud
  • Thank You! Ron Zavner RonZ@gigaspaces.com