SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)
Giovanni Bassi
 

Mais procurados (20)

Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Amazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e BeneficiosAmazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e Beneficios
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Apresentação do Curso
Apresentação do CursoApresentação do Curso
Apresentação do Curso
 
Aula 4 - Introdução a aws
Aula 4 - Introdução a awsAula 4 - Introdução a aws
Aula 4 - Introdução a aws
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNS
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 
A plataforma Azure da Microsoft
A plataforma Azure da MicrosoftA plataforma Azure da Microsoft
A plataforma Azure da Microsoft
 
Windows Azure Pack - Visão Geral
Windows Azure Pack - Visão GeralWindows Azure Pack - Visão Geral
Windows Azure Pack - Visão Geral
 
Melhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWSMelhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWS
 
Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?
 
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfAAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Serviços em nuvem para sua infraestrutura virtual
Serviços em nuvem para sua infraestrutura virtualServiços em nuvem para sua infraestrutura virtual
Serviços em nuvem para sua infraestrutura virtual
 
Apresentação openstack
Apresentação openstackApresentação openstack
Apresentação openstack
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
 
Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)Introdução ao Windows Azure - Sessão 1 (mais teórica)
Introdução ao Windows Azure - Sessão 1 (mais teórica)
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 

Destaque

Cloud Summit Brazil 2011 - Construindo nuvens com Xen
Cloud Summit Brazil 2011 - Construindo nuvens com XenCloud Summit Brazil 2011 - Construindo nuvens com Xen
Cloud Summit Brazil 2011 - Construindo nuvens com Xen
Marco Sinhoreli
 
Xen Summit 2010 - globo.com
Xen Summit 2010 - globo.comXen Summit 2010 - globo.com
Xen Summit 2010 - globo.com
Marco Sinhoreli
 
Xen Summit 2011 - Xen in the Cloud - globo.com
Xen Summit 2011 - Xen in the Cloud - globo.comXen Summit 2011 - Xen in the Cloud - globo.com
Xen Summit 2011 - Xen in the Cloud - globo.com
Marco Sinhoreli
 

Destaque (20)

Flisol2009 Conhecendo O Wordpress
Flisol2009 Conhecendo O WordpressFlisol2009 Conhecendo O Wordpress
Flisol2009 Conhecendo O Wordpress
 
Palestra Flisol 2008
Palestra Flisol 2008Palestra Flisol 2008
Palestra Flisol 2008
 
Slides flisol- Microsoft Open Source
Slides flisol- Microsoft Open SourceSlides flisol- Microsoft Open Source
Slides flisol- Microsoft Open Source
 
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
 
Cloud Summit Brazil 2011 - Construindo nuvens com Xen
Cloud Summit Brazil 2011 - Construindo nuvens com XenCloud Summit Brazil 2011 - Construindo nuvens com Xen
Cloud Summit Brazil 2011 - Construindo nuvens com Xen
 
Xen Summit 2010 - globo.com
Xen Summit 2010 - globo.comXen Summit 2010 - globo.com
Xen Summit 2010 - globo.com
 
Approaches to enable the OSPF protocol in Apache CloudStack
Approaches to enable the OSPF protocol in Apache CloudStackApproaches to enable the OSPF protocol in Apache CloudStack
Approaches to enable the OSPF protocol in Apache CloudStack
 
Xen Summit 2011 - Xen in the Cloud - globo.com
Xen Summit 2011 - Xen in the Cloud - globo.comXen Summit 2011 - Xen in the Cloud - globo.com
Xen Summit 2011 - Xen in the Cloud - globo.com
 
Ari_Neto_Cloud_CONADC
Ari_Neto_Cloud_CONADCAri_Neto_Cloud_CONADC
Ari_Neto_Cloud_CONADC
 
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
 
CloudStack technical overview
CloudStack technical overviewCloudStack technical overview
CloudStack technical overview
 
