Exibição de sites

Neste artigo, você aprenderá a hospedar um site no Google Cloud Platform (GCP), que oferece uma plataforma robusta, flexível, confiável e escalonável para exibição de sites. O GCP foi desenvolvido pelo Google com a mesma infraestrutura usada em sites como o Google.com, o YouTube e o Gmail. Para disponibilizar o conteúdo do site, use o tipo e o design de infraestrutura de acordo com suas necessidades.

Este artigo será útil se você:

  • souber como criar um site e já tiver implantado e usado alguma infraestrutura de exibição da Web anteriormente;
  • estiver avaliando a possibilidade de migrar seu site para o GCP e os meios para fazer isso.

Caso você queira criar um site simples, considere o uso do Google Sites, uma ferramenta estruturada de criação de páginas da Web e wikis. Para mais informações, acesse a Ajuda do Google Sites.

Como escolher uma opção

Se você não está familiarizado com o GCP, é recomendável começar usando um tipo de tecnologia que você já conheça. Por exemplo, se atualmente você usa servidores de hardware ou máquinas virtuais (VMs) para hospedar seu site com outro provedor de nuvem ou no seu próprio hardware, o Compute Engine disponibiliza um paradigma que você conhece. Se você já usa uma Platform as a Service (PaaS) como o Heroku ou o Engine Yard, é provável que o App Engine seja o melhor lugar para começar.

Depois de conhecer melhor o GCP, comece a explorar a variedade de produtos e serviços fornecidos. Por exemplo, se você começou usando o Compute Engine, pode aumentar os recursos do seu site usando o Google Kubernetes Engine (GKE) ou migrar algumas ou todas as funcionalidades para o App Engine.

Veja na tabela a seguir um resumo das opções de hospedagem no GCP:

Opção Produto Armazenamento de dados Balanceamento de carga Escalonabilidade Geração de registros
Site estático

Cloud Storage

Firebase Hosting

Intervalo do Cloud Storage n/a Automaticamente n/a
Máquinas virtuais Compute Engine

API Cloud SQL Admin, API Cloud Storage, API Cloud Datastore e API Cloud Bigtable. Também é possível usar outro provedor de armazenamento externo.

Discos permanentes baseados em disco rígido, chamados discos permanentes padrão e discos permanentes de estado sólido (SSD, na sigla em inglês).

HTTP(S)

Proxy TCP

Proxy SSL

Terminação IPv6

Rede

Entre regiões

Interno

Automaticamente, com grupos de instâncias gerenciadas

Stackdriver Logging

Stackdriver Monitoring

Console do Stackdriver Monitoring

Contêineres GKE Semelhante ao Compute Engine, mas interage de maneira diferente com os discos permanentes Rede
HTTP(S)
Autoescalador de cluster

Stackdriver Logging

Stackdriver Monitoring

Console do Stackdriver Monitoring

Plataforma gerenciada App Engine O Google faz isso para você O Google faz isso para você O Google faz isso para você O Google faz isso para você

Neste artigo, você entenderá as principais tecnologias de exibição da Web no GCP e terá uma ideia de como elas funcionam. Você encontrará links para documentação completa, tutoriais e artigos de soluções que o ajudarão a entender conceitos avançados, quando estiver pronto.

Como entender os custos

Como há muitas variáveis e cada implementação é diferente, está fora do escopo deste artigo fornecer recomendações específicas sobre custos. Para entender os princípios do Google sobre como funcionam os preços do GCP, consulte a página de Preços. Para entender os preços de serviços individuais, consulte a seção Preços dos produtos. Também é possível usar algumas ferramentas que ajudam a avaliar os custos de uso do GCP.

  • Use a calculadora de preços para estimar como resultaria seu uso do GCP. Forneça os detalhes sobre os serviços que você quer usar e veja uma estimativa do preço.
  • Use a ferramenta Custo total de propriedade (TCO, na sigla em inglês) para avaliar os custos relativos para executar a carga de computação no GCP. A ferramenta fornece várias entradas ajustáveis para a modelagem de custo e compara os custos estimados do GCP com os da Amazon Web Services (AWS). Essa ferramenta não modela todos os componentes de um aplicativo comum, como armazenamento e redes.

