SlideShare a Scribd company logo
1 of 34
Download to read offline
Trilha – Java
Sua aplicação Java flutuando nas nuvens
           Leandro Guimarães




                                          Globalcode – Open4education
Leandro Guimarães
    about.me/leguimas




    1997          2003




           2008


                  Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
cloud computing
Uso de recursos computacionais (software e
hardware) que são oferecidos como serviço
através de uma rede, tipicamente a internet.




                                       Globalcode – Open4education
agilidade
capacidade de reestruturação dos recursos de infraestrutura

api
permitir uma fácil interação com os recursos na nuvem

confiabilidade
redundância de recursos

custo
redução de custos uma vez que os recursos podem ser compartilhados

escalabilidade e elasticidade
Utilização on-demand baseado em auto-serviços em tempo, quase, real
                                                              Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
IAAS                       PAAS
Infrastructure as a service   Platform as a service




                                          Globalcode – Open4education
Globalcode – Open4education
PAAS   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
Beanstalk



                         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;
                                                   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
GAE Java
                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;
                                                  Globalcode – Open4education
GAE Blobstore


                               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;

                                                   Globalcode – Open4education
Cloud SQL


                  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;




                                        Globalcode – Open4education
GAE Datastore

          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;
                                                  Globalcode – Open4education
GAE Memcache


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;



                                              Globalcode – Open4education
GAE Task Queue

  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;
                                           Globalcode – Open4education
GAE Mail


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;



                                                  Globalcode – Open4education
PAAS   Globalcode – Open4education
Amazon                             GAE
    Frontend                 0.08 / hora                      0.08 / hora
Armazenamento             0.125 / Gb / mês                  0.13 / Gb / mês
 Persistência de                                              0.10 / hora
                            0.025 / hora
      dados                                                    1.46 / dia
 Pesistência de    0.01 / hora (10 unidades WRITE)   0.10 / 100k operações escrita
 dados (NOSql)     0.01 / hora (50 unidades READ)    0.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?)
                                                      Globalcode – Open4education
@leguimas       leguimas




    leguimas@gmail.com
                Globalcode – Open4education

More Related Content

What's hot

TDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory DatagridsTDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory DatagridsWagner Roberto dos Santos
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Marcelo Dieder
 
Performance e disponibilidade ‐ Um estudo de caso: website dos Correios
Performance e disponibilidade ‐ Um estudo de caso: website dos CorreiosPerformance e disponibilidade ‐ Um estudo de caso: website dos Correios
Performance e disponibilidade ‐ Um estudo de caso: website dos CorreiosAlex Hübner
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Tiago Hillebrandt
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dadosSuissa
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoTchelinux
 

What's hot (11)

TDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory DatagridsTDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory Datagrids
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013
 
Performance e disponibilidade ‐ Um estudo de caso: website dos Correios
Performance e disponibilidade ‐ Um estudo de caso: website dos CorreiosPerformance e disponibilidade ‐ Um estudo de caso: website dos Correios
Performance e disponibilidade ‐ Um estudo de caso: website dos Correios
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 
Node JS - Parte 2
Node JS - Parte 2Node JS - Parte 2
Node JS - Parte 2
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dados
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra NovoSoluções de Web Caching e Web Acceleration - Domingos Parra Novo
Soluções de Web Caching e Web Acceleration - Domingos Parra Novo
 

Viewers also liked

QCon 2011
QCon 2011QCon 2011
QCon 2011Ismael
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseGlobalcode
 
TDC2012 - Sua aplicação JAVA flutuando nas nuvens
TDC2012 - Sua aplicação JAVA flutuando nas nuvensTDC2012 - Sua aplicação JAVA flutuando nas nuvens
TDC2012 - Sua aplicação JAVA flutuando nas nuvensDextra
 
Escalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuáriosEscalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Apresentação do estudo de caso AWS do cliente Chaordic Systems
Apresentação do estudo de caso AWS do cliente Chaordic SystemsApresentação do estudo de caso AWS do cliente Chaordic Systems
Apresentação do estudo de caso AWS do cliente Chaordic SystemsJose Papo, MSc
 
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de SitesCaelum
 

