A importância de backups no WordPress é indiscutível – algo de que falamos dia sim, dia não – e estou certo de que você já incorporou essa preocupação depois de tanto ouvir falar no assunto. O problema é que, talvez como a maioria das pessoas, você esteja fazendo isso do jeito errado.

O problema dos plugins de backup

Convenientes, automatizados, fáceis de usar e em alguns casos gratuitos (com limitações) – é fácil cair na tentação de usar um plugin para fazer backup no WordPress. A tendência humana de buscar o caminho mais cômodo leva a maioria das pessoas a instalarem essas ferramentas e confiarem nelas para a tarefa crítica de guardar cópias de segurança de seus sites.

O que quase ninguém vê, ao menos num primeiro momento, são os problemas que essa prática pode gerar – alguns deles grandes o suficiente para causarem uma preocupação real. Vejamos alguns deles.

O problema do desempenho

Os plugins convencionais de backup funcionam sempre do mesmo jeito: exportam o banco de dados e comprimem todos os arquivos da instalação – WordPress, temas, plugins e arquivos de mídia – em um grande arquivo compactado.

Para sites iniciantes, isso significa um arquivo final de 60 a 100Mb. Para sites médios e grandes, no entanto, isso pode chegar a dezenas de gigabytes, facilmente. Mesmo um site pequeno que usa uma dezena de plugins e tem uploads de mídia pode ultrapassar o 1Gb.

Isso tem duas consequências: a primeira é que o servidor que hospeda seu WordPress precisa trabalhar para comprimir todos esses arquivos, o que é uma tarefa que demanda muitos recursos computacionais e, em ambientes menos robustos, pode levar horas. A segunda é que, a cada vez que você faz um backup desse tipo, 100% dos arquivos são inclusos, mesmo aqueles que não mudaram desde a última cópia de segurança.

Essas duas consequências são um problema em si mesmas, porque inevitavelmente tornam seu site mais lento (ou até indisponível) enquanto a operação está em andamento, e consomem uma quantidade enorme de espaço em disco.

Em muitos serviços de hospedagem, esse consumo enorme de processamento pode até mesmo gerar suspensão do seu site – as hospedagens comuns penalizam severamente contas que usam muito da CPU durante vários minutos. Do ponto de vista do servidor, é como se você estivesse fazendo uso abusivo da conta. Some-se a isso a frequente proibição de armazenamento de arquivos compactados para fins de backup (algo comum nas hospedagens “ilimitadas” e de baixo custo).

Onde guardar tudo isso?

Com isso em mente, agora você tem o problema do armazenamento, que se divide em dois: o espaço ocupado e a confiabilidade.

Vamos começar pelo problema do espaço. Como mencionei na seção anterior, a cada vez que o backup é feito, 100% dos arquivos são compactados, mesmo que não tenham mudado desde o último backup.

Imagine que você faz backup diariamente de um site institucional pequeno. No primeiro backup, todos os arquivos são compactados e geram um pacote de 500Mb (dia 1). Você não faz alterações no site, e no segundo dia o backup roda novamente e compacta os mesmos 500Mb de dados.

Agora, você inclui uma nova galeria de fotos e vídeos institucionais. No dia 3, então, o site tem 120Mb a mais de dados e portanto o backup soma 620Mb. Só que o site não tem alterações depois disso e o dia 4 vê um backup de 620Mb, também… e assim por diante. Veja a evolução:

No fim da semana, todos os backups somam incríveis 3,88Gb de dados que vão ocupar o disco do servidor de hospedagem. Isso, com o tempo, pode significar centenas de Gb desperdiçados, e muitas vezes a necessidade de upgrade de plano só para comportar isso.

Você poderia dizer: “mas é só fazer backups semanais, ao invés de diários!”. Certo. Suponha que, no ritmo de atualizações acima, o backup tenha acontecido no dia 1 e depois no dia 7. Com isso, as modificações no dia 3 e 5 seriam gravadas como uma única alteração, e você seria incapaz de recuperar um ponto no tempo individualmente. E se você pensou em deixar para fazer backups manualmente, só quando necessário, então você realmente tem afinidade forte a risco e emoções extremas :)

