1. Java e os serviç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...
! A Web abre um leque de possibilidades;
! Mas precisamos de agilidade: “pra ontém”;
! E claro, tem que ser barato;
Globalcode
–
Open4education
5. 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
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
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
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 em relaçã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
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ç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
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
25. 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
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
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
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