Sobre os serviços do GCP

Nesta visão geral, apresentamos alguns dos serviços do Google Cloud Platform (GCP) mais usados. A lista completa de serviços está disponível na página Produtos e serviços.

Nesta visão geral, os seguintes tipos de serviços são abordados:

Serviços de computação e hospedagem

O GCP oferece opções para computação e hospedagem. São elas:

  • Trabalhar em um ambiente sem servidor.
  • Usar uma plataforma de aplicativos gerenciados.
  • Aproveitar as tecnologias de contêiner para ganhar maior flexibilidade.
  • Criar a própria infraestrutura baseada em nuvem para maior controle e flexibilidade.

Imagine um espectro em que a maioria das responsabilidades pelo gerenciamento de recursos esteja com você em uma extremidade e com o Google, na outra:

Opções de computação e hospedagem oferecem uma variedade de requisitos operacionais

Computação sem servidor

O Google Cloud Functions, uma oferta de funções como serviço (FaaS, na sigla em inglês) do GCP, dispõe de um ambiente de execução sem servidor para criar e conectar serviços de nuvem. Com ele, você escreve funções simples e de finalidade única, vinculadas a eventos gerados pela infraestrutura e pelos serviços em nuvem. A Função do Cloud é executada quando um evento assistido é gerado. O código é executado em um ambiente totalmente gerenciado. Não é preciso provisionar infraestruturas nem se preocupar com gerenciamento de servidores.

Escreva Funções do Cloud por meio do JavaScript e execute-as em um ambiente do Node.js v6.11.5 no GCP. É possível executar a Função do Cloud em qualquer ambiente de execução padrão do Node.js, o que facilita a portabilidade e o teste local.

O Cloud Functions é uma boa opção para casos de uso que incluem:

  • 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 acionadores de HTTP;

  • APIs leves que compreendem lógica vagamente acoplada em aplicativos;

  • funções de back-end móveis.

Plataforma do aplicativo

No GCP, o Google App Engine é a platform as a service (PaaS, na sigla em inglês). Com o App Engine, o Google lida com a maior parte do gerenciamento dos recursos para você. Por exemplo, se o aplicativo exige mais recursos de computação porque o tráfego para o site cresce, o Google escalona automaticamente o sistema para fornecer esses recursos. Se o software do sistema precisar de uma atualização de segurança, ela também será fornecida para você.

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

  • criar o aplicativo com os ambientes de execução do ambiente padrão do App Engine nas linguagens compatíveis com esse ambiente, como Python 2.7, Java 8, Java 7, PHP 5.5 e Go 1.8, 1.6;

  • criar o aplicativo com os ambientes de execução do ambiente flexível do App Engine nas linguagens compatíveis com o App Engine flexível, como Python 2.7/3.6, Java 8, Go 1.8, Node.js, PHP 5.6, 7, .NET e Ruby. Ou usar ambientes de execução personalizados para adotar uma implementação alternativa de uma linguagem compatível ou qualquer outra linguagem;

  • permitir que o Google gerencie a hospedagem, o escalonamento, o monitoramento e a infraestrutura do aplicativo para você;

  • usar o SDK do App Engine para desenvolver e testar a máquina local em um ambiente que simule o App Engine no GCP;

  • usar facilmente as tecnologias de armazenamento compatíveis com o projeto do App Engine nos ambientes padrão e flexível.

    O Google Cloud SQL é um banco de dados SQL compatível com MySQL ou PostgreSQL. O Google Cloud Datastore é um armazenamento de dados NoSQL sem esquema. O Google Cloud Storage oferece espaço para arquivos grandes.

    No ambiente padrão, escolha um entre os vários bancos de dados de terceiros para usar com os aplicativos, como Redis, MongoDB, Cassandra e Hadoop.

    No ambiente flexível, use facilmente qualquer banco de dados de terceiros com suporte à sua linguagem, caso o banco de dados seja acessível na instância do Google App Engine.

    Em qualquer um dos ambientes, os bancos de dados de terceiros podem ser hospedados no Compute Engine, em outro provedor de nuvem, no local ou gerenciados por um fornecedor terceirizado.

  • Use o Cloud Endpoints no ambiente padrão a fim de gerar APIs e bibliotecas de cliente que possam ser usadas para simplificar o acesso aos dados de outros aplicativos. O Endpoints facilita a criação de um back-end da Web para clientes da Web e clientes de dispositivos móveis, como Android ou iOS.

  • Use os serviços gerenciados integrados em atividades como e-mail e gerenciamento de usuários.

  • Use o Cloud Security Scanner para identificar vulnerabilidades de segurança como um complemento aos processos de projeto e desenvolvimento seguros atuais.

  • Implante o app pelo aplicativo GUI do Iniciador do App Engine no macOS ou no Microsoft Windows ou pela linha de comando.

  • Para o ambiente padrão, execute o aplicativo nas regiões Central dos EUA ou Europa Ocidental.

