Java e os serviços de cloud	
  



                             Eder Magalhães
                               eder@yaw.com.br
                             twitter.com/edermag

                   Globalcode	
  –	
  Open4education
Agenda...
!     Startups;
!     Introdução a cloud computing;
!     Java e alguns PaaS;
!     Google App Engine;
!     Amazon Beanstalk;
!     Openshift;
!     CloudBees;
!     Conclusões;
!     Próximos passos;

                                      Globalcode	
  –	
  Open4education
Brasil, a bola é nossa

!     Economia forte;
!     Explosão de startups;
!     Pessoas apostando em novas idéias;
!     Empreendedorismo até na “padoca”;




                                     Globalcode	
  –	
  Open4education
Uhn...

!   A Web abre um leque de possibilidades;
!   Mas precisamos de agilidade: “pra ontém”;
!   E claro, tem que ser barato;




                                     Globalcode	
  –	
  Open4education
Definição de cloud computing


  “… a style of computing in which dynamically
  scalable and often virtualized resources are
  provided as a service over the internet”

  Wikipedia




                                Globalcode	
  –	
  Open4education
Ou seja

!     Paga pelo que você usa;
!     Infraestrutura elástica;
!     Melhor aproveitamento de recursos;
!     Pode reduzir esforço em infraestrutura;
!     Abstrai os recursos de infraestrutura;
!     Facilita o deploy de aplicativos;




                                        Globalcode	
  –	
  Open4education
Conhece algum desses:

!     Peixe urbano
!     Instagram
!     Netflix
!     Angry Birds
!     boo-box*




                        Globalcode	
  –	
  Open4education
Modelos de serviços para cloud




                           Globalcode	
  –	
  Open4education
Modelos de serviços para cloud

                                              *	
  




                           Globalcode	
  –	
  Open4education
Modelos de serviços para cloud

                                              *	
  




                           Globalcode	
  –	
  Open4education
Foco em PaaS

                                  *	
  




               Globalcode	
  –	
  Open4education
Características de PaaS

!   Foco total na aplicação e nos dados:
    !   Servidores, VMs, load-balancers saem de cena;
!   Deploy deve ser fácil e rápido;
!   O serviço deve resolver update de uma versão;
!   Soluções NoSQL;




                                       Globalcode	
  –	
  Open4education
Mas, por que Java?




                     Globalcode	
  –	
  Open4education
Java, a escolha

!     Linguagem mais popular (Tiobe index);
!     Comunidade grande (~ 10 milhões);
!     Usa modelo de isolamento coerente com cloud;
!     Conta com uma stack c/ diversas tecnologias;




                                      Globalcode	
  –	
  Open4education
Alguns cuidados em relação a cloud

!     Aplicação Stateless;
!     Banco de dados NoSQL;
!     Uso de cache;
!     Lembre-se: abstrair a infraestrutura;




                                          Globalcode	
  –	
  Open4education
Google App Engine

!     Um dos mais antigos PaaS Java;
!     Disponibiliza um SDK para desenvolvimento;
!     Impõe restrições em algumas APIs Java;
!     Persistência relacional e não relacional;
!     Fácil de experimentar;




                                      Globalcode	
  –	
  Open4education
Perfil de aplicações

!   Aplicativos Web stateless;
    !   Games: Angry Birds;
!   Serviços mobile;




                                 Globalcode	
  –	
  Open4education
Outros detalhes

!     É possível utilizar o ambiente sem custo*;
!     Aplicação usa API especifica da plataforma;
!     Suporte via fórum;
!     Não suporta nuvem privada;
!     Permite integração com MySQL;
!     Disponibiliza plugin para Eclipse;




                                        Globalcode	
  –	
  Open4education
Demonstração do App Engine




                  Globalcode	
  –	
  Open4education
Amazon Beanstalk

!   É o PaaS da Amazon Web Services (AWS);
!   Utiliza instâncias de Tomcat rodando no EC2;
!   Também viabiliza o uso banco de dados relacional
e não relacional;
!   Provê plugin para o Eclipse;




                                    Globalcode	
  –	
  Open4education
