tdc2012 - sua aplicação java flutuando nas nuvens
DESCRIPTION
Introdução aos principais serviços na nuvem para a plataforma Java em dois dos maiores players deste tipo de solução: Amazon Web Services (AWS) e Google Application Engine (GAE). - por Leandro GuimarãesTRANSCRIPT
Globalcode – Open4education
Trilha – Java
Sua aplicação Java flutuando nas nuvens
Leandro Guimarães
Globalcode – Open4education
about.me/leguimas
Leandro Guimarães
1997 2003
2008
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
cloud computingUso de recursos computacionais (software ehardware) que são oferecidos como serviçoatravés de uma rede, tipicamente a internet.
Globalcode – Open4education
agilidadecapacidade de reestruturação dos recursos de infraestrutura
apipermitir uma fácil interação com os recursos na nuvem
escalabilidade e elasticidade Utilização on-demand baseado em auto-serviços em tempo, quase, real
confiabilidaderedundância de recursos
custoredução de custos uma vez que os recursos podem ser compartilhados
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
IAAS PAASInfrastructure as a service Platform as a service
Globalcode – Open4education
Globalcode – Open4educationPAAS
Globalcode – Open4education
http://aws.amazon.com
Datacenters nos EUA, Europa, Brasil, Cingapura e Japão;
Suporte à aplicações em Java, PHP e .Net (AWS Beanstalk);
Recursos podem ser distribuídos em várias regiões;
Plano free por 1 ano para recursos com quotas mensais;
Globalcode – Open4education
Um war deployado em “um” Tomcat;
Deploy utilizando AWS Console, toolkit do Eclipse, APIs ou Maven;
Configurações para escalabilidade via AWS Console;
A cobrança para ter sua aplicação no ar é da mesma forma que a cobrança do EC2;
Beanstalk
Globalcode – Open4education
Simple Storage Service (S3)
Storage persistente de arquivos de 1 byte a 5 Tb cada;
Interface para gerenciamento dos arquivos através de SOAP, REST ou bibliotecas específicas;
Preço de armazenamento começa com USD 0.125/GB;
GET https://bucket.s3.amazonaws.com/my-image.jpg
PUT https://bucket.s3.amazonaws.com/my-image.jpg
Globalcode – Open4education
Relational Database Service (RDS)
Configuração, operação e escalonamento de Banco de Dados relacional (Oracle, MySQL e SQL Server);
Utilize a implementação que preferir para se integrar com o banco de dados;
Preço de instância começa com USD 0.025/hora;
Você também paga o armazenamento e a transferência dos dados;
Globalcode – Open4education
Amazon DynamoDB
Solução NOSql (chave-valor) da Amazon;
Integração utilizando “jar” específico para a manipulação dos dados;
Preços começam em USD 0.01/hora para cada 10 unidade de gravação e USD 0.01/hora para cada 50 unidades de leitura;
Você também paga o armazenamento e a transferência dos dados;
Globalcode – Open4education
Amazon ElastiCache
Cache em memória compatível com o protocolo memcached;
Necessária a implementação para a gestão do cache em memória com bibliotecas específicas para isso;
Preços começam em USD 0.090/hora para um nó de cache padrão pequeno;
Globalcode – Open4education
Amazon Simple Queue Service (SQS)
Sistema de mensageria “semelhante” ao JMS;
Interações com filas através de biblioteca específica e, também, via API REST;
Preços começam em USD 0.01/10.000 solicitações para o Amazon SQS;
Globalcode – Open4education
Amazon Simple Email Service (SES)
Plataforma para envio de e-mails utilizando uma biblioteca específica;
Mesmo mecanismo utilizado para o envio de e-mails na Amazon.com;
Preços começam em USD 0.10/1.000 mensagens enviadas pelo Amazon SQS;
Globalcode – Open4education
https://developers.google.com/appengine
Execute seus aplicativos da web na infraestrutura do Google;
Suporte à aplicações em Java, Python e Go!;
Todos os recursos dentro da mesma plataforma;
Quota gratuita renovada diariamente;
Globalcode – Open4education
Um war deployado nos servidores da Google;
Deploy utilizando GAE Console, toolkit do Eclipse, scripts ou Maven;
Configurações para escalabilidade via GAE Console e de alguns recursos via XML;
Interação com o servidor via Servlet;
Não é possível realizar chamadas a recursos externos cuja resposta demore mais de 30 segundos;
GAE Java
Globalcode – Open4education
Armazenamento de arquivos;
Integração através de biblioteca própria aonde cada blob é identificado por uma chave;
Preço de armazenamento: USD 0.13/GB/mês após sua quota diária de 5 Gb;
Existe o Cloud Storage mas que está em fase experimental;
GAE Blobstore
Globalcode – Open4education
Instâncias de MySQL na nuvem;
Documentação mostra utilização com JDBC;
Preço de utilização começa em USD 1.46/dia ou USD 0.10/hora;
Cloud SQL
Globalcode – Open4education
Solução NOSql (BigTable) com as entidades sendo representadas por um tipo, um identificador e seu conteúdo;
Implementação utilizando JDO, JPA ou uma biblioteca de serviços específicos;
Consultas baseadas em índices pré-”buildados”;
Preço de utilização: USD 0.10/100k de operações de escrita e USD 0.07/100k de operações de leitura após a quota diária de
50k de operações;
GAE Datastore
Globalcode – Open4education
Cache em memória compatível com o protocolo memcached;
Necessária a implementação para a gestão do cache em memória utilizando JCache ou uma biblioteca específica;
É um serviço gratuito mas que precisa seguir algumas restrições definidas pelo GAE;
GAE Memcache
Globalcode – Open4education
Plataforma para a execução de tasks em background;
A implementação pode ser utilizada com as bibliotecas específicas e, também, com uma API Rest experimental;
Possibilidade de se configurar a taxa de processamento desejada para uma determinada fila;
É um serviço gratuito mas que precisa seguir algumas restrições definidas pelo GAE;
GAE Task Queue
Globalcode – Open4education
Serviço para o envio e recebimento de e-mails através do GAE;
Pode ser implementado utilizando JavaMail ou uma biblioteca específica;
Preço de utilização: USD 0.01/100 destinatários após sua quota diária de 100 destinatários;
GAE Mail
Globalcode – Open4educationPAAS
Globalcode – Open4education
Amazon GAEFrontend 0.08 / hora 0.08 / hora
Armazenamento 0.125 / Gb / mês 0.13 / Gb / mês
Persistência de dados
0.025 / hora0.10 / hora1.46 / dia
Pesistência de dados (NOSql)
0.01 / hora (10 unidades WRITE)0.01 / hora (50 unidades READ)
0.10 / 100k operações escrita0.07 / 100l operações leitura
Cache 0.90 / hora 0
Mensageria 0.01 / 10k solicitações 0
E-mail 0.10 / 1k envios 0.01 / 100 destinatários
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Globalcode – Open4education
Possibilidades mais diversificadas: menos plataforma dependente;
Possibilidade de ter os serviços contratados / utilizados separadamente;
Possibilidade de simular o gasto mensal;
Datacenter no Brasil;
Faturamento pelo Brasil através de empresas terceiras;
Documentação bem robusta e cases bastante interessantes;
Sempre lançam novidades;
Globalcode – Open4education
Tem o respaldo da infraestrutura do Google por trás;
From developers to developers;
Poder de escalabilidade monstruoso (testes internos realizados);
Documentação mais simples mas na medida;
Não possui datacenter no Brasil;
Vem avançando bastante na evolução da plataforma;
Estão lançando, experimentalmente, um mecanismo de busca(carta na manga?)