Llegamos a ustedes gracias a:



Reportajes y análisis

Servicios AWS gratuitos: Cómo sacarles el máximo provecho

[03/05/2013] La mejor manera de pensar en el lado gratuito de Amazon Web Services es como si fuera un trampolín. Es una manera de empaparse con los mecanismos básicos de AWS y EC2 y entender así la manera en que Amazon maneja las máquinas virtuales, el almacenamiento, los datos y el networking; y crear algo que con el tiempo puede ser alojado en una instancia pagada de AWS. Es también una manera de aprender a gestionar y limitar el uso de AWS, ya que si no tiene cuidado puede terminar pagando por su uso "gratuito".

En este artículo, vamos a ver cuál es el nivel de conexión que ofrece y en qué condiciones, y a continuación, le daremos un vistazo más de cerca a lo que es posible o práctico dentro de esos límites. A la larga, cualquier usuario de AWS querrá aprovechar más de lo que la nube de Amazon ofrece -pero ¿por qué no aprovechar al máximo los recursos libres en el ínterin? El nivel libre o gratuito es una gran manera de ingresar a AWS, iniciar algunos proyectos, y tal vez incluso construir una aplicación funcional o más.

Como nota al margen, una de las declaraciones más nefastas en la documentación de Amazon sobre el nivel gratuito es esta pequeña advertencia: "Podemos dejar de aceptar nuevos registros en cualquier momento". Esto puede ser repetitivo por parte de Amazon, pero si está pensando en la creación de una cuenta de nivel gratuito, podría hacerlo ahora mientras está disponible.

¿Qué es lo que obtiene por cero dólares al mes?
El nivel gratuito de AWS le proporciona un nivel de uso de muchos componentes de AWS que a menudo es suficiente como para empezar. He aquí un resumen de algunos de los componentes más útiles de AWS y lo que se obtiene con ellos en el nivel gratuito.

Servidor. Puede ejecutar una micro instancia de una máquina servidor Linux o Windows en EC2, configurada con 613MB de RAM, para 750 horas al mes. Es todo un mes de uso de la CPU continuo y gratuito.

Amazon mantiene un catálogo de AMI (Amazon Machine Images), lo que le permite ejecutar una serie de diferentes sistemas de Windows y Linux -entre ellos Ubuntu Server 12.04 y 12.10, Microsoft Windows Server 2008 y 2012, y el propio Amazon Linux AMI de Amazon.

No todas las AMI son elegibles para ser ejecutadas en la capa gratuita (incluso cuando se utiliza una instancia micro), pero las que pueden están claramente marcadas. El AWS Marketplace también incluye muchas aplicaciones de terceros y servidores disponibles como instancias AMI, pero de nuevo, no todo se puede ejecutar en la capa gratuita.

Almacenamiento.Una instancia EC2 no sirve de mucho sin espacio de almacenamiento. En el nivel gratuito se le permiten 30GB de Elastic Block Storage, 5GB de almacenamiento S3 de Amazon, dos millones de I/O, y 1GB de almacenamiento de instantáneas.

Tenga en cuenta los límites sobre el uso de I/O. Aquí es donde las cosas pueden complicarse, ya que Amazon cobra por I/O. Fuera del nivel gratuito, Amazon cobra 10 centavos de dólar por un millón de solicitudes de I/O al mes, y la cantidad de I/O utilizada para un caso dado puede variar ampliamente dependiendo de para qué lo está utilizando. (Vamos a dar consejos sobre cómo manejar esto más adelante).

Bases de datos. Entre los servicios Relational Database Services de Amazon (RDS), tiene que escoger entre MySQL, Oracle BYOL o Microsoft SQL Server Express, cada uno con 750 horas de uso al mes, 20GB de almacenamiento, 10 millones de I/O, y 20GB de almacenamiento de copia de seguridad. Para aquellos que prefieren NoSQL, Amazon lo ofrece en forma de DynamoDB, pero con solo 100MB de almacenamiento en el nivel gratuito. Una vez más, la estimación de I/O puede ser complicada, pero hay más que suficiente disponible para experimentar con un sitio de bajo tráfico orientado como base de datos y no incurrir en excesos.

