sexta-feira, 12 de julho de 2024

Google Cloud Computing Foundations Certificate

https://cloud.google.com/innovators/getcertified?hl=en

https://www.cloudskillsboost.google/paths/36

Este caminho de aprendizado te guia por uma coleção selecionada de cursos on-demand, labs e badges de habilidades que te proporcionam experiência prática e real no Google Cloud.  

  • 8 atividades  
  • Última atualização há 3 meses  
  • Gerenciado pelo Google Cloud  

Este caminho de aprendizado contém cursos on-demand que te introduzem aos fundamentos do Google Cloud. Depois de completar o caminho, dê uma olhada no nosso catálogo com mais de 700 labs e cursos para continuar a sua jornada profissional.


Fundamentos do Google Cloud Computing: Conceitos Básicos de Computação em Nuvem

Os cursos de Fundamentos de Computação em Nuvem do Google são voltados para pessoas com pouca ou nenhuma experiência na área. Eles oferecem uma visão geral dos conceitos centrais sobre o básico de nuvem, big data e aprendizado de máquina, além de onde e como usar o Google Cloud...

O que é Cloud Computing (Computação em Nuvem)?

  1. Consumidores recebem recursos computacionais que são sob demanda e self-service.
  2. Consumidores recebem acesso a estes recursos através da internet, de qualquer lugar.
  3. O provedor destes recursos aloca-os para os usuários.
  4. Os recursos são elásticos - o que significa que podem aumentar ou diminuir conforme necessário.
  5. Consumidores pagam apenas pelo que usam ou reservam.

A história da computação em nuvem:


1ª onda: colocação. 2ª onda: centro de dados virtualizado. 3ª onda: arquitetura baseada em contêineres.

1. Locais geográficos contêm regiões e zonas:


2. Regiões contêm múltiplas zonas:


3. Zonas são onde os recursos da nuvem são implementados:


A infraestrutura da Nuvem do Google:


Na base: Rede e Segurança. No meio: Computação e Armazenamento. E no topo: Big Data (Grande quantidade de dados) e Produtos de Machine Learning (Aprendizado de Máquina).

Serviços de Computação do Google:


Serviços de Armazenamento do Google:


Você pode interagir com a Nuvem do Google de 4 maneiras:


1. O Console:



Entendendo os Projetos:


Projetos são as bases para utilizar os serviços da Nuvem Google:

1. Projetos são entidades separadas sob o nó da Organização.
2. Projetos detêm recursos, cada um deles pertencente a apenas um Projeto.
3. Projetos podem ter diferentes donos e usuários.
4. Projetos são cobrados separadamente.

Os atributos do Projeto variam em exclusividade e imutabilidade:

  • ID do Projeto: Globalmente único. Atribuído pela nuvem do Google mas mutável durante a criação. Imutável após a criação.
  • Nome do Projeto: Não precisa ser único. Escolhido por você. Mutável.
  • Número do Projeto: Globalmente único. Atribuído pela nuvem do Google. Imutável.
Administrador de Recursos administra Projetos:


  • Faz a listagem dos Projetos
  • Cria novos Projetos
  • Atualiza Projetos existentes
  • Deleta Projetos
  • Recupera Projetos deletados previamente
  • Acesso através de API RPC e API REST
Pastas agrupa Projetos:


As pastas permitem você agrupar recursos por departamento.

O Nó da Organização é o recurso mais alto:


Tudo anexado à conta vai sob: o Nó da Organização.

Como funciona a cobrança?

  • A cobrança é estabelecida no nível do Projeto.
  • Uma conta de cobrança pode ser linkada à zero ou mais Projetos.
  • As contas são cobradas automaticamente e a fatura vem todo mês, ou a cada limite.
  • Sub-contas podem ser usadas para separar cobranças por Projeto.
Ferramentas de cobrança que ajudam a orçamentar e monitorar o uso:


1. Orçamentos.
2. Alertas.
3. Relatórios.
4. Cotas.

As cotas são alocadas no nível do Projeto:

  • Conta de Taxa: reseta depois de um tempo específico.
  • Cota de Alocação: governa o número de recursos em um Projeto.
