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

TDC2012 - Sua aplicação JAVA flutuando nas nuvens

  • 1.
    Trilha – Java Suaaplicação Java flutuando nas nuvens Leandro Guimarães Globalcode – Open4education
  • 2.
    Leandro Guimarães about.me/leguimas 1997 2003 2008 Globalcode – Open4education
  • 3.
  • 4.
  • 5.
  • 6.
    cloud computing Uso derecursos 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çãodos 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
  • 8.
  • 9.
  • 10.
  • 11.
    IAAS PAAS Infrastructure as a service Platform as a service Globalcode – Open4education
  • 12.
  • 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 emmemó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 QueueService (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 EmailService (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 Executeseus 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 emmemó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 parao 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 respaldoda 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