La transferencia de datos. Esta parte es fácil: 15GB de ancho de banda de salida en todas las funciones AWS. Para ponerlo en perspectiva, mi sitio personal con unos cinco mil visitantes por mes consume alrededor de 1,2GB de ancho de banda en ese tiempo. Para un sitio web relativamente simple -o no público, 15GB deberían ser más que suficientes.

¿Cuáles son los límites?
Ahora las malas noticias. Amazon le ha puesto cuerdas apretadas a la forma en que funciona el nivel gratuito. Aparte de los límites de utilización antes indicados, hay muchas otras restricciones.

Los servicios básicos son gratuitos solo por doce meses. La mayoría de los servicios clave de AWS -incluyendo EC2, S3, y RDS- se limitan a doce meses de uso gratuito después de su primera inscripción. Después de eso, se paga sobre la marcha a las tasas habituales. En el lado positivo, algunos de los otros servicios -DynamoDB, Simple Workflow, Simple Queue Service, Simple Notification Service, Amazon Elastic Transcoder y CloudWatch- siguen siendo elegibles para el nivel gratuito después del primer año.

Espere que su CPU (y ancho de banda) sean estrangulados. Las micro instancias están diseñadas para proporcionar la máxima capacidad de CPU en ráfagas intermitentes. No proporcionan un ejemplo continuo completo de lo que Amazon llama una "unidad de cómputo" - necesita pasar a la instancia M1 Small para conseguirla. Esto hace que una instancia micro sea "muy adecuada para aplicaciones de rendimiento más bajas y sitios web que requieren ciclos de cálculo adicionales periódicamente", como indica la documentación de Amazon.

Si ejecuta aplicaciones que de vez en cuando eleven la CPU al 100%, debería estar bien. Las aplicaciones que llevan la CPU al 100% durante largos períodos de tiempo se ejecutarán brevemente al 100%, luego serán estranguladas. Tenga en cuenta que las estadísticas internas de una máquina estrangulada seguirán reportando a la CPU como si estuvieran ejecutándose al 100%, así que no se deje engañar.

Puede monitorear las estadísticas de uso a través de Amazon EC2 Dashboard, pero va a tener una mejor granularidad de las estadísticas desde el interior de la máquina en funcionamiento.

Las instancias de Windows Server en el nivel gratuito pueden ser un buen ajuste. Dependiendo de lo que va a hacer, la cantidad de memoria que corresponda a cada instancia de Windows Server no puede ser suficiente para ejecutar cualquier cosa terriblemente ambiciosa. Si no está haciendo nada más que servir páginas web estáticas, debería estar bien. Tuve la oportunidad de instalar instancias MySQL/Apache en una máquina (a través de AMPPS Web) y ejecutarlas con un 20% de RAM libre.

En el lado positivo, si está utilizando una base de datos a través de una instancia de base de datos alojada en AWS (RDS), la base de datos funciona por completo fuera de la máquina que está ejecutando. Con RDS, no tiene que preocuparse de ejecutar un servidor de base de datos en la instancia actual que está utilizando (y por lo tanto engullir mucho más memoria).

No recibe una dirección IP coherente de forma predeterminada. Debido a la forma en que AWS ofrece direcciones, los casos no cuentan con una dirección IP estática o un nombre DNS privado consistente automáticamente. Esto hace que sea difícil alojar un sitio gratuito para su uso en el mundo exterior sin algún truco DNS, así como reiniciar la instancia que está utilizando provocará que su dirección IP también se reestablezca.

Afortunadamente, esta limitación es fácil de superar. Si quiere una máquina que sea accesible constantemente por el público en general, puede utilizar EC2 Elastic IP Addresses, para obtener una dirección IP estática en una instancia gratuita. Tenga en cuenta que si reserva una dirección y en realidad no la asocia con una instancia, se le cobrará una pequeña cuota.

Las mejores prácticas con el nivel gratuito

Es evidente que el nivel gratuito tiene muchas trampas. Los límites de recursos hacen que sea muy fácil generar cargos si no tiene cuidado. En su esfuerzo por sacar el máximo provecho de la instancia micro, tenga en cuenta estas pautas.

