Sobre os serviços do Google Cloud

Apresentamos aqui alguns dos serviços do Google Cloud mais usados. A lista completa de serviços está disponível na página Produtos e serviços.

Esta visão geral abrange os seguintes tipos de serviços:

Serviços de computação e hospedagem

O Google Cloud oferece opções de computação e hospedagem. As opções incluem:

  • trabalhar em um ambiente sem servidor;
  • usar uma plataforma de aplicativos gerenciados;
  • aproveitar as tecnologias de contêiner para ter mais flexibilidade;
  • criar a própria infraestrutura na nuvem para ter mais controle e flexibilidade.

Imagine que, de um lado, boa parte das responsabilidades pelo gerenciamento de recursos seja sua e, de outro, é o Google quem cuida da maioria delas.

Computação sem servidor

O Cloud Functions, a oferta de funções como serviço (FaaS) do Google Cloud, oferece um ambiente de execução sem servidor para criar e conectar serviços em nuvem. Com ele, é possível escrever funções simples que têm uma única finalidade e que são vinculadas a eventos emitidos pela infraestrutura e pelos serviços em nuvem. A função é acionada quando um evento em análise é disparado. O código é executado em um ambiente totalmente gerenciado. Não é necessário provisionar infraestruturas ou se preocupar com gerenciamento de servidores.

O Cloud Functions pode ser escrito usando JavaScript, Python 3, Go ou Java. Execute a função em qualquer ambiente Node.js (Node.js 10), Python 3 (Python 3.7), Go (Go 1.11 ou 1.13) ou Java (Java 11), o que facilita a portabilidade e os testes locais.

As Funções do Cloud são uma boa opção para casos de uso com:

  • operações de processamento de dados e ETL em cenários como transcodificação de vídeo e dados de streaming de IoT;
  • Webhooks para responder a gatilhos de HTTP.
  • APIs leves que compreendem uma lógica superficialmente acoplada a aplicativos.
  • funções de back-end móveis.

Plataforma do aplicativo

O App Engine é o modelo de Platform as a Service (PaaS) do Google Cloud. Com o App Engine, o Google lida com boa parte do gerenciamento dos recursos para você. Por exemplo, se o aplicativo precisa de mais recursos de computação porque o tráfego para o site cresce, o Google escalona automaticamente o sistema para fornecê-los. Se o software do sistema precisar de atualização da segurança, ela também está inclusa.

Ao criar o aplicativo no App Engine, é possível:

Para obter uma lista completa e uma descrição dos recursos do App Engine, consulte a documentação do App Engine.

Contêineres

Com a computação com base no contêiner, você pode focar no código do aplicativo, em vez de implantações e integrações a ambientes de hospedagem. O Google Kubernetes Engine (GKE), a oferta de contêineres como serviço (CaaS, na sigla em inglês) do Google Cloud, é criado no sistema de código aberto do Kubernetes (em inglês), que oferece a flexibilidade de nuvens híbridas ou locais, além da infraestrutura em nuvem pública do Google Cloud.

Ao criar com o GKE, é possível:

  • criar e gerenciar grupos de instâncias do Compute Engine que executam o Kubernetes, chamados clusters. O GKE usa instâncias do Compute Engine na forma de nós em clusters. Cada nó executa o ambiente de execução do Docker, um agente de nós do Kubernetes que monitora a integridade do nó e um proxy de rede simples;

  • declarar os requisitos dos contêineres do Docker criando um arquivo de configuração JSON simples;

  • usar o Container Registry no armazenamento seguro e particular de imagens do Docker. É possível enviar imagens por Push para o registro e, em seguida, enviá-las por Pull para qualquer instância do Compute Engine ou seu próprio hardware usando um endpoint HTTP;

  • criar pods de um ou vários contêineres. Cada pod representa um host lógico que pode conter um ou mais contêineres. Os contêineres pod funcionam juntos nos pods ao compartilharem recursos, como os de rede. Juntos, um grupo de pods pode abranger um aplicativo inteiro, um microsserviço ou uma camada em um aplicativo de vários níveis;

  • criar e gerenciar controladores de replicação, que gerenciam a criação e a exclusão de réplicas de pods com base em um modelo. Os controladores de replicação ajudam a garantir que o aplicativo tenha os recursos necessários para ter uma execução segura e escalonamento adequado;

  • criar e gerenciar serviços. Os serviços criam uma camada de abstração que desconecta os clientes de front-end dos pods com funções de back-end. Assim, os clientes podem trabalhar sem dúvidas sobre quais pods estão sendo criados e excluídos em um dado momento;

  • criar um balanceador de carga de rede externa.

