Postagens

Mostrando postagens com o rótulo Google Cloud Platform

GAE: Qual a causa mais comum de falhas de uma aplicação no GAE ?

Imagem
Por incrível que pareça, são problemas com cotas! Se uma aplicação excede a cota permitida, uma exceção será gerada. Por isso o assunto merece atenção: O que é cota ? Cota é um limite imposto pela plataforma para a utilização de determinado recurso. Existem cotas para tudo. Veja alguns exemplos: uso de "banda de rede" de entrada e saída armazenamento uso de API (prediction, etc) email logs uso de filas (queues) etc Tipos de cotas Existem 3 tipos: Free Quotas: como o nome diz, são cotas livres para a utilização de alguns recursos da plataforma. Billable Limits: limites pagos de utilização de recursos. Safety Limits: limites de segurança impostos dentro da plataforma, para que ninguém seja capaz de derrubá-la. Dentro dos "Safety Limits", temos 2 pontos: Cotas Diárias: limite diário, resetado todo dia à meia-noite (Pacific Time - PST) Cotas Por minuto: limita uma taxa máxima de uso por minuto. É resetado a cada minuto. Como ver...

GAE: Como fazer o troubleshooting?

Imagem
O que fazer se algo parar de funcionar ? Em um sistema tradicional "on premisse", normalmente faríamos o seguinte: "Logamos" no servidor Começamos a investigar o sistema operacional, a aplicação e os logs. E o que fazer no caso de um app rodando na nuvem, cuja instância pode estar sendo executada em qualquer servidor ? No caso do GAE, da plataforma do Google, a recomendação é a seguinte: Verifique o status do App Engine Antes de se "descabelar" e começar a procurar o problema na sua aplicação, verifique o status da plataforma App Engine, através da seguinte página: https://status.cloud.google.com/ Você pode assinar o RSS Feed no rodapé da página, para receber os status de forma automática. Verifique o Google Admin Console http://console.developers.google.com Na página inicial você também pode verificar o status geral de todos os serviços da plataforma. Além disso, verifique o status de suas instâncias do GAE, suas versões, tráf...

Cloud: Google lança Hadoop e Spark gerenciados

Imagem
Está em beta mais um serviço na plataforma de cloud do Google, chamado Cloud DataProc. Ao invés de você criar clusters Spark e Hadoop locais ou em uma infraestrutura na nuvem (IAAS), o DataProc permite fazer isto através de um serviço gerenciado dentro da plataforma e você pode interagir com o serviço através do console da plataforma, através de SDK ou através da API REST do DataProc. http://computerworld.com.br/google-promete-hadoop-e-spark-em-90-segundos-por-us-001 Ecosistema Open Source Como a plataforma é construída em cima de versões nativas de Spark, Hadoop, Pig e Hive, você pode, em teoria, migrar projetos existentes (ou ETL existentes) sem impacto. Mais informações: https://cloud.google.com/dataproc/

GAE: [Parte 4] Como funciona o scaling

Imagem
A configuração de scaling do GAE é feita através do arquivo de configuração da aplicação ".yaml " Normalmente uma aplicação irá ter um arquivo .yaml, porém esta configuração pode ser feita por "módulo" da aplicação, como na figura abaixo:   Cada arquivo .yaml define:   version: versão da aplicação tipo de scaling : manual, basic ou automatic (default) tipo de instância: URL mapping: mapeamento de URLs para pontos específicos da aplicação (ex: static files) Abaixo podemos ver um exemplo de configuração de cada tipo de scaling: Manual Scaling application: simple-sample application: simple-sample runtime: python27 api_version: 1 instance_class: B8 manual_scaling: instances: 5 instances: número de instância que serão criadas no start da aplicação. Basic Scaling  application: simple-sample version: uno runtime: python27 api_version: 1 instance_class: B8 basic_scaling:   max_instances: 11   idle_timeout: 10m ...

GAE: [Parte 3] Como funciona o scaling

Estes são os tipos de instâncias do GAE (instance class). Nota: não confunda com os tipos de instâncias do GCE (Google Cloud Compute), que são máquinas virtuais de fato. Instâncias do GAE são precificadas com base em uma taxa por hora, de acordo com a classe da instância. Classe Memória CPU Custo / Hora/ Instância B1 128 MB 600 Mhz $0.05 B2 256 MB 1.2 Ghz $0.10 B4 512 MB 2.4 Ghz $0.20 B4_1G 1024 MB 2.4 Ghz $0.30 B8 1024 MB 4.8 Ghz $0.40 F1 128 MB 600 Mhz $0.05 F2 256 MB 1.2 Ghz $0.10 F4 512 MB 2.4 Ghz $0.20 F4_1G 1024 MB 2.4 Ghz $0.30 A configuração da instância é feita através do arquivo de configuração .yaml (python), como no exemplo abaixo: application : simple - sample module : my - module version : uno runtime : python27 api_version : 1 instance_class : B8 manual_scaling :   instances : 5  