Perfil de aplicações

!     Aplicativos Web;
!     Web Services;
!     Social apps;
!     Serviços mobile;




                         Globalcode	
  –	
  Open4education
Visão dos serviços da AWS

    Deployment	
  &	
     Amazon	
  Beanstalk	
  
    Administra.on	
  


                          Elas.c	
  Compute	
  Cloud	
  (EC2)	
  -­‐	
  IaaS	
  
        Compute	
  
                          Elas.c	
  Load	
  Balancing	
  



       Database	
         Rela.onal	
  Database	
  Service	
  (RDS)	
  




                                                 Globalcode	
  –	
  Open4education
Outros detalhes

!     Serviço não tem custo (cobrado pelo EC2);
!     Não suporta Java EE completo;
!     Integração com principais RDMS;
!     Custo alto para aplicações com baixo tráfego;
!     Suporte via fórum;




                                        Globalcode	
  –	
  Open4education
Demonstração do Beanstalk




                 Globalcode	
  –	
  Open4education
OpenShift

!   Plataforma criada pela Red Hat;
!   Suporte a Java EE;
!   Suporta a versão mais recente do JBoss AS;
!   Também viabiliza o uso banco de dados relacional
e não relacional;
!   Fácil de experimentar;




                                    Globalcode	
  –	
  Open4education
Perfil de aplicações

!     Aplicativos Web;
!     Web Services;
!     Social apps;
!     Serviços mobile;




                         Globalcode	
  –	
  Open4education
Outros detalhes

!     Open source;
!     Suporta MySQL e PostgreSQL;
!     Integrado ao Git;
!     Disponibiliza plugin para Eclipse;
!     Permite o uso do Jekins;
!     Mantém a portabilidade da aplicação;
!     Usa o EC2!



                                       Globalcode	
  –	
  Open4education
Demonstração do OpenShift




                 Globalcode	
  –	
  Open4education
CloudBees

!     É uma startup;
!     Apesar de novo, é um dos PaaS que mais cresceu;
!     Inova, o desenvolvimento ocorre na nuvem;
!     Suporte a Java EE;
!     Fácil de experimentar;




                                     Globalcode	
  –	
  Open4education
CloudBees dev@cloud

!   Desenvolvimento em cloud;
!   Foco na produtividade do desenvolvedor;
!   Integra ferramentas para o desenvolvimento em
um cloud;
!   Maven, Git, SVN e Jekins integrados;
!   Plugin para Eclipse;




                                    Globalcode	
  –	
  Open4education
Outros detalhes

!     Viabiliza a criação de plugins e add-on;
!     Sem custos para aplicações com baixo tráfego;
!     Suporta os principais frameworks Java;
!     Disponibiliza plugin para Eclipse;
!     Permite o uso do MySQL;




                                       Globalcode	
  –	
  Open4education
Demonstração do CloudBees




                 Globalcode	
  –	
  Open4education
Outros serviços (PaaS):

!     CloudFoundry;
!     Heroku;
!     Jelastic;
!     WSO2 StratosLive;
!     CumuLogic;




                          Globalcode	
  –	
  Open4education
Conclusões ....




             Globalcode	
  –	
  Open4education
Próximos passos

!   A plataforma Java EE passa a atuar como um
padrão p/ PaaS;

!   As IDEs nas nuvens:
    !   Eclipse Orion;
    !   eXo Cloud IDE;
    !   JS Fiddle e outras...



                                   Globalcode	
  –	
  Open4education
Mais informações

!     http://aws.amazon.com/pt/free
!     https://openshift.redhat.com/community/get-started
!     https://github.com/openshift
!     https://developers.google.com/appengine/
!     http://www.cloudbees.com/platform/how-it-works.cb

!   http://www.infoq.com/br/articles/paas_comparison
!   http://www.infoq.com/br/articles/ides-em-cloud


                                       Globalcode	
  –	
  Open4education
Um pouco de código...



