Migre seu site WordPress para o Cloud Platform

Publicados: 2020-06-05

Fundamentalmente baseado em PHP e MySQL, o mundialmente famoso CMS WordPress tem alimentado tudo, desde blogs pessoais até sites de alto tráfego por mais de duas décadas. No entanto, desde seu início e primeiro lançamento em 2003, seus criadores não o construíram com infraestruturas modernas baseadas em nuvem elásticas e escaláveis ​​em mente. Quem poderia prever como a tecnologia evoluiu até agora?

Felizmente, com a expansão da comunidade WordPress e o lançamento posterior de versões mais maduras do WordPress, seus recursos se expandiram significativamente. Em última análise, agora temos cenários em que é possível construir uma infraestrutura WordPress que aproveita servidores e infraestruturas em nuvem adequadamente.

Ao longo deste blog, exploraremos a relação entre WordPress e Cloud Servers e quando eles devem ser usados ​​em combinação. Para fins de contexto, garantiremos o escopo dos conceitos que pertencem a este tópico em grande detalhe. Então, sem mais delongas, vamos mergulhar!

O que é a nuvem?

Recapitulando rapidamente, e em termos leigos, a Nuvem é um meio onipresente de provisionamento de serviços e recursos de TI pela Internet, podendo ser acessado sob demanda ou com pagamento conforme o uso. Então, basicamente, os servidores em nuvem atuam como 'unidades de armazenamento' convenientes na internet, daí o termo 'nuvem'. Esta pode ser a resposta mais simplista que já dei em relação à nuvem, de qualquer forma, seguindo em frente!

Dito isto, existem inúmeros provedores de serviços em nuvem, embora os mais notáveis ​​sejam o Amazon Web Services (com a maior participação de mercado), seguido pelo Microsoft Azure e Google Cloud. Esses três são ocasionalmente chamados de 'hiperscalers', embora existam outros provedores de nuvem pública, como AlibabaCloud, DigitalOcean, IBM Cloud e Linode. Com toda a justiça, vale a pena mencionar que alguns provedores de nuvem pública também oferecem serviços de hospedagem padrão (por exemplo, hospedagem compartilhada WordPress), enquanto outros não. Mas vamos nos aprofundar nisso mais tarde.

A beleza da nuvem é que ela nivela o campo de jogo para pequenas empresas, de forma significativa. Isso permite que eles acessem recursos on-line de última geração que anteriormente estavam disponíveis apenas para jogadores maiores. Tudo isso sem a necessidade de grandes investimentos de capital que incluem compras de hardware, instalação de data centers caros e contratação de departamento de TI de manutenção em tempo integral.

Na maioria das vezes, a maioria dos provedores de nuvem também oferece um modelo de pagamento conforme o uso com serviços gerenciados, como serviços de dimensionamento automático e gerenciamento de banco de dados etc. Portanto, isso é muito atraente para muitas empresas que não pretendem ou não podem ter recursos para investir em uma infraestrutura de TI completa. Essencialmente, permitindo que eles se concentrem em seus negócios principais e deixem que um fornecedor de nuvem lide com os aspectos técnicos.

A nuvem oferece acesso a uma infinidade de benefícios; no entanto, os benefícios notáveis ​​são:

  • Oferece uma arquitetura onipresente e orientada a serviços, disponível em qualquer lugar do mundo.
  • Ele fornece computação conveniente e flexível
  • Ele aproveita diferentes níveis de serviços sob demanda
  • Fornece um custo total de propriedade reduzido
  • Oferece uma sobrecarga de tecnologia da informação reduzida
Vantagens do Cloud-for-WordPress

Tipos de serviços em nuvem

