Computação em nuvem: Arquitetando uma nuvem privada da Microsoft

Nesta primeira parte de uma série composta por quatro partes, você aprenderá o que é uma nuvem privada e descobrirá como a Infraestrutura como um Serviço hospedada pode dar suporte a esse ambiente.

David Ziembicki e Adam Fazio

Há muitas definições para computação em nuvem, mas uma das mais concisas e amplamente reconhecidas é a do National Institute of Standards and Technology (NIST). O NIST define cinco características essenciais, três modelos de serviço e quatro modelos de implantação. As características essenciais formam a base da definição. As características necessárias para que qualquer solução possa ser chamada de uma verdadeira solução de “nuvem” incluem:

  • Autoatendimento sob demanda
  • Amplo acesso à rede
  • Pool de recursos
  • Elasticidade rápida
  • Serviço medido

O NIST também define três modelos de serviço, ou o que algumas vezes recebe o nome de camadas de arquitetura:

  • Infraestrutura como um serviço (IaaS)
  • Software como um serviço (SaaS)
  • Plataforma como um serviço (PaaS)

Por fim, define quatro modelos de implantação:

  • Nuvem privada
  • Nuvem comunitária
  • Nuvem pública
  • Nuvem híbrida

Por dentro da nuvem

O Microsoft Services projetou, criou e implementou uma solução de Nuvem Privada/IaaS usando o Windows Server, o Hyper-V e o System Center. Nosso objetivo ao longo dessa série composta por quatro partes será mostrar como você pode integrar e implantar cada um dos produtos dos componentes como uma solução e, ao mesmo tempo, fornecer os atributos de nuvem essenciais, como elasticidade, pool de recursos e autoatendimento.

Neste primeiro artigo, definiremos Nuvem Privada/IaaS, descreveremos os atributos de nuvem e os princípios de design de datacenters usados como requisitos e, em seguida, detalharemos a arquitetura de referência criada para atender a esses requisitos. Nas partes dois e três, descreveremos o design detalhado da arquitetura de referência, cada uma das camadas e produtos contidos nela, bem como o processo e a automação do fluxo de trabalho. Por fim, na parte quatro, descreveremos a automação de implantação criada usando o Microsoft Deployment Toolkit e Hydration Framework para obter implementações consistentes e repetíveis.

Para obter uma definição consistente da nuvem, usaremos os modelos de implantação do NIST. Usaremos o termo Nuvem Privada com frequência em uma variedade de contextos sem especificar o modelo de serviço discutido.

Além das características descritas na definição do NIST, adicionamos vários requisitos para este projeto:

  • Resiliência sobre redundância
  • Homogeneização e padronização
  • Pool de recursos
  • Virtualização
  • Gerenciamento de malha
  • Elasticidade
  • Particionamento de recursos compartilhados
  • Transparência de custos

Uma equipe da Microsoft reuniu e definiu esses princípios. A equipe criou um perfil para a organização Global Foundation Services (GFS), que executa nossos megadatacenters; para o MSIT, que executa a infraestrutura interna e os aplicativos da Microsoft; e para vários clientes de grande porte que concordaram em participar da pesquisa. Com as definições declaradas e os requisitos aceitos, passamos para a fase de design da arquitetura. Aqui, definimos melhor os requisitos e criamos um modelo de arquitetura para atendê-los.

Arquitetura de referência de Nuvem Privada/IaaS

Usando uma abordagem de arquitetura descrita em um dos meus artigos técnicos, “Da virtualização à TI dinâmica” (The Architecture Journal, junho de 2010), escolhemos o modelo mostrado na Figura 1 como base para a arquitetura de referência.  

Figura 1 A base para nossa arquitetura de referência.

Camada de hardware

A camada de hardware inclui as instalações do datacenter e os sistemas mecânicos, bem como a estrutura de armazenamento, de rede e de computação. Cada um desses elementos deve fornecer interfaces de gerenciamento que permitam interagir com níveis superiores da arquitetura. Exemplos incluem servidores com suporte para Web Services-Management (WS-Management) e matrizes de armazenamento que forneçam interfaces do Windows PowerShell ou do Storage Management Initiative – Specification (SMI-S).

A Microsoft afirma que desenvolveu o programa Microsoft Hyper-V Cloud FastTrack para combinar softwares da Microsoft; orientação consolidada; configurações validadas de parceiros OEM para computação, rede e armazenamento; e componentes de software de valor agregado a fim de criar soluções de nuvem privada. Hewlett-Packard Co., Dell Inc., IBM Corp., Fujitsu, Hitachi Ltd. e NEC Corp. são parceiros FastTrack e fornecem soluções integradas e validadas para a camada de hardware.

