Heat is OpenStack's orchestration service that automates deployment of cloud applications and infrastructure. It uses templates to deploy resources and supports capabilities like auto scaling. Auto scaling uses Ceilometer alarms and Heat's autoscaling group resource to dynamically scale the number of instances up or down based on performance conditions. When an alarm is triggered, a signal is sent to Heat's engine which executes scaling policies defined in the autoscaling group resource.