Mantenga un ojo en su facturación. No hace falta decirlo, pero verifique su página de actividad de la cuenta AWS con frecuencia para ver si está generando cobros de los que no es consciente. Por defecto, Amazon no le avisará si ha superado el nivel gratuito; silenciosamente generará una factura por cualquier uso que no esté cubierto. Si desea recibir las alertas sobre su uso estimado y no exceder su presupuesto, Amazon ofrece un sistema de alerta de facturación. Sin embargo, el número de alarmas y notificaciones que puede generar está limitado por el nivel gratuito.

Mantenga un ojo en el uso de I/O. Si está utilizando el servidor por su cuenta, es probable que no gaste mucho I/O. Pero si hace que su servidor sea público, podría cambiar todo -de forma dramática.

Averiguar el uso de I/O en sus instancias no es difícil, pero requiere diligencia y escrutinio. La consola de gestión EC2 proporciona herramientas de seguimiento, aunque los del nivel gratuito no son tan granulares como las otras. No se puede sondear una instancia gratuita en intervalos de más de cinco minutos, de todos modos se obtiene un intervalo de un minuto con las instancias de pago.

También puede sondear el uso de I/O dentro de la propia instancia, utilizando las herramientas propias del sistema operativo. He aquí una manera de hacerlo en Linux. En Windows, puede utilizar el contador de rendimiento Disk Transfers/Sec.

Puede seguir cuánto le cuestan sus servicios a través del sistema de informes de Amazon, que también le permite descargar los detalles en formatos CSV/XML.

Asigne una dirección elástica para ahorrarse muchos dolores de cabeza. Una dirección elástica no añade una cantidad significativa a su cuenta, y permite la fácil conexión a su sistema. Esto vale el doble para las instancias de Windows, debido a que la herramienta de conexión Remote Desktop almacena la dirección de conexión y la contraseña juntas. Cada vez que su sitio está aprovisionado con una nueva dirección IP, tiene que crear una nueva conexión de escritorio remota para llegar a él.

Elementos de backup en la nube. Nunca se sabe cuándo el servidor con el que va a trabajar tendrá que ser reiniciado. Es mejor tener todos los datos pertinentes que ya están en la nube de Amazon, en lugar de tener que re subirlos tediosamente. Un EBS Snapshot es una forma muy conveniente de hacer esto, aunque solo le dan 1GB de almacenamiento de instantáneas en la capa gratuita. Alternativamente, puede adjuntar un volumen de EBS y archivos de backup a la misma, del modo en que lo haría en un sistema convencional hacia una unidad externa.

¿Cuánto desde aquí?
Una vez que haya recibido AWS en el nivel gratuito, es probable que quiera probar algo más arriba en la cadena alimentaria. El siguiente paso después de las instancias micro es M1Small, con el doble de memoria y una cantidad de CPU que valen la pena. La mayoría de los casos M1 cuestan desde 15 dólares al mes.

Si es ahorrativo y no necesita un servidor que se ejecute 24/7, considere una instancia fija. Con las instancias fijas, apuesta por la capacidad de computación mediante la especificación de un precio máximo que está dispuesto a pagar por cada hora. Si el precio actual de la hora para las instancias puntuales va más de esa cantidad (que fluctúa con base en la oferta y la demanda), la instancia se detendrá.

Por último, si quiere ejecutar algo esporádico, como un servidor de copia de seguridad, dele un vistazo a las instancias reservadas. Una instancia reservada le permite pagar una cuota de una sola vez por un período fijo de tiempo -de uno a tres años-, y obtener un descuento significativo en la tasa de uso por hora. Al escribir estas líneas, se puede obtener una sola instancia M1 Small Linux por tan sólo 61 dólares al año, más una tarifa por hora de 3,4 centavos de dólar -o alrededor de 354 dólares para todo el año, suponiendo una utilización del 100%.

Las instancias fijas le permiten ejecutar una máquina de capacidad no utilizada si hace una oferta sobre ella. Es una manera útil de ejecutar una máquina intermitentemente por poco dinero.

M1 Small, instancia fija o reservada -todas son bastante asequibles. En el momento en que usted se gradúe del nivel gratuito y se pase a una de ellas, habrá acumulado mucha práctica con las herramientas de Amazon y podrá mantener sus costos en línea.

Serdar Yegulalp, InfoWorld (EE.UU.)