Como configurar serviços de nome de domínio

Geralmente, você precisa registrar um nome do domínio para seu site. Use um registrador de nomes de domínio público, por exemplo, o Google Domains para registrar um nome exclusivo. Para ter o controle completo do Sistema de Nome de Domínio (DNS, na sigla em inglês), use o Cloud DNS como provedor DNS. Na documentação do Cloud DNS, você encontra um guia de início rápido para fazer isso.

Ao usar um provedor de DNS atual, geralmente você precisa criar um par de registros nesse provedor. Para ver um nome de domínio, como example.com, crie um registro A com seu provedor de DNS. Para ver o subdomínio www.example.com, crie um registro CNAME com www para apontá-lo para o domínio example.com. O registro A atribui um nome de host a um endereço IP. O registro CNAME cria um alias para o registro A.

Se o registrador também é um provedor de DNS, provavelmente você não precisa de mais nada. Agora, se você usa provedores diferentes para registro e DNS, verifique se os servidores de nomes associados ao domínio estão corretos no registrador.

Depois que as alterações de DNS são feitas, dependendo dos valores de time to live (TTL) da zona, as atualizações de registro levam algum tempo para serem propagadas. Se esse for um novo nome do host, as alterações entram em vigor rapidamente porque os resolvedores do DNS não têm valores anteriores armazenados em cache e podem entrar em contato com o provedor de DNS para solicitar as informações necessárias.

Como hospedar um site estático

A maneira mais simples de exibir o conteúdo de um site por HTTP(S) é hospedar páginas da Web estáticas. Elas são exibidas sem alterações, exatamente como foram desenvolvidas, geralmente em HTML. Um site estático é uma boa opção se as páginas raramente são alteradas após a publicação, por exemplo, postagens de um blog ou páginas que fazem parte do site de uma pequena empresa. Muita coisa pode ser feita com páginas estáticas, mas se você precisa que o site tenha muitas interações com os usuários por meio de código no servidor, considere as outras opções discutidas neste artigo.

Como hospedar um site estático no Cloud Storage

Para hospedar um site estático no Cloud Storage, crie um intervalo do Cloud Storage, faça upload do conteúdo e teste o novo site. Disponibilize seus dados diretamente de storage.googleapis.com ou confirme que é o proprietário do domínio e use seu nome de domínio.

As páginas da Web estáticas podem ser criadas como você quiser. Por exemplo, é possível desenvolver páginas manualmente usando HTML e CSS. Use um gerador de sites estáticos, como Jekyll, Ghost ou Hugo para criar o conteúdo. Com os geradores de sites estáticos, você produz um site estático por meio da criação em markdown e da utilização de modelos e ferramentas. Nesses geradores, geralmente, um servidor da Web local é fornecido para que você visualize o conteúdo.

Depois que o site estático estiver funcionando, use o método que quiser para atualizar as páginas. Esse processo pode ser tão simples quanto copiar manualmente uma página atualizada para o intervalo. Também é possível usar uma abordagem mais automatizada, por exemplo, armazenar o conteúdo no GitHub e usar um webhook para executar um script que atualize o intervalo. Um sistema ainda mais avançado consiste em usar uma ferramenta de integração/entrega contínuas (CI/CD, na sigla em inglês) como o Jenkins para atualizar o conteúdo nesse intervalo. O Jenkins tem um plug-in do Cloud Storage que fornece uma etapa pós-criação do Google Cloud Storage Uploader para publicar os artefatos da criação no Cloud Storage.

Se você tem um aplicativo da Web que precisa exibir conteúdo ou mídia estática de upload do usuário, o uso do Cloud Storage pode ser uma maneira econômica e eficiente de hospedar e exibir esse conteúdo e, ao mesmo tempo, reduzir o volume de solicitações dinâmicas para o aplicativo.