Calculadora de preço da nuvem do Google:


*De acordo com uma pesquisa feita na ia do navegador Brave, o nuvem do Google parece ser a mais barata em comparação a AWS e a Azure.

Cloud Software Development Kit: uma coleção de ferramentas de linha de comando!


  • - Kit de ferramentas para administrar recursos e aplicações hospedadas na nuvem Google.
  • - Inclui:
gcloud CLI - Fornece a principal interface de linha de comando para os produtos e serviços GC.
gsutil - Fornece acesso ao Armazenamento da nuvem a partir da linha de comando.
bq - Uma ferramenta de linha de comando para BigQuery (Grande Consulta).

*BigQuery é um serviço de data warehouse empresarial totalmente gerenciado oferecido pelo Google Cloud. Ele foi projetado para lidar com grandes quantidades de dados e fornece recursos analíticos rápidos e escalonáveis.
* Um Data Warehouse (Armazém de Dados) é um sistema que agrega dados de diferentes fontes em um único repositório de dados central, consistente, para apoiar análise de dados, mineração de dados, inteligência artificial (IA) e aprendizado de máquina. Ele permite que uma organização execute análises poderosas em grandes quantidades de dados (petabytes) de maneiras que um banco de dados comum não pode.

Para instalar o SDK (Software Development Kit - Software de kit de desenvolvimento) basta ir no site e baixar:


E depois iniciar:


Cloud Shell fornece acesso de linha de comando aos recursos:

Fornece acesso de linha de comando aos recursos da nuvem diretamente de um navegador.

Uma máquina virtual baseada em Debian com uma persistência de 5 GB de diretório da pasta inicial.

O SDK gcloud e outras utilidades estão sempre instalados, disponíveis, atualizados, e totalmente autenticados.


É só clicar ali.

E ai vai abrir

O editor de código do Cloud Shell:


Visão geral

Google Cloud é um conjunto de serviços em nuvem hospedados na infraestrutura do Google. Da computação e armazenamento à análise de dados, aprendizado de máquina e redes, o Google Cloud oferece uma ampla variedade de serviços e APIs que podem ser integrados a qualquer aplicativo ou projeto de computação em nuvem, desde nível pessoal até empresarial.

O Google Cloud Skills Boost é onde você pode acessar todo o catálogo de laboratórios e cursos do Google Cloud. Você pode descobrir caminhos de aprendizagem, desenvolver habilidades de nuvem sob demanda, acompanhar o progresso de suas atividades e validar seu conhecimento com selos. Qwiklabs é a plataforma tecnológica onde estão os laboratórios e cursos. Talvez você veja o nome Qwiklabs na sua aventura de aprendizagem do Google Cloud.

Neste laboratório de nível introdutório, você dará os primeiros passos no Google Cloud praticando o Console do Cloud, uma IU no navegador que permite acessar e gerenciar os serviços do Google Cloud. Você identificará os principais recursos do Google Cloud e também aprenderá sobre os detalhes do ambiente de laboratório.

Um projeto do Google Cloud é uma entidade organizadora dos recursos do Google Cloud. Muitas vezes contém recursos e serviços; por exemplo, pode conter um conjunto de máquinas virtuais, um conjunto de bancos de dados e uma rede que os conecta. Os projetos também contêm configurações e permissões, que especificam regras de segurança e quem tem acesso a quais recursos.

Não é incomum que grandes empresas ou usuários experientes do Google Cloud tenham dezenas a milhares de projetos do Google Cloud. As organizações usam o Google Cloud de diferentes maneiras, portanto, os projetos são um bom método para organizar serviços de computação em nuvem (por equipe ou produto, por exemplo).

Lista de produtos CG: https://cloud.google.com/products#top_of_page

Funções e permissões: Além dos serviços de computação em nuvem, o Google Cloud também contém um conjunto de permissões e funções que definem quem tem acesso a quais recursos. Você pode usar o serviço Cloud Identity and Access Management (Cloud IAM) para inspecionar e modificar essas funções e permissões. Leia mais em: https://cloud.google.com/security/products/iam?hl=pt-br

