OpenStack combines many individual projects into a system that can be flexibly adapted to a wide range of requirements. The core of OpenStack is formed by the projects Nova (virtual servers), Neutron (virtual networks), and Cinder (virtual storage). The af.stack Cloud also includes Heat as an orchestration tool and Swift for object storage. Finally, Keystone provides shared authentication and API management for the individual services.
The main interfaces used are HTTP/REST APIs, which are not only used by the respective services to communicate with each other, but can also be accessed by users. The web interface Horizon, which is also part of OpenStack, is based on these APIs. There is also a command-line client and comprehensive SDKs in various programming languages, as well as modules for common automation tools such as Ansible.