Cloud Computing e
Software livre com
CloudStack
#flisol201525/04/2015
#whoami
Ricardo Martins
@ricardomartins
ricardomartins.com.br/manpage
facebook.com/blogricardomartins
1. Cloud Computing
▧ 1.1 O que é Computação em Nuvem
▧ 1.2 Tipos: Pública, Privada e Híbrida
▧ 1.3 Pilares da Computação em
Nuvem
▧ 1.4 Camadas
#roteiro
2. CloudStack
▧ 2.1 O que é
▧ 2.2 História
▧ 2.3 Destaques
▧ 2.4 Terminologias
▧ 2.5 Arquitetura
▧ 2.6 Storage
▧ 2.7 Management Server
▧ 2.8 Features
▧ 2.9 Devcloud
1.1
O que é computação em
nuvem?
“É um estilo de computação onde recursos de
TI escaláveis e elásticos são fornecidos como
um serviço usando tecnologias de rede e/ou
Internet.
Gaertner
Processamento
Armazenamento
Software
1.2
Tipos de Computação em
Nuvem
Tipos de Computação em Nuvem
▧ Pública
▧ Privada
▧ Híbrida
1.3
Pilares da Computação
em Nuvem
Pilares da Computação em Nuvem
▧ Flexibilidade:
○ Você não está limitado á um modelo específico de recurso;
▧ Elasticidade:
○ Capacidade de provisionar e desprovisionar rapidamente grandes
quantidades de recursos em tempo de execução;
▧ Escalabilidade:
○ Dimensione de acordo com a demanda;
■ Vertical: Adição de recursos (memória, cpu, disco) em uma
infraestrutura existente;
■ Horizontal: Adição de novos componentes de maneira
transparente ao lado de componentes já existentes.
▧ Confiabilidade:
○ Segurança e Alta Disponibilidade.
1.4
Camadas da Computação
em Nuvem
Camadas da Computação em Nuvem
IaaS
PaaS
SaaS
Abstração
Controle
Camadas da Computação em Nuvem
▧ SAAS (Software as a Service)
O cliente utiliza aplicativos criados pelo provedor e que são executados em
uma infraestrutura em nuvem.
- Gmail, GoogleDocs;
- Heroku;
- Sales Force;
- Office 365;
- Dropbox.
Camadas da Computação em Nuvem
▧ PAAS (Platform as a Service)
O cliente pode desenvolver aplicações próprias a partir das ferramentas
disponibilizadas pelo provedor. Não administra ou controla a infraestrutura
na nuvem, mas pode controlar o seu ambiente de desenvolvimento e os
seus aplicativos.
- Google App Engine;
- AWS Elastic Beanstalk;
- Cloud Foundry;
- Tsuru (Globo.com);
- Azure.
Camadas da Computação em Nuvem
▧ IAAS (Infrastructure as a Service)
O cliente pode criar suas instâncias, configurar recursos como
armazenamento, memória, processadores, tráfego, rede, load balancers.
Além disso possui controle sobre os sistemas operacionais e aplicativos
instalados
- CloudStack;
- Openstack;
- Amazon AWS;
- Azure;
- Rackspace;
- Digital Ocean.
Matriz de Responsabilidades
Aplicação
Plataforma
Infraestrutura
Virtualização
Servidor Servidor Servidor Storage Storage
Aplicação
Plataforma
Infraestrutura
Virtualização
Servidor Servidor Servidor Storage Storage
Virtualização não é Computação em Nuvem
… Hypervisor, Virtualização, Paravirtualização ?!
Hypervisor é a camada de software/hardware que permite a execução concorrente de vários
sistemas operacionais em um mesmo computador.
É responsável pelo controle da execução das máquinas virtuais e também funciona como um
mediador entre os dispositivos virtuais e o hardware, como por exemplo transações de I/O.
Para isto precisa ter controle sobre o processador e sobre o resto do hardware.
Existem dois tipos de Hypervisors:
▧ Tipo 1, também chamado de nativo ou “bare-metal”.
▧ Tipo 2, também chamado de hospedado (hosted em inglês).
… Hypervisor, Virtualização, Paravirtualização ?!
▧ TIPO 1: NATIVO
Bare-metal é o termo dado a execução de
software diretamente sobre o hardware,
sem nenhuma outra camada de software.
O Hypervisor tem controle total sobre o
processador e o resto do hardware.
Exemplos: VMware ESXi, o Xen e o KVM
(Kernel-based Virtual Machine) que são
Kernels Linux modificados para trabalhar
como Hypervisors.
… Hypervisor, Virtualização, Paravirtualização ?!
▧ TIPO 2: HOSPEDADO
Este tipo de Hypervisor é executado como
um software sobre um sistema
operacional normal chamado de hospede.
Logo, nesta situação o Hypervisor tem
controle limitado sobre o hardware.
Exemplos: VirtualPC, VMware
Player/Fusion/Workstation, Parallels
Desktop/Workstation, VirtualBox, dentre
vários outros.
… Hypervisor, Virtulização, Paravirtualização ?!
▧ Virtualização (Full)
O hypervisor emula todo o hardware para as máquinas virtuais.
O sistema operacional da máquina virtual nem percebe que está rodando em um ambiente
virtualizado, e tudo o que ele precisa são os device drivers para os dispositivos que o
hypervisor emula.
A grande vantagem da Virtualização “Full” é a compatibilidade com qualquer sistema
operacional que rode no hardware emulado (sem a necessidade de alterações).
▧ Paravirtualização
O hypervisor interage de uma forma mais eficiente com o sistema que roda na máquina
virtual, mas isso tem um custo: o sistema operacional precisa ser modificado para ser
compatível com a paravirtualização. Caso contrário, a emulação tem que entrar em cena,
penalizando a performance.
2.1
O que é o CloudStack
“É um projeto de código aberto da Apache
Software Foundation (ASF), para a
implantação de IaaS em nuvens públicas,
privadas e híbridas.
O Apache CloudStack gerencia a rede, storage
e servidores que compõem a infra-estrutura da
sua nuvem.
Faz a orquestração de hypervisors e appliances
de rede permitindo um controle simples de
tarefas complexas.
O que é o CloudStack
2.2
História do CloudStack
História do CloudStack
▧ Começou em 2008, pela empresa Vmops;
▧ Em 2010, a VMops passou a se chamar Cloud.com;
▧ Ainda em 2010, o Cloudstack foi lançado, com 98% do código aberto;
▧ Em 2011 o Cloudstack foi comprado pela Citrix que liberou os 2% restantes sob a
licença GPLv3;
▧ Em 2012 a Citrix doou o Cloudstack para o Apache Software Foundation e ele foi aceito
pela Incubadora Apache;
▧ Em 2013 o CloudStack foi promovido à um projeto Top-Level da ASF comprovando
maturidade de código e da comunidade;
▧ A marca não está mais no nome da Citrix e agora está sob a licença Apache 2.0;
▧ Disponível para download na versão 4.4.3.
2.3
Destaques do CloudStack
Destaques do CloudStack
▧ Agnóstico de Hypervisor: XenServer (diretamente via Pool Master), Hyper-V, KVM
(integrado ao libvirt via cloud agent), Vmware (integrado pelo vCenter);
▧ Arquitetura escalável: Suporta milhares de hosts e máquinas virtuais (* Case da Zynga
com mais de 50K hosts e centenas de milhares de máquinas virtuais);
▧ Alta Disponibilidade: Possui configurações que permitem failover automatico de
máquinas virtuais;
▧ Network-as-a-Service: L2, L3, Gateway Privados, VPN site-to-site e de usuário, IPs
públicos, IPs privados, Balanceamento de carga (HA-proxy, Netscaler e F5);
▧ Multi-Tenant: Permite a co-existência de contas diferentes utilizando recursos
compartilhados, porém isolados um dos outros;
▧ Livre escolha de interfaces: Web UI, CLI (CloudMonkey), CloudStack API;
Destaques do CloudStack
▧ APIs compatíveis com AWS e S3: AWSAPI permite integrar uma nuvem privada
CloudStack com a nuvem AWS conectando os recursos de rede L3, permitindo rotear
pacotes entre as nuvens;
▧ Permite ainda integrar uma solução de GSLB para auto escalar na nuvem da AWS
quando os recursos da nuvem Cloudstack privada estiver esgotada, usando por
exemplo o Citrix Netscaler com o CloudBridge;
▧ Suporta qualquer storage de objetos com suporte a S3 para armazenamento de
Snapshots, ISOs e Templates, como por exemplo, Ceph, RiakCS, xRootd
Destaques do CloudStack
Plataforma aberta e flexível
2.4
Terminologias do
CloudStack
Terminologias do CloudStack
▧ Region: Similares às regiões da AWS,
são a primeira e maior unidade de
implementação de uma cloud.
Consiste em Zonas de
Disponibilidade;
▧ Zone: Zona de Disponibilidade.
Geralmente DataCenters distintos;
▧ Pods: Rack em um DataCenter;
▧ Clusters: Grupo de máquinas com o
mesmo tipo de hypervisor e que
compartilham o mesmo storage
primário;
▧ Hosts: Os servidores físicos;
Region
Terminologias do CloudStack
▧ Primary Storage: Storage
compartilhado no cluster. É onde
estão os discos das máquinas virtuais.
Pode ser o disco local de um Host ou
um storage compartilhado como NFS,
iSCSI, FiberChannel, etc;
* No VMware e Hyper-V, poder ser
zone-wide.
▧ Secondary Storage: Storage
compartilhando na zona. Nele estão
os templates de máquinas virtuais,
ISO's e Snapshots. Utiliza NFS e pode
usar Swift para replicar o conteúdo
entre zonas.
** À partir da versão 4.4.x, é possivel
copiar templates/iso de uma zona
para outra sem depender do swift
através do uso da API ou GUI.
Region
2.5
Arquitetura do CloudStack
Arquitetura do CloudStack
▧ O hypervisor é a unidade básica para
escalabilidade;
▧ Um único Management Server pode
gerenciar múltiplas zonas e ele precisa
estar fora da cloud, pois o hypervisor
precisa ser entregue ao CloudStack
limpo, sem nada dentro;
▧ O cluster consiste em um ou mais
hosts do mesmo hypervisor
▧ Todos os hosts no cluster possuem
acesso ao storage primário
compartilhado;
Arquitetura do CloudStack
▧ Os pod's podem representar um ou
mais clusters, usualmente conectados
via switches L2;
▧ As zonas de disponibilidade possuem
um ou mais pod's, com acesso ao
storage secundário;
▧ Uma nuvem, pode ser representada
por uma ou mais zonas.
2.6
CloudStack Storage
CloudStack Storage
▧ Storage Primário:
○ Qualquer dispositivo que possa ser montado em um nó do cluster;
○ Armazena os discos das VM's e snapshots de VM's (não é o snapshot de disco);
○ Funciona como shared storage para migração de VM's entre hosts, e pode utilizar
disco local, NFS, Cluster LVM, ISCSI, FC, FCoE.
▧ Storage Secundário:
○ Disponível entre zonas;
○ Mantém ISO's, Snapshots e Templates (Repositório). Templates e ISO's podem ser
privados ou públicos;
2.7
CloudStack Management
Server
CloudStack Management Server
▧ Servidor de gerência do CloudStack
○ Todas as funcionalidades disponíveis na interface de usuário, também estão
disponíveis via chamadas API;
○ RestfulAPI
■ Sem autenticação na porta 8096 para localhost (desabilitada por padrão)
■ Autenticação na porta 8080
■ Repostas em JSON ou XML
2.8
Features:
Alta Disponibilidade
Balanceamento de Carga
Snapshots
Networking
Security Groups
Contabilidade
Cloud Monkey
Gerenciamento
Features: Alta Disponibilidade
▧ RFMTTR – “really fast mean time to recovery”;
▧ CloudStack não é uma solução de HA mágica;
▧ Monitora o "HA-enabled" das VM's para garantir que estão ok e que o hypervisor
também esteja ok. Irá reiniciar a instância em outro hypervisor se o atual estiver fora;
▧ Virtual Router redundante.
▧ VPC Virtual Router (Em roadmap)
Features: Balanceamento de Carga
▧ Utiliza HA Proxy;
▧ Suporta balanceamento de carga para distribuir o tráfego entre suas instâncias;
▧ Escolha entre round-robin, source ou least connection.
○ Round Robin: Direciona para cada um dos nós de modo alternado.
○ Source (proximidade): Direciona para o nó mais próximo.
○ Least Connection: Direciona para o nó com menos conexões.
Features: Snapshots
▧ Permite snapshots manuais ou recorrentes;
▧ Snapshots podem ser gerenciados automaticamente, escolhendo manter um número X,
ou manualmente, deletá-los;
▧ Podem ser convertidos em templates ou volumes para serem usados por outras
instâncias.
Features: Networking
▧ O que o CloudStack pode gerenciar:
○ DHCP;
○ Alocação de VLAN's nos hypervisors (não configura switch fisico);
○ Firewall;
○ NAT/Port Forwarding;
○ Roteamento;
○ VPN;
○ Balanceamento de Carga;
○ Suporte a SDN - Software Defined Network (Vmware NSX, BigSwitch Fabric);
○ Pode ainda gerenciar dispositivos físicos de rede (F5-Big IP, NetScaler, Juniper
SRX).
Features: Networking
▧ Tipos de Redes do CloudStack:
○ Management Network: Usada pelos hypervisors e o servidor de gerenciamento
para se comunicarem.
○ Public Network: Rede exposta (Internet);
○ Guest Network: Rede onde as VMs são provisionadas. Existem três tipos de redes
guest:
■ Guest Básica - Compartilhada com grupos de segurança;
■ Guest Avançada - Grupos de Segurança;
■ Guest Avançada - Compartilhada, Isolada, VPC
* É possível dedicar uma rede para tráfego do secondary storage
▧ Guest Básica - Compartilhada com grupos de segurança.
○ Fornece uma única rede flat onde o isolamento dos hospedes pode ser fornecido
através da camada 3 (IP) utilizando grupos de segurança (filtragem por ip de
origem);
Features: Networking
▧ Guest Avançada - Compartilhada com grupos de segurança.
○ Semelhante à rede básica porém fornece mais de uma rede onde o isolamento
dos hóspedes pode ser fornecido através da camada 3 (IP) utilizando grupos de
seguranca (filtragem por IP de origem);
Features: Networking
▧ Guest Avançada - Compartilhada, Isolada ou VPC.
○ Este modelo fornece maior flexibilidade na definicão de rede guest e fornece
ofertas de redes personalizadas, como Firewall, VPN, Load Balancer e recursos de
VPC. O isolamento dos guests é realizado através da camada 2 (Ethernet) usando
por exemplo, VLANs ou SDN.
Features: Networking
▧ Guest Avançada - Compartilhada: Roteada por elemento L3 externo (Switch L3, Router,
FW)
Features: Networking
▧ Guest Avançada - Isolada : Roteada pelo virtual router;
Features: Networking
▧ Guest Avançada - VPC: Roteada pelo virtual router multi-tier
Features: Networking
* LBVM: Load Balancing of Virtual Machines
Features: Security Groups
▧ Isolamento tradicional feito via L3. Uma regra de Firewall no Hypervisor não permite que
uma instância fale com outra a não ser que estejam no mesmo security group, ainda que
estejam na mesma VLAN e mesmo range de IP's;;
▧ Limite padrão de 4,096 VLANs;
▧ Deny por padrão.
Features: Contabilização de Recursos
▧ Permite a contabilização do uso de recursos;
▧ Estatísticas de uso mostram: Contagem de VMs, uso de CPU, alocação e uso de disco e
uso de rede.
Features: CloudMonkey (CLI)
▧ Escrito em Python;
▧ Automatiza tarefas administrativas;
▧ Seguro: utiliza a API, par de Secret keys e assinatura hash para acessar o CloudStack.
Features: Gerenciamento
▧ Fácil de configurar e administrar, via interface gráfica de usuário, API e ferramentas de
linha de comando como o CloudMonkey;
▧ O wizard facilita a configuração e implantação de sua primeira Zona, Rede, POD, Cluster,
Host e Storage.
2.9
DevCloud
DevCloud
▧ Appliance Virtual para estudo;
▧ Formato OVA;
▧ https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud
Onde encontrar mais informações?
▧ Lista de discussão (BR):
○ https://groups.google.com/forum/#!forum/cloudstack-br
▧ Grupo no Linkedin:
○ http://www.linkedin.com/groups?home=&gid=5062193
▧ Site:
○ http://cloudstack.apache.org/
▧ Listas de Discussão:
○ http://cloudstack.apache.org/mailing-lists.html
▧ Download:
○ http://cloudstack.apache.org/downloads.html
Quem usa?
▧ USP;
▧ Zynga;
▧ Globo.com;
▧ Apple;
▧ Nokia;
▧ Spotify;
▧ Dell;
▧ Disney;
▧ SAP;
▧ GoDaddy;
▧ Cern;
▧ Softlayer;
▧ Datapipe;
▧ Huawey;
▧ Promon Logicalis;
▧ Verizon;
▧ Zenoss;
▧ Alcatel-Lucent;
▧ Autodesk;
▧ NTT;
▧ Orange;
▧ ...
*** A USP é a maior cloud privada da
América Latina. Alguns dados do que eles
gerenciam com CloudStack:
▧ 6 Datacenters em 6 cidades;
▧ + 500 nós;
▧ + 10K cores;
▧ + 250 TB memória;
▧ + 15 PB disco;
▧ + 2000 interfaces de rede 10Gbps;
▧ + 7000 VM’s criadas;
▧ + 300 LAN’s;
Obrigado!
Perguntas?
contato@ricardomartins.com.br

