Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Openstack heat & How Autoscaling works

2,156 views

Published on

Presentation helps understand how HEAT, an orchestration project within openstack works and helps in autoscaling based on demand

Published in: Technology

Openstack heat & How Autoscaling works

  1. 1. Openstack Heat & How Autoscaling works @Openstack chennai meetup Aug 2015 Jayaprakash Technical Lead, Product Development jayaprakash.r@cloudenablers.com Beny Raja Technical Lead, DevOps benyraja.j@cloudenablers.com
  2. 2. Overview ●Heat is the orchestration component of Openstack. Template-driven engine that allows us to describe and automate the deployment of infrastructure & application ●Extended capabilities such as Nested stacks, Resource Groups, Auto scaling, Software deployment using configuration management tools like puppet
  3. 3. Services ●Heat - CLI which communicates with heat-api ●Heat-api - REST based service which sends api requests to heat-engine via RPC ●Heat-engine - Orchestrates openstack resources ●Heat-api-cfn - REST based service which sends api requests to heat-engine via RPC
  4. 4. Heat Architecture
  5. 5. HOT Template structure ●heat_template_version ●description ●parameter_groups ●parameters ●input ●resources ●output Reference: http://docs.openstack.org/developer/heat/template_guide/hot_spec .html
  6. 6. HOT Template
  7. 7. Develop your own Resource Plugins ●Plugin Life cycle – Create,Update,Suspend,Delete,Resume ●Registering resource plugin name – OS::Nova::Workload ●Properties & Attributes ●Handler Methods – handle_create, handle_update, handle_delete... ●Configure heat to register new plugins and restart heat-engine service Reference: http://docs.openstack.org/developer/heat/pluginguide.html
  8. 8. Heat - Standalone Mode ●Orchestrate Multi openstack setups ●Standalone mode configuration in heat.conf ○[paste_deploy] flavor = standalone ○[authpassword] multi_cloud = true allowed_auth_uris = http://192.168.1.171:5000/v2.0, http://192.168.1.223:5000/v2.0 ●Heat cli to access remote openstack heat --os-no-client-auth --os-username admin --os-password openstack --os-tenant-name admin --os-auth-url http://192.168.1.223:5000/v2.0 --heat-url http://192.168.1.10:8004/v1/98073903698740af87fb57ca9e41eed5 stack-list
  9. 9. Autoscaling ●To maintain application availability and allows you to scale the capacity up or down automatically according to conditions you define ●Automatically increase the number of instances during demand spikes to maintain performance ●Heat & Ceilometer are the components used to implement Autoscaling in Openstack
  10. 10. Autoscaling workflow
  11. 11. Ceilometer Alarm Resource
  12. 12. Autoscaling Group Resource lb_server.yaml
  13. 13. Alarm Action URL ●Heat engine server address ●Stack id & name ●Scaling resource id & name ●URL params – Timestamp, Signature, Access key http://192.168.1.142:8000/v1/signal/arn:openstack:heat::<stack_id >:stacks/test_stack/<resource_id>/resources/scaleup_policy?Time stamp=&SignatureMethod=HmacSHA256&AWSAccessKeyId=fa7 1fad02e974f4f8a21265c58bacf0f&SignatureVersion=2&Signature= poYnVLF9mLEGjBXbjT63svjCnymnhrLP9chFPHiyVoo%3D
  14. 14. References ●http://docs.openstack.org/developer/heat/template_ guide/hot_spec.html ●https://wiki.openstack.org/wiki/Heat ●https://github.com/openstack/heat-templates ●https://wiki.openstack.org/wiki/Heat/Blueprints/heat- multicloud ●http://developer.openstack.org/api-ref-orchestration- v1.html
  15. 15. Thank You

×