Camada de virtualização

O Windows Server 2008 R2 (agora com service pack 1) e o Hyper-V fornecem a camada de virtualização. Isso nos permite usar as máquinas virtuais (VMs) e a rede com VLANs, e fornecer armazenamento por meio de volumes compartilhados do cluster e discos virtuais. A camada de virtualização nos ajuda a atingir várias das características essenciais do NIST, como pool de recursos e elasticidade. Podemos compartilhar e provisionar capacidade muito mais rapidamente por meio da virtualização.

Camada de automação

A camada de automação é a próxima camada da pilha, de baixo para cima (consulte a Figura 2). As camadas de automação, gerenciamento e orquestração são projetadas da mais granular até a de maior amplitude em termos de automação de processo de TI. A camada mais baixa — a camada de automação — inclui tecnologias como Windows PowerShell 2.0, Windows Management Instrumentation (WMI) e WS-Management. Essas tecnologias básicas fornecem a interface entre os sistemas de gerenciamento superior e os recursos físicos e virtuais.

Figura 2 O modelo de arquitetura de baixo para cima usado para o modelo de Nuvem Privada.

Camada de gerenciamento

A camada de gerenciamento consiste em vários produtos do Microsoft System Center que utilizam as tecnologias da camada de automação para realizar tarefas de gerenciamento, como controlar a conformidade de patches, implantar patches e verificar a instalação. A camada de gerenciamento fornece automação de processo básico, mas geralmente é limitada a um aspecto do ciclo de vida do gerenciamento do servidor (como implantação, aplicação de patch, monitoramento, backup e assim por diante).

Camada de orquestração

A camada de orquestração geralmente não é vista em ambientes de TI tradicionais, mas é crítica para fornecer atributos de nuvem. A camada de orquestração vincula vários produtos, tecnologias e processos para permitir um processo de automação de TI fim a fim. Embora o System Center Configuration Manager possa automatizar a implantação de patches, integrá-lo com um sistema de gerenciamento de serviços ou a outros produtos e soluções de terceiros exige uma camada de orquestração para coordenar um processo fim a fim em vários produtos.

Para esta camada, usamos o System Center Opalis (que, em breve, será chamado de Center Orchestrator). O Opalis integra o pacote do System Center e possibilita a integração com uma série de soluções de terceiros e parceiros. A camada de orquestração nos ajuda a criar fluxos de trabalho ou executar registros que podem automatizar tarefas complicadas, como implantação de cluster, aplicação de patch do host e provisionamento da VM.

Interfaces de administrador e de autoatendimento de usuário

O atributo sob demanda ou autoatendimento de usuário da definição do NIST é um novo conceito para várias organizações de TI. Trata-se principalmente de remover as barreiras entre as necessidades dos usuários por recursos de TI e o fornecimento desses recursos. Por exemplo, em algumas organizações, o processo entre a solicitação de um novo servidor e o momento em que ele estará totalmente disponível pode levar até seis meses. As limitações de processos e tecnologias causam esse atraso.

A funcionalidade de autoatendimento exige uma nova interface que permite aos usuários solicitar serviços. Isso geralmente é manifestado em um portal de autoatendimento de TI. Esse portal fornece aos usuários um catálogo de serviços por meio do qual eles podem solicitar itens, como uma nova VM.

Em nossa arquitetura de referência, definimos uma interface de autoatendimento para consumidores e uma interface de administrador centralizada para TI. Para a interface do consumidor, a Microsoft fornece o System Center Virtual Machine Manager (VMM) Self-Service Portal 2.0, e para cenários personalizados e hosters, o Dynamic Datacenter Toolkit for Hosters (DDTK-H). Para a nossa solução, usamos uma versão personalizada do DDTK-H devido a algumas das personalizações e automações necessárias. Prevemos a utilização de uma solução mais pronta para uso dos futuros produtos da Microsoft.

Para a interface de administrador, usamos as interfaces do System Center Service Manager (SCSM) e do System Center. O SCSM é o mais recente produto do Microsoft System Center. Fornece um banco de dados de gerenciamento de configuração (CMDB), bem como uma solução de gerenciamento de alterações robusta. Todas as operações comuns em nossa solução são originadas como solicitações de alteração no SCSM. Elas disparam fluxos de trabalho automatizados no Opalis. É assim que garantimos o gerenciamento de alterações adequado e, ao mesmo tempo, fornecemos automação avançada.

Modelo lógico de Nuvem Privada/IaaS