Para 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, é possível se concentrar no código do aplicativo, e não nas implantações e integrações a ambientes de hospedagem. O Google Kubernetes Engine, uma oferta de contêineres como serviço (CaaS, na sigla em inglês) do GCP, foi criado com base no sistema Kubernetes (em inglês) de código aberto, reunindo a flexibilidade das nuvens locais ou híbridas e a infraestrutura em nuvem pública do GCP.

Ao criar com o Kubernetes Engine, é possível:

  • criar e gerenciar grupos de instâncias do Compute Engine que executam o Kubernetes, chamados de clusters. No Kubernetes Engine, as instâncias do Compute Engine são usadas como nós em um cluster. 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 Google Container Registry para armazenamento seguro e particular de imagens do Docker. É possível enviar imagens por push para o registro e depois chamá-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 em um pod funcionam juntos compartilhando recursos, como os de rede. Juntos, um grupo de pods pode abranger um aplicativo inteiro, um microsserviço ou uma camada em um aplicativo multinível;

  • criar e gerenciar controladores de replicação (em inglês), que gerenciam a criação e 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 execução confiável e escala adequada;

  • criar e gerenciar serviços. Os serviços criam uma camada de abstração que desconecta os clientes de front-end dos pods que incluem funções de back-end. Dessa forma, os clientes podem trabalhar sem preocupações quanto a quais conjuntos estão sendo criados e excluídos em um dado momento;

  • criar um balanceador de carga de rede externa.

Máquinas virtuais

O Google Compute Engine é o serviço de computação não gerenciado do GCP. Pense no Compute Engine como um fornecedor de infraestrutura como um serviço (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ê quiser usar. Com o Compute Engine, é sua responsabilidade configurar, administrar e monitorar os sistemas. O Google garantirá que os recursos estejam disponíveis, sejam confiáveis e estejam prontos para você usar, mas cabe a você aprovisionar e gerenciá-los. A vantagem aqui é que você tem controle completo dos sistemas e flexibilidade ilimitada.

Ao construir usando o Compute Engine, você pode:

  • usar máquinas virtuais (VMs, na sigla em inglês), chamadas de instâncias, para criar o aplicativo, de maneira semelhante ao que você faz na sua própria infraestrutura de hardware. Você pode escolher 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 globais os recursos precisam ser implantados, dando a você controle sobre 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 GCP ou qualquer outra tecnologia de terceiros de sua preferência;

  • usar o Google Cloud Launcher 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 um exemplo de uso do App Engine e do Compute Engine, consulte Programação de tarefa confiável no Google Compute Engine.

Para uma visão detalhada das opções para veiculação de websites, consulte Como veicular sites.

Serviços de armazenamento

Seja qual for o aplicativo, você provavelmente precisará armazenar alguns dados. No GCP, há uma grande variedade de serviços de armazenamento, incluindo:

  • 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 de missão crítica 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: Cloud Datastore e Cloud Bigtable;

  • armazenamento de dados consistente, escalonável e de grande capacidade no Cloud Storage. O Cloud Storage tem vários modelos:

    • Multirregional oferece disponibilidade e redundância geográfica máximas.
    • Regional oferece alta disponibilidade e um local de armazenamento específico.
    • Nearline oferece armazenamento de arquivamento de baixo custo para dados acessados menos de uma vez por mês.
    • Coldline oferece armazenamento de arquivamento de mais baixo custo para 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, na sigla em inglês).

Você também pode optar por configurar a tecnologia de armazenamento preferida no Compute Engine usando discos permanentes. Por exemplo, configure o MongoDB como o armazenamento NoSQL.

Para entender toda a variedade e benefícios desses serviços no GCP, veja Como escolher uma opção de armazenamento.

Serviços de redes

Como o gerenciamento da rede é feito pelo App Engine e o Kubernetes Engine usa o modelo Kubernetes, há um conjunto de serviços de rede disponível no Compute Engine. Esses serviços ajudam você a balancear a carga do tráfego entre recursos, criar registros DNS e conectar a rede existente à 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. Cada instância pode ser anexada apenas a uma rede. Todo projeto de VPC tem uma rede padrão. É possível criar redes adicionais no projeto, mas elas não podem ser compartilhadas entre os 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 você também pode criar regras personalizadas.

Com uma rota, você implementa 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 precisam ser direcionados. Por exemplo, uma rota pode especificar que os pacotes destinados a um intervalo de rede específico precisam ser manipulados por uma instância de máquina virtual de gateway que você configura e opera.

Balanceamento de carga

