Apache CloudStack Marco Sinhoreli marco.sinhoreli@shapeblue.com @shapeblue
Marco Sinhoreli Consultant Manager da ShapeBlue Brasil Committer do Apache CloudStack Especializado em: Design e construção de Nuvens IaaS baseadas no Apache CloudStack Líder e fundador das comunidades XenBR e CloudStackBR Diretor de Tecnologias de Nuvens da CSABR
Sobre a ShapeBlue Somos um time de arquitetos e especialistas em construção de nuvens IaaS tanto públicas quanto privadas. Somos líderes globais em consultoria e integração independente de Apache CloudStack
Copyright ShapeBlue 2015. All rights reserved
Sobre a Fundação Apache
O que é o CloudStack Plataforma de orquestração de infraestrutura, multiusuário e segura (multi-tenant) Plataforma confiável para entrega de Nuvem IaaS Agnóstico quanto ao hypervisor, ou seja, independente do software de virtualização utilizado Escalável, flexível, seguro e aberto Código aberto, padrões abertos Implementação privada (no próprio Data Center) ou como uma solução hospedada
Hypervisors/Compute Plataforma aberta flexível XenServer VMware OVM KVM (LXC) Hyper-V UCS Bare metal Storage Disco local iscsi FC / FCoE NFS Swift S3 Rede Tipo de rede Storage Primário Storage Secundário Isolamento Firewall LB GSLB VPN
O que é possível fazer com o CloudStack? Criar máquinas virtuais a partir de Templates (modelos) ou imagens ISO Iniciar e desligar máquinas virtuais Criar redes isoladas, compartilhadas e multicamadas (multitiered) Gerenciar regras de firewall e de redirecionamento de portas (port forwarding) Gerenciar serviços de rede como balanceamento de carga, Static e Source NAT, VPNs, Global Load Balancing e Autoscaling (escalonamento automático)
Diversas estratégias para Nuvem On-Premise Enterprise Cloud Clouds Privadas Hosted Enterprise Cloud Clouds Publicas Multi-Tenant Public Cloud Recursos dedicados Segurança & controle Total Rede interna Gerenciada por equipes da empresa ou terceiros Recursos dedicados Segurança Mix de recursos compartilhados e dedicados Limites especificados através Escalonamento elástico de contrato de nível de Pay-as-you-Go (pague somente atendimento (SLA) o que usar) Operada e hospedada por terceiros Internet pública, acesso via VPN
Arquitetura
Arquitetura do CloudStack Sua estrutura hierárquica possibilita escalar massivamente Região Um grupo de zonas de disponibilidade dentro de uma mesma área geográfica Servidor de gerenciamento de infraestrutura para gerenciar a região Zona de disponibilidade Tipicamente uma Zona por Data Center Contém pelo menos um Pod, um Cluster e uma unidade de Storage Secundário
Arquitetura do CloudStack Pod Normalmente, um rack contendo um ou mais Clusters Cluster Grupo de Hosts idênticos executando o mesmo software de virtualização (Hypervisor) Storage Primário
Arquitetura do CloudStack Storage Primário Tradicionalmente único para cada Cluster Tanto o KVM quanto o VMware suportam Storage Primário Zone-Wide Hospeda Instâncias de VMs e Snapshots das Maquinas Virtuais Podem ser em qualquer formato que o software de virtualização suportar Storage Secundário Zone-Wide (Region-Wide utilizando S3) NFS + S3 ou NFS + Swift para replicação dentro de uma mesma região (Region Wide Replication) Armazena Templates, imagens ISO e Snapshots de volumes/discos (backups)
Arquitetura do CloudStack
Arquiteturas de implantação de Servidores de Gerenciamento Exemplo de implantação Single-Node GUI API Servidor de Gerenciamento MySQL DB Zone 1 Zone 1 Zonas
Arquiteturas de implantação de Servidores de Gerenciamento Exemplo de implantação Multi-Node GUI API Sistema de Balanceamento de Carga Servidor de Gerenciamento Servidor de Gerenciamento Servidor de Gerenciamento MySQL DB Zone 1 Zone 1 Zonas MySQL DB
Arquitetura do CloudStack Exemplo de múltiplas Zonas de Disponibilidade dentro de uma região DC 1 DC 2 Zona 1 DC n Zona 2 Servidor de Gerenciamento Zona n Zona 3 Servidor de Gerenciamento
Arquitetura do CloudStack Exemplo de múltiplas Zonas de Disponibilidade dentro de uma região Região 1 Região 2 DC 1 DC 2 DC 3 DC 4 DC 5 Zone 1 Zone 2 Zone 3 Zone 4 Zone 5 Servidor de Gerenciamento Rabbit MQ Account/User data Servidor de Gerenciamento
Ofertas de Serviço
Ofertas de serviço Durante a criação de uma nova instância de VM, o usuário final pode escolher entre várias características e recursos, que são controlados pelas três ofertas de serviço seguintes: Oferta de Computação Oferta de Disco Oferta de Rede
Ofertas de Computação Cada instância de VM está ligada à uma Oferta de Computação, que controla quais recursos estão disponíveis
Ofertas de Computação Não pode ser alterada uma vez que esteja criada Só podem ser alterados os campos Nome e Descrição No entanto, podem ser removidas Instâncias de VMs criadas a partir da oferta, continuam a utilizar as definições Novas instâncias de VMs não poderão fazer uso da oferta removida
Os usuários podem alterar a oferta atual selecionando o botão Alterar Serviço no Painel da instância que deseja fazer a alteração Se o sistema operacional suportar, a instância pode ser dinamicamente escala sem necessidade de reinicialização Redução de escala requer que a instância seja reinicializada Ofertas de Computação
Ofertas de Disco Define os Discos Virtuais (Volumes) que os usuários finais serão capazes de criar, pode ser um Volume adicional de dados ou o Volume Root de uma VM utilizando uma ISO Usando tags (etiquetas), as ofertas podem ser mapeadas para diferentes Storages A versão 4.2 introduziu o recurso de qualidade de serviço (QoS) através do software de virtualização ou do Storage Introduziu também uma opção Custom para tamanhos prédefinidos
Ofertas de Disco
Ofertas de Rede As Ofertas de Rede definem qual Serviço de Rede ou Características estarão disponíveis para um usuário final em suas redes Guest Um conjunto de Ofertas padrão estão disponíveis e estas abrangem os casos de uso mais comuns Os serviços e características definidos pelas Ofertas de Rede são então entregues por um roteador virtual, dispositivos de redes físicas ou pela combinações de ambos
Domínios, Contas e Usuários
Domínios, Contas e Usuários Um Domínio é uma unidade organizacional para Contas Uma Conta representa um Tenant (Inquilino) Cada Conta tem pelo menos um Usuário Usuários dentro de uma Conta compartilham recursos e não estão isolados uns dos outros Todos os recursos pertencem à um Domínio ou Conta e não à um Usuário
Exemplo de hierarquia de Domínios, Contas e Usuários
Administradores de Domínio têm acesso em nível de usuário a todas as Contas dentro do seu Domínio e de Subdomínios associados A partir da versão 4.2.1, administradores de Domínio também podem Criar contas Criar usuários Redefinir senhas Administradores de Domínio Administradores de Domínio com privilégios Root têm controle total sobre todos os Domínios e Contas
Comparação de recursos - Admin Root - Admin de Domínio - Usuário
Redes no CloudStack
Redes CloudStack Modelos de Redes Guest Básica Avançada Avançada com Grupos de Segurança
Redes CloudStack Básica Fornece uma única rede onde o isolamento dos hóspedes pode ser fornecido através da camada 3 (IP) utilizando grupos de segurança (filtragem por IP de origem), mas apenas para XenServer e KVM
Redes CloudStack Avançada Esse modelo de rede fornece maior flexibilidade na definição de redes Guest e fornece ofertas de rede personalizadas, tais 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.
Redes de Guests isoladas por VLANs / tecnologias SDN Redes de Guests privadas e compartilhadas Múltiplas redes físicas Roteador virtual para cada rede fornecendo: Rede Guest Avançada DNS & DHCP Firewall VPN Client-to-Site Balanceamento de carga Source / Static NAT Redirecionamento de portas (port forwarding)
Rede Guest Zona Básica
Rede Guest Shared Zona Avançada
Rede Guest Isolated Zona Avançada
Rede VPC Zona Avançada
Conectividade Física
Zona Avançada Esquema de atribuição de IPs
Provedor de Serviços de Rede Um appliance físico ou virtual que forneça serviços de rede para o CloudStack, como por exemplo: Roteador Virtual Roteador Virtual VPC Balancedor Interno LBVM Citrix NetScaler F5 Load Balancer Juniper SRX Firewall Palo Alto Firewall* Nicira NVP BigSwitch Vns Cisco VNMC Ovs* Baremetal DHCP* Baremetal PXE* *Novos no 4.3
Integração com a Comunidade CAFe
Benefícios SSO (Single Sign On) Identidade única na Federação Gerenciamento de autorização via web, CLI ou API Possibilita o compartilhamento de recursos Administratívos ou acadêmicos entre instituições da Federação Serviço Federado Navegação fácil entre as nuvens da Federação
Demonstração de Operação de nuvem CloudStack Federada
A comunidade Apache CloudStack
Participe Contribuidor -> Committer -> Membro PMC -> VP Desenvolvedores Correção de Bugs Desenvolvimento de Novas Funcionalidades Teste de novas versões Participação em Votações
Participe Contribuidor -> Committer -> Membro PMC -> VP Usuários técnicos Testes Reporte de Bugs Ajuda à outros usuários na lista de discussão Participação em Votações
Participe Contribuidor -> Committer -> Membro PMC -> VP Usuários não técnicos Documentação Marketing Eventos
Participe Eventos CloudStack Collaboration Conference Meetups Build-a-cloud day Grupo de Usuários
Recursos Website Wiki http://cloudstack.apache.org/ https://cwiki.apache.org/confluence/display/cloudstack/home Docs Use com cuidado algumas sessões podem estar defasadas Contém documentação de design http://docs.cloudstack.apache.org/en/latest/ http://cloudstack.apache.org/docs/api/
Recursos Listas de discussão http://cloudstack.apache.org/mailing-lists.html IRC Announce, Users, Dev, Commits, Issues, Marketing Se não for encontrado na lista de discussão pode ser que o tema ainda não tenha sido discutido Freenode #cloudstack: Este canal é para suporte e discussões gerais do CloudStack. #cloudstack-dev: Este canal é para suporte e discussão sobre desenvolvimento.
Recursos Jira https://issues.apache.org/jira/browse/cloudstack/ Informar/buscar Bugs Jenkins http://jenkins.buildacloud.org/ Buildings automatizados e testes de código
Recursos Desenvolvedores http://cloudstack.apache.org/developers.html Não-Desenvolvedores http://cloudstack.apache.org/contribute.html Meet-ups e Eventos http://lanyrd.com/topics/apache-cloudstack/ Lista de usuário Brasileira https://groups.google.com/forum/#!forum/cloudstack-br
Perguntas?
Marco Sinhoreli marco.sinhoreli@shapeblue.com