Viewers also liked (6)

QCon 2011
QCon 2011QCon 2011
QCon 2011
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
TDC2012 - Sua aplicação JAVA flutuando nas nuvens
TDC2012 - Sua aplicação JAVA flutuando nas nuvensTDC2012 - Sua aplicação JAVA flutuando nas nuvens
TDC2012 - Sua aplicação JAVA flutuando nas nuvens
 
Escalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuáriosEscalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuários
 
Apresentação do estudo de caso AWS do cliente Chaordic Systems
Apresentação do estudo de caso AWS do cliente Chaordic SystemsApresentação do estudo de caso AWS do cliente Chaordic Systems
Apresentação do estudo de caso AWS do cliente Chaordic Systems
 
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
 

Similar to Java na nuvem com AWS e GAE

Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Vinicius Pulgatti
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaSEder Magalhães
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineFrederico Maia Arantes
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRJulio Viegas
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Leandro Gomes
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma javaJunior Souza
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento websilvio_sas
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveiselliando dias
 
TDC POA 2017 - ARM templates
TDC POA 2017 - ARM templatesTDC POA 2017 - ARM templates
TDC POA 2017 - ARM templatesJaqueline Ramos
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 

Similar to Java na nuvem com AWS e GAE (20)

Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO, Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
Apresentação Java, SOA, MICROSERVICE, HTTP, HTTPS, VERSIONAMENTO DE CONTRATO,
 
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaS
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma java
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 
TDC POA 2017 - ARM templates
TDC POA 2017 - ARM templatesTDC POA 2017 - ARM templates
TDC POA 2017 - ARM templates
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 

More from Leandro Guimarães

Colaboração como caminho para times extraordinários
Colaboração como caminho para times extraordináriosColaboração como caminho para times extraordinários
Colaboração como caminho para times extraordináriosLeandro Guimarães
 
AgileTrends 2013 - A cooperação como pedra fundamental do Agile
AgileTrends 2013 - A cooperação como pedra fundamental do AgileAgileTrends 2013 - A cooperação como pedra fundamental do Agile
AgileTrends 2013 - A cooperação como pedra fundamental do AgileLeandro Guimarães
 
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentais
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentaisFórum RNP 2013 - O uso de métodos ágeis em projetos governamentais
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentaisLeandro Guimarães
 
DevCamp 2013 - A falácia do desenvolvimento ágil
DevCamp 2013 - A falácia do desenvolvimento ágilDevCamp 2013 - A falácia do desenvolvimento ágil
DevCamp 2013 - A falácia do desenvolvimento ágilLeandro Guimarães
 
Reuniao Anual 2013 - Projeto Crescer
Reuniao Anual 2013 - Projeto CrescerReuniao Anual 2013 - Projeto Crescer
Reuniao Anual 2013 - Projeto CrescerLeandro Guimarães
 
TDC2012 - A falácia do desenvolvimento ágil
TDC2012 - A falácia do desenvolvimento ágilTDC2012 - A falácia do desenvolvimento ágil
TDC2012 - A falácia do desenvolvimento ágilLeandro Guimarães
 
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Leandro Guimarães
 
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
Dextra Sistemas - SeEMTec 2012 - Sistemas DistribuídosDextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
Dextra Sistemas - SeEMTec 2012 - Sistemas DistribuídosLeandro Guimarães
 
Dextra Sistemas - Surfando na maré ágil
Dextra Sistemas - Surfando na maré ágilDextra Sistemas - Surfando na maré ágil
Dextra Sistemas - Surfando na maré ágilLeandro Guimarães
 
Dextra Sistemas - Vivenciando SCRUM
Dextra Sistemas - Vivenciando SCRUMDextra Sistemas - Vivenciando SCRUM
Dextra Sistemas - Vivenciando SCRUMLeandro Guimarães
 

More from Leandro Guimarães (10)

Colaboração como caminho para times extraordinários
Colaboração como caminho para times extraordináriosColaboração como caminho para times extraordinários
Colaboração como caminho para times extraordinários
 