O outro problema é que um arquivo de backup só começa a ser confiável se ele não está armazenado no mesmo servidor que o seu site. Afinal, em caso de desastres, de que adianta ter um backup se ele se perdeu junto com o site ou está no mesmo servidor que está fora do ar por qualquer razão?

Uma das leis fundamentais do backup é que ele deve ser armazenado fora do servidor em que o site está hospedado. Nos plugins de backup até é possível enviar o backup para armazenamento em nuvem (normalmente na versão “premium” deles, o que pode ser custoso). No entanto, isso não resolve o problema central: arquivos cada vez maiores com o tempo. Como o custo de armazenamento em serviços como Amazon S3 aumenta com o uso, sua conta vai ficando cada vez mais cara, mês a mês – lembre que o tamanho total do site é somado dia a dia! Não é uma solução eficiente.

O problema da retenção

Esse é uma consequência do problema anterior. Se você faz backups diários, como deveria fazer, a quantidade de armazenamento necessária vai crescendo de forma significativa. Imagine que você quer manter um histórico de 30 dias de backups: no cenário apresentado anteriormente, isso pode ultrapassar os 20Gb. Estamos falando de um site pequeno! Para qualquer coisa um pouco maior, o espaço exigido é proporcional.

Ainda assim, você não pode cair no erro de reduzir a retenção para economizar espaço. 30 dias é o mínimo do mínimo, porque muitos problemas podem ser descobertos semanas depois que aconteceram, e você precisa ser capaz de recuperar o estado funcional de um tema, plugin ou arquivo apagado acidentalmente.

O problema da restauração do backup

Um backup é tão bom quanto a sua utilidade na hora de reverter um desastre. Não surpreende que, dentre as pessoas que têm um bom hábito de fazer backups, a imensa maioria nunca restaurou um site antes – nem mesmo como teste.

O costume é confiar que o backup está acontecendo corretamente e que pode ser restaurado sem problemas assim que preciso. Isso não leva em conta que, em muitos casos, esses processos de recuperação são desastrosamente falhos, podem levar horas e podem nem mesmo funcionar.

Se o seu site está em uma hospedagem comum, do tipo compartilhada, restaurar backups pode estar entre os graus de frustrante e impossível. Com as limitações inerentes desse tipo de ambiente, você verá erros quando o plugin tentar baixar o backup (se estiver armazenado remotamente), descompactar (por conta do limite baixíssimo do uso de CPU) e restaurar propriamente (timeouts, etc).

A lição é: a capacidade de restaurar um site com sucesso é tão importante quanto o hábito de fazer backups, e a maioria não se atenta para isso.


Como nós resolvemos o problema dos backups no WordPress

Essa é a parte inevitável do artigo, porque não faria sentido em falar de um grande problema sem apresentar uma grande solução, não é? ;)

Desde o início da BlogLite, nossa preocupação com backups nos fez desenvolver os mais diversos tipos de solução ao longo dos anos. É claro que passamos pela metodologia de “comprimir tudo todo dia” (e enviar para um armazenamento remoto, claro!), e pudemos aprender todas as lições que se possa imaginar.

Felizmente, conseguimos resolver as dificuldades de backup a que todos os usuários de WordPress estão submetidos. Desde 2018, os clientes da BlogLite contam com a nossa própria Máquina do Tempo, que é basicamente a solução para todos os problemas apresentados até aqui. Isso trouxe uma segurança sem precedentes para todos os sites de nossa rede, e ainda não tem paralelo em nenhum outro serviço de hospedagem WordPress gerenciada.

Vejamos como a Máquina do Tempo resolve cada um dos problemas descritos anteriormente:

Nossa abordagem para backups no WordPress

A primeira grande diferença – e que faz toda a diferença – é que decidimos não fazer backups de forma tradicional, compactando tudo todo dia. Ao invés disso, nossa abordagem é o que se chama de backup incremental: a plataforma faz backup apenas das informações que mudaram de um dia para outro. Assim, se você não faz modificações em alguns dias, o backup não precisa incluir os arquivos que permaneceram iguais. A diferença de espaço em disco usado é dramática. Vamos ver como isso ficaria, usando o mesmo exemplo anterior:

No dia 1, todo o site foi salvo em backup, e por isso consumiu 500Mb de armazenamento. Entretanto, como só houve modificações nos dias 3 e 5, apenas o que mudou foi gravado. Nos dias em que o site não teve modificações, o backup ficou virtualmente vazio (para fins de simplicidade, não estamos somando o banco de dados, que é sim copiado diariamente).

