Em alto nível, o OpenStack é uma coleção de software que permite criar e gerenciar um serviço de computação em nuvem semelhante ao Amazon AWS ou Rackspace Cloud .
Portanto, o cliente de uma instalação do OpenStack interagia com o OpenStack para criar novas máquinas virtuais de servidor, reservar mais espaço de armazenamento, reiniciar ou recriar servidores de imagens, ler e gravar arquivos no armazenamento, etc.
Em relação a @Johan "Eu posso [..] fazer isso com um servidor web normal e um banco de dados e com algum python / php". Não, você não pode - estamos falando de frotas de servidores, possivelmente milhares de servidores, e alguns clientes que precisam apenas de uma fração da capacidade de um único servidor, enquanto outros precisam de centenas de servidores.
No Guia de administração do OpenStack Object Storage :
Atualmente, o OpenStack desenvolve dois projetos relacionados: o OpenStack Compute, que oferece poder de computação por meio de máquinas virtuais e gerenciamento de rede, e o OpenStack Object Storage, que é um software para capacidade redundante e escalável de armazenamento de objetos.
O OpenStack não faz isso por conta própria; você obviamente precisará de muitos servidores, uma camada / hipervisor de virtualização , servidores de armazenamento, uma rede bem gerenciada etc. O OpenStack gerencia essa infraestrutura existente de maneira programática e automatizada.
Se você está procurando mais informações, talvez os Guias de desenvolvedor e administrador sejam o melhor lugar para começar . A primeira página deles parece um pouco incomum, mas o Sumário está sempre na extrema esquerda.