I had to explain at an customer the OpenStack concepts: Regions, Availability Zones and Host Aggregates.
In a nutshell:
Full OpenStack deployments who shares Horizon and/or Keystone.
Logical division of compute nodes inside of Regions, visible for the end user.
Logical division of compute nodes based on metadata who describes (generally) hardware capabilities.
See the diagram below, is easier to understand:
This concepts are not trivial, segregation of resources is a key on many business rules/cases and it is imperative that we are familiar with this.
Divide et impera