Uma das principais distinções entre um datacenter tradicional, um ambiente de servidor e uma nuvem privada é a abstração de recursos físicos, como servidores, redes e discos. Eles são colocados em agrupamentos lógicos superiores, como pools de recursos, domínios de falha, domínios de atualização e assim por diante. Esses agrupamentos lógicos são mapeados para uma infraestrutura física e o ajudam a tomar decisões de provisionamento e gerenciamento inteligentes. Com base no trabalho realizado pela Microsoft Global Foundation Services, Windows Azure e MSIT, usamos um modelo lógico para nossa arquitetura de referência (consulte a Figura 3).

Figura 3 O modelo de agrupamentos lógico para a Nuvem Privada/IaaS.

Essas são as definições de objetos:

Malha IaaS: a malha é toda a infraestrutura e os sistemas sob o escopo de controle da arquitetura de referência. A malha pode consistir em vários sites e datacenters.

Datacenter/Site: um local físico ou site que hospeda um ou mais pools de recursos.

Pool de recursos: um pool de recursos é composto de servidor, rede e unidades de escala de armazenamento que compartilham um hardware comum e uma base de configuração. Eles não compartilham um ponto único de falha com nenhum outro pool de recurso (a não ser com as próprias instalações). Você pode subdividir um pool de recursos em outros domínios de falha, sendo que a definição de um domínio de falha é um grupo de partes da infraestrutura física com uma configuração comum que não compartilha um ponto único de falha com nenhum outro domínio de falha. Para simplificar, um pool de recursos e um domínio de falha são equivalentes em nossa solução.

Unidade de escala: uma unidade de escala é um conjunto de servidor, rede e capacidade de armazenamento implantados como uma única unidade. É a menor unidade de capacidade implantada na malha. Dependendo do porte do cliente, uma unidade de escala pode ser um cluster Hyper-V de quatro nós ou um rack completo de servidores blade 64. Em geral, tem o tamanho da nova capacidade média necessária trimestralmente. Em vez de implantar um único servidor de cada vez, implante uma nova unidade de escala quando precisar de capacidade adicional para atender às necessidades e deixe espaço para crescimento.

Cluster de host: um cluster de host é um grupo de dois a 16 servidores Hyper-V em uma configuração de cluster de failover e de suas redes associadas e armazenamento.

Domínio de atualização: um domínio de atualização é um conjunto de partes da infraestrutura dentro de um pool de recursos que você pode manter, colocar offline ou atualizar sem causar nenhum tempo de inatividade às VMs ou cargas de trabalho em execução no pool de recursos. Nesta arquitetura, cada nó um em todos os clusters no pool de recursos um forma um domínio de atualização. Como cada cluster tem um nó sobressalente (15 mais um), podemos realizar a manutenção em um nó em cada cluster sem tempo de inatividade (as VMs são migradas ao vivo antes da manutenção). Portanto, todos os nós um no pool de recursos um são definidos como domínio de atualização um. Todos os nós dois são um domínio de atualização dois, e assim por diante (consulte a Figura 4).

Figura 4 Um pool de recursos com suas unidades de escala filho.

O motivo de definir e implementar esses contêineres é para que você possa automatizar provisionamento e gerenciamento inteligentes. Por exemplo, com uma web farm de quatro servidores, você precisa garantir alta disponibilidade em pelo menos um site em caso de falha no site. Simplesmente garanta que a solicitação de provisionamento está distribuída em dois sites e em dois ou mais pools de recursos. Isso é garantido pela definição dos pools de recursos e pelo seu mapeamento para uma infraestrutura física. O layout adequado das VMs atinge resiliência do serviço.

Os usuários experientes do System Center perceberão que os contêineres e as definições descritas aqui não estão no System Center pronto para uso. Usamos a extensibilidade do SCSM CMDB para definir esses contêineres, atributos e relações. A automação de fluxo de trabalho do Opalis baseia seu resultado neles. No futuro, com o VMM 2012, muitos desses contêineres e relações virão prontos para uso, apesar da convenção de nomenclatura diferente.

Implementação de referência de Nuvem Privada/IaaS

A separação lógica e física da plataforma de gerenciamento e da plataforma de hospedagem da VM ajuda cada escala de forma independente (consulte a Figura 5). O centro do diagrama na Figura 5 mostra os pools de recursos sob o escopo do sistema de gerenciamento e que a solução completa pode ser implantada dentro de um datacenter existente.

Figura 5 Um diagrama lógico da maneira como implementaríamos a arquitetura.