vBACD July 2012 - Xen Cloud Platform
vBACD July 2012 - Xen Cloud PlatformvBACD July 2012 - Xen Cloud Platform
vBACD July 2012 - Xen Cloud Platform
 
vBACD July 2012 - Scaling Storage with Ceph
vBACD July 2012 - Scaling Storage with CephvBACD July 2012 - Scaling Storage with Ceph
vBACD July 2012 - Scaling Storage with Ceph
 
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud ComputingvBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS cloudsCloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
 
CloudStack Hyderabad Meetup: How the Apache community works
CloudStack Hyderabad Meetup: How the Apache community worksCloudStack Hyderabad Meetup: How the Apache community works
CloudStack Hyderabad Meetup: How the Apache community works
 
vBACD July 2012 - Deploying Private PaaS with ActiveState Stackato
vBACD July 2012 - Deploying Private PaaS with ActiveState StackatovBACD July 2012 - Deploying Private PaaS with ActiveState Stackato
vBACD July 2012 - Deploying Private PaaS with ActiveState Stackato
 
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack Hyderabad Meetup: Migrating applications to IaaS cloudsCloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
 
The Mission Critical Cloud
The Mission Critical CloudThe Mission Critical Cloud
The Mission Critical Cloud
 
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
CloudStack hands-on workshop @ DevOpsDays Amsterdam 2015
 

Semelhante a Flisol 2015

Desempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação IsoladosDesempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação Isolados
Andre Danelon
 
Virtualização Teste
Virtualização TesteVirtualização Teste
Virtualização Teste
gabrielca200
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstack
Lorscheider Santiago
 

Semelhante a Flisol 2015 (20)

Pres clusterpdf
Pres clusterpdfPres clusterpdf
Pres clusterpdf
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizados
 
Aula01
Aula01Aula01
Aula01
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Desempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação IsoladosDesempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação Isolados
 
Cloud computing - Apresentação
Cloud computing - ApresentaçãoCloud computing - Apresentação
Cloud computing - Apresentação
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
 
Projeto de Transformação Digital com System Center 2016
Projeto de Transformação Digital com System Center 2016Projeto de Transformação Digital com System Center 2016
Projeto de Transformação Digital com System Center 2016
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8
 
Virtualização Teste
Virtualização TesteVirtualização Teste
Virtualização Teste
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Deploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstackDeploying infrastructure as-a-service with cloudstack
Deploying infrastructure as-a-service with cloudstack
 
Cap4 v2
Cap4 v2Cap4 v2
Cap4 v2
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software Livre
 
Rio Info 2010 - Oficina - Computacao em Nuvem - Marcelo Teixeira - 01/09
Rio Info 2010 - Oficina - Computacao em Nuvem - Marcelo Teixeira - 01/09Rio Info 2010 - Oficina - Computacao em Nuvem - Marcelo Teixeira - 01/09
Rio Info 2010 - Oficina - Computacao em Nuvem - Marcelo Teixeira - 01/09
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 

Flisol 2015

  • 1. Cloud Computing e Software livre com CloudStack #flisol201525/04/2015
  • 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 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
  • 8. Tipos de Computação em Nuvem ▧ Pública ▧ Privada ▧ Híbrida
  • 10. 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.
  • 12. Camadas da Computação em Nuvem IaaS PaaS SaaS Abstração Controle
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 18. Aplicação Plataforma Infraestrutura Virtualização Servidor Servidor Servidor Storage 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 projeto de 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 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
  • 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.
  • 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
  • 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
  • 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.
  • 39. 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;
  • 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 de Carga 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 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.
  • 45. 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.
  • 46. 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).
  • 47. 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
  • 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 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.
  • 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á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.
  • 58.
  • 59.
  • 61. DevCloud ▧ Appliance Virtual para estudo; ▧ Formato OVA; ▧ https://cwiki.apache.org/confluence/display/CLOUDSTACK/DevCloud
  • 62. 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
  • 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;