Fase I - Estudo


Título da Idéia

Redescobrindo as nuvens com Google Cloud

Objetivos

  • Apresentar as principais tecnologias de nuvem que existem hoje no mercado tendo uma visão sobre quais são as tendências, como utilizá-las e relacionar cases de sucesso que utilizam tais tecnologias.


Conceito

O Cloud Computing baseia-se principalmente na ideia de acessar dados, aplicações e serviços, entre várias outras utilidades, através da Internet de qualquer lugar, independente do seu sistema ou de ter tais aplicações instaladas localmente.

O Cloud Computing pode ser dividido em quatro serviços SaaS, PaaS, IaaS, CaaS:

SaaS

Sigla em inglês para Software as a Service é uma aplicação ou um conjunto de aplicações fornecidas por alguma nuvem. A empresa contratante não precisa se preocupar como essas aplicações são implementadas, apenas em como utiliza-las. Na Google temos como exemplo o G Suite que oferece vários produtos Google que podem ser personalizados de forma independente, como Gmail, Hangouts, Google Agenda, Drive, Docs, Planilhas, etc.

Paas

Sigla em inglês para Plataform as a Service, ao contrário do SaaS ela é voltada para quem quer desenvolver sua própria aplicação, se preocupando apenas com o desenvolvimento da aplicação deixando a parte da infraestrutura para a nuvem. No Google Cloud temos o Google App Engine, que é uma plataforma de criação de aplicativos da Web escaláveis e back-ends móveis.

IaaS

Infrastructure as a Service, está relacionado à infraestrutura onde rodam as aplicações, bancos de dados, máquinas virtuais e Big Disk. A IaaS é mais adequada para empresas que não querem preocupação com hardware, com custos de refrigeração, energia e manutenção, isso tudo fica por conta da nuvem. No Google Cloud temos o Compute Engine, que são máquinas virtuais escaláveis de alto desempenho.

CaaS

Communication as a Service são serviços de comunicação disponibilizada diretamente na nuvem. A nuvem coloca a disposição do cliente serviços como vídeo conferência, VoIP, Pbx, VPN, bate-papo online, web callback, etc.



Enquadramento

Pesquisa Aplicada


Desafio tecnológico

  • Oferecer um serviço que exige alto nível de conhecimento técnico em ambientes de orquestração como Chef, Puppet, Heat, Juju e Docker(Artigo sobre tais orquestradores ou se preferir o PDF deste Artigo). Evoluir do conceito de Data Center para a nuvem faz com que os profissionais envolvidos tenham que se especializar nas soluções atuais que permitem este tipo de serviço, tanto no SaaS, quanto em PaaS, IaaS ou até CaaS. Estas soluções devem ser profundamente avaliadas e testadas para garantir o SLA - Service Level Agreement, fornecido hoje pelos maiores players como Amazon, VMWare e Google.
  • Segurança de acesso, como quais serviços podem ser utilizados e quem pode utiliza-los. Esta dificuldade é resolvida pela google cloud com um gerenciamento de identidades e acesso bastante personalizável, permitindo escolher quem pode utilizar determinado recurso até o que cada um pode fazer com determinado recurso
  • Necessidade de acesso estável à internet e com banda de comunicação adequada para o nível de uso, principalmente quando os sistemas produzem serviços para clientes internos.


Características 


  • Google Cloud Platform:
    • Tecnologia de VMs, Rede, Segurança
    • Inovação em modelo de negócios
    • Tecnologias inovadoras


  • Frentes de Trabalho:
    • Processamento
    • Armazenamento
    • Machine Learning
    • Big Data


  • Inovação em modelo de negócios
    • Desperdício estimado adicional
    • Escolhe uma máquina não adequada gastando mais do que deveria ou com menos recursos do que precisaria
    • Cobrança por hora. Pode ser que precise usar apenas 22 minutos e paga-se pela hora cheia


  • Report Right Scale:
    • Gasta-se em média, 45% a mais com em outra nuvem


  • Proposta:
    • Quanto mais se usa a Máquina Virtual, mais se ganha desconto
    • Se ficar rodando muito tempo, pode-se obter 30% de desconto
    • Pode-se acompanhar nos relatórios online
    • O desconto é pelo uso


  • Outra mudança é a oferta de máquinas customizadas:
    • Padrões: Large, Medium, etc
    • CPU
    • Memória
    • Não fica preso a uma máquina virtual específica


  • Terceira mudança:
    • Paga-se por minuto
    • Pode ficar no máximo 60% por barato
    • Não precisa pagar antecipadamente


  • Futuro da Nuvem:
    • 1a. onda: Colocation
    • 2a. onda: Data Centers virtualizado
    • 3a. onda: Nuvem global e flexível


  • Novos serviços:
    • VM Migration: Migração de VMs
    • Container Engine:
    • ApiGee: Ferramentas de criação e gestão de APIs
    • Windows:


  • Novas tecnologias:
    • FireBase: Desenvolvimento de aplicativos móveis (Android e Web)
      • Autenticação: Face, Twitter, etc
    • Autenticação SMS
    • Analytics: Google Analytics para aplicativos móveis
    • Cloud Functions: Serverless - Não precisa gerenciar VMs - Cobrança por nro de execuções do código
    • App_Engine: PaaS
    • Container_Engine: Virtualiza Virtualização - Evolução das VMs para Container para Serverless. Baseado no Kubernetes


  • BigQuery:
    • Processamento de dados criado na nuvem
    • Volume de petabytes em minutos
    • Usa SQL
    • Processou dados, pagou. Não processou, não paga.
  • Cloud Spanner:
    • Banco de Dados SQL
    • É escalável
    • Mantenha consistência forte como ACID SQL
  • AI First: TensorFlow
    • Machine Learning:
      • Sundar CEO Google: Machine Learning é uma tecnologia centralizadora e transformadora ...
    • Cloud TPUs => Roda apenas no Google, não se compra