Máquinas virtuais

O serviço de computação não gerenciado do Google Cloud é o Compute Engine. Pense no Compute Engine como um fornecedor de Infrastructure as a Service (IaaS, na sigla em inglês) porque o sistema oferece uma infraestrutura de computação robusta, mas é preciso escolher e configurar os componentes da plataforma que você quer usar. Com o Compute Engine, é sua responsabilidade configurar, administrar e monitorar os sistemas. O Google garantirá que os recursos estejam disponíveis, sejam seguros e estejam prontos para você usar, mas cabe a você provisioná-los e gerenciá-los. A vantagem, nesse caso, é que você tem controle total dos sistemas e flexibilidade ilimitada.

Ao criar no Compute Engine, é possível:

  • usar máquinas virtuais (VMs, na sigla em inglês), chamadas instâncias, para criar o aplicativo, de maneira semelhante ao que você faz na infraestrutura de hardware. Escolha dentre uma variedade de tipos de instância para personalizar a configuração a fim de atender às necessidades e ao orçamento;

  • escolher em quais regiões e zonas do globo os recursos devem ser implantados, tendo controle de onde os dados são armazenados e usados;

  • escolher quais sistemas operacionais, pilhas de desenvolvimento, linguagens, frameworks, serviços e outras tecnologias de software você prefere;

  • criar instâncias com base em imagens públicas ou particulares;

  • usar as tecnologias de armazenamento do Google Cloud ou qualquer outra tecnologia de terceiros de sua preferência;

  • usar o Google Cloud Marketplace para implantar rapidamente pacotes de software pré-configurados. Por exemplo, você pode implantar uma pilha LAMP ou MEAN com apenas alguns cliques;

  • criar grupos de instâncias para gerenciar mais facilmente várias instâncias juntas;

  • usar escalonamento automático com um grupo de instâncias para adicionar e remover capacidade automaticamente;

  • conectar e desconectar discos conforme necessário;

  • usar SSH para se conectar diretamente às instâncias.

Combinação das opções de computação e hospedagem

Você não precisa se ater a apenas um tipo de serviço de computação. Por exemplo, você pode combinar o App Engine e o Compute Engine para usufruir dos recursos e das vantagens de cada um. Para ver um exemplo do uso do App Engine e do Compute Engine, consulte Agendamento de tarefas seguro no Compute Engine.

Para ver mais detalhes das opções para exibição de websites, consulte Como exibir sites.

Serviços de armazenamento

Seja qual for o aplicativo, você provavelmente precisará armazenar alguns arquivos de mídia, backups ou outros objetos semelhantes a arquivos. Com o Google Cloud, você conta com uma variedade de serviços de armazenamento, incluindo:

  • Armazenamento de dados consistente, escalonável e de grande capacidade no Cloud Storage, que tem vários modelos:

    • O Cloud Storage padrão oferece disponibilidade máxima.
    • o Cloud Storage Nearline oferece armazenamento de arquivos de baixo custo ideal para dados acessados menos de uma vez por mês;
    • o Cloud Storage Coldline oferece armazenamento de arquivos com custos ainda mais baixos, ideal para dados acessados menos de uma vez por trimestre;
    • o Cloud Storage Archive oferece armazenamento de arquivos com o menor custo para backup e recuperação de desastres, ideal para os dados que você pretende acessar menos de uma vez por ano.
  • 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 discos permanentes padrão, como discos permanentes em estado sólido (SSD, na sigla em inglês);

  • Servidores de arquivos NFS totalmente gerenciados no Filestore. É possível usar instâncias do Filestore para armazenar dados de aplicativos em execução em instâncias de VM do Compute Engine ou em clusters do GKE.

    Para conferir a gama completa dos serviços de armazenamento do Google Cloud e seus benefícios, saiba mais sobre nossas opções de armazenamento.

Serviços de banco de dados

O Google Cloud oferece uma variedade de serviços de banco de dados SQL e NoSQL:

  • Um banco de dados SQL no Cloud SQL, que contém os bancos de dados MySQL ou PostgreSQL.

  • Um serviço de banco de dados relacional essencial e totalmente gerenciado no Cloud Spanner, que oferece consistência transacional em escala global, esquemas, consultas SQL e replicação síncrona automática para alta disponibilidade.

  • duas opções de armazenamento de dados NoSQL: Firestore, para dados parecidos com documentos, e Cloud Bigtable, para dados tabulares.

Também é possível configurar a tecnologia de banco de dados de sua preferência no Compute Engine usando discos permanentes. Por exemplo, é possível configurar MongoDB para o armazenamento de documentos NoSQL.