Além disso, o Cloud Storage aceita diretamente o conteúdo enviado pelo usuário. Desse modo, os usuários fazem o upload de grandes arquivos de mídia de maneira direta e segura, sem a necessidade de proxy para seus servidores.

Para conseguir o desempenho ideal do site estático, consulte Práticas recomendadas do Cloud Storage.

Para mais informações, consulte as seguintes páginas:

Como hospedar um site estático com o Firebase Hosting

No Firebase Hosting, você tem hospedagem estática rápida e segura para o aplicativo da Web. Com o Firebase Hosting, é possível implantar apps da Web e conteúdo estático em uma rede de fornecimento de conteúdo (CDN, na sigla em inglês) global, usando um único comando.

Estas são algumas das vantagens do Firebase Hosting:

  • O SSL sem configuração é incorporado ao Firebase Hosting. Os certificados SSL são provisionados nos domínios personalizados sem custos.
  • Todo o conteúdo é exibido por HTTPS.
  • O conteúdo é disponibilizado rapidamente para os usuários a partir de bordas da CDN no mundo todo.
  • Com a Firebase CLI, o aplicativo é executado em segundos. Use ferramentas de linha de comando para adicionar destinos de implantação ao processo de criação.
  • Você tem recursos de gerenciamento de versões como implantação atômica de novos recursos, controle completo de versão e reversões com um clique.
  • No Hosting, você tem uma configuração prática para aplicativos de página única e outros sites parecidos com aplicativos.
  • O Hosting foi desenvolvido para ter total compatibilidade com outros recursos do Firebase.

Para mais informações, consulte as seguintes páginas:

Como usar máquinas virtuais com o Compute Engine

Para os casos de uso de Infrastructure as a Service (IaaS), você tem o Compute Engine no GCP. O Compute Engine disponibiliza uma infraestrutura de computação robusta, mas você precisa escolher e configurar os componentes da plataforma que quer usar. É sua responsabilidade configurar, administrar e monitorar os sistemas. O Google garante que os recursos estejam disponíveis, sejam confiáveis e estejam prontos para uso, mas você precisa provisioná-los e gerenciá-los. A vantagem, nesse caso, é que você tem controle completo dos sistemas e flexibilidade ilimitada.

Use o Compute Engine para desenvolver e implantar praticamente qualquer sistema de exibição de sites que quiser. É possível usar VMs, denominadas instâncias, para criar o aplicativo como se estivesse usando sua própria infraestrutura de hardware. No Compute Engine, você tem vários tipos de máquina disponíveis para personalizar a configuração, de modo que ela atenda às necessidades e ao orçamento. Escolha o sistema operacional, as pilhas de desenvolvimento, as linguagens, as bibliotecas, os serviços e outras tecnologias de software que preferir.

Como configurar automaticamente com o Google Cloud Platform Marketplace

A maneira mais fácil de implantar uma pilha completa de exibição da Web é usar o Google Cloud Platform Marketplace. Com apenas alguns cliques, você implanta qualquer uma das mais de cem soluções completas com o click-to-deploy do Google ou o Bitnami.

GCP Marketplace

Por exemplo, é possível configurar uma pilha LAMP ou WordPress com o GCP Marketplace. Em poucos minutos, o sistema implanta uma pilha de software completa e funcionando em uma única instância. Antes da implantação, o GCP Marketplace mostra uma estimativa de custo para exibir o site, fornece informações claras sobre quais versões dos componentes de software serão instaladas e permite que você personalize a configuração alterando nomes de instâncias de componentes, escolhendo o tipo de máquina e um tamanho de disco. Depois da implantação, você tem controle completo sobre todas as instâncias do Compute Engine, as configurações e o software.

Como configurar manualmente

Também é possível criar manualmente sua infraestrutura no Compute Engine, seja partindo de uma implantação do GCP Marketplace ou criando a configuração do zero. Por exemplo, é possível usar a versão de um componente de software não oferecida pelo GCP Marketplace ou instalar e configurar tudo por conta própria.

