Sobre os serviços do GCP

Nesta visão geral, apresentaremos alguns serviços do Google Cloud Platform (GCP) mais utilizados. Para a lista completa de serviços, veja a 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 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 um intervalo de requisitos operacionais

Computação sem servidor

No Google Cloud Functions tem as funções como serviço (FaaS, na sigla em inglês) do GCP, o que oferece um ambiente de execução sem servidor para criar e conectar serviços de nuvem. Com ele, você escreve funções simples e com uma única finalidade, vinculadas a eventos gerados por sua infraestrutura e pelos serviços em nuvem. Sua Cloud Function é executada sempre que um evento assistido for gerado. Seu código é executado em um ambiente totalmente gerenciado. Não é preciso provisionar infraestruturas ou se preocupar com gerenciamento de servidores.

As Cloud Functions são escritas em JavaScript e executadas em um ambiente Node.js v6.11.5 no GCP, em qualquer tempo de execução padrão do Node.js. Isso facilita a portabilidade e o teste local.

Elas são uma boa opção para casos de uso que incluem:

  • Operações de processamento de dados e ETL para 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 website cresce, o Google escala 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 construir o aplicativo no App Engine, é possível:

  • Criar o aplicativo com base nos tempos de execução do ambiente padrão do App Engine nas linguagens compatíveis com esse ambiente, incluindo Python 2.7, Java 8, Java 7, PHP 5.5 e Go 1.8, 1.6.

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

  • Permitir que o Google gerencie a hospedagem do aplicativo, escalonamento, monitoramento e a infraestrutura.

  • 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 para as quais o App Engine foi projetado para dar suporte nos ambientes padrão e flexível.

    O Google Cloud SQL é o banco de dados do SQL, compatível com o MySQL ou PostgreSQL. O App Engine Datastore é o armazenamento de dados NoSQL sem esquemas. O Google Cloud Storage oferece espaço para arquivos maiores.

    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 terceiro.

  • Use o Cloud Endpoints no ambiente padrão para gerar APIs e bibliotecas de cliente que você possa usar 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 serviços gerenciados integrados em atividades como e-mail e gerenciamento do usuário.

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

  • Implante o aplicativo usando o aplicativo da GUI do Iniciador do App Engine no Mac OS X ou no Microsoft Windows ou usando a linha de comando.

  • Para o ambiente padrão, execute o aplicativo nas regiões central dos EUA ou da 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, oferta de contêineres como serviço (CaaS, na sigla em inglês) do GCP, foi criado com base no sistema Kubernetes de código aberto, reunindo flexibilidade de nuvens locais ou híbridas e a infraestrutura de 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 nodes em um cluster. Cada node executa o tempo de execução Docker, um agente Kubelet que monitora a integridade do node, e um proxy de rede simples.

  • Declarar os requisitos dos contêineres Docker criando um arquivo de configuração JSON simples.

  • Usar o Google Container Registry no armazenamento seguro e particular de imagens do Docker. Você pode enviar por push imagens para o Registro e depois chamar por pull imagens para qualquer instância do Compute Engine ou o próprio hardware usando um endpoint HTTP.

  • Criar pods de um ou diversos contêineres. Cada conjunto representa um host lógico que pode conter um ou mais contêineres. Os contêineres em um conjunto funcionam juntos compartilhando recursos, como os de redes. Juntos, um grupo de conjuntos pode incluir um aplicativo inteiro, um microsserviço ou uma camada em um aplicativo multinível.

  • Criar e gerenciar controladores de replicação, 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 de que precisa para uma execução confiável e uma escala apropriada.

  • Criar e gerenciar serviços. Os serviços criam uma camada de abstração que desconecta os clientes de front-end dos conjuntos que fornecem 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:

  • Use máquinas virtuais (VMs), chamadas de instâncias, para criar o aplicativo, de maneira semelhante ao que faria na 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, bibliotecas, 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 outra tecnologia de terceiros que preferir.

  • 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 os recursos e as 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 Veiculação de websites.

Serviços de armazenamento

Independentemente do aplicativo, você provavelmente precisará armazenar alguns dados. No GCP, são oferecidos diversos serviços de armazenamento gerenciado, incluindo:

  • Um banco de dados SQL no Cloud SQL em que são fornecidos 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 e automática para alta disponibilidade.

  • Duas opções para o armazenamento de dados NoSQL: Cloud Datastore e Cloud Bigtable.

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

    • Multi-Regional 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 o armazenamento de arquivamento de baixo custo para backup e recuperação de desastres.
  • Discos permanentes no Compute Engine, a serem usados como armazenamento principal para as 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 trajetos

