Post on 27-Jun-2015
description
Globalcode – Open4education
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
Elas.c Compute Cloud (EC2) -‐ IaaS Elas.c Load Balancing
Rela.onal Database Service (RDS) Database
Compute
Deployment & Administra.on
Amazon Beanstalk
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