Quando o planejamento da infraestrutura leva ao sucesso

Post on 02-Jul-2015

305 views 1 download

description

Exemplos reais de arquiteturas que prejudicam quando temos uma queda de servidor ou aplicação. Cases de arquiteturas que são simples e funcionais para poucos usuários até muitos usuários e irão aguentar uma queda, um rollback e uma recuperação de desastre fácil.

Transcript of Quando o planejamento da infraestrutura leva ao sucesso

Quando o planejamento da infraestrutura leva ao sucesso

Ivan RosolenGraduado em Sistemas de InformaçãoPós-graduado em Gerência de Projetos

Desenvolvedor a 10+ anosAutor de vários PHPT (testes para o PHP)

CTO @ Mokation

No começo …

- Poucos usuários- Poucos “bugs”- Tudo na mesma máquina- Servidor “local”- Sem backup !!!!

Problemas

- Delete sem where- rm -rf /- Tempestade- Chutei a regua de energia- Servidor local

Vamos melhorar?

- Snapshot/Imagem- Sistema de controle de versão- Dumps- HD Externo- Fita

Snapshot/Imagem

- perda de dados- espaço em disco- demora pra voltar (depende)- onde guardar?

Sistema de controle de Versão

- SVN/GIT local/online- branch/tag/release- configurações (templates)

Dumps

- perda de dados- definir periodicidade- aonde guardar?

HD Externo/Fita

- perda de dados- definir periodicidade- aonde guardar?- recover depende da rede

Problemas

Esta VIVO !!!!

- Demorado- Perda de dados- Dor de cabeça- Noite em claro

Algum tempo depois …

- Vários usuários- Alguns “bugs”- Tudo no mesmo servidor- Com backup :)

Problemas

- Crash- Muitos usuários- Muitos acessos- Muitas operações em disco

- Tempo de recuperação- Perda de dados- MUITA Dor de cabeça- MUITAS Noites em claro

Vamos melhorar?

Ta de brincation?

- Servidor para aplicação- Servidor para banco de dados- Servidor para arquivos estáticos

Porque tudo isso?

Porque SIM !!!!

Entendendo o porquê

Aplicação

- Servidor com configurações específica- Muitos requests- Sem concorrência de I/O- Fácil replicação para aguentar carga- Nuvem- Melhorias no deploy (devops)

- Várias aplicações em um mesmo servidor

- Várias aplicações em um mesmo servidor- Site/App/Admin/API

- Várias aplicações em um mesmo servidor- Site/App/Admin/API- Segurança

- Várias aplicações em um mesmo servidor- Site/App/Admin/API- Segurança- Muda uma config do webserver…

- Várias aplicações em um mesmo servidor- Site/App/Admin/API- Segurança- Muda uma config do webserver…- Uma aplicação demanda mais memória

- Várias aplicações em um mesmo servidor- Site/App/Admin/API- Segurança- Muda uma config do webserver…- Uma aplicação demanda mais memória- Recupera dados de uma aplicação

- Várias aplicações em um mesmo servidor- Site/App/Admin/API- Segurança- Muda uma config do webserver…- Uma aplicação demanda mais memória- Recupera dados de uma aplicação- Backup

Banco de Dados

- Servidor com configurações específica- Muitos requests- Memória- Relatórios e Read Replica- Vários tipos de banco de dados- Fácil replicação para aguentar carga- Nuvem

Arquivos Estáticos

- Servidor com configurações específica- Cache/CDN- Muitos requests- Sem concorrência de I/O- Espaço em disco- Nuvem

Nuvem

Vantagens

- Backup automatizado- Transferência de responsabilidade- Suporte- Especialistas- Controle/Alertas- Segurança

Arquitetura do Software

- Configurações- Sessões- Deploy automatizado- Testes- “Robos”- Componentizar

Referência AWS

Yros Pereira Aguiar Batista - https://www.youtube.com/watch?v=Mey_hUKNpQY

Dúvidas?

Obrigado!

@ivanrosolen