CloudComputing &
CloudStack: Como ter sua
nuvem sem tempestades
●
VI FSLDC – 2014 | http://fsldc.org
Ricardo Martins
2
#whoami
Ricardo Martins
@ricardommartins
http://ricardomartins.com.br
Mestrando em Engenharia Eletrônica - UERJ
Pós Graduando em Educação Tecnológica – CEFET / RJ
Graduado em Redes de Computadores – FATEC / SENAC - RJ
Sysadmin | DevOp | Technology Enthusiast | Cloud Architect
3
#work experience
Atualmente:
– Sysadmin @ Passei Direto
– DevOp/Sysadmin Lead @ Zoop Payments
Anteriores:
– DevOp/Sysadmin @ Globo.com
– Sysadmin @ResolveAí
– Sysadmin @ RimuHosting
– Analista de Gerência de Hosting Sr @ Alog Datacenters
– Senior Sysadmin @ Peixe Urbano
– Analista de Suporte Pleno @ Azul Seguros
– Técnico de Suporte e Manutenção Eletrônica @ TV Globo
– Analista de Sistemas Jr – Urbi Network
4
Roteiro
●
O que é Cloud Computing
●
O que é CloudStack
●
História
●
Highlights
●
Terminologias
●
Arquitetura
●
Storage
●
Management Server
●
Features
●
Devcloud
5
O que é Cloud Computing?
É todo conceito que temos hoje de poder de computação,
seja ele Processamento, Armazenamento ou Software,
disponível na rede local ou remota.
6
Tipos
Pública, Privada e Híbrida
7
Pilares
Flexibilidade
– Você não fica preso a um modelo específico de recurso;
Escalabilidade
– Você é capaz de dimensionar de acordo com a demanda;
Confiabilidade
– Segurança e Alta Disponibilidade.
8
Motivação
Elasticidade
- A capacidade de provisionar e desprovisionar rapidamente
grandes quantidades de recursos em tempo de execução.
Escalabilidade
- Você pode escalar horizontalmente (adicionando
componentes) ou verticalmente (adicionando recursos em
um componente, por exemplo memória, cpu ou disco).
9
Motivação
Agilidade na implementação
- Possibilita a escolha de hardware, configuração de rede,
disco, memória e sistema operacional de forma simples e
rápida.
10
Camadas
Aplicação (SaaS)
Plataforma (PaaS)
Infraestrutura (IaaS)
NíveldeAbstração
NíveldeControle
11
SaaS (Software as a Service)
O cliente utiliza aplicativos criados pelo provedor e que são
executados em uma infraestrutura em nuvem.
O cliente fica limitado apenas as configurações do
aplicativo (usuários e senhas por exemplo).
– Gmail, GoogleDocs;
– Heroku;
– Sales Force;
– Office 365;
– Dropbox.
12
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.
13
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
– Amazon AWS;
– Azure;
– Rackspace;
– Cloudstack;
– Digital Ocean;
– Openstack.
14
Camadas
15
Camadas
16
Camadas
Virtualização ≠ Computação em Nuvem!
17
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.
18
História do CloudStack
●
Começou em 2008, pela empresa Vmops;
●
Em 2010, a VMops pasou 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;
19
História do CloudStack
●
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.0.
20
Highlights 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);
21
Highlights do CloudStack
●
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;
●
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;
22
Highlights do CloudStack
Em relação ao AWS S3, permite utilizá-lo como storage de
objetos (Snapshots, ISOs e Templates).
23
Plataforma aberta e flexível
24
Terminologias
Region ●
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
●
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.
●
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.
25
Arquitetura do CloudStack
●
O hypervisor é a unidade básica para
escalabilidade
●
Um único Management Server pode gerenciar
múltiplas zonas e ele pode estar em um host
em uma VM
●
O cluster consiste em um ou mais hosts do
mesmo hypervisor
●
Todos os hosts no cluster possuem acesso ao
storage primário compartilhado
●
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.
26
CloudStack Storage
●
Storage Primário:
– Qualquer dispositivo que possa ser montado em um nó do
cluster;
– Cluster LVM, iSCSI;
– Armazena os discos das VMs.
●
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;
– Pode usar o Swift (OpenStack) ou qualquer outro storage de
objetos (GlusterFS, S3)
27
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
28
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;
●
Router redundante.
29
Balanceamento de Carga
●
Utiliza HA Proxy;
●
Suporta balanceamento de carga para distribuir o tráfego
entre suas instâncias;
●
Escolha entre round-robin,origem ou última conexão.
30
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.
31
CloudStack Networking
●
O CloudStack gerencia:
– DHCP;
– Alocação de VLAN's;
– Firewall;
– NAT/Port Forwarding;
– Roteamento;
– VPN;
– Balanceamento de Carga;
– Pode ainda gerenciar dispositivos físicos de rede (F5-Big
IP, NetScaler, Juniper SRX).
32
Tipos de Redes no Cloudstack
●
O CloudStack oferece dois tipos de rede: Básica e Avançada
– Básica: Permite apenas uma rede física.
Todo host, VM ou instância convidada possui um único
endereço IP;
– Avançada: Permite múltimas interface de rede físicas.
Cada conta possui um IP Púbico, associado a um virtual
router, um range de ip's de convidados (por exemplo
10.0.1.10/24) e um VLAN ID para redes convidadas isoladas.
Convidados se comunicam através de suas próprias VLANs
dedicadas.
33
Redes exclusivas do CloudStack
●
Management Network: Usada pelos hypervisors e o
servidor de gerenciamento para se comunicarem;
●
Private Network:Rede padrão das VMs do sistema;
●
Public Network: Rede exposta (Internet);
●
Guest Network: Rede onde as VMs são provisionadas.
34
Security Groups
●
Isolamento tradicional feito via VLAN;
●
Limite padrão de 4,096 VLANs;
●
Deny por padrão.
35
Contabilização de uso
●
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.
36
CloudMonkey (CLI)
●
Escrito em Python;
●
Automatiza tarefas administrativas;
●
Seguro: utiliza a API, par de Secret keys e assinatura hash
para acessar o CS.
37
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.
38
39
40
DevCloud
●
Appliance Virtual para estudo;
●
Formato OVA;
https://cwiki.apache.org/confluence/display/CLOUDSTACK/
DevCloud
41
Perguntas?
42
Obrigado!
Lista de discussão (BR):
https://groups.google.com/forum/#!forum/cloudstack-br
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

Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades

  • 1.
    CloudComputing & CloudStack: Comoter sua nuvem sem tempestades ● VI FSLDC – 2014 | http://fsldc.org Ricardo Martins
  • 2.
    2 #whoami Ricardo Martins @ricardommartins http://ricardomartins.com.br Mestrando emEngenharia Eletrônica - UERJ Pós Graduando em Educação Tecnológica – CEFET / RJ Graduado em Redes de Computadores – FATEC / SENAC - RJ Sysadmin | DevOp | Technology Enthusiast | Cloud Architect
  • 3.
    3 #work experience Atualmente: – Sysadmin@ Passei Direto – DevOp/Sysadmin Lead @ Zoop Payments Anteriores: – DevOp/Sysadmin @ Globo.com – Sysadmin @ResolveAí – Sysadmin @ RimuHosting – Analista de Gerência de Hosting Sr @ Alog Datacenters – Senior Sysadmin @ Peixe Urbano – Analista de Suporte Pleno @ Azul Seguros – Técnico de Suporte e Manutenção Eletrônica @ TV Globo – Analista de Sistemas Jr – Urbi Network
  • 4.
    4 Roteiro ● O que éCloud Computing ● O que é CloudStack ● História ● Highlights ● Terminologias ● Arquitetura ● Storage ● Management Server ● Features ● Devcloud
  • 5.
    5 O que éCloud Computing? É todo conceito que temos hoje de poder de computação, seja ele Processamento, Armazenamento ou Software, disponível na rede local ou remota.
  • 6.
  • 7.
    7 Pilares Flexibilidade – Você nãofica preso a um modelo específico de recurso; Escalabilidade – Você é capaz de dimensionar de acordo com a demanda; Confiabilidade – Segurança e Alta Disponibilidade.
  • 8.
    8 Motivação Elasticidade - A capacidadede provisionar e desprovisionar rapidamente grandes quantidades de recursos em tempo de execução. Escalabilidade - Você pode escalar horizontalmente (adicionando componentes) ou verticalmente (adicionando recursos em um componente, por exemplo memória, cpu ou disco).
  • 9.
    9 Motivação Agilidade na implementação -Possibilita a escolha de hardware, configuração de rede, disco, memória e sistema operacional de forma simples e rápida.
  • 10.
    10 Camadas Aplicação (SaaS) Plataforma (PaaS) Infraestrutura(IaaS) NíveldeAbstração NíveldeControle
  • 11.
    11 SaaS (Software asa Service) O cliente utiliza aplicativos criados pelo provedor e que são executados em uma infraestrutura em nuvem. O cliente fica limitado apenas as configurações do aplicativo (usuários e senhas por exemplo). – Gmail, GoogleDocs; – Heroku; – Sales Force; – Office 365; – Dropbox.
  • 12.
    12 PaaS (Platform asa 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.
  • 13.
    13 IaaS (Infrastructure asa 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 – Amazon AWS; – Azure; – Rackspace; – Cloudstack; – Digital Ocean; – Openstack.
  • 14.
  • 15.
  • 16.
  • 17.
    17 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.
  • 18.
    18 História do CloudStack ● Começouem 2008, pela empresa Vmops; ● Em 2010, a VMops pasou 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;
  • 19.
    19 História do CloudStack ● Em2012 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.0.
  • 20.
    20 Highlights do CloudStack ● Agnósticode 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);
  • 21.
    21 Highlights do CloudStack ● 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; ● 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;
  • 22.
    22 Highlights do CloudStack Emrelação ao AWS S3, permite utilizá-lo como storage de objetos (Snapshots, ISOs e Templates).
  • 23.
  • 24.
    24 Terminologias Region ● 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 ● 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. ● 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.
  • 25.
    25 Arquitetura do CloudStack ● Ohypervisor é a unidade básica para escalabilidade ● Um único Management Server pode gerenciar múltiplas zonas e ele pode estar em um host em uma VM ● O cluster consiste em um ou mais hosts do mesmo hypervisor ● Todos os hosts no cluster possuem acesso ao storage primário compartilhado ● 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.
  • 26.
    26 CloudStack Storage ● Storage Primário: –Qualquer dispositivo que possa ser montado em um nó do cluster; – Cluster LVM, iSCSI; – Armazena os discos das VMs. ● 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; – Pode usar o Swift (OpenStack) ou qualquer outro storage de objetos (GlusterFS, S3)
  • 27.
    27 CloudStack Management Server ● Servidorde 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
  • 28.
    28 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; ● Router redundante.
  • 29.
    29 Balanceamento de Carga ● UtilizaHA Proxy; ● Suporta balanceamento de carga para distribuir o tráfego entre suas instâncias; ● Escolha entre round-robin,origem ou última conexão.
  • 30.
    30 Snapshots ● Permite snapshots manuaisou 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.
  • 31.
    31 CloudStack Networking ● O CloudStackgerencia: – DHCP; – Alocação de VLAN's; – Firewall; – NAT/Port Forwarding; – Roteamento; – VPN; – Balanceamento de Carga; – Pode ainda gerenciar dispositivos físicos de rede (F5-Big IP, NetScaler, Juniper SRX).
  • 32.
    32 Tipos de Redesno Cloudstack ● O CloudStack oferece dois tipos de rede: Básica e Avançada – Básica: Permite apenas uma rede física. Todo host, VM ou instância convidada possui um único endereço IP; – Avançada: Permite múltimas interface de rede físicas. Cada conta possui um IP Púbico, associado a um virtual router, um range de ip's de convidados (por exemplo 10.0.1.10/24) e um VLAN ID para redes convidadas isoladas. Convidados se comunicam através de suas próprias VLANs dedicadas.
  • 33.
    33 Redes exclusivas doCloudStack ● Management Network: Usada pelos hypervisors e o servidor de gerenciamento para se comunicarem; ● Private Network:Rede padrão das VMs do sistema; ● Public Network: Rede exposta (Internet); ● Guest Network: Rede onde as VMs são provisionadas.
  • 34.
    34 Security Groups ● Isolamento tradicionalfeito via VLAN; ● Limite padrão de 4,096 VLANs; ● Deny por padrão.
  • 35.
    35 Contabilização de uso ● Permitea 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.
  • 36.
    36 CloudMonkey (CLI) ● Escrito emPython; ● Automatiza tarefas administrativas; ● Seguro: utiliza a API, par de Secret keys e assinatura hash para acessar o CS.
  • 37.
    37 Gerenciamento Fácil de configurare 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.
  • 38.
  • 39.
  • 40.
    40 DevCloud ● Appliance Virtual paraestudo; ● Formato OVA; https://cwiki.apache.org/confluence/display/CLOUDSTACK/ DevCloud
  • 41.
  • 42.
    42 Obrigado! Lista de discussão(BR): https://groups.google.com/forum/#!forum/cloudstack-br 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