Datacenters definidos pelo software
Uma arquitetura de datacenter típica consiste em muitos componentes livremente integrados, incluindo pools de servidores (CPU e SO), matrizes de armazenamento e uma rede física hierárquica para interconectar esses componentes, bem como energia e resfriamento e um sistema de gerenciamento para cada um desses componentes. Como vimos nas unidades anteriores, o compartilhamento de recursos de datacenter poderia acontecer simplesmente executando aplicativos ou processos no mesmo conjunto de servidores. No entanto, isso fornece isolamento mínimo e restringe todos os aplicativos para aderir a um ambiente de software. Outra abordagem de compartilhamento pode ser aquela em que vários locatários compartilham o espaço físico do datacenter, colocando servidores ou racks de servidores lado a lado no mesmo espaço físico, mas compartilhando refrigeração, energia e redes. A colocation oferece um isolamento aprimorado, mas também aumenta os custos e reduz a utilização.
Conforme lemos nos módulos anteriores, com o advento da computação utilitária e melhores tecnologias de compartilhamento de recursos, como a virtualização de servidores, é possível que os aplicativos e os dados de vários locatários coexistam nos mesmos servidores físicos e mesmo assim mantenham um certo grau de isolamento. Essa ideia foi alcançada com a adição de uma camada de software que permite o compartilhamento de recursos físicos. Como os data centers também incluem SANs (sistemas de armazenamento em grande escala) e uma malha de rede hierárquica (comutadores e roteadores), será que essa mesma ideia de usar uma camada de software poderia ser aplicada para permitir o compartilhamento de armazenamento e rede?
O sucesso da virtualização de servidores ao atingir compartilhamento de recursos, uma melhor utilização e flexibilidade e a elasticidade aprimoradas levou ao advento da ideia de um SDDC (datacenter definido pelo software). Um SDDC virtualiza toda a infraestrutura de maneira que possa ser automatizada e fácil de gerenciar. Um cluster virtualizado, que inclui servidores, malha de rede e sistemas de armazenamento, pode ser dissociado dos recursos físicos e fornecido como recurso de software que pode ser configurado e gerenciado. Em vez de criar aplicativos usando servidores dedicados, recursos de armazenamento e recursos de rede, o SDDC oferece a infraestrutura do datacenter como serviços de software, uma vez que todos os recursos necessários podem ser virtualizados.
As principais tecnologias que habilitam o SDDC incluem:
- Virtualização de servidor ou de computação
- SDN (rede definida pelo software)
- SDS (armazenamento definido pelo software)
- Software de gerenciamento e automação
Anteriormente, abordamos a tecnologia madura de virtualização de servidor/computação em detalhes. Neste módulo, apresentaremos brevemente as principais ideias por trás das tecnologias emergentes de SDN e SDS. A SDN e o SDS podem, por exemplo, habilitar a configuração de uma rede isolada com requisitos dedicados de largura de banda e latência em várias VMs e provisionar o armazenamento para um aplicativo com requisitos de largura de banda e latência configuráveis. À medida que o paradigma da computação em nuvem continua a evoluir, veremos a SDN e o SDS desempenharem um papel importante na viabilização de um melhor nível de compartilhamento, isolamento, flexibilidade, garantias de QoS e gerenciamento de recursos de datacenter.