Geralmente, os provedores de nuvem pública oferecem seus serviços em três verticais, a saber: Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço (SaaS). Por uma questão de contexto, vamos resumir as diferenças entre todos esses tipos de serviço e o que cada um deles implica, certo?

  1. IaaS: Infrastructure as a Service oferece diferentes infraestruturas de nuvem para usuários como computação virtual, sistemas operacionais, filas, armazenamento, VLANs, balanceadores de carga entre outros. Esse tipo de vertical de nuvem exige conhecimento técnico aprofundado para implantar e operar um aplicativo. Por exemplo, cada componente requer gerenciamento técnico para iniciar a expansão ou redução, ou para realizar o balanceamento de carga.
  2. PaaS: Por outro lado, o modelo Platform as a Service oferece mais serviços gerenciados. Isso basicamente significa que a responsabilidade de atualizações de software e patches pertence principalmente ao fornecedor da nuvem. Além disso, com o PaaS, as operações específicas de infraestrutura orquestradas pela própria nuvem, como dimensionamento, backup, replicação de dados, ocorrem de forma transparente.
  3. SaaS: Indiscutivelmente o mais conhecido de todos esses verticais é o modelo de Software como Serviço, que oferece software totalmente funcional gerenciado na nuvem. O modelo SaaS pode envolver componentes IaaS e aplicativos PaaS ou usar qualquer uma das duas verticais separadamente.
Diferença entre-IaaS-PaaS-SaaS

Em última análise, apesar de todos os modelos destacados acima, os limites entre as plataformas de nuvem estão se tornando cada vez mais finos à medida que mais fornecedores empregam mais serviços mistos que podem se enquadrar em IaaS ou PaaS. Como exemplo, a Amazon Web Services começou com ofertas de IaaS (EC2, SQS e S3), depois adicionou componentes de PaaS ao longo do caminho (bancos de dados relacionais e bancos de dados não relacionais). Comparativamente, o Microsoft Azure estende os componentes PaaS (Sites do Azure e Banco de Dados SQL) e IaaS (Máquinas Virtuais e Armazenamento).

WordPress-stack-on-Amazon-Cloud

Qual é o momento certo para migrar para a nuvem?

Não obstante e sem dúvida, a maioria dos aplicativos de software pode ser hospedado em 'hiperscalers' de uma forma ou de outra. No entanto, a questão sempre foi é justificável, será redundante, talvez exagerado ou levar à subutilização de recursos em alguns casos.

Dito isto, vale a pena notar que aplicativos específicos são uma ótima opção para a nuvem devido à extrema necessidade de determinados recursos de nuvem. Por exemplo, eles podem precisar de uma combinação de codificadores, CDNs, bancos de dados relacionais ou a capacidade de dimensionar recursos automaticamente. Seja como for, há casos em que outros aplicativos são apenas transferidos para a nuvem e não conseguem aproveitar totalmente todos os seus recursos. O que não é crime, de qualquer forma.

Quais tipos de aplicativos WordPress são ideais para migração para a nuvem?

Uma vez que estabelecemos que a nuvem pode lidar com qualquer aplicativo de computação externa, em qualquer capacidade. Nossa ressalva ainda permanece, pois destacamos que, no entanto, nem todos os aplicativos são adequados para a nuvem. Então, quais tipos de aplicativos WordPress são suficientes para a nuvem?

WordPress-application-types-Ideal-for-Cloud

1. Aplicativos com Necessidades de Processamento Periódico e Exigente

De um modo geral, esses aplicativos normalmente realizam operações muito intensivas em computação, como funções de análise de lote em vários formulários de dados. Essas funções de análise em lote podem assumir diferentes formas, incluindo: conversão de arquivos de um formato para outro, análise semântica de texto, classificação de dados, relatórios, indexação de texto, agrupamento de dados ou até mesmo treinamento de rede neural para aprendizado de máquina etc.

Assim, como essas operações tendem a ser previsíveis no tempo em sua ocorrência, elas acabam exigindo um poder computacional significativo oferecido por provedores de nuvem em hiperescala. Isso ocorre porque os provedores de nuvem pública sempre têm hardware de última geração para atender a essas grandes necessidades. Então, essencialmente, para pequenas empresas com esses aplicativos, a nuvem os ajuda a contornar esses investimentos pesados ​​e desnecessários em hardware (que às vezes podem ser investimentos reacionários)

