SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaOtávio Calaça Xavier
 
Amazon WebServices Architectur
Amazon WebServices ArchitecturAmazon WebServices Architectur
Amazon WebServices ArchitecturRafael Nunes
 
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...André Dias
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIRicardo Ferreira Costa
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014Rodrigo Campos
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A OrigemAndré Dias
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsEdson Celio
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootLucas Boeing Scarduelli
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featuretdc-globalcode
 
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Rodrigo Missiaggia
 
Spring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosSpring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosledsifes
 
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net CoreTDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Coretdc-globalcode
 

Mais procurados (20)

Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
Amazon WebServices Architectur
Amazon WebServices ArchitecturAmazon WebServices Architectur
Amazon WebServices Architectur
 
IC-Testes Invasao
IC-Testes InvasaoIC-Testes Invasao
IC-Testes Invasao
 
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A Origem
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e feature
 
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
 
Spring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutosSpring roo - Criando aplicações Java Web em poucos minutos
Spring roo - Criando aplicações Java Web em poucos minutos
 
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net CoreTDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
 

Destaque

Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
 
Standards @ Peixe Urbano
Standards @ Peixe UrbanoStandards @ Peixe Urbano
Standards @ Peixe UrbanoFlávio Silva
 
Standards @Peixe Urbano
Standards @Peixe UrbanoStandards @Peixe Urbano
Standards @Peixe UrbanoiMasters
 
Microservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksMicroservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksPedro Mendes
 
Apresentacao do estudo de caso AWS do cliente Peixe Urbano
Apresentacao do estudo de caso AWS do cliente Peixe UrbanoApresentacao do estudo de caso AWS do cliente Peixe Urbano
Apresentacao do estudo de caso AWS do cliente Peixe UrbanoAmazon Web Services LATAM
 
Peixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
Peixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano
 

Destaque (9)

JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Standards @ Peixe Urbano
Standards @ Peixe UrbanoStandards @ Peixe Urbano
Standards @ Peixe Urbano
 
Standards @Peixe Urbano
Standards @Peixe UrbanoStandards @Peixe Urbano
Standards @Peixe Urbano
 
Microservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksMicroservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech Talks
 
Apresentacao do estudo de caso AWS do cliente Peixe Urbano
Apresentacao do estudo de caso AWS do cliente Peixe UrbanoApresentacao do estudo de caso AWS do cliente Peixe Urbano
Apresentacao do estudo de caso AWS do cliente Peixe Urbano
 
Peixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano Institucional
Peixe Urbano Institucional
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Peixe Urbano Institucional
Peixe Urbano InstitucionalPeixe Urbano Institucional
Peixe Urbano Institucional
 

Semelhante a Java e uma visão sobre PaaS

ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
Spring + Cloud Computing
Spring + Cloud ComputingSpring + Cloud Computing
Spring + Cloud ComputingDr. Spock
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineEder Magalhães
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringEder Magalhães
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...tdc-globalcode
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Renato Groff
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxGustavo Bellini Bigardi
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityInael Rodrigues
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOpsCaio Candido
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Renato Groff
 
OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012Edgar Silva
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 

Semelhante a Java e uma visão sobre PaaS (20)

ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
Spring + Cloud Computing
Spring + Cloud ComputingSpring + Cloud Computing
Spring + Cloud Computing
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linux
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android University
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOps
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012OpenShift : TaSafoConf 2012
OpenShift : TaSafoConf 2012
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 

Mais de Eder Magalhães

Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeEder Magalhães
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Eder Magalhães
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeEder Magalhães
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesEder Magalhães
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooEder Magalhães
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Eder Magalhães
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 

Mais de Eder Magalhães (20)

Cvc programacao reativa
Cvc programacao reativaCvc programacao reativa
Cvc programacao reativa
 
Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidade
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o Forge
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistência
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidades
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring Roo
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafx
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Android SestInfo 2010
Android SestInfo 2010Android SestInfo 2010
Android SestInfo 2010
 
JavaFX SestInfo 2010
JavaFX SestInfo 2010JavaFX SestInfo 2010
JavaFX SestInfo 2010
 
Gwt-Guice_TDC2009
Gwt-Guice_TDC2009Gwt-Guice_TDC2009
Gwt-Guice_TDC2009
 

Último

COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx2m Assessoria
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx2m Assessoria
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoMarcio Venturelli
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfInocencioHoracio3
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (8)

COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Java e uma visão sobre PaaS

  • 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
  • 7. Conhece algum desses: !   Peixe urbano !   Instagram !   Netflix !   Angry Birds !   boo-box* Globalcode  –  Open4education
  • 8. Modelos de serviços para cloud Globalcode  –  Open4education
  • 9. Modelos de serviços para cloud *   Globalcode  –  Open4education
  • 10. Modelos de serviços para 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 que Java? 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
  • 19. Demonstração do App Engine 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
  • 24. Demonstração do Beanstalk 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
  • 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 de có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