Módulo 1

  • Projetos
    • Podendo ser qualquer coisa, um projeto pode ser uma área da uma empresa, um produto ou seja você escolhe o que será um projeto
    • Atributos: Nomes, número, ID
  • Gerenciamento de identidades e acesso
    • Quem? Faz o que? com qual recurso?
    • Permissões do Projeto (Perfis): Proprietário, Editor, Visualizador, Administrador de Cobranças
      • Várias pessoas com o mesmo perfil
      • Perfis customizados: Possibilidade de liberação de acesso muito especifico, por exemplo, um usuário tem acesso ao storage mas não a computação em nuvem.
      • Contas de Serviço: utilizada por software para acesso de determinadas APIs google
  • Interação com o Google Cloud Platform
    • Cloud Console: Web e mobile(IOS, Android)
    • Cloud SDK/Cloud Shell: Linha de comando/Programação
    • API REST
      • API Explorer: Uma ferramenta interativa que permite que você experimente APIs do Google usando o navegador
      • Client Libraries: APIs prontas para linguagens como, python, javascript, ruby, java, php, objective-C, nodejs, .net, dart

Módulo 2

  • App Engine
    • Uma plataforma (plataforma como serviço) para criar aplicativos web escaláveis e back-ends móveis
    • O App Engine facilita a implementação, manutenção e escalabilidade, assim você pode se concentrar na inovação
    • Pague pelo que você usa
    • Menos sobrecarga de gerenciamento
    • Você define o minimo que quer de recursos e o máximo, ou então não defina e deixe que a nuvem faça isso por você
    • Projeto
      • Memcache
      • Filas de tarefas
      • Tarefas Programadas
      • Pesquisa
      • Registros



Estudo Dirigido

  • O Google Cloud fornece vários treinamentos sobre vários tópicos, e podem ser encontrados aqui.
  • Há Também a documentação de todas as ferramentas disponíveis, ela se encontra aqui.


  • Testar estrutura liberada pelo Rafael - 04/10
  • Organizar instalação da Wiki com Daniel, Gabriel Franco e Augusto (Sem migrar) - 06/10
  • Usar Wiki na Cloud CTT durante 1 semana - 13/10
  • Criar procedimentos para instalação das aplicações na Cloud CTT - 15/10
  • Planejar migração - 16/10

Fase II - Ensino



Conteúdo


Apresentação


Fase III - Exemplo de Caso de Negócio


Benefício para a Algar Telecom

Um ambiente para suporte de aplicações totalmente escalável, que podem tanto servir internamente como para clientes externos.


Benefícios para o cliente

O lançamento de um aplicação por de ser uma grande surpresa, pois mesmo que preveja quantas pessoas irão utiliza-la esse número poder ser realmente muito maior do que o esperado. Podemos pegar o aplicativo Pokémon GO que tinha um tráfego esperado e no pior caso esse tráfego chegaria a 5 vezes o esperado, mas em seu lançamento o tráfego atingiu 50 vezes o tráfego esperado. Em outro ambiente teriam um grande problema com sua infraestrutura causando lentidão até a falha total da aplicação, mas como o ambiente em que estava hospedada era escalável, ele escalonou a infraestrutura tornando viável todo este tráfego.


Direcionadores chave

  • Suporte à aplicações internas e externas
  • Computação em nuvem
  • Menor preocupação com infraestrutura
  • Escalabilidade



Elemento inovador

    Destaque o elemento tecnologicamente novo ou inovador do projeto



Possíveis modelos de negócios

    Descrever em tópicos os possíveis modelos de negócios

Business Case

  • Spotify
    • O Spotify encontrou na google cloud uma forma de se preocupar menos com a infraestrutura necessária para manter a aplicação, o que era uma tarefa difícil e cara. O que abriu um novo horizonte, não há apenas um infraestrutura mas também muitas ferramentas que auxiliam e potencializam sua idéia, como Armazenamento, Processamento, Big Data e IA, pois não há necessidade de se preocupar com a infraestrutura necessária para suportar tais serviços.


Fase IV - Protótipo orientado ao Negócio


Escopo


Explique o escopo deste protótipo


Metodologia


Qual metodologia ou método utilizado?



Limitações


Informe sobre as limitações


PoC


Desenvolva um PoC (Proof of Concept)


Detalhamento Técnico


Descreva especificamente os aspectos técnicos desta pesquisa





Planejamento


Cronograma Macro


Histórico


Pesquisadores

  • Ronistone Gonçalves dos Reis Junior
  • Luiz Cláudio Theodoro
  • Rafael Leonardo Ferreira de Aquino