Um dos elementos-chave para a implementação da referência é a implantação automatizada para aumentar a velocidade da implantação e a consistência da implementação. Isso é verdade porque o Microsoft Services trabalha com uma grande variedade de parceiros e clientes. Para a automação da implantação, a implementação da referência inclui o Microsoft Deployment Toolkit (MDT) e o Microsoft Services Hydration Framework gratuitos. Isso fornece automação de implantação adicional além do MDT.

A próxima etapa no processo de design foi identificar todas as áreas necessárias do design detalhado. Entre elas:

  • Design detalhado para cada produto do System Center
  • Design detalhado para a infraestrutura de hospedagem de gerenciamento de malha
  • Provisionamento de gerenciamento de malha
  • Design de unidade de escala
  • Provisionamento de unidade de escala
  • Design de fluxo de trabalho

A arquitetura de referência fornece uma solução para cada um dos atributos de nuvem do NIST e um mecanismo para automação de TI avançada. Na escolha de quais cenários seriam automatizados, nos concentramos nos cenários de erro com maior complexidade, custo e risco para o usuário. Para isso, a solução automatiza os seguintes processos:

Instalação do gerenciamento de malha:

  • Implantação de host Hyper-V para gerenciamento de malha
  • Implantação do cluster virtual do SQL
  • Implantação do VMM
  • Implantação do SCSM
  • Implantação do System Center Operations Manager (SCOM)
  • Implantação do System Center Configuration Manager (SCCM)
  • Implantação do System Center Opalis
  • Personalização e configuração

Provisionamento de unidade de escala (cluster de host):

  • Instalação de sistema operacional bare-metal
  • Instalação do Hyper-V
  • Configuração do cluster

Aplicação de patch de unidade de escala (cluster de host):

  • Por domínio de atualização, orquestra migração ao vivo das VMs para fora dos hosts para aplicação de patch usando o modo de manutenção do VMM e do SCOM
  • Orquestra o SCCM para hosts de patch e verifica o sucesso do patch
  • Remove os hosts do modo de manutenção e os move para o próximo domínio de atualização

Manutenção de host:

  • Orquestra migração ao vivo das VMs para fora dos hosts que necessitam de manutenção usando o modo de manutenção do VMM e do SCOM
  • Remove os hosts do modo de manutenção

Provisionamento da VM:

  • Fornece a funcionalidade de provisionamento da VM por meio da interface do portal
  • O Opalis recebe as solicitações de provisionamento e orquestra o provisionamento das VMs a partir de modelos pré-configurados
  • O Opalis garante que a VM será criada e permanecerá visível em todos os produtos do System Center
  • O Opalis instala o agente do SCOM nas VMs solicitadas
  • As VMs são exibidas e podem ser gerenciadas na interface do portal

Desprovisionamento da VM:

  • Faz solicitações para o desprovisionamento das VMs da interface do portal
  • O Opalis recebe as solicitações de desprovisionamento, remove a VM dos produtos do System Center e exclui a VM
  • O Opalis exclui a conta do computador no Active Directory da VM e o registro A do DNS

Na próxima parte desta série, abordaremos o design detalhado da arquitetura de gerenciamento de malha, incluindo o design do cluster Hyper-V de gerenciamento de malha, o design do cluster virtual do SQL e o design de cada um dos produtos do System Center. Além disso, ilustraremos o design da unidade de escala composto de clusters Hyper-V de 16 nós.

David Ziembicki David Ziembicki é arquiteto de soluções da organização Microsoft Public Sector Services CTO, concentrando-se em virtualização e computação em nuvem privada. Como um arquiteto de infraestrutura certificado pela Microsoft, Ziembicki trabalha na Microsoft há cinco anos, liderando projetos de infraestrutura em várias agências governamentais. Ele é um arquiteto líder das ofertas de serviços de nuvem privada e virtualização da Microsoft, foi palestrante em vários eventos da Microsoft e trabalhou como instrutor em vários treinamentos relacionados à virtualização. Visite seu blog.

Adam Fazio Adam Fazio é arquiteto de soluções da organização US Public Sector Services CTO, com uma paixão por evoluir a infraestrutura de TI do cliente de um ativo centrado em custos para um ativo estratégico essencial. Com foco no amplo modelo Core Infrastructure Optimization (Otimização de Infraestrutura Básica), suas especialidades incluem: nuvem privada, datacenter, virtualização, gerenciamento e operações, armazenamento, sistema de rede, segurança, serviços de diretórios, pessoas e processos. Conheça mais sobre o Adam no Private Cloud TechNet Blog e no Twitter.

Conteúdo relacionado