A tabela a seguir extrai definições da documentação de funções, que dá uma visão geral das permissões dos papéis de visualizador, editor e proprietário:

Nome do Papel Permissões
  • viewer: Permissões para ações somente leitura que não afetam o estado, como visualizar (mas não modificar) recursos ou dados existentes.
  • editor: Todas as permissões de visualizador, além de permissões para ações que modificam o estado, como alterar recursos existentes.
  • owner: Todas as permissões de editor e permissões para as seguintes ações: gerenciar papéis e permissões para um projeto e todos os recursos dentro do projeto; configurar faturamento para um projeto.
Como editor, você pode criar, modificar e excluir recursos do Google Cloud. No entanto, você não pode adicionar ou excluir membros de projetos do Google Cloud.

APIs e serviços: 
As APIs do Google Cloud são uma parte fundamental do Google Cloud. Assim como os serviços, as 200 APIs, em áreas que vão da administração de empresas ao aprendizado de máquina, integram-se facilmente aos projetos e aplicativos do Google Cloud. 

APIs são interfaces de programação de aplicativos que você pode chamar diretamente ou por meio de bibliotecas cliente. As APIs de nuvem usam princípios de design orientados a recursos, conforme descrito no Guia de design de API. 

Quando um laboratório fornece um novo projeto do Google Cloud para uma instância de laboratório, ele ativa muitas APIs automaticamente para que você possa começar a trabalhar rapidamente nas tarefas do laboratório. Ao criar seus próprios projetos do Google Cloud fora do ambiente de laboratório, você mesmo terá que ativar as APIs. 

A maioria das APIs do Cloud fornece informações detalhadas sobre o uso dessa API pelo seu projeto, incluindo níveis de tráfego, taxas de erro e até latências, o que ajuda a fazer uma triagem rápida de problemas com aplicativos que usam os serviços do Google.

O Cloud Shell fornece acesso de linha de comando a recursos de computação hospedados no Google Cloud. O Cloud Shell é uma máquina virtual baseada em Debian com um diretório inicial persistente de 5 GB, o que facilita o gerenciamento de seus projetos e recursos do Google Cloud. A ferramenta de linha de comando gcloud e outros utilitários necessários estão pré-instalados no Cloud Shell, o que permite que você comece a trabalhar rapidamente.

APIS:

As APIS permitem que o código controle seus recursos da nuvem:


Gerencie os recursos da sua nuvem com o aplicativo para celular:


Quiz:

1. Which command line tool is part of the Cloud SDK?

  • SSH
  • Bash
  • check
  • gsutil (x)
  • Git

2.Which project identifier does not need to be globally unique?

  • Project name (x)
  • Project number
  • Project ID

3.In the Google Cloud resource hierarchy, into which entity are resources organized?

  • Organization node
  • Projects (x)
  • Zones
  • Folders

4.Which billing tool is designed to prevent the over-consumption of resources due to an error or a malicious attack?

  • Quotas (x)
  • Alerts
  • Reports
  • Budgets

5.What is the purpose of APIs offered by various Google Cloud services?

  • APIs allow physical access to data centers.
  • APIs provide monthly pricing discounts.
  • APIs provide Google Cloud console access through a simple web-based graphical user interface.
  • APIs allow code to be written to control Google Cloud services. (x)

Serviços de Computação GC:


Compute Engine ("mecanismo de computação"):


- Sem investimentos iniciais.
- Milhares de CPUs virtuais podem ser executadas em um sistema que é desenhado para ser rápido e oferecer performance consistente.
- Cada VM contém o poder e a funcionalidade de um sistema operacional completo.
- Execute qualquer carga de trabalho de computação como um servidor de hospedagem web, hospedagem de aplicação, e/ou backends de aplicação.

Instâncias de Maquinas Virtual são recursos flexíveis:



A precificação e a cobrança do Compute Engine ("mecanismo computação") oferecem descontos:


