Java e uma visão sobre PaaS

39
Java e os serviços de cloud Eder Magalhães [email protected] twitter.com/edermag

description

Apresentação na Federal do ABC sobre Java e alternativas PaaS do mercado.

Transcript of Java e uma visão sobre PaaS

Page 1: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Java e os serviços de cloud  

Eder Magalhães [email protected]

twitter.com/edermag

Page 2: Java e uma visão sobre PaaS

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;

Page 3: Java e uma visão sobre PaaS

Globalcode  –  Open4education

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

Page 4: Java e uma visão sobre PaaS

Globalcode  –  Open4education

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

Page 5: Java e uma visão sobre PaaS

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

Page 6: Java e uma visão sobre PaaS

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;

Page 7: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Conhece algum desses: !   Peixe urbano !   Instagram !   Netflix !   Angry Birds !   boo-box*

Page 8: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Modelos de serviços para cloud

Page 9: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Modelos de serviços para cloud

*  

Page 10: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Modelos de serviços para cloud

*  

Page 11: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Foco em PaaS

*  

Page 12: Java e uma visão sobre 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;

Page 13: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Mas, por que Java?

Page 14: Java e uma visão sobre PaaS

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;

Page 15: Java e uma visão sobre PaaS

Globalcode  –  Open4education

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

Page 16: Java e uma visão sobre PaaS

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;

Page 17: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Perfil de aplicações !   Aplicativos Web stateless; !   Games: Angry Birds;

!   Serviços mobile;

Page 18: Java e uma visão sobre PaaS

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;

Page 19: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Demonstração do App Engine

Page 20: Java e uma visão sobre PaaS

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;

Page 21: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Perfil de aplicações !   Aplicativos Web; !   Web Services; !   Social apps; !   Serviços mobile;

Page 22: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Visão dos serviços da AWS

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

Rela.onal  Database  Service  (RDS)  Database  

Compute  

Deployment  &  Administra.on  

Amazon  Beanstalk  

Page 23: Java e uma visão sobre PaaS

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;

Page 24: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Demonstração do Beanstalk

Page 25: Java e uma visão sobre PaaS

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;

Page 26: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Perfil de aplicações !   Aplicativos Web; !   Web Services; !   Social apps; !   Serviços mobile;

Page 27: Java e uma visão sobre PaaS

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!

Page 28: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Demonstração do OpenShift

Page 29: Java e uma visão sobre PaaS

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;

Page 30: Java e uma visão sobre PaaS

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;

Page 31: Java e uma visão sobre PaaS

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;

Page 32: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Demonstração do CloudBees

Page 33: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Outros serviços (PaaS): !   CloudFoundry; !   Heroku; !   Jelastic; !   WSO2 StratosLive; !   CumuLogic;

Page 34: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Conclusões ....

Page 35: Java e uma visão sobre PaaS

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...

Page 36: Java e uma visão sobre PaaS

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

Page 37: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Um pouco de código...

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

Page 38: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Perguntas & Respostas

Page 39: Java e uma visão sobre PaaS

Globalcode  –  Open4education

Obrigado !

Eder Magalhães [email protected]

twitter.com/edermag