Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo aprovechar al máximo el nivel gratuito de AWS

[02/12/2020] Lo gratuito es un incentivo poderoso. Cuando impartí un curso sobre marcos de trabajo web en la universidad local, diseñamos las asignaciones para garantizar que todos los experimentos se pudieran realizar rápidamente con la colección de máquinas gratuitas de Amazon Web Services. Cada estudiante creó, construyó y mantuvo más de una docena de servidores diferentes y no agregaron ni un centavo a su deuda estudiantil.

Este es un buen ejemplo de por qué Amazon y los otros servicios en la nube ofrecen cientos de formas diferentes de probar sus productos. Los nuevos productos nacen y se prueban con el costo del tiempo del desarrollador solamente. Si el código se hace grande y comienza a generar suficientes ingresos, los desarrolladores pueden convertirse en clientes que pagan. Si no es así y no lo hacen, al menos los desarrolladores se sentirán cómodos con las herramientas y probablemente recurran a Amazon para el próximo proyecto.

El nivel gratuito no es solo para estudiantes que se alimentan con sopas instantáneas. A veces, pedirle al jefe una línea presupuestaria, por pequeña que sea, significa desencadenar una serie de preguntas y reuniones que exigen explicaciones. Varios buenos desarrolladores prueban sus planes en máquinas gratuitas, porque es mucho más impresionante presentar un prototipo en ejecución que una plataforma de diapositivas con algunas maquetas.

Amazon ofrece tres tipos diferentes de servicios gratuitos. Algunos son muestras a corto plazo, lo que le permite evaluar un nuevo servicio durante aproximadamente un mes. Están destinados a que los equipos exploren nuevos productos. Otros servicios les dan la bienvenida a los nuevos desarrolladores a que se registren para obtener una cuenta de AWS. Debido a que duran un año completo después de crearse una nueva cuenta, los desarrolladores pueden comenzar a explorar sin la preocupación de tener que pagar una factura.

Las más generosas son los productos "siempre gratis que siguen y siguen. Algunos desarrolladores se esfuerzan por crear sus productos para que vivan en el nivel gratuito el mayor tiempo posible. Es como un juego, porque los recursos de desarrollo no son demasiado caros al principio. Puede que estén ahorrando algunos dólares. Pero, en el resultado final, este enfoque puede producir buenas aplicaciones que están diseñadas de forma limpia para utilizar un mínimo de los recursos de AWS. Cuando crecen en escala, las facturas aumentarán de manera un poco más lenta.

A continuación, 10 sugerencias sobre cómo jugar con el stack de AWS y generar facturas muy bajas utilizando servicios gratuitos.

Modere su uso

En el nivel gratuito, la mayoría de los servicios de AWS vienen con un límite, que generalmente se aplica cada mes. Algunos de estos parecen increíblemente grandes, como la concesión de un millón de llamadas de función de AWS Lambda. Una vez que haya terminado de rendir homenaje al Dr. Evil de las películas de Austin Powers, repitiendo su pronunciación de "millón, puede comenzar a presupuestar el uso de estas llamadas a funciones para los trabajos más importantes. Incluso los límites generosos pueden agotarse. Si no tiene cuidado, un millón puede llegar muy pronto.

Opte por lo estático

Las opciones de cómputo en el nivel gratuito son bastante limitadas, por lo que vale la pena reducir el cómputo del lado del servidor tanto como sea posible. Los generadores de sitios estáticos como Jekyll o Gatsby convierten los datos de su página web dinámica en archivos HTML, JavaScript y CSS que se pueden colocar en un servidor web estático. Quizás los traslade a una CDN como CloudFront de Amazon. Quizás los sirva directamente desde Amazon S3. Quizás incluso los estacione en la esquina de otro servidor de su oficina. El punto es ahorrar recursos computacionales que generarían sus páginas web de forma dinámica para que pueda permanecer dentro del nivel gratuito.

Opte por no usar servidor

AWS Lambda es la única opción de procesamiento de Amazon que se mantiene gratuita después de un año. También podría decirse que es la mejor opción para un servicio que crecerá en escala sin problemas para manejar miles, millones o miles de millones de solicitudes. Elegir Lambda desde el principio prepara su aplicación para el éxito en el futuro.

Opte por NoSQL

Amazon también nos anima a utilizar su DynamoDB, al incluir 20GB de espacio de almacenamiento que siempre es gratuito. Es posible que DynamoDB no ofrezca las mismas opciones inteligentes de indexación y normalización que los amantes de las bases de datos relacionales han adoptado a lo largo de los años, pero NoSQL sigue siendo una opción arquitectónica inteligente y flexible que es especialmente flexible para los prototipos en evolución y las nuevas empresas dinámicas.