Flisol 2015

  • 1.
    Cloud Computing e Softwarelivre com CloudStack #flisol201525/04/2015
  • 2.
  • 3.
    1. Cloud Computing ▧1.1 O que é Computação em Nuvem ▧ 1.2 Tipos: Pública, Privada e Híbrida ▧ 1.3 Pilares da Computação em Nuvem ▧ 1.4 Camadas #roteiro 2. CloudStack ▧ 2.1 O que é ▧ 2.2 História ▧ 2.3 Destaques ▧ 2.4 Terminologias ▧ 2.5 Arquitetura ▧ 2.6 Storage ▧ 2.7 Management Server ▧ 2.8 Features ▧ 2.9 Devcloud
  • 4.
    1.1 O que écomputação em nuvem?
  • 5.
    “É um estilode computação onde recursos de TI escaláveis e elásticos são fornecidos como um serviço usando tecnologias de rede e/ou Internet. Gaertner
  • 6.
  • 7.
  • 8.
    Tipos de Computaçãoem Nuvem ▧ Pública ▧ Privada ▧ Híbrida
  • 9.
  • 10.
    Pilares da Computaçãoem Nuvem ▧ Flexibilidade: ○ Você não está limitado á um modelo específico de recurso; ▧ Elasticidade: ○ Capacidade de provisionar e desprovisionar rapidamente grandes quantidades de recursos em tempo de execução; ▧ Escalabilidade: ○ Dimensione de acordo com a demanda; ■ Vertical: Adição de recursos (memória, cpu, disco) em uma infraestrutura existente; ■ Horizontal: Adição de novos componentes de maneira transparente ao lado de componentes já existentes. ▧ Confiabilidade: ○ Segurança e Alta Disponibilidade.
  • 11.
  • 12.
    Camadas da Computaçãoem Nuvem IaaS PaaS SaaS Abstração Controle
  • 13.
    Camadas da Computaçãoem Nuvem ▧ SAAS (Software as a Service) O cliente utiliza aplicativos criados pelo provedor e que são executados em uma infraestrutura em nuvem. - Gmail, GoogleDocs; - Heroku; - Sales Force; - Office 365; - Dropbox.
  • 14.
    Camadas da Computaçãoem Nuvem ▧ PAAS (Platform as a Service) O cliente pode desenvolver aplicações próprias a partir das ferramentas disponibilizadas pelo provedor. Não administra ou controla a infraestrutura na nuvem, mas pode controlar o seu ambiente de desenvolvimento e os seus aplicativos. - Google App Engine; - AWS Elastic Beanstalk; - Cloud Foundry; - Tsuru (Globo.com); - Azure.
  • 15.
    Camadas da Computaçãoem Nuvem ▧ IAAS (Infrastructure as a Service) O cliente pode criar suas instâncias, configurar recursos como armazenamento, memória, processadores, tráfego, rede, load balancers. Além disso possui controle sobre os sistemas operacionais e aplicativos instalados - CloudStack; - Openstack; - Amazon AWS; - Azure; - Rackspace; - Digital Ocean.
  • 16.
  • 17.
  • 18.
    Aplicação Plataforma Infraestrutura Virtualização Servidor Servidor ServidorStorage Storage Virtualização não é Computação em Nuvem
  • 19.
    … Hypervisor, Virtualização,Paravirtualização ?! Hypervisor é a camada de software/hardware que permite a execução concorrente de vários sistemas operacionais em um mesmo computador. É responsável pelo controle da execução das máquinas virtuais e também funciona como um mediador entre os dispositivos virtuais e o hardware, como por exemplo transações de I/O. Para isto precisa ter controle sobre o processador e sobre o resto do hardware. Existem dois tipos de Hypervisors: ▧ Tipo 1, também chamado de nativo ou “bare-metal”. ▧ Tipo 2, também chamado de hospedado (hosted em inglês).
  • 20.
    … Hypervisor, Virtualização,Paravirtualização ?! ▧ TIPO 1: NATIVO Bare-metal é o termo dado a execução de software diretamente sobre o hardware, sem nenhuma outra camada de software. O Hypervisor tem controle total sobre o processador e o resto do hardware. Exemplos: VMware ESXi, o Xen e o KVM (Kernel-based Virtual Machine) que são Kernels Linux modificados para trabalhar como Hypervisors.
  • 21.
    … Hypervisor, Virtualização,Paravirtualização ?! ▧ TIPO 2: HOSPEDADO Este tipo de Hypervisor é executado como um software sobre um sistema operacional normal chamado de hospede. Logo, nesta situação o Hypervisor tem controle limitado sobre o hardware. Exemplos: VirtualPC, VMware Player/Fusion/Workstation, Parallels Desktop/Workstation, VirtualBox, dentre vários outros.
  • 22.
    … Hypervisor, Virtulização,Paravirtualização ?! ▧ Virtualização (Full) O hypervisor emula todo o hardware para as máquinas virtuais. O sistema operacional da máquina virtual nem percebe que está rodando em um ambiente virtualizado, e tudo o que ele precisa são os device drivers para os dispositivos que o hypervisor emula. A grande vantagem da Virtualização “Full” é a compatibilidade com qualquer sistema operacional que rode no hardware emulado (sem a necessidade de alterações). ▧ Paravirtualização O hypervisor interage de uma forma mais eficiente com o sistema que roda na máquina virtual, mas isso tem um custo: o sistema operacional precisa ser modificado para ser compatível com a paravirtualização. Caso contrário, a emulação tem que entrar em cena, penalizando a performance.
  • 23.
    2.1 O que éo CloudStack
  • 24.
    “É um projetode código aberto da Apache Software Foundation (ASF), para a implantação de IaaS em nuvens públicas, privadas e híbridas.
  • 25.
    O Apache CloudStackgerencia a rede, storage e servidores que compõem a infra-estrutura da sua nuvem. Faz a orquestração de hypervisors e appliances de rede permitindo um controle simples de tarefas complexas. O que é o CloudStack
  • 26.
  • 27.
    História do CloudStack ▧Começou em 2008, pela empresa Vmops; ▧ Em 2010, a VMops passou a se chamar Cloud.com; ▧ Ainda em 2010, o Cloudstack foi lançado, com 98% do código aberto; ▧ Em 2011 o Cloudstack foi comprado pela Citrix que liberou os 2% restantes sob a licença GPLv3; ▧ Em 2012 a Citrix doou o Cloudstack para o Apache Software Foundation e ele foi aceito pela Incubadora Apache; ▧ Em 2013 o CloudStack foi promovido à um projeto Top-Level da ASF comprovando maturidade de código e da comunidade; ▧ A marca não está mais no nome da Citrix e agora está sob a licença Apache 2.0; ▧ Disponível para download na versão 4.4.3.
  • 28.
  • 29.
    Destaques do CloudStack ▧Agnóstico de Hypervisor: XenServer (diretamente via Pool Master), Hyper-V, KVM (integrado ao libvirt via cloud agent), Vmware (integrado pelo vCenter); ▧ Arquitetura escalável: Suporta milhares de hosts e máquinas virtuais (* Case da Zynga com mais de 50K hosts e centenas de milhares de máquinas virtuais); ▧ Alta Disponibilidade: Possui configurações que permitem failover automatico de máquinas virtuais; ▧ Network-as-a-Service: L2, L3, Gateway Privados, VPN site-to-site e de usuário, IPs públicos, IPs privados, Balanceamento de carga (HA-proxy, Netscaler e F5); ▧ Multi-Tenant: Permite a co-existência de contas diferentes utilizando recursos compartilhados, porém isolados um dos outros; ▧ Livre escolha de interfaces: Web UI, CLI (CloudMonkey), CloudStack API;
  • 30.
    Destaques do CloudStack ▧APIs compatíveis com AWS e S3: AWSAPI permite integrar uma nuvem privada CloudStack com a nuvem AWS conectando os recursos de rede L3, permitindo rotear pacotes entre as nuvens; ▧ Permite ainda integrar uma solução de GSLB para auto escalar na nuvem da AWS quando os recursos da nuvem Cloudstack privada estiver esgotada, usando por exemplo o Citrix Netscaler com o CloudBridge; ▧ Suporta qualquer storage de objetos com suporte a S3 para armazenamento de Snapshots, ISOs e Templates, como por exemplo, Ceph, RiakCS, xRootd
  • 31.
  • 32.
  • 33.
    Terminologias do CloudStack ▧Region: Similares às regiões da AWS, são a primeira e maior unidade de implementação de uma cloud. Consiste em Zonas de Disponibilidade; ▧ Zone: Zona de Disponibilidade. Geralmente DataCenters distintos; ▧ Pods: Rack em um DataCenter; ▧ Clusters: Grupo de máquinas com o mesmo tipo de hypervisor e que compartilham o mesmo storage primário; ▧ Hosts: Os servidores físicos; Region
  • 34.
    Terminologias do CloudStack ▧Primary Storage: Storage compartilhado no cluster. É onde estão os discos das máquinas virtuais. Pode ser o disco local de um Host ou um storage compartilhado como NFS, iSCSI, FiberChannel, etc; * No VMware e Hyper-V, poder ser zone-wide. ▧ Secondary Storage: Storage compartilhando na zona. Nele estão os templates de máquinas virtuais, ISO's e Snapshots. Utiliza NFS e pode usar Swift para replicar o conteúdo entre zonas. ** À partir da versão 4.4.x, é possivel copiar templates/iso de uma zona para outra sem depender do swift através do uso da API ou GUI. Region
  • 35.
  • 36.
    Arquitetura do CloudStack ▧O hypervisor é a unidade básica para escalabilidade; ▧ Um único Management Server pode gerenciar múltiplas zonas e ele precisa estar fora da cloud, pois o hypervisor precisa ser entregue ao CloudStack limpo, sem nada dentro; ▧ O cluster consiste em um ou mais hosts do mesmo hypervisor ▧ Todos os hosts no cluster possuem acesso ao storage primário compartilhado;
  • 37.
    Arquitetura do CloudStack ▧Os pod's podem representar um ou mais clusters, usualmente conectados via switches L2; ▧ As zonas de disponibilidade possuem um ou mais pod's, com acesso ao storage secundário; ▧ Uma nuvem, pode ser representada por uma ou mais zonas.
  • 38.
  • 39.
    CloudStack Storage ▧ StoragePrimário: ○ Qualquer dispositivo que possa ser montado em um nó do cluster; ○ Armazena os discos das VM's e snapshots de VM's (não é o snapshot de disco); ○ Funciona como shared storage para migração de VM's entre hosts, e pode utilizar disco local, NFS, Cluster LVM, ISCSI, FC, FCoE. ▧ Storage Secundário: ○ Disponível entre zonas; ○ Mantém ISO's, Snapshots e Templates (Repositório). Templates e ISO's podem ser privados ou públicos;
  • 40.
  • 41.
    CloudStack Management Server ▧Servidor de gerência do CloudStack ○ Todas as funcionalidades disponíveis na interface de usuário, também estão disponíveis via chamadas API; ○ RestfulAPI ■ Sem autenticação na porta 8096 para localhost (desabilitada por padrão) ■ Autenticação na porta 8080 ■ Repostas em JSON ou XML
  • 42.
    2.8 Features: Alta Disponibilidade Balanceamento deCarga Snapshots Networking Security Groups Contabilidade Cloud Monkey Gerenciamento
  • 43.
    Features: Alta Disponibilidade ▧RFMTTR – “really fast mean time to recovery”; ▧ CloudStack não é uma solução de HA mágica; ▧ Monitora o "HA-enabled" das VM's para garantir que estão ok e que o hypervisor também esteja ok. Irá reiniciar a instância em outro hypervisor se o atual estiver fora; ▧ Virtual Router redundante. ▧ VPC Virtual Router (Em roadmap)
  • 44.
    Features: Balanceamento deCarga ▧ Utiliza HA Proxy; ▧ Suporta balanceamento de carga para distribuir o tráfego entre suas instâncias; ▧ Escolha entre round-robin, source ou least connection. ○ Round Robin: Direciona para cada um dos nós de modo alternado. ○ Source (proximidade): Direciona para o nó mais próximo. ○ Least Connection: Direciona para o nó com menos conexões.
  • 45.
    Features: Snapshots ▧ Permitesnapshots manuais ou recorrentes; ▧ Snapshots podem ser gerenciados automaticamente, escolhendo manter um número X, ou manualmente, deletá-los; ▧ Podem ser convertidos em templates ou volumes para serem usados por outras instâncias.
  • 46.
    Features: Networking ▧ Oque o CloudStack pode gerenciar: ○ DHCP; ○ Alocação de VLAN's nos hypervisors (não configura switch fisico); ○ Firewall; ○ NAT/Port Forwarding; ○ Roteamento; ○ VPN; ○ Balanceamento de Carga; ○ Suporte a SDN - Software Defined Network (Vmware NSX, BigSwitch Fabric); ○ Pode ainda gerenciar dispositivos físicos de rede (F5-Big IP, NetScaler, Juniper SRX).
  • 47.
    Features: Networking ▧ Tiposde Redes do CloudStack: ○ Management Network: Usada pelos hypervisors e o servidor de gerenciamento para se comunicarem. ○ Public Network: Rede exposta (Internet); ○ Guest Network: Rede onde as VMs são provisionadas. Existem três tipos de redes guest: ■ Guest Básica - Compartilhada com grupos de segurança; ■ Guest Avançada - Grupos de Segurança; ■ Guest Avançada - Compartilhada, Isolada, VPC * É possível dedicar uma rede para tráfego do secondary storage
  • 48.
    ▧ Guest Básica- Compartilhada com grupos de segurança. ○ Fornece uma única rede flat onde o isolamento dos hospedes pode ser fornecido através da camada 3 (IP) utilizando grupos de segurança (filtragem por ip de origem); Features: Networking
  • 49.
    ▧ Guest Avançada- Compartilhada com grupos de segurança. ○ Semelhante à rede básica porém fornece mais de uma rede onde o isolamento dos hóspedes pode ser fornecido através da camada 3 (IP) utilizando grupos de seguranca (filtragem por IP de origem); Features: Networking
  • 50.
    ▧ Guest Avançada- Compartilhada, Isolada ou VPC. ○ Este modelo fornece maior flexibilidade na definicão de rede guest e fornece ofertas de redes personalizadas, como Firewall, VPN, Load Balancer e recursos de VPC. O isolamento dos guests é realizado através da camada 2 (Ethernet) usando por exemplo, VLANs ou SDN. Features: Networking
  • 51.
    ▧ Guest Avançada- Compartilhada: Roteada por elemento L3 externo (Switch L3, Router, FW) Features: Networking
  • 52.
    ▧ Guest Avançada- Isolada : Roteada pelo virtual router; Features: Networking
  • 53.
    ▧ Guest Avançada- VPC: Roteada pelo virtual router multi-tier Features: Networking * LBVM: Load Balancing of Virtual Machines
  • 54.
    Features: Security Groups ▧Isolamento tradicional feito via L3. Uma regra de Firewall no Hypervisor não permite que uma instância fale com outra a não ser que estejam no mesmo security group, ainda que estejam na mesma VLAN e mesmo range de IP's;; ▧ Limite padrão de 4,096 VLANs; ▧ Deny por padrão.
  • 55.
    Features: Contabilização deRecursos ▧ Permite a contabilização do uso de recursos; ▧ Estatísticas de uso mostram: Contagem de VMs, uso de CPU, alocação e uso de disco e uso de rede.
  • 56.
    Features: CloudMonkey (CLI) ▧Escrito em Python; ▧ Automatiza tarefas administrativas; ▧ Seguro: utiliza a API, par de Secret keys e assinatura hash para acessar o CloudStack.
  • 57.
    Features: Gerenciamento ▧ Fácilde configurar e administrar, via interface gráfica de usuário, API e ferramentas de linha de comando como o CloudMonkey; ▧ O wizard facilita a configuração e implantação de sua primeira Zona, Rede, POD, Cluster, Host e Storage.
  • 60.
  • 61.
    DevCloud ▧ Appliance Virtualpara estudo; ▧ Formato OVA; ▧ https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud
  • 62.
    Onde encontrar maisinformações? ▧ Lista de discussão (BR): ○ https://groups.google.com/forum/#!forum/cloudstack-br ▧ Grupo no Linkedin: ○ http://www.linkedin.com/groups?home=&gid=5062193 ▧ Site: ○ http://cloudstack.apache.org/ ▧ Listas de Discussão: ○ http://cloudstack.apache.org/mailing-lists.html ▧ Download: ○ http://cloudstack.apache.org/downloads.html
  • 63.
    Quem usa? ▧ USP; ▧Zynga; ▧ Globo.com; ▧ Apple; ▧ Nokia; ▧ Spotify; ▧ Dell; ▧ Disney; ▧ SAP; ▧ GoDaddy; ▧ Cern; ▧ Softlayer; ▧ Datapipe; ▧ Huawey; ▧ Promon Logicalis; ▧ Verizon; ▧ Zenoss; ▧ Alcatel-Lucent; ▧ Autodesk; ▧ NTT; ▧ Orange; ▧ ... *** A USP é a maior cloud privada da América Latina. Alguns dados do que eles gerenciam com CloudStack: ▧ 6 Datacenters em 6 cidades; ▧ + 500 nós; ▧ + 10K cores; ▧ + 250 TB memória; ▧ + 15 PB disco; ▧ + 2000 interfaces de rede 10Gbps; ▧ + 7000 VM’s criadas; ▧ + 300 LAN’s;
  • 64.