quando o planejamento da infraestrutura leva ao sucesso
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
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