!   http://www.yaw.com.br/open/projetos
!   https://github.com/yaw




                            Globalcode	
  –	
  Open4education
Perguntas & Respostas




                Globalcode	
  –	
  Open4education
Obrigado !




                      Eder Magalhães
               eder@yaw.com.br
             twitter.com/edermag

             Globalcode	
  –	
  Open4education

Java e uma visão sobre PaaS

  • 1.
    Java e osserviços de cloud   Eder Magalhães eder@yaw.com.br twitter.com/edermag Globalcode  –  Open4education
  • 2.
    Agenda... !   Startups; !   Introdução a cloud computing; !   Java e alguns PaaS; !   Google App Engine; !   Amazon Beanstalk; !   Openshift; !   CloudBees; !   Conclusões; !   Próximos passos; Globalcode  –  Open4education
  • 3.
    Brasil, a bolaé nossa !   Economia forte; !   Explosão de startups; !   Pessoas apostando em novas idéias; !   Empreendedorismo até na “padoca”; Globalcode  –  Open4education
  • 4.
    Uhn... !   AWeb abre um leque de possibilidades; !   Mas precisamos de agilidade: “pra ontém”; !   E claro, tem que ser barato; Globalcode  –  Open4education
  • 5.
    Definição de cloudcomputing “… a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the internet” Wikipedia Globalcode  –  Open4education
  • 6.
    Ou seja !   Paga pelo que você usa; !   Infraestrutura elástica; !   Melhor aproveitamento de recursos; !   Pode reduzir esforço em infraestrutura; !   Abstrai os recursos de infraestrutura; !   Facilita o deploy de aplicativos; Globalcode  –  Open4education
  • 7.
    Conhece algum desses: !   Peixe urbano !   Instagram !   Netflix !   Angry Birds !   boo-box* Globalcode  –  Open4education
  • 8.
    Modelos de serviçospara cloud Globalcode  –  Open4education
  • 9.
    Modelos de serviçospara cloud *   Globalcode  –  Open4education
  • 10.
    Modelos de serviçospara cloud *   Globalcode  –  Open4education
  • 11.
    Foco em PaaS *   Globalcode  –  Open4education
  • 12.
    Características de PaaS !  Foco total na aplicação e nos dados: !   Servidores, VMs, load-balancers saem de cena; !   Deploy deve ser fácil e rápido; !   O serviço deve resolver update de uma versão; !   Soluções NoSQL; Globalcode  –  Open4education
  • 13.
    Mas, por queJava? Globalcode  –  Open4education
  • 14.
    Java, a escolha !   Linguagem mais popular (Tiobe index); !   Comunidade grande (~ 10 milhões); !   Usa modelo de isolamento coerente com cloud; !   Conta com uma stack c/ diversas tecnologias; Globalcode  –  Open4education
  • 15.
    Alguns cuidados emrelação a cloud !   Aplicação Stateless; !   Banco de dados NoSQL; !   Uso de cache; !   Lembre-se: abstrair a infraestrutura; Globalcode  –  Open4education
  • 16.
    Google App Engine !   Um dos mais antigos PaaS Java; !   Disponibiliza um SDK para desenvolvimento; !   Impõe restrições em algumas APIs Java; !   Persistência relacional e não relacional; !   Fácil de experimentar; Globalcode  –  Open4education
  • 17.
    Perfil de aplicações !  Aplicativos Web stateless; !   Games: Angry Birds; !   Serviços mobile; Globalcode  –  Open4education
  • 18.
    Outros detalhes !   É possível utilizar o ambiente sem custo*; !   Aplicação usa API especifica da plataforma; !   Suporte via fórum; !   Não suporta nuvem privada; !   Permite integração com MySQL; !   Disponibiliza plugin para Eclipse; Globalcode  –  Open4education
  • 19.
    Demonstração do AppEngine Globalcode  –  Open4education
  • 20.
    Amazon Beanstalk !  É o PaaS da Amazon Web Services (AWS); !   Utiliza instâncias de Tomcat rodando no EC2; !   Também viabiliza o uso banco de dados relacional e não relacional; !   Provê plugin para o Eclipse; Globalcode  –  Open4education
  • 21.
    Perfil de aplicações !   Aplicativos Web; !   Web Services; !   Social apps; !   Serviços mobile; Globalcode  –  Open4education
  • 22.
    Visão dos serviçosda AWS Deployment  &   Amazon  Beanstalk   Administra.on   Elas.c  Compute  Cloud  (EC2)  -­‐  IaaS   Compute   Elas.c  Load  Balancing   Database   Rela.onal  Database  Service  (RDS)   Globalcode  –  Open4education
  • 23.
    Outros detalhes !   Serviço não tem custo (cobrado pelo EC2); !   Não suporta Java EE completo; !   Integração com principais RDMS; !   Custo alto para aplicações com baixo tráfego; !   Suporte via fórum; Globalcode  –  Open4education
  • 24.
    Demonstração do Beanstalk Globalcode  –  Open4education
  • 25.
    OpenShift !   Plataformacriada pela Red Hat; !   Suporte a Java EE; !   Suporta a versão mais recente do JBoss AS; !   Também viabiliza o uso banco de dados relacional e não relacional; !   Fácil de experimentar; Globalcode  –  Open4education
  • 26.
    Perfil de aplicações !   Aplicativos Web; !   Web Services; !   Social apps; !   Serviços mobile; Globalcode  –  Open4education
  • 27.
    Outros detalhes !   Open source; !   Suporta MySQL e PostgreSQL; !   Integrado ao Git; !   Disponibiliza plugin para Eclipse; !   Permite o uso do Jekins; !   Mantém a portabilidade da aplicação; !   Usa o EC2! Globalcode  –  Open4education
  • 28.
    Demonstração do OpenShift Globalcode  –  Open4education
  • 29.
    CloudBees !   É uma startup; !   Apesar de novo, é um dos PaaS que mais cresceu; !   Inova, o desenvolvimento ocorre na nuvem; !   Suporte a Java EE; !   Fácil de experimentar; Globalcode  –  Open4education
  • 30.
    CloudBees dev@cloud !  Desenvolvimento em cloud; !   Foco na produtividade do desenvolvedor; !   Integra ferramentas para o desenvolvimento em um cloud; !   Maven, Git, SVN e Jekins integrados; !   Plugin para Eclipse; Globalcode  –  Open4education
  • 31.
    Outros detalhes !   Viabiliza a criação de plugins e add-on; !   Sem custos para aplicações com baixo tráfego; !   Suporta os principais frameworks Java; !   Disponibiliza plugin para Eclipse; !   Permite o uso do MySQL; Globalcode  –  Open4education
  • 32.
    Demonstração do CloudBees Globalcode  –  Open4education
  • 33.
    Outros serviços (PaaS): !   CloudFoundry; !   Heroku; !   Jelastic; !   WSO2 StratosLive; !   CumuLogic; Globalcode  –  Open4education
  • 34.
    Conclusões .... Globalcode  –  Open4education
  • 35.
    Próximos passos !  A plataforma Java EE passa a atuar como um padrão p/ PaaS; !   As IDEs nas nuvens: !   Eclipse Orion; !   eXo Cloud IDE; !   JS Fiddle e outras... Globalcode  –  Open4education
  • 36.
    Mais informações !   http://aws.amazon.com/pt/free !   https://openshift.redhat.com/community/get-started !   https://github.com/openshift !   https://developers.google.com/appengine/ !   http://www.cloudbees.com/platform/how-it-works.cb !   http://www.infoq.com/br/articles/paas_comparison !   http://www.infoq.com/br/articles/ides-em-cloud Globalcode  –  Open4education
  • 37.
    Um pouco decódigo... !  http://www.yaw.com.br/open/projetos !   https://github.com/yaw Globalcode  –  Open4education
  • 38.
    Perguntas & Respostas Globalcode  –  Open4education
  • 39.
    Obrigado ! Eder Magalhães eder@yaw.com.br twitter.com/edermag Globalcode  –  Open4education