Cloud stack collabiration conference - It's the app, stupid!

2,540 views

Published on

Managing and deploying applications on CloudStack (or any other cloud for that matter) can be a daunting task. Resource provisioning, software installation and configuration, failure detection and handling, scaling and continuous delivery are just some of the processes that should be performed (read: automated) in order to do it properly. There are multiple tool chains that tackle some of these processes, each with its own focus and level of control. These can range from pure CM tools such as Chef or Puppet, which focus on repeatable and consistent configuration of servers, all the way to full blown PaaS environments that focus on developer productivity and hide many of the complexities of the underlying infrastructure.
In this session Uri will present the problem domain of application deployment and management on the cloud, the benefits and shortcomings of common approaches to it, and what (he believes) is still missing.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,540
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
22
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • Goals:Why Workflows are critical part of automation of applications on the cloudClarify the need for something like OpsWorksWhy do we think this OpsWorks is needed in addition to other projects
  • They do it manually, pushing code to git, then compiling
  • One of their servers failed last week, and it took almost a day to configure and bring up a new server. They use a certain CM tool, Still better than the week it took the time before, but that’s doesn’t cut it
  • They also realized that in order to run well in the cloud they need DevOps and automationWhat are the options
  • The building blocks are triggers and workflowsTriggers because triggers need to be automated as well as events resulting from policies / integrationetcWorkflows – because these are complex multi-step processesLet’s have a look at few typical use cases
  • Great at creating 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
  • 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
  • http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
  • Cloud stack collabiration conference - It's the app, stupid!

    1. 1. It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Uri Cohen GigaSpaces @uri1803 #CCCEU13 #ItsTheAppStupid
    2. 2. Meet Petsy, Selling Pet Art and Supporting Pet Artists Since 2013
    3. 3. So Their Services Are Deployed on CloudStack Logstash PostgreSQL Nginx Hadoop Graphite Gunicorn ActiveMQ MongoDB Jenkins Nagios
    4. 4. The Business Is Doing Great, Thx (esp. Cat paper crafts), But… Rolling out new code is Painful http://www.interestingtopics.net/storage/5762c0bec0add88fae0c3958d61effe1.jpg
    5. 5. The Business Is Doing Great, Thx (esp. Cat paper crafts), But… MTTR is… mehhh Mehhh http://fineartamerica.com/featured/wooly-sheep-ramona-johnston.html
    6. 6. They Need to Automate!!
    7. 7. Let’s have a closer look at DevOps Processes It’s about Workflows and Triggers
    8. 8. Automated Deployment • Triggers: Manual, CI Server • Flow: – Provision Cloud Resources: Compute, Storage, Network – Configure servers – Push code – Start components http://www.flickr.com/photos/smilemark/4611091236/sizes/m/in/photostream/
    9. 9. Infra Upgrade • Trigger: Critical updates, patches, etc. • Flow: Take down relevant processes, one by one, apply patch, and reconnect to cluster. In some cases restarts server
    10. 10. Code Push (or more generally, CD) • Trigger: CI server, Manual • Flow: Canary, Red/Black, A/B… – In general – Partial deploy, verify, rollback / complete deploy
    11. 11. Node Failure • Trigger: #$%@ happens… • Flow: Detect, provision VM, attach storage, add to network, reconfigure app (load balancer in case of web serve, DB connection in case of database, etc.)
    12. 12. Scaling • Trigger: System SLAs, Schedule • Flow: Add new nodes, push code, reconfigure dependent nodes, reconfigure LB
    13. 13. Automation Encompasses All Layers Application Middleware Infrastructure Proxy Config WAR Schema Apache Tomcat MySQL Host Networks Storage
    14. 14. Automation Building Blocks Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    15. 15. Let’s Look at Some Tools
    16. 16. Orchestration Tools Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    17. 17. CM Tools Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    18. 18. Automation Tools Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    19. 19. Metric & Log Collection Tools Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    20. 20. Still, when you need to automate & orchestrate, that’s what is looks like…
    21. 21. Where You Want to Be Environment Creation SW Infra. Setup & Config Code Push Monitoring & Alarming Repairing Scaling
    22. 22. How It’s Done in AWS
    23. 23. How It’s Done in AWS
    24. 24. He Calls It DevOps Automation http://www.allthingsdistributed.com/2013/02/aws-opsworks.html
    25. 25. Still a Bit Too Rigid
    26. 26. OpsWorks – We Can Do Better! • Integrated with CloudStack (and other clouds) • Custom Workflows • Not limited to Chef • Open Monitoring and Policies
    27. 27. Our TOSCA-Inspired Building Blocks Application Topologies Workflows Policies
    28. 28. • Nodes Application Topologies – The layers in the cake e.g. VM, web server, app module – Actions (can be grouped into Interfaces) • Relationships – Actions – Requirements <-> capabilities
    29. 29. Workflows • Create and interact with nodes using interfaces
    30. 30. Policies • Trigger workflows based on a certain system state
    31. 31. Where We Are Today http://cloudifysource.org http://github.com/cloudifysource/cloudify
    32. 32. Next Steps • 2nd Gen (AKA Project Cosmo) is underway github.com/cloudifysource/cosmo-manager github.com/cloudifysource/cosmo-mezzanineexample
    33. 33. Second Gen Architecture REST API Blueprint Runtime Model Workflow Engine DSL + Metrics Policy Engine Task Broker GUI Agen t Plugins Plugin Metrics Collecto r Agen t Plugin
    34. 34. Thank You!

    ×