O fornecimento de um framework completo e práticas recomendadas para configurar um site estão fora do escopo deste artigo. Entretanto, para configurar uma infraestrutura de exibição da Web no Compute Engine, do ponto de vista geral técnico, os seguintes itens são necessários:

  • Compreender os requisitos: caso você esteja criando um novo site, verifique se já sabe quais componentes serão necessários, por exemplo, instâncias, requisitos de armazenamento e infraestrutura de rede. Se estiver migrando seu aplicativo de uma solução atual, provavelmente já conhecerá esses requisitos, mas será necessário pensar em como sua configuração atual será mapeada nos serviços do GCP.
  • Planejar o projeto: pense na arquitetura e elabore o projeto. Seja o mais claro possível.
  • Criar os componentes: os componentes, que geralmente são vistos como recursos físicos, por exemplo, computadores e chaves de rede, são fornecidos pelos serviços do Compute Engine. Por exemplo, para ter um computador, será preciso criar uma instância do Compute Engine. Se quiser um disco rígido permanente, será necessário criá-lo também. Com o Cloud Deployment Manager, esse processo se torna fácil e reproduzível.
  • Configurar e personalizar: depois de escolher os componentes, será preciso configurá-los, instalar e configurar o software e, por fim, gravar e implantar o código de qualquer personalização necessária. Para replicar a configuração, execute scripts de shell. Isso ajudará a acelerar as futuras implantações. O Deployment Manager também é útil aqui, porque disponibiliza modelos de configuração declarativa e flexível para implantação automática de recursos. Também é possível usar ferramentas de automatização de TI como o Puppet e o Chef.
  • Implantar os recursos: isso se refere a páginas da Web e imagens.
  • Testar: verifique se tudo funciona conforme o esperado.
  • Implantar para a produção: disponibilize seu site para o mundo ver e usar.

Para ajudá-lo a dar os primeiros passos e entender a configuração manual de instâncias no Compute Engine, siga um ou mais dos seguintes tutoriais:

Como armazenar dados com o Compute Engine

A maioria dos sites precisa de algum tipo de armazenamento. Isso pode ser necessário por vários motivos, por exemplo, para salvar os arquivos de upload dos usuários e, claro, os recursos do site.

No GCP, vários serviços de armazenamento gerenciado são fornecidos, incluindo:

  • um banco de dados SQL no Cloud SQL, baseado no MySQL;
  • duas opções para o armazenamento de dados NoSQL: Cloud Datastore e Cloud Bigtable.
  • armazenamento de objetos consistente, escalonável e de grande capacidade no Cloud Storage. Ele tem várias classes:
    • Multirregional, que oferece disponibilidade e redundância geográfica máximas.
    • Com o regional, você tem máxima disponibilidade e um local de armazenamento específico.
    • O nearline é a escolha de baixo custo ideal para os dados que são acessados com frequência menor do que uma vez por mês.
    • O coldline é opção de custo mais baixo para arquivamento, backup e recuperação de desastres.
  • discos permanentes no Compute Engine, para uso como armazenamento principal das instâncias. O Compute Engine oferece tanto discos permanentes com base em disco rígido, chamados de discos permanentes padrão, quanto discos permanentes em estado sólido (SSD). Também é possível optar por configurar a tecnologia de armazenamento preferida no Compute Engine usando discos permanentes. Por exemplo, é possível configurar o PostgreSQL como banco de dados SQL ou o MongoDB como armazenamento NoSQL. Para entender toda a variedade e os benefícios desses serviços no GCP, consulte como escolher uma opção de armazenamento.

Balanceamento de carga com o Compute Engine

Para qualquer site que opere em escala, o uso das tecnologias de balanceamento de carga para distribuir a carga de trabalho entre os servidores geralmente é um requisito. Há várias opções disponíveis para elaborar a arquitetura dos servidores da Web com carga balanceada no Compute Engine:

