OpenStack is an open-source platform for building infrastructure-as-a-service (IaaS) clouds. It is implemented as five components:
- a Compute service (codenamed Nova) that has functionality similar to EC2 AWS (and implements an EC2-compatible API, as well as a separate OpenStack API)
- an Object Storage service (codenamed Swift) that has functionality similar to EC2 S3.
- An Image service (codenamed Glance) that manages virtual machine images used by the Compute service
- An Identity service (codenamed Keystone) that manages user names and groups (known as tenants) across the OpenStack projects
- A Dashboard service (codenamed Horizon) that provides a web interface.
- A Network service (codenamed Neutron) that provides a set of components for makings SDN networking between VM's inside a project.