Além disso, uma organização pode optar por acelerar ainda mais seus recursos de processamento em lote com a nuvem para terminar mais rapidamente, por exemplo, em menos de uma hora, em vez de 3 ou 4 horas. Isso é bastante gerenciável em um ambiente de nuvem, pois os administradores podem simplesmente ativar mais algumas unidades de computação. Considerando que, na hospedagem padrão do WordPress, tal efetivação seria bastante desafiadora devido a limitações de hardware.

2. Aplicativos que precisam de alta disponibilidade (HA) e escalabilidade.

Temos essencialmente duas categorias a considerar. A primeira categoria são os aplicativos que desejam fornecer um serviço de HA (alta disponibilidade) para seus usuários finais. Depois, temos aplicativos que antecipam um aumento em seu uso ou planejam estender seus serviços a uma base de usuários maior.

Uma configuração de alta disponibilidade significa que o aplicativo não possui um ponto único de falha (SPOF). Isso normalmente é feito adicionando uma redundância a cada terminal, componente ou serviço do aplicativo. Além disso, essa configuração naturalmente pressupõe que mais hardware e mecanismos são necessários para obter alta disponibilidade, como processos automáticos de failover, balanceamento de carga e monitoramento.

A segunda categoria diz respeito a aplicativos que pretendem aumentar sua base de usuários (e ter escalabilidade flexível). Por exemplo, eles podem estar planejando estender sua oferta de produtos/serviços; ou espera expandir mais tarde para novos mercados. Portanto, isso significa a necessidade de uma atualização significativa da nuvem e uma camada de gerenciamento adequada sobre ela para que funcione.

3. Aplicativos com picos de uso imprevisíveis

Esses aplicativos normalmente interagem frequentemente com os usuários por meio de lojas online, sites de produtos, blogs populares etc. Assim, esses serviços da Web geralmente têm uma base de usuários previsível e estável, no entanto, em alguns casos, podem acabar atraindo um número muito grande de usuários aleatoriamente . Por exemplo, picos podem ocorrer se forem referenciados em uma página da Web popular ou se um vídeo relacionado a eles se tornar viral. Ou talvez depois que uma campanha de marketing se torne mais bem-sucedida do que o inicialmente previsto por causa de cupons e códigos promocionais.

Portanto, essencialmente, uma migração para a nuvem pode ser ideal quando você não pode prever seu volume potencial de tráfego de entrada ou o período exato em que ele ocorrerá. Esses proprietários de sites tendem a prever com precisão um aumento no tráfego, mas não sabem quanto será, nem como será distribuído.

Leia mais: 11 maneiras eficazes de expandir seu site WordPress para alto tráfego

Portanto, para esses cenários, a aquisição de hardware reacionária ou emergencial não vale o custo devido ao uso fragmentado, o que pode fazer com que muito hardware permaneça sem uso sazonalmente. Em tais cenários, qualquer coisa que não seja uma implementação de nuvem seria imprudente.

4. Aplicativos com necessidade de vários ambientes de teste

Pouco conhecido por muitos, os usuários podem aproveitar a nuvem para executar um ambiente de teste. Esses ambientes de teste podem ser permanentes ou temporários quando um conjunto específico de testes precisa ser realizado, como testes de segurança ou testes de carga

Então, basicamente, hardware de ponta será necessário para alcançar tais ambientes de teste e a implicação de custo para aquisição de hardware para realizar testes de segurança e testes de carga pode ser bastante pesada. Isso ocorre principalmente porque esses testes precisam ser realizados algumas vezes por ano e exigem uma configuração de produção completa para atingir seu objetivo. É por isso que a compra de hardware novo para esses testes pode acabar sendo uma ação ineficiente ou redundante do ponto de vista de custo. É aí que a nuvem se torna uma opção.