A implantação do balanceamento de carga é flexível. Além disso, é possível usar o Compute Engine com as soluções atuais. Para ver alguns exemplos, consulte Balanceamento de carga interno com escalonamento automático usando HAProxy e Consul para mais informações sobre o escalonamento automático tanto do nível de balanceamento de carga HAProxy quanto do servidor de back-end. Consulte balanceamento de carga HTTP(S) usando NGINX como uma solução possível para ser usada no lugar do balanceador de carga do Compute Engine.

Distribuição de conteúdo com o Compute Engine

Como o tempo de resposta é uma métrica fundamental para qualquer site, o uso de uma CDN para reduzir a latência e aumentar o desempenho geralmente é um requisito, especialmente para um site com tráfego global da Web.

O Cloud CDN usa os pontos de presença perimétricos do Google distribuídos globalmente para fornecer conteúdo de locais de cache mais próximos aos usuários. O Cloud CDN funciona com o balanceamento de carga HTTP(S). Para exibir conteúdo fora do Compute Engine, do Cloud Storage ou de ambos a partir de um único endereço IP, basta ativar o Cloud CDN para um balanceador de carga HTTP(S).

Como fazer o escalonamento automático com o Compute Engine

A arquitetura para adicionar e remover servidores pode ser configurada conforme a variação da demanda. Com essa abordagem, você garante o bom desempenho do site mesmo sob carga de pico e, ao mesmo tempo, mantém os custos sob controle durante os períodos de demanda normal. Com o Compute Engine, você tem um autoescalador que pode ser usado para esse propósito.

O escalonamento automático é um recurso de grupos de instâncias gerenciadas. Um grupo de instâncias gerenciadas é um pool homogêneo de instâncias de máquinas virtuais, criado a partir de um modelo de instância comum. Um autoescalador adiciona ou remove instâncias nesse grupo. Embora o Compute Engine tenha grupos de instâncias gerenciadas e não gerenciadas, só é possível usar grupos de instâncias gerenciadas com um autoescalador. Para mais informações, consulte escalonamento automático no Compute Engine.

Para ter uma visão mais aprofundada sobre o que é necessário para criar uma solução de aplicativo da Web escalonável e resiliente, consulte Como criar aplicativos da Web escalonáveis e resilientes.

Como gerar registros e fazer o monitoramento com o Compute Engine

O GCP inclui recursos que você usa para monitorar o que acontece no site.

O Stackdriver Logging coleta e armazena registros de aplicativos e serviços no GCP. Visualize ou exporte registros e integre registros de terceiros usando um agente do Logging.

Logging

No Stackdriver Monitoring, há painéis e alertas para o site. Acesse o Console do Monitoring para configurá-lo. É possível analisar as métricas de desempenho de serviços na nuvem, máquinas virtuais e servidores comuns de código aberto como MongoDB, Apache, Nginx e Elasticsearch. Use a API Stackdriver Monitoring para recuperar os dados de monitoramento e criar métricas personalizadas.

Painel do Monitoring

Como gerenciar DevOps com o Compute Engine

Para informações sobre o gerenciamento das operações e desenvolvimento com o Compute Engine, consulte os seguintes artigos:

Como usar contêineres com o GKE

Talvez você já esteja usando contêineres como os Docker. Para a exibição na Web, o uso de contêineres traz muitas vantagens:

  • Componentização: você usa contêineres para separar os vários componentes do aplicativo da Web. Por exemplo, imagine um servidor da Web e um banco de dados executados pelo site. Eles podem ficar em contêineres separados, e a modificação e atualização de um deles não afeta o outro. À medida que a concepção do seu aplicativo fica mais complexa, os contêineres são uma boa opção para uma arquitetura orientada a serviços, incluindo microsserviços. Esse tipo de concepção oferece escalonabilidade e outros benefícios.
  • Portabilidade: um contêiner tem tudo o que é preciso para a execução. O aplicativo e as dependências dele são incluídas no mesmo pacote. Você consegue executar os contêineres em várias plataformas, sem se preocupar com os detalhes inerentes ao sistema.
  • Implantação rápida: na hora da implantação, como o sistema foi criado a partir de um conjunto de definições e imagens, as partes podem ser implantadas de modo rápido, confiável e automático. Geralmente, os contêineres são pequenos e podem ser implantados com muita rapidez, se comparados, por exemplo, com as máquinas virtuais.