O Compute Engine oferece um conjunto de serviços de redes que as instâncias de VM usam. Cada instância pode ser conectada a apenas uma rede. Todo projeto do Compute Engine tem uma rede padrão. Você pode criar redes adicionais no projeto, mas as redes não podem ser compartilhadas entre os projetos.

O tráfego que chega às instâncias 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. Um trajeto especifica como os pacotes que saem de uma instância precisam ser direcionados. Por exemplo, um trajeto 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 website ou o aplicativo estiver em execução no Compute Engine, poderá chegar o tempo em que você estará pronto para distribuir a carga de trabalho entre várias instâncias. Os recursos de balanceamento de carga no lado do servidor do Compute Engine dão a você 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 em 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 de mais tráfego para o website.

  • Com o balanceamento de carga HTTP/HTTPS, você distribui o tráfego entre regiões, garantindo que as solicitações sejam encaminhadas até a região mais próxima ou, em caso de falha ou limitações acima da capacidade, até a 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 exibir conteúdo estático, como imagens e CSS, usando um servidor e conteúdo dinâmico, como páginas PHP, usando outro servidor. O balanceador de carga pode direcionar cada solicitação para o servidor que fornece cada tipo de conteúdo.

DNS do Cloud

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 REST API para trabalhar com zonas gerenciadas e registros DNS.

Conectividade avançada

Como você dispõe de uma rede e quer conectar a ela recursos do GCP, o Google Cloud Interconnect oferece três opções de conectividade avançada:

  • Carrier Interconnect: você conecta a infraestrutura ao ponto de extremidade da rede do Google por meio de conexões latência mais baixa e alta disponibilidade usando os provedores de serviços. Você também pode estender a rede particular até a rede particular do Compute Engine por meio de links do Carrier Interconnect usando um túnel VPN entre as redes.

  • Você pode estabelecer uma conexão de pareamento entre as redes da sua empresa e do Google. Com essa conexão, você pode trocar tráfego de Internet entre sua rede e a rede do Google em um dos locais de rede de borda de amplo alcance. Acesse o site de peering do Google para encontrar mais informações sobre locais de ponto de extremidade.

  • Com a VPN do Cloud, você conecta sua rede existente à rede do Compute Engine por meio de uma conexão IPsec. Use a VPN para conectar dois gateways de VPN do Compute Engine entre si.

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 início rápido de IU da Web para consultar um conjunto de dados público. Para um exemplo de ponta a ponta do uso do BigQuery para processar dados em tempo real, consulte Análise de dados em tempo real com Kubernetes, Redis e BigQuery.

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 ser inscritos no tópico para receber as mensagens na solicitação HTTP ou nos corpos de resposta. Você pode experimentar o Cloud Pub/Sub com algumas experiências breves. Para um exemplo de ponta a ponta que use o Pub/Sub para um cenário de Big Data, consulte Análise de dados em tempo real com Kubernetes, Pub/Sub e BigQuery.

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 de tarefa confiável no Compute Engine.

Serviços de aprendizado de máquina

A inteligência artificial (AI, na sigla em inglês) do GCP oferece vários serviços de aprendizado de máquina (ML, na sigla em inglês) 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 seus próprios modelos.

  • API Google Cloud Video Intelligence: com ela, você usa a tecnologia de análise de vídeo que fornece detecção de rótulos, detecção explícita de conteúdo, detecção de alterações de imagens e recursos de regionalização.
  • Com a API Google Cloud Speech, você converte áudio em texto. Ela reconhece mais de 110 idiomas e variantes e oferece compatibilidade à sua base de usuários global. É possível transcrever a voz 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 Google Cloud Vision: use-a para integrar facilmente recursos de detecção de visão, incluindo marcação de imagens, detecção de face e ponto de referência, reconhecimento ótico de caracteres (OCR, na sigla em inglês) e marcação de conteúdo explícito.
  • Com a API Google Natural Language, 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.
  • Com a API Google Cloud Translation é possível traduzir rapidamente o texto de origem para qualquer um dos mais de cem idiomas suportados. A detecção de idiomas ajuda nos casos em que o idioma de origem não é conhecido.
  • Como o Dialogflow Enterprise Edition é possível criar interfaces de conversação para sites, aplicativos móveis, plataformas de mensagens conhecidas e dispositivos IoT. Use-o para criar interfaces, como chatbots, capazes de interações naturais e ricas com os 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 aprendizado de máquina em escala, bem como hospedar modelos treinados para fazer previsões sobre novos dados na nuvem.

Com o Cloud ML Engine, você treina modelos de aprendizado de máquina executando aplicativos de treinamento do TensorFlow no GCP. Ele hospeda esses modelos treinados para que você os use para receber previsõ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…