Se o site ou aplicativo estiver em execução no Compute Engine, poderá chegar o momento em que você estará pronto para distribuir a carga de trabalho entre várias instâncias. Os recursos de balanceamento de carga do lado do servidor oferecem as seguintes opções:

  • O balanceamento de carga da rede permite distribuir o tráfego entre 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 para o site.

  • O balanceamento de carga HTTP/HTTPS permite distribuir o tráfego entre regiões, garantindo que as solicitações sejam encaminhadas à região mais próxima ou, em caso de falha ou limitações acima da capacidade, à instância íntegra na região mais próxima seguinte. Ele também pode ser usado 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 usando 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. Você pode usar o Console do Google Cloud Platform, a linha de comando ou uma API REST para trabalhar com zonas gerenciadas e registros DNS.

Conectividade avançada

Se você já tem uma rede que quer conectar aos recursos do GCP, o GCP dispõe das seguintes opções para conectividade avançada:

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

  • O Cloud VPN permite que você conecte a rede atual à rede VPC por meio de uma conexão IPsec. É possível também 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 (em inglês) para mais informações sobre os pontos de extremidade.

  • O peering de operadora permite conectar a infraestrutura ao ponto de extremidade da rede do Google por meio de conexões de alta disponibilidade e de 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, você pode:

  • criar esquemas personalizados que organizam os dados em conjuntos de dados e tabelas;

  • carregar dados de uma grande variedade de origens, inclusive dados de streaming;

  • usar comandos semelhantes aos do SQL para consultar conjuntos de dados enormes muito rapidamente. O BigQuery foi projetado e otimizado para velocidade;

  • usar a IU da Web, a interface de linha de comando ou a API;

  • carregar, consultar, exporta e copiar dados usando jobs;

  • gerenciar e proteger dados usando permissões.

Para testar rápida e facilmente o BigQuery, tente usar 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 Cloud 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 uma computação de alto volume, especialmente quando as tarefas de processamento podem ser clara e facilmente divididas 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, transformar dados em um formato mais desejável ou carregar dados em um novo sistema de armazenamento.

Mensagens assíncronas

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

A utilidade do Cloud Pub/Sub não está confinada a Big Data. Você pode usar o Cloud Pub/Sub em muitas circunstâncias nas quais precisa de um serviço de mensagens assíncronas. Para um exemplo que use o Cloud Pub/Sub para coordenar o App Engine e o Compute Engine, veja Programação confiável de tarefa no Compute Engine.

Serviços de aprendizado de máquina

A inteligência artificial (IA) do GCP oferece vários serviços de machine learning (ML) bastante avançados. Use APIs que forneçam modelos pré-treinados e otimizados para aplicativos específicos ou crie e treine modelos próprios, sofisticados e em grande escala, usando uma estrutura gerenciada do TensorFlow.

APIs do ML

O GCP oferece várias APIs. Com elas, você utiliza o ML do Google sem criar e treinar modelos próprios.

  • API Video Intelligence do Google Cloud: com ela, você usa a tecnologia de análise de vídeo que fornece detecção de rótulos, detecção de conteúdo com linguagem explícita, detecção de alterações de imagens e recursos de regionalização.

  • API Speech do Google Cloud: com ela, você converte áudio em texto. Ela reconhece mais de 110 idiomas e variantes e oferece 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.

  • API Vision do Google Cloud: com ela, você integra facilmente recursos de detecção por visão, incluindo marcação de imagens, detecção de rosto e ponto de referência, reconhecimento ótico de caracteres (OCR, na sigla em inglês) e marcação de conteúdo com linguagem explícita.

  • API Natural Language do Google: com ela, você adiciona análise de sentimento, análise de entidade, análise de sentimento de entidade, classificação de conteúdo e análise de sintaxe.

  • API Translation do Google Cloud: com ela, você traduz rapidamente o texto de origem para qualquer um dos mais de cem idiomas aceitos. A detecção de idioma ajuda nos casos em que o idioma de origem não é conhecido.

  • Dialogflow Enterprise Edition: com ele, você cria interfaces de conversa para sites, aplicativos móveis, plataformas de mensagens conhecidas e dispositivos de Internet das Coisas (IoT, na sigla em inglês). Use-o para criar interfaces, como bots de bate-papo, capazes de interações naturais e avançadas com seres humanos.

Cloud ML Engine

O Cloud Machine Learning Engine combina a infraestrutura gerenciada do GCP com o poder e a flexibilidade do TensorFlow. Use-o para treinar seus modelos de machine learning em escala e hospedar modelos treinados para fazer predições sobre novos dados na nuvem.

Com o Cloud ML Engine, você treina modelos de machine learning executando aplicativos de treinamento do TensorFlow no GCP. Ele hospeda esses modelos treinados para que você os utilize no recebimento de predições sobre novos dados. No Cloud ML Engine, você gerencia os recursos de computação necessários para a execução do job de treinamento, mantendo o foco no modelo em vez de se concentrar na configuração do hardware ou no gerenciamento de recursos.

Para avaliar o Cloud ML Engine, veja Classificação de imagens usando o conjunto de dados Flowers.

A seguir: saiba mais sobre as ferramentas de desenvolvedor e administrador

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

Enviar comentários sobre…