Então, para resumir nossos pontos, os principais fatores que afetam a adoção da nuvem são: base de usuários, padrão de uso, demandas de tolerância a falhas e requisitos de teste. É claro que mais fatores justificam a candidatura do aplicativo para a Nuvem, mas esses quatro fatores normalmente se destacam.

Usando plataformas de nuvem com WordPress

A maioria dos aplicativos WordPress utiliza hospedagem padrão, no entanto, há um aumento no número de usuários do WordPress que optam por executar seus sites em plataformas como AWS Cloud e Google Cloud.

Isso mostra que mais proprietários de sites estão preocupados em como construir um site que seja dimensionado adequadamente. Por exemplo, deve ser capaz de atender a um número flutuante de visitantes e flexível o suficiente para permitir uma atualização de conteúdo rápida e fácil, mantendo-se tolerante a falhas. Este último ponto é importante, pois dá aos proprietários a tranquilidade de que, quando algo quebrar, o site ainda poderá desempenhar suas funções adequadamente.

Portanto, para um contexto adicional, a hospedagem típica do WordPress é um serviço gerenciado, essencialmente, um Software as a Service (SaaS). Enquanto a migração para a nuvem pública constitui a instalação de uma plataforma como serviço (PaaS). Em essência, uma instalação do WordPress usando PaaS descarrega a manutenção da infraestrutura, backups, replicações e disponibilidade para o fornecedor da nuvem.

Gerenciar um Cloud Server pode ser difícil

Configurar ou provisionar seu ambiente de servidor não é facilmente dedutível, a menos que você seja um conhecedor ou um especialista. Implica saber como gerenciar suas instâncias de nuvem enquanto institui uma camada de protocolos de segurança que garante a proteção de suas instâncias de nuvem.

De uma perspectiva, tais instalações podem exigir que você tenha competências com comandos do Linux, pois os servidores padrão da AWS não vêm com nenhuma interface gráfica do usuário para trabalhar. Portanto, a capacidade de usar a CLI é imperativa, o que pode ser um desafio para aqueles com conhecimento limitado do lado do servidor.

No entanto, alguns provedores de nuvem fornecem recursos para ajudar a aliviar os aborrecimentos do gerenciamento de servidores para permitir que você se concentre em seus sites WordPress. Essas mesmas ferramentas ficam de olho na segurança do seu servidor para proteger seu site contra ataques cibernéticos. Essas soluções podem oferecer aos usuários a capacidade de integrar SSL, criar sites de teste, realizar clonagem de sites e gerenciar cron-jobs com apenas alguns cliques.

Planejando uma migração para a nuvem do WordPress

Depois de optar por migrar seu aplicativo WordPress para a nuvem, é importante determinar um plano de arquitetura aplicável, escolher um fornecedor de nuvem confiável, refinar sua arquitetura de aplicativo, testar sua configuração e depois liberar.

Determinar seu projeto de arquitetura permite identificar principalmente as partes independentes e escaláveis ​​de seu aplicativo WordPress. Em segundo lugar, ao escolher um fornecedor de nuvem, certifique-se de escolher o melhor ajuste considerando fatores como recursos de banco de dados. Por exemplo, um banco de dados SQL Server pode ser adequado para o Banco de Dados SQL do Azure ou AWS RDS, enquanto um banco de dados MySQL também pode ser adequado para o AWS RDS.

Além disso, um fornecedor de nuvem pode afetar a arquitetura final do seu aplicativo. Além disso, ao testar uma configuração, sempre considere dados em tamanho real, portanto, procure instituir um clone completo dos dados de produção, que incluem principalmente dados de banco de dados e conteúdo gerado pelo usuário.

Custo

O custo geral inicial para cada fornecedor de nuvem também deve ser calculado com cuidado. Como a maioria dos fornecedores de nuvem possui calculadoras de preços on-line, você pode utilizá-las. Além disso, preste atenção a aspectos como horas de computação, largura de banda e armazenamento, além de métricas como número de solicitações GET para acessar determinado armazenamento de objetos e horas do balanceador de carga, etc.