AgileTrends 2013 - A cooperação como pedra fundamental do Agile
AgileTrends 2013 - A cooperação como pedra fundamental do AgileAgileTrends 2013 - A cooperação como pedra fundamental do Agile
AgileTrends 2013 - A cooperação como pedra fundamental do Agile
 
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentais
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentaisFórum RNP 2013 - O uso de métodos ágeis em projetos governamentais
Fórum RNP 2013 - O uso de métodos ágeis em projetos governamentais
 
DevCamp 2013 - A falácia do desenvolvimento ágil
DevCamp 2013 - A falácia do desenvolvimento ágilDevCamp 2013 - A falácia do desenvolvimento ágil
DevCamp 2013 - A falácia do desenvolvimento ágil
 
Reuniao Anual 2013 - Projeto Crescer
Reuniao Anual 2013 - Projeto CrescerReuniao Anual 2013 - Projeto Crescer
Reuniao Anual 2013 - Projeto Crescer
 
TDC2012 - A falácia do desenvolvimento ágil
TDC2012 - A falácia do desenvolvimento ágilTDC2012 - A falácia do desenvolvimento ágil
TDC2012 - A falácia do desenvolvimento ágil
 
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
Latinoware2012 - Desenvolvendo interfaces WEB com HOLY de forma prática e efi...
 
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
Dextra Sistemas - SeEMTec 2012 - Sistemas DistribuídosDextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
Dextra Sistemas - SeEMTec 2012 - Sistemas Distribuídos
 
Dextra Sistemas - Surfando na maré ágil
Dextra Sistemas - Surfando na maré ágilDextra Sistemas - Surfando na maré ágil
Dextra Sistemas - Surfando na maré ágil
 
Dextra Sistemas - Vivenciando SCRUM
Dextra Sistemas - Vivenciando SCRUMDextra Sistemas - Vivenciando SCRUM
Dextra Sistemas - Vivenciando SCRUM
 

Java na nuvem com AWS e GAE

  • 1. Trilha – Java Sua aplicação Java flutuando nas nuvens Leandro Guimarães Globalcode – Open4education
  • 2. Leandro Guimarães about.me/leguimas 1997 2003 2008 Globalcode – Open4education
  • 6. cloud computing Uso de recursos computacionais (software e hardware) que são oferecidos como serviço através de uma rede, tipicamente a internet. Globalcode – Open4education
  • 7. agilidade capacidade de reestruturação dos recursos de infraestrutura api permitir uma fácil interação com os recursos na nuvem confiabilidade redundância de recursos custo redução de custos uma vez que os recursos podem ser compartilhados escalabilidade e elasticidade Utilização on-demand baseado em auto-serviços em tempo, quase, real Globalcode – Open4education
  • 11. IAAS PAAS Infrastructure as a service Platform as a service Globalcode – Open4education
  • 13. PAAS Globalcode – Open4education
  • 14. 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
  • 15. Beanstalk 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; Globalcode – Open4education
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. GAE Java 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; Globalcode – Open4education
  • 24. GAE Blobstore 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; Globalcode – Open4education
  • 25. Cloud SQL 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; Globalcode – Open4education
  • 26. GAE Datastore 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; Globalcode – Open4education
  • 27. GAE Memcache 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; Globalcode – Open4education
  • 28. GAE Task Queue 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; Globalcode – Open4education
  • 29. GAE Mail 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; Globalcode – Open4education
  • 30. PAAS Globalcode – Open4education
  • 31. Amazon GAE Frontend 0.08 / hora 0.08 / hora Armazenamento 0.125 / Gb / mês 0.13 / Gb / mês Persistência de 0.10 / hora 0.025 / hora dados 1.46 / dia Pesistência de 0.01 / hora (10 unidades WRITE) 0.10 / 100k operações escrita dados (NOSql) 0.01 / hora (50 unidades READ) 0.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
  • 32. 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
  • 33. 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?) Globalcode – Open4education
  • 34. @leguimas leguimas leguimas@gmail.com Globalcode – Open4education