Você está na página 1de 17

Ttulo da Apresentao

Gerenciamento de infraestrutura escalvel para websites


Fabiano Castro Pereira fabiano.pereira@serpro.gov.br
Gerenciamento de infraestrutura escalvel para websites
1 / 17 00/00/0000

Roteiro

Introduo Funcionamento do Scalr


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

Instalao em servidor prprio

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

Gerenciamento de infraestrutura escalvel para websites

4 / 17

Funcionamento

IaaS suportadas

Maior integrao com a Amazon Agente Scalarizr instalado em cada VM e monitora:


Mtricas para mudana na infraestrutura

CPU Memria Rede

VMs (des)ativadas de acordo com mtrica escolhida

Gerenciamento de infraestrutura escalvel para websites

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

Configuraes genricas do Behavior


Nmero mnimo e mximo de VMs Opes de escalao ( escalonamento)


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

Tipo e custo mensal de VMs Amazon (US East)


Nome Mem 0.6 G 1.7 G 7.5 G 7.5 G 17.1 G 17.1 G 1.7 G 7G ECU* 2 1 4 4 6.5 6.5 5 20 Disco EBS* 160 G 850 G 850 G 420 G 420 G 350 G 1690 G US$ 14 60 230 76 / 39 350 110 / 55 120 490

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

Configuraes especficas para AWS

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

Volumes EBS (Elastic Block Store)

Mtricas

Nuvem privada

Funcionamento

Configuraes especficas por role

Parmetros do Apache

Diversas configuraes, principalmente relacionados a Virtual Host, permitindo que vrios websites sejam hospedados Criao de snapshots do volume EBS

Configuraes especficas para MySQL

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

Gerenciamento de infraestrutura escalvel para websites 10 / 17

Funcionamento

Instalao de aplicaes hospedadas

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

Atualizao de aplicaes hospedadas

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

Existem eventos relativos :


Apache com balanceamento

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

MySQL com replicao

Role MySQL

Utiliza a funcionalidade de replicao do 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

Gerenciamento de infraestrutura escalvel para websites 14 / 17

MySQL com replicao

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

Caso o master se torne indisponvel


Scalr detecta e promove um slave para que seja novo master Volume EBS do master antigo reutilizado

Gerenciamento de infraestrutura escalvel para websites 15 / 17

Concluso

Ferramenta muito boa


Vrias aplicaes suportadas Fcil configurao Poupa muito trabalho http://scalr.uservoice.com/

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

Você também pode gostar