...
Zones partition a domain into smaller managed units. A zone is a set of one or more runtimes where applications (contibutions) are deployed. A domain always has at least one zone and may contain more.
While a domain may be heterogeneous (i.e. it may be composed of many different runtime types), a zone is homogenous. All runtimes in a zone are the same. Furthermore, all runtimes in a zone host replicas of the same applications.
The Controller
...
and Participants
...
A distributed domain is composed of a controller runtime and participant runtimes.
The controller manages the domain, including maintaining a contribution repository and deploying applications to zones. A participant is a member of a single zone and hosts application components for the zone it is a member of. Only participants host components and process requests. The controller acts a simple manager and may be shut down without affecting the ability of the domain to service requests.
Clustering
Clustering is provided through zones. When components in a contribution are deployed to a zone, they are replicated to all runtimes configured as part of the zone.
...
Using this architecture, it is possible to construct domain topologies that are easy to manage and scale. A domain consist of multiple zones, each containing clustered participant runtime. However, it is also important to note this architecture scales down. A domain can be comprised of a single runtime instance, in which case the runtime acts both as the controller and participant.