Com a computação de contêiner no GCP, você tem ainda mais vantagens para a exibição na Web:

  • Orquestração: o GKE é um serviço gerenciado criado no Kubernetes, o sistema de orquestração de contêineres de código aberto introduzido pelo Google. Com ele, o código é executado nos contêineres que são parte de um cluster composto de instâncias do Compute Engine. Em vez de administrar contêineres individuais ou criar e encerrar cada contêiner manualmente, é possível gerenciar o cluster automaticamente por meio do GKE, que usa a configuração definida por você.
  • Registro de imagem: o Container Registry fornece armazenamento particular das imagens do Docker no GCP. É possível acessá-lo por meio de um endpoint HTTPS, assim as imagens são recuperadas em qualquer máquina, seja uma instância do Compute Engine ou o próprio hardware. O serviço de registro hospeda as imagens personalizadas no Cloud Storage, em seu projeto do GCP. Essa abordagem garante que, por padrão, suas imagens personalizadas sejam acessadas apenas pelos membros do projeto.
  • Mobilidade: significa que você tem a flexibilidade para mover e combinar as cargas de trabalho com outros provedores de nuvem ou misturar as cargas de trabalho de computação na nuvem com implementações locais para criar uma solução híbrida.

Como armazenar dados com o GKE

Como o GKE é executado no GCP e usa instâncias do Compute Engine como nós, as opções de armazenamento têm muito em comum com o armazenamento no Compute Engine. É possível acessar o Cloud SQL, o Cloud Storage, o Cloud Datastore e o Cloud Bigtable por meio das respectivas APIs ou usar outro provedor de armazenamento externo de sua preferência. Entretanto, as interações do GKE com os discos permanentes e com uma instância normal do Compute Engine são diferentes.

Uma instância do Compute Engine inclui um disco anexado. Ao usar o Compute Engine, desde que a instância ainda exista, o volume permanecerá disponível para ela. É possível até mesmo desanexar o disco e usá-lo em uma instância diferente. Por outro lado, em um contêiner, os arquivos em disco são temporários. Quando ele é reiniciado, por exemplo, após uma falha, os arquivos em disco são perdidos. Para resolver esse problema, uma abstração de volume é usada no Kubernetes, e um dos tipos de volume é o gcePersistentDisk. Isso significa que é possível usar os discos permanentes do Compute Engine com contêineres para impedir que os arquivos de dados sejam excluídos quando você usar o GKE.

Para compreender os recursos e benefícios de um volume, primeiro é preciso entender um pouco sobre os pods. Pense no pod como um host lógico específico do aplicativo para um ou mais contêineres que é executado em uma instância do nó. Quando os contêineres são membros de um pod, é possível compartilhar vários recursos, incluindo um conjunto de volumes de armazenamento compartilhados. Com esses volumes, os dados são mantidos quando o contêiner é reiniciado e podem ser compartilhados com os contêineres desse pod. É claro que também é possível ter somente um contêiner e volume em um pod, mas ele é uma abstração obrigatória para conectar esses recursos de maneira lógica.

Veja um exemplo no tutorial Como usar discos permanentes com WordPress e MySQL.

Como fazer o balanceamento de carga com o GKE

Várias arquiteturas grandes de exibição na Web requerem múltiplos servidores para compartilhar as demandas do tráfego. Como é possível criar e gerenciar vários contêineres, nós e pods com o GKE, ele é uma escolha natural para um sistema de exibição da Web com balanceamento de carga.

Como usar o balanceamento de carga de rede

A maneira mais fácil de criar um balanceador de carga no GKE é usar o balanceamento de carga de rede do Compute Engine. Com ele, você faz o balanceamento dos sistemas com base nos dados recebidos de protocolos de Internet como endereço, porta e tipo de protocolo. O balanceamento de carga de rede usa as regras de encaminhamento. Elas apontam para pools de destino que listam quais instâncias estão disponíveis para serem usadas no balanceamento.