Para entender as diferenças entre nossos serviços de banco de dados, leia mais sobre os bancos de dados do Google Cloud.

Serviços de redes

Enquanto o App Engine gerencia a rede para você e o GKE usa o modelo Kubernetes, o Compute Engine fornece um conjunto de serviços de rede. Esses serviços ajudam a balancear a carga do tráfego nos recursos, criar registros DNS e conectar a rede em uso à rede do Google.

Redes, firewalls e rotas

A nuvem privada virtual (VPC, na sigla em inglês) oferece um conjunto de serviços de rede para uso pelas instâncias de VM. Uma instância pode ter mais de uma interface, mas cada interface precisa estar conectada a uma rede diferente. Todo projeto de VPC tem uma rede padrão. É possível criar redes adicionais no projeto, mas elas não podem ser compartilhadas entre projetos.

O tráfego que chega às instâncias por meio de uma rede é controlado pelas regras de firewall. A rede padrão tem um conjunto padrão de regras de firewall, e também é possível criar regras personalizadas.

Com uma rota, é possível implementar funções de rede mais avançadas nas instâncias, como a criação de VPNs. Uma rota especifica como os pacotes que saem de uma instância devem ser direcionados. Por exemplo, uma rota pode especificar que os pacotes destinados a um intervalo de rede específico devem ser processados por uma instância de máquina virtual de gateway que você configura e opera.

Balanceamento de carga

Se o site ou o aplicativo estiver em execução no Compute Engine, você estará perto de distribuir a carga de trabalho para várias instâncias. Os recursos de balanceamento de carga do servidor contam com as seguintes opções:

  • O balanceamento de carga da rede permite distribuir o tráfego para instâncias do servidor na mesma região com base nos dados do protocolo IP de entrada, como endereço, porta e protocolo. O balanceamento de carga da rede será uma ótima solução se, por exemplo, você quiser atender às demandas do aumento de tráfego no seu site.

  • O balanceamento de carga HTTP(S) permite distribuir o tráfego entre regiões para garantir que as solicitações sejam roteadas para a região mais próxima ou, em caso de falha ou limitações de capacidade extra, para uma instância íntegra na região mais próxima a seguir. Também é possível usar o balanceamento de carga HTTP(S) para distribuir o tráfego com base no tipo de conteúdo. Por exemplo, convém configurar os servidores para disponibilizar conteúdo estático, como imagens e CSS, usando um servidor e outro servidor para conteúdo dinâmico, como páginas PHP. O balanceador de carga pode direcionar cada solicitação para o servidor que fornece cada tipo de conteúdo.

Cloud DNS

Você pode publicar e manter registros do Sistema de Nome de Domínio (DNS, na sigla em inglês) usando a mesma infraestrutura que o Google usa. É possível usar o Console do Google Cloud, a linha de comando ou uma API REST para trabalhar com zonas gerenciadas e registros DNS.

Conectividade avançada

Se você tem uma rede e quer conectá-la aos recursos do Google Cloud, ele oferece as seguintes opções para conectividade avançada:

  • O Cloud Interconnect permite conectar a rede atual à rede VPC por meio de uma conexão empresarial altamente disponível e de baixa latência. Para se conectar ao Google, é possível fazer isso diretamente com a Interconexão dedicada ou usar a Interconexão por parceiro por meio de um provedor de serviços autorizado.

  • O Cloud VPN permite conectar a rede atual à rede VPC por meio de uma conexão IPsec. Também é possível usar a VPN para conectar dois gateways do Cloud VPN.

  • O peering direto (em inglês) permite alternar o tráfego da Internet entre a rede comercial e o Google em um dos locais de rede de grande alcance do Google. Acesse o site de peering do Google para mais informações sobre os pontos de extremidade.

  • O peering por operadora permite conectar a infraestrutura ao ponto de extremidade da rede do Google por meio de conexões de alta disponibilidade e latência mais baixa usando provedores de serviços. É possível também estender a rede privada até a rede privada da Nuvem privada virtual por links de peering de operadora usando um túnel de VPN entre as redes.

Serviços de Big Data

Os serviços de Big Data permitem processar e consultar Big Data na nuvem para receber respostas rápidas para perguntas complicadas.

Análise de dados

O BigQuery oferece serviços de análise de dados. Com o BigQuery, é possível:

  • criar esquemas personalizados que organizam os dados em conjuntos de dados e tabelas;
  • carregar dados de uma grande variedade de fontes, como dados de streaming;
  • usar comandos semelhantes aos do SQL para consultar conjuntos de dados enormes em um instante. O BigQuery foi projetado e otimizado para oferecer velocidade;
  • usar a IU da Web, a interface de linha de comando ou a API;
  • carregar, consultar, exportar e copiar dados usando jobs;
  • gerenciar e proteger dados usando permissões.

