Migre-me por Favor! (ou: Não Deixe a Redundância Para Depois)

O recente desastre do migre.me serve como sinal de alerta para as startups brasileiras. Muito se fala dos erros cometidos pela empresa de hospedagem (que aliás, assumiu publicamente o desastre). Como sempre, a culpa é da infra-estrutura. E neste processo, pouco se comentou sobre a importância de proteger a aplicação contra falhas.

A Culpa é Só da Infra-Estrutura?

O empreendedor brasileiro tende a ignorar a infra-estrutura no processo de desenvolvimento. Pouca gente pensa em dimensionamento de servidores, arquiteturas redundantes, escalabilidade horizontal ou vertical, etc. A tendência é delegar isso tudo para o provedor de hospedagem, e tratar tudo como “custo”. Parte disso é consequência de pensar pequeno: julgamos que nossas aplicações são pequenas demais e que ‘não precisam de redundância’. Outros acham que redundância é caro demais, e que se for implementada irá inviabilizar o serviço. Ou ainda, que o serviço está começando e que dá para deixar isso para depois. E finalmente, poucos admitem o que talvez seja o principal motivo: a falta de conhecimento. Escrever e operacionalizar uma aplicação redundante é muito mais complicado do que colocar tudo para rodar em um servidor só. Mas os riscos tornam esta decisão necessária.

O exemplo do migre.me mostra que não se pode deixar a redundância e a escalabilidade 100% por conta do provedor de infraestrutura. O datacenter pode, e deve, tomar os cuidados necessários: rede redundante, cuidados com a alimentação, climatização, storage, backup, etc. Mas o desenvolvedor também precisa estudar técnicas para que sua aplicação sobreviva a falhas da infra, ou pior ainda, a um erro humano (que infra-estrutura nenhuma consegue evitar).

O Que Você Pode (e Deve!) Fazer

1. Não deixe a segurança para depois. Se você não consegue achar tempo para acertar no começo (quando ainda não tem as pressões do dia a dia), depois nunca terá tempo. Você pode até lançar um servidor experimental mais simples no começo, mas precisa estar preparado para tomar as atitudes necessárias na hora certa.

2. Se o seu plano de negócio não comporta reservas, backup ou redundância, não lance. Ter sistemas de reserva vai aumentar seu custo, mas zerar a conta só para embelezar o plano de negócios não é nada responsável. O pior que pode acontecer com qualquer empresa é ser vítima do próprio sucesso. Os clientes e usuários que confiaram dados a você não irão gostar de saber que você perdeu toda informação.

3. Tenha sempre um plano B (e um plano C, D e assim por diante). Como dizia Andy Groove, apenas os paranóicos sobrevivem.

4. Estude e aplique técnicas que lhe permitam reduzir seu risco. Isso inclui desde itens simples como a manutenção de backups periódicos ‘offline’, com um ciclo regular, mantendo cópias de vários dias, até técnicas mais avançadas, como réplicas de banco de dados, sistemas de bancos de dados paralelos (CouchDB, Mongo DB e outros), sharding, etc.

5. Nunca coloque seus ovos em uma cesta só. Distribua seu risco entre vários provedores. Se o serviço for de pequeno porte, tenha uma cópia local do sistema, pronta para entrar no ar, mesmo que com limitações de performance. Ou coloque o sistema para rodar em dois ou mais datacenters diferentes. Escolha a solução que couber no seu bolso, mas não deixe de escolher.

6. Conheça a sua infra-estrutura. Se puder, visite o datacenter. Conheça mesmo que superficialmente as normas de engenharia relevantes. Pergunte como é o backup, como funciona a redundância de energia, de rede, e de armazenamento. Contratos e SLA são úteis, mas o conhecimento da infra-estrutura ajudará você a mensurar melhor o seu risco (e tomar as providências de acordo).

7. Caso você não seja a pessoa certa para tocar tudo isso, encontre um bom sócio ou funcionário para cuidar da infra para você! Lembre-se de que cuidar de infra-estrutura e operação é algo bem diferente de marketing ou desenvolvimento, mas é tão importante quanto os dois para garantir o sucesso do seu negócio.

8. Para terminar, calcule seu risco com base em informações consistentes, e assuma decisões conscientes. Otimismo não é substituto para planejamento. Uma dose saudável de ceticismo ajudará você a encontrar o equilíbrio correto.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *