El documento describe Google Application Engine (GAE) y su uso como plataforma para alojar aplicaciones web (PaaS). GAE ofrece una forma fácil de crear, probar y desplegar aplicaciones que se benefician automáticamente de la escalabilidad de Google. El documento también describe cómo una aplicación móvil Android puede conectarse a servicios en GAE a través de REST.
2. Neodoo Microsystems S.L. 2
Cloud Computing
● La computación en la nube (Cloud computing) es un paradigma que permite ofrecer servicios
de computación a través de Internet.
Autor: Oliver Widder
www.geekandpoke.com
Licencia Creative Commons
3. Cloud Computing (I)
● Capas de la nube:
● IaaS (infrastructure as a service):
– Infraestructura de computación y
almacenamiento.
– Orientado al desarrollador.
● PaaS (Platform as a service):
– Entorno de desarrollo y ejecución
de la aplicación.
– Orientado al desarrollador.
● SaaS (Software as a service):
– Aplicaciones en entorno web.
– Orientado al cliente final.
4. Neodoo Microsystems S.L. 4
PaaS
● PaaS (Platform as a Service) es la capa intermedia entre IaaS y SaaS que ofrece una
plataforma de computación para el desarrollo y ejecución de aplicaciones.
● Ventajas:
● El desarrollador puede disponer de forma inmediata de la plataforma y centrarse
exclusivamente en el código de la aplicación.
● El proveedor PaaS gestiona la escalabilidad, fiabilidad parches y actualizaciones de la
plataforma.
PaaS
Entorno de desarrollo Entorno de ejecución
5. Neodoo Microsystems S.L. 5
Algunos proveedores PaaS
● Amazon:
● AWS Elastic Beanstalk es la plataforma PaaS para desplegar y gestionar aplicaciones
web en Java sobre la nube AWS.
● Google:
● Google App Engine: Pila completa de desarrollo para rear y alojar aplicaciones web
escalables en Java y Python sobre la infraestructura Google.
● CloudBees:
● Permite construir, testear y desplegar aplicaciones web en Java en la nube a través de las
plataformas DEV@cloud y RUN@cloud.Persistencia a través de Mysql.
● Vmware:
● Cloud Foundry : Ejecutar aplicaciones Spring, Rails y Sinatra para Ruby, Node.js. Y
aplicaciones para otros frameworks JVM incluyendo Grails. Persistencia a través de
MySQL, Redis, y MongoDB.
6. Neodoo Microsystems S.L. 6
Android y PaaS
● Uniendo la nube y el dispositivo:
● Middleware basado en plataformas PaaS (GAE, AWS, ...).
● Aplicación móvil basada en Android
● Conectividad a través de protocolos estándares (SOAP, REST, JSON, XML, ...).
Aplicación móvil PaaSREST
...
XML
JSON
SOAP
Internet
8. GAE: ¿Por qué?
● Comienzo fácil
● Escalabilidad automática
● Fiabilidad, rendimiento y seguridad de la
infraestructura de Google
● Alojamiento gratuito hasta cierto nivel
9. GAE: Comienzo fácil
• App Engine es una completa pila de desarrollo que
emplea tecnologías habituales para crear y alojar
aplicaciones web.
• En App Engine, puedes crear el código de tu aplicación,
probar la aplicación en tu equipo local y subirla a Google
únicamente haciendo clic en un botón o introduciendo una
secuencia en la línea de comandos.
13. GAE: Escalabilidad automática
• Por primera vez, tus aplicaciones pueden aprovechar las
mismas tecnologías escalables sobre las que están creadas las
aplicaciones de Google como, por ejemplo, BigTable y GFS.
• App Engine dispone de una función de escalabilidad
automática, así que lo único que tienes que hacer es crear el
código de tu aplicación y nosotros nos encargamos del resto.
• App Engine puede satisfacer tus necesidades
independientemente del número de usuarios de que dispongas
y de la cantidad de datos que almacene tu aplicación.
14. GAE: Fiabilidad, rendimiento,...
• La infraestructura de Google es famosa por su gran fiabilidad y
por su alto rendimiento.
• Con App Engine, puedes aprovechar los diez años de
experiencia que posee Google en la ejecución de sistemas
escalables de forma masiva y concebidos para el rendimiento.
• A todas las aplicaciones de App Engine les aplican las mismas
políticas de seguridad, privacidad y protección de datos que a
las demás aplicaciones de Google.
15. GAE: Alojamiento gratuito
• Crear una aplicación en App Engine no sólo resulta fácil.
¡Además es gratis!
• Puedes crear una cuenta y publicar una aplicación que la gente
podrá utilizar inmediatamente sin ningún coste ni obligación.
• Una aplicación de una cuenta gratuita dispone de hasta 500
MB de espacio y admite hasta cinco millones de vistas
mensuales.
• Cuando estés listo para más, puedes habilitar la facturación,
configurar un presupuesto diario máximo y asignarle el
presupuesto a cada recurso en función de tus necesidades.
20. Neodoo Microsystems S.L. 20
Farmadroid
● Aplicación gratuita disponible en Android Market para consultar las farmacias de guardia.
● Arquitectura de la solución de movilidad:
● Aplicación Android en el lado cliente.
● Middleware confeccionado sobre la plataforma Google App Engine for Java en el lado
del servidor.
● Conectividad cliente y servidor a través del protocolo de comunicación REST.
REST
Aplicación móvil PaaSAplicación móvil
Se puede hacer desde eclipse o también desde línea de comandos.
Si se supera el limite de las cuotas devuelve un error.
Las cuotas se renuevan cada dia.
Se pueden ampliar las cuotas pagando. Solo se pagará cuando se superen los limites gratuitos.