Uso-sustentado: Para cada VM que é executada mais do que 25% de um mês, Compute Engine automaticamente aplica um desconto por cada minuto adicional.

Uso-comprometido: Significa que para cargas de trabalho estáveis e preditivas, uma quantidade específica de vCPUs e memória podem ser adquiridas por um desconto de até 57% dos preços normais em retorno por se comprometer com um termo de uso de um ou três anos.

VMs Preemptivas: Vamos dizer que você tem uma carga de trabalho que não requer um humano sentar e esperar por ela terminar - como um lote de trabalho analizando um grande dataset (conjunto de dados), por exemplo. Você pode economizar dinheiro, em alguns casos até 90% de desconto. Essas VMs são diferentes das VMs comuns em apenas um aspecto: Compute Engine tem a permissão de finalizar o emprego se estes recursos são necessários em outro lugar. Enquanto as economias são possíveis com essas VMs, você precisará ter certeza que seu emprego poderá ser parado e restartado. Use a calculadora de preços para ver a precificação estimada e descontos baseados nas diferentes opções de configurações disponíveis.

Entendendo Regiões e Zonas

Certos recursos do Google Cloud estão localizados em regiões ou zonas. Uma região é um local geográfico específico onde você pode rodar seus recursos. Cada região possui uma ou mais zonas. Por exemplo, a região us-central1 representa uma região no centro dos Estados Unidos que possui as zonas us-central1-a, us-central1-b, us-central1-c e us-central1-f.

Regiões:    Zonas

  • Oeste dos EUA:    us-west1-a, us-west1-b
  • Centro dos EUA:    us-central1-a, us-central1-b, us-central1-d, us-central1-f
  • Leste dos EUA:    us-east1-b, us-east1-c, us-east1-d
  • Europa Ocidental:    europe-west1-b, europe-west1-c, europe-west1-d
  • Ásia Oriental:    asia-east1-a, asia-east1-b, asia-east1-c

Recursos que estão em uma zona são chamados de recursos zonais. As instâncias de máquinas virtuais e discos persistentes estão em uma zona. Para anexar um disco persistente a uma instância de máquina virtual, ambos os recursos devem estar na mesma zona. Da mesma forma, se você deseja atribuir um endereço IP estático a uma instância, a instância deve estar na mesma região do endereço IP estático.

Saiba mais sobre regiões e zonas e veja uma lista completa na página do Google Cloud, na documentação de Regiões e Zonas.

Descubra o treinamento do Google Cloud do seu jeito Com 980 atividades de aprendizado para você escolher, o Google Cloud projetou nosso catálogo abrangente pensando em você. O catálogo consiste em uma variedade de formatos de atividades para você escolher. Escolha entre pequenos laboratórios individuais ou cursos de vários módulos que consistem em vídeos, documentos, laboratórios e questionários. Nossos laboratórios fornecem credenciais temporárias para recursos reais da nuvem, para que você possa aprender sobre o Google Cloud usando recursos reais. Ganhe selos pelo que você conclui, define, acompanha e mede seu sucesso com o Google Cloud. https://www.cloudskillsboost.google/catalog

Configurando Apps elásticos com Autoscaling:


PaaS (Plataform as a Service) com App Engine:


App Engine fornece uma completa faixa de serviços embutidos:




Existem 2 tipos de ambiemtes do App Engine:


Padrão e Flexível.

App Engine padrão executa contêineres pré-configurados:


O Ambiente Padrão (standard enviroment):

  • - armazenamento persistente com consultas, ordenação, e transações.
  • - Escalagem e balanceamento de carga automático.
  • - Filas de tarefas assíncronas para executar trabalho for do escopo de uma requisição.
  • - Tarefas agendadas para acionar eventos em momentos específicos ou intervalos regulares.
  • - Integração com outros serviços GC e APIs

O ambiente padrão tem 2 requerimentos:


1. Usar versões específicas de Java. Python etc...

2. O aplicativo deve estar em conformidade com as restrições do sandbox que dependem do tempo de execução.

