Dozens of component types (Cloud Controller, Routers, etc.) Components communicate over a message bus Most components can have one or more instances Components can share a VM or be broken out into separate VMs Each deployment can be configured appropriately Each Cloud Foundry instance can be deployed differently Based on requirements e.g. for capacity and resilience Regular updates Think of Cloud