OpenStack verbindet viele Einzelprojekte zu einem System, dass flexibel an verschiedenste Bedarfe anpassbar ist. Den Kern von OpenStack bilden die Projekte Nova (virtuelle Server), Neutron (virtuelle Netzwerke) und Cinder (virtueller Storage). Dazu kommen in der af.stack Cloud noch Heat als Orchestrierungstool und Swift für den Object Storage. Schließlich sorgt Keystone für eine gemeinsame Authentifizierung und die Verwaltung der APIs der einzelnen Dienste.
Als Schnittstellen dienen vor allem HTTP/REST APIs, die von den jeweiligen Diensten nicht nur zur Kommunikation untereinander dienen, sondern auch für den Benutzer erreichbar sind. Auf diese APIs wiederum setzt das ebenfalls zu OpenStack gehörige Webinterface Horizon auf. Außerdem gibt es einen Command Line Client und umfangreiche SDKs in verschiedenen Programmiersprachen sowie Module für gängige Automatisierungstools wie z.B. Ansible.