Google Apps Script: Utilizando o Google Spreadsheet como ferramenta de visualização

Imagem
Para as empresas que possuem a suíte do Google Apps, uma opção interessante para a criação de dashboards é o Google Apps Script + Google SpreadSheet. Logicamente ele não vai substituir uma ferramenta poderosa de visualização e exploração de dados, como o Tableau ou outra ferramenta de BI, mas pode ser uma boa alternativa para a criação de dashboards rápidos e sem custo adicional de licenciamento. Uma observação importante: o Google Apps Script não server somente para a geração de gráficos no excel do Google. Na verdade o Apps Script é um "javascript na nuvem" que pode ser usado para uma série de necessidades, como por exemplo: automatizar tarefas em planilhas e documentos (como se fossem macros) consumir fontes de dados externas consumir serviços do próprio Google (calendar, contacts, drive, maps, youtube, etc) consumir recursos de big data, como o Bigquery Para uma visão geral, dê uma olhada nesta apresentação: http://pt.slideshare.net/kartikrk/in...

GAE: [Parte 2] Como funciona o scaling

  No post anterior falamos sobre os tipos de "scaling" do GAE, ou seja, quais as opções existentes para escalar uma aplicação dentro da plataforma. Dando continuidade, cada tipo de "scaling" permite configurar: A classe da instância (instance class) : capacidade de CPU/Memória da instância Comportamento de scaling (basic, manual e automatic) Estas configurações são feitas através do arquivo de configuração da aplicação (.yaml no caso de Python). Na lista abaixo podemos ver os mais alguns detalhes de cada tipo de scaling: Tipos de Scaling Feature Automatic Manual Basic Deadlines Requests podem levar até 60 segundos 10 minutos para tasks Requests podem rodar por tempo indeterminado Tasks podem rodar por até 24 horas Idem Manual. Background Threads Não permitido Permitido Permitido CPU/Memory Permite configurar a classe da instância, entre as opções: F1, F2, F4, ou F4_1G Permite configurar a classe da instância, entre as opções: B1, B2...

GAE: [Parte 1] Como funciona o auto scaling

Dentro do App Engine, existem 3 tipos de configuração de "scaling" que podem ser feitas. Os "requests" que a sua aplicação está recebendo serão direcionados para a instância em execução ou para uma nova instância dependendo da configuração de "scalling" que foi realizada para a mesma. Os tipos de scalling são: Manual um número fixo de instâncias é definido antes do request chegar. Permite que código "pesado" de start possa ser executado. Basic Nenhuma instância é criada,  até que chegue o primeiro request Você deve limitar o número máximo de instâncias (max_instances) Para o downscaling, ou seja, para diminuir o número de instâncias disponíveis, existe o parâmetro idle_timeout (default = 5 min). Se a instância ficar sem utilização por este período, ela será automaticamente desligada. Automatic Instâncias criadas e destruídas com base na demanda Gerenciado automaticamente por algoritmos da plataforma do Google. Po...

Google Cloud Platform: Visão Geral de PAAS

Imagem
Este site dá uma visão geral legal do PAAS do google, em português. O PAAS é a parte de "plataforma como serviço", ou seja, onde você de fato tem a possibilidade de montar soluções de arquitetura a partir de componentes (ou serviços) prontos. O site já deve estar desatualizado, mas é um bom ponto de partida: http://www.cloudmarket.com.br/blog/cloud-computing/google-app-engine-conheca-o-sistema-paas-da-google/

Google Cloud Platform: o que instalar na sua máquina para começar?

Imagem
Para utilizar o GAE com Python: Isto é o que você precisa para começar a "codar" na plataforma do Google (mínimo): 1) Instalar o Python na sua máquina Versão 2.7 https://www.python.org/downloads/Windows 2) Instalar o ambiente de desenvolvimento do Python: Existem vários. Um dos mais conhecidos: PyCharm https://www.jetbrains.com/pycharm/download/ 3) Instalar o Google Cloud SDK: https://cloud.google.com/sdk/ 4) Executar um "Hello World": veja um passo-a-passo de exemplo código-fonte Para mais detalhes https://cloud.google.com/appengine/docs

Google Cloud Platform: linguagens suportadas

Imagem
As seguintes linguagens são suportadas para o desenvolvimento na plataforma (PAAS) do Google: Isto significa que existem SDKs disponíveis nestas linguagens. Para consumir serviços (APIs), você pode utilizar qualquer linguagem que seja capaz de falar REST / JSON. No próximo post, colocarei o que é necessário para desenvolver em Python.