Com o balanceamento de carga de rede, é possível fazer o balanceamento adicional com protocolos baseados em TCP/UDP, por exemplo, o tráfego SMTP, e o aplicativo pode inspecionar os pacotes diretamente.

Para implantar o balanceamento de carga de rede, basta adicionar o campo type: LoadBalancer ao arquivo de configuração do serviço.

Como usar o balanceamento de carga HTTP(S)

Caso precise de recursos mais avançados de gerenciamento de carga, por exemplo, o balanceamento HTTPS, baseado em conteúdo ou entre regiões, é possível integrar o serviço do GKE com o recurso de balanceamento HTTP/HTTPS do Compute Engine. No Kubernetes, você tem o recurso Entrada, que encapsula uma coleção de regras de roteamento do tráfego externo para os endpoints do Kubernetes. No GKE, um recurso Entrada processa o provisionamento e a configuração do balanceador de carga HTTP/HTTPS do Compute Engine.

Para mais informações sobre o uso do balanceamento de carga HTTP/HTTPS no GKE, consulte como configurar o balanceamento de carga HTTP com a Entrada.

Como escalonar com o GKE

Para o redimensionamento automático dos clusters, use o autoescalador de cluster. Essa funcionalidade verifica periodicamente se há pods aguardando um nó com recursos gratuitos, mas que ainda não foram programados. Se esse é o caso, o pool de nós é redimensionado no autoescalador, caso esse redimensionamento permita que os pods em espera sejam programados.

O autoescalador de cluster também monitora o uso de todos os nós. Se um nó não for necessário por um longo período de tempo e todos os pods dele puderem ser facilmente programados em outro local, esse nó será excluído.

Para mais informações sobre o autoescalador de cluster, as limitações e as práticas recomendadas, consulte a documentação do autoescalador de cluster.

Como gerar registros e monitorar com o GKE

Assim como o Compute Engine, o Logging e o Monitoring fornecem serviços de geração de registros e monitoramento. O Logging coleta e armazena registros de aplicativos e serviços. Para ver ou expor esses registros, e integrá-los com registros de terceiros, use um agente de geração de registros.

O Monitoring fornece painéis e alertas para seu site. Acesse o Console do Monitoring para configurá-lo. É possível analisar as métricas de desempenho de serviços na nuvem, máquinas virtuais e servidores comuns de código aberto como MongoDB, Apache, Nginx e Elasticsearch. Use a API Stackdriver Monitoring para recuperar dados de monitoramento e criar métricas personalizadas.

Como gerenciar DevOps com o GKE

Quando você usa o GKE, já recebe muitos dos benefícios que a maioria das pessoas imagina quando pensa em DevOps, especialmente quando se trata de facilitar o empacotamento, a implantação e o gerenciamento. Para os requisitos do fluxo de trabalho CI/CD, utilize ferramentas conhecidas como o Jenkins. Consulte os artigos abaixo:

Como criar em uma plataforma gerenciada com o App Engine

No GCP, a plataforma gerenciada do tipo Platform as a Service (PaaS) é denominada App Engine. Ao criar o site no App Engine, você só precisa se concentrar na programação dos recursos, e o Google cuida do gerenciamento da infraestrutura de suporte. O App Engine conta com uma grande variedade de recursos que facilitam bastante a escalonabilidade, o balanceamento de carga, a geração de registros, o monitoramento e a segurança, o que não aconteceria se você criasse e gerenciasse tudo por conta própria. O App Engine permite a programação em várias linguagens e o uso de diferentes serviços do GCP.

O App Engine fornece o ambiente padrão, que permite executar aplicativos em um ambiente seguro no sandbox. Nesse ambiente, as solicitações são distribuídas entre vários servidores, e o escalonamento é feito neles para atender às demandas de tráfego. O aplicativo é executado no próprio ambiente seguro e confiável que é independente do hardware, sistema operacional ou local físico do servidor.

Aplicativo da Web que usa o App Engine e outros componentes