Para testar de forma rápida e fácil o BigQuery, experimente o Guia de início rápido de IU da Web para consultar um conjunto de dados público.

Processamento de dados em lote e streaming

O Dataflow oferece um serviço gerenciado e um conjunto de SDKs que você pode usar para realizar tarefas de processamento de dados em lote e streaming. O Dataflow funciona bem para computação de alto volume, especialmente quando as tarefas de processamento podem divididas facilmente e de forma clara em cargas de trabalho em paralelo. O Dataflow também é excelente para tarefas de extração, transformação e carga (ETL, na sigla em inglês), que são úteis para migrar dados entre diferentes mídias de armazenamento, fazer a transformação de dados para um formato mais desejável ou carregar dados em um novo sistema de armazenamento.

Mensagens assíncronas

O Pub/Sub é um serviço de mensagens assíncronas. O aplicativo pode enviar mensagens no formato de estruturas de dados JSON para uma unidade de publicação, chamada tópico. Como os tópicos do Pub/Sub são um recurso global, outros aplicativos nos seus projetos podem se inscrever no tópico para receber as mensagens na solicitação HTTP ou nos corpos de resposta. Para se familiarizar com o Pub/Sub, consulte o guia de início rápido do Pub/Sub.

A utilidade de Pub/Sub não se limita ao Big Data. É possível usar o Pub/Sub em muitas situações em que um serviço de mensagens assíncrono é necessário. Para conferir um exemplo que usa Pub/Sub para coordenar o App Engine e o Compute Engine, consulte Programação de tarefas confiável no Compute Engine.

Serviços de machine learning

O AI Platform oferece diversos serviços avançados de machine learning (ML, na sigla em inglês). Use APIs que forneçam modelos pré-treinados e otimizados para aplicativos específicos ou crie e treine modelos sofisticados e em grande escala próprios usando uma estrutura gerenciada do TensorFlow.

APIs de machine learning

O Google Cloud oferece uma variedade de APIs que permitem aproveitar o machine learning do Google sem precisar criar e treinar seus próprios modelos.

  • A API Video Intelligence permite que você use a tecnologia de análise de vídeo que fornece recursos de Detecção de rótulos, detecção explícita de conteúdo, detecção de alteração de imagem e regionalização.

  • O Speech-to-Text, solução que reconhece mais de 110 idiomas e variantes, possibilita a conversão de áudio em texto para que você possa oferecer suporte à sua base de usuários global. É possível transcrever a fala de usuários no aplicativo por meio de um microfone, ativar o controle e comando de voz ou transcrever arquivos de áudio, entre muitos outros casos de uso.

  • O Cloud Vision permite integrar facilmente recursos de detecção de visão, incluindo marcação de imagens, detecção de rostos e pontos de referência, reconhecimento ótico de caracteres (OCR, na sigla em inglês) e marcação de conteúdo explícito.

  • A API Cloud Natural Language permite que você adicione análise de sentimento, de entidade, de sentimento e entidade e de sintaxe, bem como classificação de conteúdo.

  • O Cloud Translation permite traduzir rapidamente o texto de origem em qualquer um dos mais de cem idiomas suportados. A detecção de idioma ajuda nos casos em que não se conhece o idioma de origem.

  • O Dialogflow permite criar interfaces de conversação para sites, aplicativos de dispositivos móveis, plataformas populares de mensagens e dispositivos de IoT. Use-o para criar interfaces, como bots de chat, que têm interações naturais e ricas com os seres humanos.

AI Platform

O AI Platform combina a infraestrutura gerenciada do Google Cloud com a potência e a flexibilidade do TensorFlow. Use-o para treinar seus modelos de machine learning conforme necessário e hospede modelos treinados para fazer previsões sobre novos dados na nuvem.

Com o AI Platform, é possível treinar modelos de machine learning executando aplicativos de treinamento do TensorFlow no Google Cloud. Ele hospeda esses modelos treinados para que você possa usá-los e, assim, fazer previsões sobre os dados novos. O AI Platform gerencia os recursos de computação que seu job de treinamento precisa executar para que você se concentre mais no modelo do que na configuração de hardware ou no gerenciamento de recursos.

Para conhecer o AI Platform, consulte Primeiros passos: treinamento e previsão com Keras.

A seguir: saiba mais sobre as ferramentas de desenvolvimento e administração