Relatório de Piloto Tecnológico
Plataforma de Cloud Privada baseada em OpenStack
Março 2015
Resumo Executivo:
A Inok realizou uma instalação piloto para analisar as funcionalidades, características
técnicas, casos de utilização e performance da plataforma Openstack como Cloud
Privada IaaS.
O piloto foi realizado no laboratório de I&D da Inok, ao longo de 3 meses, com um
esforço de mais de 1000 homens/hora.
A plataforma Openstack cumpriu os objetivos propostos e passou a produção,
suportando atualmente a Cloud Privada de desenvolvimento da Inok.
Enquadramento:
A Inok adotou o OpenStack como plataforma de IaaS, em configurações single e multi
cloud, dentre as diversas soluções de orquestração que providenciam ou utilizam
plataformas IaaS.
É a plataforma com maior taxa de adopção, como se pode ver pela imagem seguinte
(período 2009-13)
www.inokconsulting.com
Março-2015
A plataforma Openstack tem um posicionamento próximo da Amazon AWS, no que
refere à criação, gestão e orquestração das cargas de trabalho (workloads). A imagem
seguinte ilustra o posicionamento das plataformas em duas abordagens distintas:
•
•
Datacenter Virtualization – a cloud como uma extensão da virtualização de
infraestruturas, procurando automação, orquestração e simplificação da gestão
dos recursos virtualizados;
Infrastructure Provision – a cloud mais no sentido de on-premise AWS (Amazon
Web Services), a procura de ferramentas de aprovisionamento (self-service)
para providenciar recursos virtualizados a pedido.
Objetivos do Piloto:
Pretende-se criar uma plataforma de fornecimento em regime self-service de máquinas
(computação e storage), com base numa biblioteca de imagens previamente criada,
suficientemente ampla para cobrir as necessidades dos utilizadores.
O sistema tem por objectivo servir utilizadores internos a uma organização (Cloud
Privada) ou de um conjunto de organizações associadas (Cloud Comunidade). Deverá
ser possível aos utilizadores acederem às referidas máquinas para
gestão/administração.
O portal deve disponibilizar os recursos aos utilizadores, com base em quotas de
recursos definidas por departamento ou por utilizador. O sistema faz a contabilização
dos recursos usados para efeitos de charge-back.
Tendo por base algumas plataformas públicas (Amazon AWS, Bitnami Cloud Hosting,
etc), foram idealizados alguns casos de uso, como a implementação rápida de
servidores com uma aplicação de uso corrente pré-instalada, e no limite o conceito de .
one click to launch.
Pretende-se um ambiente alta disponibilidade, com storage partilhado, escalável, com
mecanismos de gestão automática da carga pelos nós de computação, com adição e
remoção automática de nós (bastando adicionar um nó ao cluster).
www.inokconsulting.com
Março-2015
Casos de Uso:
- Uma única organização, de grande dimensão e com uma elevada intensidade
tecnológica, pode distribuir a função de criação de servidores e aplicações por
diferentes grupos, que passam a ter autonomia e desta forma aumentam a rapidez e a
flexibilidade dos seus projetos.
- Um grupo de organizações associadas, por exemplo um grupo económico ou um
conjunto de Ministérios, pode beneficiar de uma Cloud em regime de Serviços
Partilhados, com os respectivos ganhos de escala mas com autonomia de cada uma
das organizações.
Arquitetura do Piloto:
O OpenStack é uma plataforma de cloud computing que providencia uma infraestrutura
como serviço (IaaS) e uma variedade de serviços complementares.
A base da plataforma é composta por 3 serviços:
•
•
•
Compute Service (OpenStack Nova) – responsável pelo ciclo das máquinas
virtuais.
Networking Service (OpenStack Neutron) – responsável pela conectividade das
máquinas virtuais e outros serviços como DHCP, firewall, etc…
Storage Service (Openstack Cinder e Swift) – responsável por dois tipos de
armazenamento - block store (discos virtuais para as instâncias, designados por
volumes no OpenStack) e objetos (object store) para aplicações (tipo Amazon
S3).
A estes somam-se os serviços designados por serviços partilhados que oferecem
funcionalidades como:
•
•
Autenticação e Autorização (Identity Service – OpenStack Keystone)
Repositório de Imagens (Image Service – OpenStack Glance) – Imagens são
normalmente discos de arranque (bootable) para máquinas virtuais. Os discos
são previamente configurados para permitir cenários como arranque de N
máquinas virtuais “idênticas”, arranque de máquina virtual com volume de
capacidade superior ao registado na imagem, etc. Este serviço normalmente
utiliza o Swift (object store) para armazenar as imagens.
www.inokconsulting.com
Março-2015
•
•
•
Monitorização e Medição (Telemetry Service – OpenStack Ceilometer) –
primariamente orientado ao billing, é um projeto muito recente e ainda sem um
dashboard amigável.
On-demand provisioning de clusters Hadoop (openstack Sahara)
Catálogo de aplicações que são instaladas automaticamente (openstack
Murano)
Estes serviços expõem todas as suas funcionalidades via API. Esta é, por exemplo,
utilizada por um outro serviço, um “Portal de acesso à plataforma” (Dashboard Service OpenStack Horizon).
O diagrama seguinte ilustra a relação entres todos os serviços (mostrando também o
OpenStack Heat, um novo serviço que oferece funcionalidades de orquestração).
Escolhemos o Ceph como storage backend para os serviços Cinder (volumes) e
Glance (imagens) permite-nos acelerar a criação de máquinas virtuais com base em
imagens aproveitando a inteligência copy-on-write do storage Ceph. Na prática isto
significa que o tempo de criação de uma máquina virtual deixa de depender do
tamanho do disco (volume) associado à mesma.
O storage backend implementado com um cluster Ceph exige no mínimo 3 nós de
armazenamento (com Ceph OSDs) sendo aconselhável existirem 3 outros nós que
controlam o funcionamento do cluster (3 Ceph MON nodes).
www.inokconsulting.com
Março-2015
Instalação do Piloto:
A figura seguinte ilustra o cenário escolhido para a implementação do piloto recorrendo
aos servidores existentes no laboratório de R&D da Inok Consulting.
Os servidores utilizados são idênticos, com 2 CPUs six-core, 32G de RAM, discos SAS
e discos SSD para boot de sistema, 4 placas de rede 10Gbit.
Três servidores foram instalados compute+storage nodes utilizando o disco SAS para
uso exclusivo do CEPH (OSD - object storage daemon) e o disco SSD para boot e
journal do CEPH.
No piloto utilizaram-se 4 redes (conforme diagrama): a rede de storage, management,
pública e administrativa.
www.inokconsulting.com
Março-2015
Resultados e Use Cases:
O administrador do Portal cria as contas de utilizadores e organizações, e procede às
reservas de recursos previstas no acordo de serviços.
O utilizador começa por se autenticar num portal, tendo posteriormente acesso à lista
de instâncias criadas, imagens disponíveis em catálogo, gestão de volumes, redes e
segurança.
Para criar uma máquina virtual, o utilizador escolhe uma das imagens e, especificando
as características de CPU, memória e disco desejadas, cria e levanta a máquina virtual.
Uma vez criada, o utilizador pode aceder remotamente ao servidor, utilizar as
aplicações na rede, ou aceder via consola no portal, como se ilustra na imagem
seguinte.
www.inokconsulting.com
Março-2015
Performance e Benchmark:
O Openstack permite uma performance muito elevada ao nível de nós de computação.
A escolha do Ceph como armazenamento distribuído permitiu obter um tempo muito
reduzido no aprovisionamento de uma máquina virtual.
Realizaram-se testes de carga para a criação de máquinas virtuais com base em
imagens, medindo-se os seguintes parâmetros:
•
•
•
User Input - O tempo despendido no interface do Horizon para configurar
uma nova máquina virtual.
VM Started - O tempo que a plataforma leva para aprovisionar a nova
máquina virtual.
VM Ready - O tempo do primeiro arranque da referida máquina.
O quadro seguinte ilustra estes tempos de forma cumulativa, i.e. tempo até VM Started,
tempo até VM Ready, para o caso da criação individual de uma máquina virtual:
Imagem
CentOS-7-x86_64-GenericCloud20141129_01
Ubuntu 14.04 LTS (trusty-servercloudimg)
Bitnami-wordpress-4.1.1-0-ubuntu-14.04
Windows2012R2 cloudbase init
Flavor
User
Input
VM
Started
VM
Read
y
2VCPU-1GRAM10G
0m20s
1m01s
1m12s
2VCPU-1GRAM10G
0m22s
1m04s
1m41s
2VCPU-2GRAM20G
2VCPU-2GRAM20G
0m20s
1m02s
2m26s
0m21s
1m02s
3m55s
Realizámos um teste comparativo (benchmark) com fornecedores de Clouds públicas,
para imagens com as mesmas características:
Plataforma
S.O./Aplicação
CentOS
Ubuntu/Moodle
VM
Started
2m20s
2m40s
VM
Ready
6m00s
3m23s
Lunacloud CentOS
Bitnami Cloud Hosting on
Amazon EC2
Lunacloud Win2008
Windows 2008
12m22
15m24s
Em qualquer dos casos a Cloud Privada tem mais performance que as Clouds públicas.
Conclusões:
A prova de conceito permitiu atingir os objetivos inicialmente propostos de criação e
obter um Portal self-service eficiente para criação rápida de máquinas virtuais, com
base em imagens previamente configuradas, com uma performance superior às
plataformas comerciais públicas.
O OpenStack provou responder ao cenário Private Cloud/Community Cloud para
utilizadores com algum domínio técnico. É recomendado adoptar um portal de frontend, para esconder parte da riqueza e diversidade técnica do Horizon, criando
ambientes de one-click-to-launch.
www.inokconsulting.com
Março-2015
Download

Relatório de Piloto Tecnológico Plataforma de Cloud Privada