Este documento describe las plataformas de hosting en la nube de Amazon AWS y Google App Engine. Ambas ofrecen recursos computacionales bajo demanda mediante un modelo de pago por uso. Amazon AWS permite activar instancias virtuales con Windows o Linux, mientras que Google App Engine se enfoca en el hosting de aplicaciones web y ofrece mayor transparencia sobre el manejo de recursos. Tanto Amazon como Google proveen servicios de almacenamiento en la nube y soporte para lenguajes como Python y Java.
1. Plataformas de Hosting
en la nube
●Jorge Urdaneta
1er Refresh Maracaibo 4 de septiembre 2010
2. Contenido
Introducción
Caso Amazon AWS
Caso Google App Engine
3. La pesadilla de la escalabilidad
A medida que la cantidad de usuarios aumenta
la complejidad de menejo de la infraestructura
se incrementa
4. Escalabilidad geográfica
Cuando se tienen usuarios alrededor del
mundo lo más conveniente es tener servidores
locales
5. Eficiencia en el uso de recursos
Suscripciones anuales de servidores que no
siempre están en uso
Tiempo de inactividad también se paga
Data centers gastan electricidad durante la
inactividad
6. VPS es la solución?
Se limita el % de uso de CPU (grave)
No da soporte directo a balanceo de carga ni
escalabilidad geográfica
Inutilizable para altos tráficos
7. Pago por uso
Qué tal si pagamos por uso de
CPU
Disco
Ancho de banda
Memoria
Email enviado
Conexiones concurrentes
Que realmente usamos?
8. Pago por uso
Más aún, tener:
Disponibilidad de todo un gran datacenter de ser
necesario
Virtualmente ilimitados recursos
Manejo de escalabilidad automática
Manejo de balanceo de carga automático
9. Hosting en la nube
Recursos computacionales bajo demanda
Nuevo modelo de negocio de servicio de
hosting
Cambio de inversión a gasto operativo (Pago
por uso)
Flexibilidad en crecimiento de recursos
(activación de unidades de computo o
crecimiento elástico)
10. Hosting en la nube
Orientado a aplicaciones Web
Muchas solicitudes que tardan poco
Manejo de sesiones de usuario
Los proveedores facilitan la distribución de los
datos y el balanceo de carga
11. Hosting en la nube
Tecnologías de soporte:
Virtualización de sistemas operativos
Bases de datos distribuidas (tipo apache
cassandra)
Técnicas de balanceo de carga
Algunas ofrecen un framework propio para el
desarrollo de aplicaciones
El software libre ha sido fundamental
12. Hosting en la nube
Proveedores destacados
Amazon AWS
Google App Engine
Rackspacecloud
Windows Azure Platform
Force.com (SalesForce.com)
ThePlanet
13. Amazon AWS
Pioneros en el área (desde 2002)
Inicia como tecnología interna para mejorar uso
de recursos (usaban 10%)
Crean la oportunidad de negocio ofreciendo la
plataforma al público
14. Amazon AWS
Se activan unidades de cómputo llamadas
”instancias” con Widows o Linux
Servicio Web EC2 permite la activación en
minutos de nuevas instancias
Se pueden tener instancias reservadas
Otras instancias en desuso son subastadas por
hora (Spot Instances)
Servicio CloudWatch permite crecimiento
automático bajo condiciones predefinidas
15. Standar Instance
Small Instance
1.7 GB memory
1 EC2 Compute Unit (1 virtual core with 1 EC2
Compute Unit)
160 GB instance storage (150 GB plus 10 GB root
partition)
32-bit platform
I/O Performance: Moderate
API name: m1.small
16. Standar Instance
Large Instance
7.5 GB memory
4 EC2 Compute Units (2 virtual cores with 2 EC2
Compute Units each)
850 GB instance storage (2×420 GB plus 10 GB
root partition)
64-bit platform
I/O Performance: High
API name: m1.large
17. Standar Instance
Extra Large Instance
15 GB memory
8 EC2 Compute Units (4 virtual cores with 2 EC2
Compute Units each)
1,690 GB instance storage (4×420 GB plus 10 GB
root partition)
64-bit platform
I/O Performance: High
API name: m1.xlarge
18. Otros tipos de instancia
High memory instances
High-Memory Extra Large Instance (17.1GB)
High-Memory Double Extra Large Instance
(34.2GB)
High-Memory Quadruple Extra Large Instance (68.4
GB)
19. Otros tipos de instancias
High-CPU Instances
High-CPU Medium Instance (5 cores)
High-CPU Extra Large Instance (20 cores)
Cluster Compute Instances
23 GB of memory
33.5 EC2 Compute Units (2 x Intel Xeon X5570,
quad-core “Nehalem” architecture)
1690 GB of instance storage
I/O Performance: Very High (10 Gigabit Ethernet)
20. Ubicaciones de instancias
Estados Unidos
N. Virginia
N. California
Europa
Irlanda
Asia
Singapur
21. Amazon S3
Sistema de almacenamiento en la nube
Servicio web que permite reservar espacio de
almacenamiento en los datacenters de Amazon
Pago por uso GB / Mes
Ideal para distribución de contenido
22. Google App Engine
Hosting de aplicaciones Web en la nube
Mayor transparencia sobre manejo de recursos
No hay manejo de instancias
No hay control sobre sistema operativo
No hay control sobre ubicación geográfica
Uso de sistema de almacenamiento distribuido
provisto por Google
23. Google App Engine
Despliegue de aplicaciones escritas en
Python
Java
Pago por uso de:
Tiempo en CPU
Ancho de banda (GB transferidos)
Conexiones concurrentes
Espacio en almacen de datos
Email enviado
24. Google App Engine
Cuota gratiuita
Unas 5000 solicitudes diarias
Hasta 10 aplicaciones por usuario
Ideal para Startups
Sistema pago
Prepagado
Tantos recursos disponibles como podamos pagar
Mejor soporte
25. Almacen de datos
Api para el almacenamiento, recuperación y
actualización de objetos
Es totalmente manejado por la plataforma de
Google
Se paga por GB ocupado
Herramientas de importación de datos
Su estructura no es relacional
Manejo transacciones
26. GQL
Lenguaje para la recuperación de objetos del
almacen de datos
Parecido a SQL
27. JDO y JPA
Para Java se ofrece una interfaz JDO/JPA del
almacen de datos
En especial JPA es muy popular entre
desarrolladores Java
28. Soporte a lenguajes
Desde su lanzamiento 2008 se soportaba sólo
Python
Segundo trimestre del 2009 sale soporte a
Java
Permite la entrada de Groovy, Scala y JRuby
29. Plug-in para Eclipse SDK Java
Soporte a despliegue con un click
Prueba y depuración de la aplicación
Acompaña al soporte a GWT
Vemos un ejemplo? Digan que sí