Ao longo da semana, por conta dessa abordagem mais inteligente, foram necessários apenas 820Mb para manter cópias diárias do site em backup – comparado aos 3880Mb usados em backups convencionais. Isso quer dizer que a Máquina do Tempo precisa de quase 5x menos armazenamento para fazer o mesmo trabalho.

E por falar em trabalho, é preciso notar outra diferença importante da nossa abordagem: nós não compactamos arquivos. Ao invés disso, enviamos todos os arquivos diretamente para o armazenamento em nuvem, de forma segura. A consequência é que rodar backups na nossa plataforma não causa sobrecarga para o seu site. O backup poderia acontecer até mesmo em horários de pico porque não exigiria uso intensivo de CPU, ao contrário do método tradicional, que compacta tudo e consome toda a capacidade de processamento alocada no seu plano.

Isso é importante para a boa saúde do seu site, que não corre o risco de ficar indisponível por problemas de capacidade do servidor, e também para a boa integridade do backup, que pode ser concluído com sucesso mesmo em situações menos favoráveis.

Armazenamento e retenção

A Máquina do Tempo envia os backups diretamente para um serviço de armazenamento em nuvem altamente redundante e seguro, porque os arquivos são copiados para diferentes datacenters geograficamente distantes entre si. Isso quer dizer que, além de confiáveis, os backups são incrivelmente duráveis e nunca consomem espaço em disco que é reservado ao seu site.

A questão da retenção (ou seja, o histórico de backups que podem ser restaurados) era uma preocupação importante e também foi levada em conta aqui. Como somos capazes de fazer backups incrementais, conseguimos oferecer 120 dias de histórico a nossos clientes – são 4 meses de pontos de restauração! Isso não é oferecido por nenhum outro serviço de hospedagem que conhecemos – em nenhum lugar do mundo.

De fato, já estamos experimentando a política de retenção de 365 dias, algo que se tornará padrão na BlogLite em breve. Imagine ter 1 ano completo de histórico de backups! É o tipo de tranquilidade que conseguimos oferecer.

A questão da restauração do backup

Essa importante pendência também foi resolvida pela Máquina do Tempo, e de um modo muito interessante.

Primeiramente, porque a restauração também é incremental. Isso significa que nossa plataforma não precisa sobrescrever seu site inteiro com um backup de dias atrás, mas apenas substituir os arquivos modificados. Isso significa também que você pode restaurar um arquivo ou conjunto de arquivos em especial, ao invés de voltar o site inteiro no tempo!

Imagine que um plugin ficou problemático após uma atualização. Ao invés de voltar todo o site para ontem (e perder outras modificações que você fez), é possível voltar apenas o plugin no tempo, de forma rápida e confiável. É todo um mundo de novas possibilidades :)

Além disso, resolvemos o problema de confiabilidade dos backups gerados. Ao invés de apenas manter a esperança de que tudo está bem, você pode testar pontos de restauração em uma área separada do site principal – útil inclusive para quando você quer saber se um ponto anterior no tempo resolve um determinado problema, sem que seja preciso sobrescrever o site em produção.

Um outro super poder importante da Máquina do Tempo é sua capacidade de restaurar completamente sites diante de qualquer cenário. Veja, plugins de backup precisam que o seu WordPress esteja funcionando para que você possa acessá-los e iniciar uma restauração. Isso é completamente inútil em casos de erros fatais que você não consegue diagnosticar ou mesmo diante da perda total do site por conta de apagamento acidental ou invasão. Nossa solução, pelo contrário, é capaz de restaurar seu site mesmo se o WordPress tiver sido completamente aniquilado. Diante de cenários extremos, é preciso ter uma solução confiável.

Máquina do Tempo: parece futurista, mas já existe

Como você pôde ver, nós resolvemos os problemas mais graves e irritantes dos backups no WordPress. Essa solução futurista está disponível sem custo adicional em todos os nossos planos de hospedagem WordPress (que, aliás, contam com migração profissional gratuita).

É o nosso modo de garantir o sono tranquilo de proprietários de todo tipo de sites e blogs – pequenos, grandes ou gigantes.