Combine llamadas AJAX

A veces, necesitará hacer que su sitio sea interactivo. El mejor enfoque es agrupar las llamadas a sus servicios web en la menor cantidad de transacciones posible. El nivel gratuito de Amazon API Gateway, por ejemplo, incluye un millón de llamadas a API y un millón de llamadas HTTP. Agrupar todos sus datos en una sola llamada hace que estos límites duren más, que invocar diligentemente las llamadas de inmediato. La forma más sencilla de lograr esto es reducir el almacenamiento de documentos o datos de formularios para el usuario. Sí, esto puede hacer que el servicio sea un poco menos robusto y resistente a los choques, pero ese es el costo de hacer las cosas gratis.

Empodere al cliente

Si bien las cookies y sus primos menos conocidos, como las Web Storage APIs locales, tienen la reputación de ayudar a las grandes empresas a rastrear a las personas, también ofrecen la oportunidad de que los usuarios controlen su privacidad almacenando sus datos locales. También facilita la creación de una aplicación web, de nivel gratuito, al descargar el costo de almacenar los datos del cliente en la propia máquina del cliente. ¡Las máquinas de los usuarios almacenan los datos para que usted no tenga que hacerlo!

Más privacidad y menos costos centrales. Sería una solución perfecta si no fuera por la catástrofe total que le sigue a la pérdida de un teléfono, un disco local dañado o cualquier otro millón de fallas. Es mejor usar esto para los datos casuales, no con la información crítica para la misión.

Evite los trucos

Algunas páginas web han agregado funciones interactivas llamativas como la capacidad de autocompletarse. Estas pueden ser divertidas y pueden generar atención, pero cada una de estas funciones generalmente requiere otra solicitud a la nube y eso le va acercando a sobrepasar su límite. Evitar piezas móviles innecesarias es la forma más sencilla de ahorrar recursos de cómputo.

Ejecute su propia base de datos

Los servicios de bases de datos relacionales administrados por Amazon como MySQL o PostgreSQL son excelentes herramientas para iniciar y mantener una base de datos con el fin de almacenar la información de su aplicación, pero el nivel gratuito solo le ofrece uno de ellos y solo durante los primeros 12 meses. No existe nada que le impida ejecutar su propia base de datos en una de las instancias EC2 gratuitas que también están disponibles durante los primeros 12 meses. Sí, usted mismo tendrá que encargarse de la instalación y configuración, pero eso hará que duplique sus opciones de base de datos.

Registre con cuidado

Todo el almacenamiento gratuito en AWS viene con límites. Los buenos desarrolladores crean buenos archivos de registro para depurar problemas y detectar fallas, pero la mayoría de los archivos de registro nunca se utilizan. Mantenerse dentro de los límites de almacenamiento es más sencillo si limpia sus registros con frecuencia. Algunos simplemente tiran los datos y otros los descargan en su disco de escritorio.

Use recursos que no estén en la nube

No es exactamente una respuesta justa decir que puede sacar más provecho del nivel gratuito ejecutando su propio servidor en su desktop. Aun así, un uso sensato de los servicios que no son de AWS puede realmente alargar el trabajo que se realiza en la nube. Los backups de la base de datos, por ejemplo, podrían trasladarse a su desktop, que podría tener varios terabytes de espacio vacío esperando algunos detritos aleatorios. Y probablemente querrá hacer un backup de sus proyectos fuera de la nube de todos modos. Cualquier servicio o dato que no necesite la respuesta inmediata y el tiempo de actividad constante de la nube es válido.

Reconozca los límites

El nivel gratuito es una manera excelente de explorar AWS y es divertido eliminar todas las características extrañas para tratar de generar cero facturas, pero al final del día, AWS es una empresa y el nivel gratuito es una herramienta de marketing bien diseñada, no una obra de caridad. Algunas personas crean abiertamente nuevas cuentas con nuevas direcciones de correo electrónico para continuar reiniciando el reloj de los 12 meses. Esto puede funcionar con proyectos desechables, pero no con aquellos que han comenzado a atraer usuarios que se verán afectados cuando cambie de cuenta.

Cuando sus creaciones hayan encontrado una audiencia, es hora de comenzar a encontrar una forma de pagar las facturas. La buena noticia es que todas las lecciones que ha aprendido al vivir en el nivel gratuito harán que sus facturas sean mucho más bajas. API Gateway, por ejemplo, cobra solo un dólar por un millón de invocaciones. Si ha estado ejecutando con éxito en el nivel gratuito, sus facturas no serán más que unos pocos dólares al mes.

Eso debería mantenerse hasta que todo se vuelva increíblemente viral y su escandalosa buena fortuna haga que la factura de AWS sea la menor de sus preocupaciones.