*Um sandbox é um ambiente de software ou hardware que isola um programa ou processo do resto do sistema, permitindo que ele seja executado de maneira controlada e restrita. Isso geralmente é usado para mitigar riscos de segurança, como executar código não confiável ou testar software sem comprometer o sistema host (hospedeiro).

O fluxo de trabalho do ambiente padrão:


1. Desenvolve um web app e testa localmente.

2. Implementa para o App Engine com SDK (kit de software de desenvolvimento).

3. O App Engine escala e serve o app.

O ambiente flexível do App Engine usa containers customizados:


Recursos do ambiente flexível do App Engine:

Vantagens:


Comparação Padrão e Flexível:



O App Engine permite que os desenvolvedores se concentrem em fazer o que fazem de melhor, escrever código, e não naquilo em que ele é executado. Os desenvolvedores enviam seus aplicativos para o App Engine e o Google Cloud cuida do resto. A noção de servidores, máquinas virtuais e instâncias foi abstraída, com o App Engine fornecendo toda a computação necessária. Os desenvolvedores não precisam se preocupar com sistemas operacionais, servidores da Web, registro, monitoramento, balanceamento de carga, administração de sistema ou escalonamento, pois o App Engine cuida de tudo isso. Os desenvolvedores só precisam se concentrar na criação de soluções para suas organizações ou usuários. 

O ambiente padrão do App Engine fornece serviços de hospedagem de aplicativos compatíveis com as seguintes linguagens: Python, Java, PHP, Go, Node.js e Ruby). O ambiente flexível do App Engine oferece ainda mais flexibilidade ao oferecer suporte a tempos de execução personalizados. No entanto, isso está fora do escopo deste laboratório. 

O App Engine é o tempo de execução sem servidor original do Google Cloud e, desde seu lançamento original em 2008, foi acompanhado por: 
  • Cloud Functions, ótimo para situações em que você não tem um aplicativo inteiro, dividiu um aplicativo maior e monolítico em vários microsserviços, ou ter tarefas curtas orientadas por eventos que são executadas com base na atividade do usuário. 
  • Cloud Run, o serviço de hospedagem de contêiner sem servidor semelhante ao App Engine, mas que reflete com mais precisão o estado do desenvolvimento de software hoje.

Cloud Functions:



Uma função de nuvem é um trecho de código executado em resposta a um evento, como uma solicitação HTTP, uma mensagem de um serviço de mensagens ou um upload de arquivo. Eventos de nuvem são coisas que acontecem em seu ambiente de nuvem. Podem ser alterações nos dados de um banco de dados, arquivos adicionados a um sistema de armazenamento ou a criação de uma nova instância de máquina virtual. Como as funções da nuvem são orientadas por eventos, elas só são executadas quando algo acontece. Isso os torna uma boa escolha para tarefas que precisam ser realizadas rapidamente ou que não precisam estar em execução o tempo todo. Por exemplo, você pode usar uma função de nuvem para: gerar automaticamente miniaturas de imagens que são enviadas para o Cloud Storage. enviar uma notificação para o telefone de um usuário quando uma nova mensagem for recebida no Cloud Pub/Sub. Processar dados de um banco de dados Cloud Firestore e gerar um relatório. Você pode escrever seu código em qualquer linguagem que suporte Node.js e implantá-lo na nuvem com apenas alguns cliques. Depois que sua função de nuvem for implantada, ela começará a ser executada automaticamente em resposta a eventos.


GKE (Google Kubernetes) é o intermediário entre Compute Engine (IaaS) e App Engine (PaaS):


Containers agrupam o seu código e as dependências dele.


Escalar containers é fácil:


Kubernetes:
Kubernetes permite você:
- instalar o sistema em servidores locais na nuvem.
- genrenciar a rede do container e armazenagem de dados.
- implementar lançamentos (rollouts) e reversões (rollbacks).
- monitorar e gerenciar  a saúde do container e da hospedagem.

O relacionamento entre: containers, Docker e Kubernetes.