Como mais uma das opções, você tem acesso ao ambiente flexível no App Engine. Quando você usa o ambiente flexível, o aplicativo é executado nas instâncias configuráveis do Compute Engine, mas o App Engine gerencia o ambiente de hospedagem para você. Isso significa que é possível usar outros ambientes de execução, incluindo os personalizados, para ter mais opções de linguagens de programação. Essa flexibilidade também traz outras vantagens no Compute Engine, como a escolha de várias opções de CPU e memória.

Linguagens de programação

O ambiente padrão do App Engine fornece os ambientes de execução padrão, e você escreve o código-fonte em versões específicas das linguagens de programação compatíveis.

Com o ambiente flexível, você escreve o código-fonte em uma versão de qualquer uma das linguagens de programação compatíveis. Personalize esses ambientes de execução ou forneça seu próprio ambiente de execução com uma imagem do Docker personalizada ou um Dockerfile.

Se a linguagem de programação usada for a principal preocupação, será preciso decidir se os ambientes de execução fornecidos pelo ambiente padrão do App Engine atendem aos seus requisitos. Se esse não for o caso, use o ambiente flexível.

Para determinar qual ambiente atende melhor às necessidades do seu aplicativo, consulte Como escolher um ambiente do App Engine.

Tutoriais de primeiros passos por linguagem

Você dará os primeiros passos no ambiente padrão do App Engine com os seguintes tutoriais:

Você dará os primeiros passos no ambiente flexível do App Engine com os seguintes tutoriais:

Como armazenar dados com o App Engine

No App Engine, você tem estas opções para armazenar os dados:

Nome Estrutura Consistência
Cloud Datastore Sem esquemas Bastante consistente, exceto para executar consultas globais.
Cloud SQL Relacional Bastante consistente.
Cloud Storage Arquivos e metadados associados Bastante consistente, exceto para executar operações de listagem de intervalos ou objetos.

Também é possível usar vários bancos de dados de terceiros com o ambiente padrão.

Para saber mais detalhes sobre armazenamento no App Engine, consulte Como escolher uma opção de armazenamento e, em seguida, selecione sua linguagem de programação preferida.

No ambiente flexível, todas as opções de armazenamento do ambiente padrão podem ser usadas, assim como uma grande variedade de bancos de dados de terceiros. Para mais informações sobre esses bancos de dados no ambiente flexível, consulte Como usar bancos de dados de terceiros.

Balanceamento de carga e escalonamento automático com o App Engine

Ao usar o App Engine, o balanceamento de carga e o escalonamento automático são gerenciados automaticamente.

Como gerar registros e fazer o monitoramento com o App Engine

No App Engine, as solicitações são registradas automaticamente e você tem acesso a esses registros no Console do GCP. O App Engine também funciona com bibliotecas padrão de linguagens específicas que fornecem a funcionalidade de geração registros, e encaminha as entradas delas para os registros no Console do GCP. Por exemplo, em Python, é possível usar o módulo padrão de geração de registros e, em Java, a API java.util.logging.Logger.

O Stackdriver Monitoring fornece recursos de monitoramento dos aplicativos do App Engine. No Console do GCP é possível monitorar incidentes, verificações de tempo de atividade e outros detalhes.

Como criar sistemas de gerenciamento de conteúdo

Exibir um site significa gerenciar os recursos dele. O Cloud Storage fornece um repositório global para esses recursos. Em uma arquitetura comum, o conteúdo estático é implantado no Cloud Storage e sincronizado com o Compute Engine para que as páginas dinâmicas sejam renderizadas. O Cloud Storage funciona com muitos sistemas de gerenciamento de conteúdo de terceiros, como WordPress, Drupal e Joomla. Uma API compatível com Amazon S3 também é fornecida, ou seja, qualquer sistema compatível com Amazon S3 também funciona com o Cloud Storage.

Para ver uma arquitetura de amostra de um sistema de gerenciamento de conteúdo, consulte Gerenciamento de conteúdo.

Sistema de gerenciamento de conteúdo do GCP

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…