Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro
IaaS Farm Role Behavior Apache com balanceamento MySQL com replicao
Gerenciamento de infraestrutura escalvel para websites
2 / 17
Funcionamento especfico
Concluso
Introduo
Objetivo do Scalr
Gerenciar automaticamente a quantidade de servidores Acrescenta ou retira servidores virtuais em nuvem de acordo com a variao na carga da aplicao Servidor web Banco de dados Balanceador de carga Servidor de cache Servio personalizado (via programao)
Gerenciamento de infraestrutura escalvel para websites
3 / 17
Componentes controlveis
Introduo
Formas de uso
Download e procedimentos de instalao: http://scalr.net Pode-se utilizar as funcionalidades do Scalr no prprio site da ferramenta, atravs de assinatura do servio Custo de US$ 99 por ms
Software as a Service
4 / 17
Funcionamento
IaaS suportadas
5 / 17
Funcionamento
Componentes
Farm: conjunto de VMs, organizadas em Roles Role: cada role cumpre uma funo na Farm
Aplicao (Apache, Tomcat) Banco de dados (MySQL, PostgreSQL, Cassandra, Redis) Balanceamento (nginx) Cache (Memcached) Mixed (mais de um role simultaneamente) Configuraes personalizadas para o role escolhido Definies de como o role responde a eventos
Gerenciamento de infraestrutura escalvel para websites
6 / 17
Behavior
Funcionamento
Time: permite agendar a mudana de tamanho Bandwidth: % de uso da rede Load average: % de uso da CPU Queue size: tamanho da fila de processamento de mensagens (quando a aplicao hospedada utiliza Amazon SQS) RAM: quantidade de memria livre Locais (AWS): EUA, Europa e sia Tipo: quantidade de memria, CPU e disco
Gerenciamento de infraestrutura escalvel para websites
7 / 17
Local e tipo de VM
Funcionamento
Micro Standard Small Standard Large RDS MySQL - 1 ou 3 Anos High-Memory Extra RDS MySQL - 1 ou 3 Anos High-CPU Medium High-CPU Extra
1 ECU (Elastic Compute Unit) 1 Xeon 1 GHz (2007) EBS (Elastic Block Store) um disco virtual Elasticidade custa caro! Servidores dedicados similares custam a metade
Gerenciamento de infraestrutura escalvel para websites
8 / 17
Funcionamento
Balanceamento HTTP
Pode utilizar Elastic Load Balancer em vez de um role especfico para um balanceador HTTP (nginx, etc.) Definio de tamanho do disco virtual, ponto de montagem, e se ser utilizado um snapshot salvo anteriormente Utilizao do Amazon CloudWatch para obteno de mtricas sobre as VMs Pode-se configurar os parmetros do Virtual Private Cloud
Gerenciamento de infraestrutura escalvel para websites
9 / 17
Mtricas
Nuvem privada
Funcionamento
Parmetros do Apache
Diversas configuraes, principalmente relacionados a Virtual Host, permitindo que vrios websites sejam hospedados Criao de snapshots do volume EBS
Snapshots so usados para replicao da base para slaves Definir periodicidade e quantos guardar antes do descarte O objetivo aqui diferente do snapshot Visa ter uma cpia completa dos dados utilizando mysqldump
Backup
Funcionamento
Duas opes
Usar ferramenta Scalr-tools, caso a aplicao esteja em um repositrios de cdigo (svn, git, etc.) Criar cpia da mquina virtual Criar cpia do cdigo localmente (desktop do desenvolvedor) Registrar e publicar aplicao na farm Conectar na VM via SSH e fazer instalao da aplicao Acessar os dados da VM na interface do Scalr e escolher a opo Create server snapshot
Gerenciamento de infraestrutura escalvel para websites 11 / 17
Usando Scalr-tools
Criando cpia da VM
Funcionamento
Como atualizar se podem existir cpias da aplicao em VMs que esto desligadas? Scalr permite associar scripts a determinados eventos
Scripts rodam em cada VM do role configurado Pode-se associar um script de atualizao da aplicao ao evento de inicializao de host Inicializao e encerramento de VM Mudana de endereo IP Volumes EBS (Amazon) Mudanas no DNS
Gerenciamento de infraestrutura escalvel para websites 12 / 17
Role Apache
Pode ser usado como servidor web, ou de aplicaes PHP, Ruby, Python, etc. Para aplicaes Java recomenda-se a role Tomcat Dados de Virtual Host (podendo servir vrios sites) Ao verificar a necessidade de nova VM, o Scalr inicia a VM e acrescenta o novo Apache no balanceador Quando a carga diminui, o Scalr retira um integrante do balanceador e desliga a VM escolhida
Gerenciamento de infraestrutura escalvel para websites 13 / 17
Configuraes necessrias
Dimensionamento da nuvem
Role MySQL
Opera com esquema master/slave Dados so gravados apenas no master, e copiados para cada slave que esteja configurado Slaves s podem ser lidos (SELECT) Os dados da base so armazenados em volumes EBS Isto til para o incio rpido de slaves, no momento de acrescentar servidores ao cluster
Armazenamento
Role MySQL
Acrescentando um slave
Scalr inicia VM Monta volume EBS copiando o ltimo snapshot do master Configura replicao no slave, informando local do master
Failover
Scalr detecta e promove um slave para que seja novo master Volume EBS do master antigo reutilizado
Concluso
Melhorias
Em andamento: CloudStack, OpenStack, CloudFoundry, MongoDB, Chef Planejado: Alertas, RAID com EBS, FarmTemplates (MediaWiki, Drupal, Wordpress, etc.), Dashboard widgets
JBoss?
Gerenciamento de infraestrutura escalvel para websites 16 / 17
Concluso
Perguntas?
fabiano.pereira@serpro.gov.br
Gerenciamento de infraestrutura escalvel para websites 17 / 17