Containers: Um container de software ajuda a empacotar, gerenciar e enviar o código, escreve apps de softwares que são executados em um container, oferece o sistema operacional necessário para executar o app, pode ser executado em qualquer plataforma de container, pode economizar tempo e custos comparado a execução de servidores ou máquinas virtuais. Assim como uma máquina virtual imita um computador, um container imita um sistema operacional. Tudo do Google é executado em containers: gmail, maps, google, etc; Google lança aprox. 2 milhões de containers por semana. 

Docker: coloca o app e tudo necessário no container, quando o app está em um container, ele pode ser movido para qualquer lugar, que execute containers do Docker, qualquer laptop, servidor ou provedor de nuvem. Essa portabilidade facilita o processo de produzir, gerenciar, resolver problemas e atualizar o código.

Para provedores de serviço, containers ajudam a desenvolver código que seja fácil de transferir e executar na nuvem e nos servidores locais de um cliente. 

Kubernetes: é uma ferramenta de código aberto de orquestração para gerenciar um cluster (conjunto) de containers do Docker Linux em um só sistema. Pode ser executado na nuvem e em ambientes locais. 

GKE:


O Google Kubernetes Engine (GKE) fornece um ambiente gerenciado para implantação, gerenciamento e escalonamento de aplicativos em contêineres usando a infraestrutura do Google. O ambiente do GKE consiste em várias máquinas (especificamente instâncias do Compute Engine) agrupadas para formar um cluster de contêiner.

Kubernetes no Google Cloud Ao executar um cluster do GKE, você também obtém os benefícios dos recursos avançados de gerenciamento de cluster que o Google Cloud oferece. Isso inclui: 

  • Balanceamento de carga para instâncias do Compute Engine 
  • Pools de nós para designar subconjuntos de nós em um cluster para maior flexibilidade 
  • Escalonamento automático da contagem de instâncias de nós do cluster 
  • Atualizações automáticas para o software do nó do cluster 
  • Reparo automático de nós para manter a integridade e a disponibilidade do nó 
  • Registro e monitoramento com o Cloud Monitoring para visibilidade do seu cluster

Um cluster consiste em pelo menos uma máquina mestre de cluster e várias máquinas de trabalho chamadas nós. Os nós são instâncias de máquinas virtuais (VM) do Compute Engine que executam os processos do Kubernetes necessários para torná-los parte do cluster.

Cloud Run:


Workflow do Cloud Run em 3 passos:


O Cloud Run também tem um workflow baseado em código fonte:


Cloud Run te dá HTTPS:

Você só é cobrado quando seu container tem requisições!




Quiz

1.Which of these is a managed environment for deploying containerized apps?

  • Google Kubernetes Engine (x)
  • App Engine
  • Cloud Run
  • Cloud Functions

2.What is the Compute Engine feature that allows VMs to be added to or subtracted from an application based on load metrics?

  • Persistent disks
  • Autoscaling (x)
  • Network time protocol (NTP)
  • Load balancing

3.Which of these is a managed compute platform that lets you run stateless containers through web requests or Pub/Sub events?

  • Cloud Functions
  • App Engine
  • Cloud Run (x)
  • Google Kubernetes Engine

4.Which of these is a lightweight, fully managed serverless execution environment for building and connecting cloud services?

  • Compute Engine
  • Cloud Functions (x)
  • Google Kubernetes Engine
  • App Engine

5.Which compute service would be considered IaaS?

  • Google Kubernetes Engine
  • Cloud Functions
  • Compute Engine (x)
  • App Engine

6.Which App Engine environment is based on preconfigured container instances?

  • Both standard and flexible environments
  • Flexible environment
  • Standard environment (x)

https://www.cloudskillsboost.google/public_profiles/a4e13add-ae30-4b16-a156-14f7d5f35219/badges/9837532


Fundamentos de Computação em Nuvem do Google: Infraestrutura no Google Cloud

Os cursos de Fundamentos de Computação em Nuvem do Google são para pessoas com pouca ou nenhuma experiência em computação em nuvem. Eles oferecem uma visão geral dos conceitos centrais das bases de nuvem, big data e aprendizado de máquina, além de onde e como o Google Cloud...





Nenhum comentário:

Postar um comentário

Postagens mais visitadas