Práticas recomendadas para instalações do WordPress em servidores em nuvem

1. Certifique-se de aproveitar uma rede de entrega de conteúdo (CDN)

Lembre-se de que a maioria dos aplicativos WordPress oferece uma mistura de conteúdo estático e dinâmico. O conteúdo estático são imagens, arquivos JavaScript ou folhas de estilo. Enquanto o conteúdo dinâmico é qualquer coisa gerada no lado do servidor que aproveita o código PHP do WordPress. Por exemplo, elementos gerados a partir do banco de dados ou personalizados para cada visualizador.

Como a latência da rede é importante para a experiência do usuário final, é imperativo utilizar CDNs, pois elas ajudam a resolver a latência da rede, permitindo que você forneça conteúdo de forma consistente para usuários em todo o mundo.

Portanto, como os usuários geralmente estão espalhados geograficamente pelo mundo, as CDNs ajudam essencialmente a acelerar a distribuição de conteúdo com baixa latência e altas velocidades de transferência de dados em todo o mundo.

Leia mais: Dicas para melhorar a velocidade do site WordPress

2. Cache de banco de dados

O cache de banco de dados pode reduzir drasticamente a latência e aumentar a taxa de transferência de aplicativos como o WordPress. Ele consegue isso armazenando na memória pedaços de dados acessados ​​com frequência para acesso de baixa latência, como os resultados de consultas de banco de dados com uso intenso de E/S. Portanto, isso significa que quando uma grande porcentagem das consultas é atendida pelo cache, o número de consultas que precisam atingir o banco de dados é reduzido. Assim, resultando em um custo menor associado à execução do banco de dados.

3. Camada da Web sem estado

Fundamentalmente, um aplicativo sem estado ignora as interações anteriores e não armazena informações de sessão. E para o WordPress, isso implica que todos os usuários finais recebam a mesma resposta, independentemente de qual servidor da Web tenha processado sua solicitação.

Portanto, para aproveitar vários servidores da Web em uma configuração de dimensionamento automático, sua camada da Web deve ser sem estado. Além disso, aplicativos sem estado podem ser dimensionados horizontalmente, pois qualquer solicitação pode ser atendida por qualquer um dos recursos de computação disponíveis (o que chamamos de 'instâncias de servidor da Web').

No entanto, por padrão, o WordPress armazena uploads de usuários no sistema de arquivos local e, portanto, não é sem estado. Portanto, é importante mover sua instalação do WordPress e todas as configurações do usuário, plugins, temas e uploads gerados pelo usuário para uma plataforma de nuvem de dados compartilhada para ajudar a reduzir a carga nos servidores da Web e tornar a camada da Web sem estado.

Leia mais: Os plugins do WordPress são seguros de usar?

Para conseguir isso, você pode usar armazenamento de terceiros para armazenar as sessões PHP. Isso pode ser um simples armazenamento de valor-chave ou o próprio banco de dados. Todos os principais fornecedores de nuvem oferecem armazenamentos de valor-chave, como Azure Tables ou AWS DynamoDB, e devem ser altamente disponíveis e acessíveis por todos os componentes do aplicativo que interagem com os dados da sessão.

Pensamentos finais.

Em conclusão, a computação em nuvem tornou-se a forma mais predominante de gerenciamento de dados com sua capacidade incomparável de fornecer economias de escala aprimoradas, segurança de dados, interoperabilidade, fácil acessibilidade e eficiência energética. Está essencialmente alterando as formas como gerenciamos, alocamos e consumimos recursos de computação, armazenamento e rede globalmente.

Portanto, os servidores WordPress e Cloud podem ser combinados principalmente se você estiver antecipando altos picos de tráfego, se precisar de alta disponibilidade, se tiver requisitos de escalabilidade inesperados, tiver necessidades de processamento dinâmico e se precisar de um ambiente de teste exclusivo.