Deployment and Cloudsproblems and solutions
Deployment tools for the pre-cloudage● push approach○ Fabric○ Capistrano○ MCollective○ Puppet● pull approach○ Chef○ Puppet...
Push approachHostHostHostDeploymentscriptDeploymentmanagerSSH
Pull approachAgentAgentAgentDeploymentstateMaster
Differences between traditional andcloud deployment● Traditional deployment○ Resources in form of servers is already avail...
Problems of the traditional tools incloud environments● No support for cloud resource provisioningas part of the deploymen...
● And is not supported by traditionaldeployment tool● Pull approach is not suitable for resourceprovisioning● VMs is not t...
Local and cloud resources aremanaged differently● Local virtualization systems and publicclouds provide different API andm...
Local DCHybrid environmentVM DBaaSVMVMVMDeploymentmanagerDeploymentstate
Lesser stability of cloudenvironment is not taken into theaccount● Request to create several hundred of VMs isnot unusual ...
Cloud oriented deployment tools● PaaS● Juju● Pallet● Knife cloud instances
Chef knife cloud instances● Also was known as chef bootstrap● Prepares cloud VM instance with Chefsupport● Assigns a role ...
Pallet● Resource provisioning is part of thedeployment● Is similar to fabric or capistrano but it allowsto request cloud r...
Juju● A single unit of management is service, e.g.web server or DB● Required resources are requestedautomatically on the c...
Platform as a Service (PaaS)● NoOPS: deployment of application andservices is done by PaaS itself● User works with PaaS AP...
Upcoming SlideShare
Loading in …5
×

Cloud Deployment Problems

944 views

Published on

Cloud group, Moscow, march 2012 presentation slides

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
944
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cloud Deployment Problems

  1. 1. Deployment and Cloudsproblems and solutions
  2. 2. Deployment tools for the pre-cloudage● push approach○ Fabric○ Capistrano○ MCollective○ Puppet● pull approach○ Chef○ Puppet● push approach is good for deployment from scratch● pull approach is good for continuous support for existingenvironment
  3. 3. Push approachHostHostHostDeploymentscriptDeploymentmanagerSSH
  4. 4. Pull approachAgentAgentAgentDeploymentstateMaster
  5. 5. Differences between traditional andcloud deployment● Traditional deployment○ Resources in form of servers is already availablewith OS and remote administration tools alreadyinstalled● Cloud deployment○ Resources in form of VMs, DB schemas, NoSQLstorages should be requested during deploymentprocess○ Additional hardware resources can be requestedand freed during environment lifetime○ Cloud deployment usually manages larger amountsof resources (especially during load spikes)
  6. 6. Problems of the traditional tools incloud environments● No support for cloud resource provisioningas part of the deployment● Cloud and local resources are managed bydifferent tools● Deployment tools do not take lesser stabilityof cloud environment into the account● Additional features of cloud environments(golden images etc.) are not supported
  7. 7. ● And is not supported by traditionaldeployment tool● Pull approach is not suitable for resourceprovisioning● VMs is not the only type of resource, serviceinstances (e. g. DB schemas) are alsopossible types of resources● The popular approach is to use two separatetools: one tool for deployment and anothertool for resource provisioning (e.g. AWSCloudFormation and Puppet)Resource provisioning is not a partof the deployment process
  8. 8. Local and cloud resources aremanaged differently● Local virtualization systems and publicclouds provide different API andmanagement tools● Local services (e.g. DBs, NoSQL storages)require explicit actions to be installed andstarted while cloud service instances arecreated via cloud API● There is no single place to search for aresource of the particular environment
  9. 9. Local DCHybrid environmentVM DBaaSVMVMVMDeploymentmanagerDeploymentstate
  10. 10. Lesser stability of cloudenvironment is not taken into theaccount● Request to create several hundred of VMs isnot unusual for the cloud environment● Recoverable resource provisioning failuresare not uncommon● There is no need to redeploy hundreds ofenvironment VMs if one is failed
  11. 11. Cloud oriented deployment tools● PaaS● Juju● Pallet● Knife cloud instances
  12. 12. Chef knife cloud instances● Also was known as chef bootstrap● Prepares cloud VM instance with Chefsupport● Assigns a role to newly created VM● Initiates execution of recipes associated withVM role○ Chef server is required to download recipesknife ec2 server create -r "role[webserver]" -I ami-2d4aa444 --flavor m1.small -G www,default -x ubuntu -N server01
  13. 13. Pallet● Resource provisioning is part of thedeployment● Is similar to fabric or capistrano but it allowsto request cloud resources using specialcommands● Deployment process is defined as the set ofactions○ Action set is defined as the closure script
  14. 14. Juju● A single unit of management is service, e.g.web server or DB● Required resources are requestedautomatically on the cloud during the servicecreationjuju bootstrapjuju deploy local:oneiric/mysqljuju deploy local:oneiric/wordpressjuju add-relation wordpress mysqljuju expose wordpress
  15. 15. Platform as a Service (PaaS)● NoOPS: deployment of application andservices is done by PaaS itself● User works with PaaS API instead of theremote administration tools of OS● High-level logic of PaaS servicemanagement is still required○ e.g. AWS CloudFormation● PaaS examples○ Heroku○ Cloud Foundry○ Google AppEngine

×