Introducción
Contenido
Servicios web de Amazon (AWS) es un proveedor de computación en la nube con una serie de servicios extremadamente populares. Desde su lanzamiento en 2006, se han convertido en un actor clave en el desarrollo y la implementación de las principales aplicaciones empresariales. Sus servicios son escalables, flexibles e innovadores en muchos aspectos, mientras mantienen el costo relativamente bajo en comparación con el autohospedaje.
Estas son solo algunas de las razones por las que grandes empresas como Adobe, Airbnb, Autodesk, BMW, la Agencia Espacial Europea, Ticketmaster, Xiaomi, Twitch, Netflix, Facebook, LinkedIn, Twitter, etc., comenzaron a alojar sus aplicaciones en la plataforma AWS.
Hemos compilado una serie de artículos sobre la integración con estos servicios utilizando Node.js para ayudarlo a ponerse al día con algunos de los servicios más populares de AWS.
Te puede interesar:Guía de manillares: motor de plantillas para Node / JavaScriptAlmacenamiento de archivos
Servicio de almacenamiento simple de AWS (S3)
Gran parte del software y las aplicaciones web que creamos hoy requieren algún tipo de alojamiento para archivos: imágenes, facturas, archivos de audio, etc. La forma tradicional de almacenar archivos era simplemente guardarlos en el disco duro del servidor.
Sin embargo, guardar archivos en el disco duro del servidor tiene limitaciones, como no poder escalar, tener que asignar espacio antes de usarlo y precios mucho más altos. Sin mencionar que solicitar una gran cantidad de archivos de gran tamaño, como imágenes, por ejemplo, puede generar una gran presión en el servidor.
Para descargar los servidores, los desarrolladores comenzaron a alojar archivos con proveedores de almacenamiento potenciales como AWS S3, Google Cloud Storage, etc.
Te puede interesar:Introducción a los proxies de JavaScript en ES6En este artículo, le mostraremos cómo escribir código Node.js para cargar archivos en S3:
- Carga de archivos en AWS S3 con Node.js
Soporte de mensajería
Servicio de notificación simple de AWS (SNS)
Servicio de notificación simple de AWS (SNS) es un servicio súper escalable que permite a los usuarios implementar el modelo de publicación / suscripción con facilidad.
Esto nos permite enviar mensajes de texto, correos electrónicos, notificaciones automáticas u otros mensajes automáticos a otros objetivos a través de múltiples canales al mismo tiempo.
Te puede interesar:For-each sobre una matriz en JavaScriptEn esta publicación, aprenderá cómo crear una aplicación web que pueda publicar un mensaje para varios suscriptores a la vez por correo electrónico, todos usando SNS:
- Publicación y suscripción a mensajes de AWS SNS con Node.js
Servicio de cola simple de AWS (SQS)
Con el aumento de la complejidad de los sistemas de software modernos, surgió la necesidad de romper sistemas que habían superado su tamaño inicial. Este aumento en la complejidad de los sistemas hizo que fuera más difícil mantenerlos, actualizarlos y mejorarlos.
Esto allanó el camino para los microservicios que permitieron dividir los sistemas monolíticos masivos en servicios más pequeños que están débilmente acoplados pero que interactúan para brindar la funcionalidad total de la solución monolítica inicial. El acoplamiento suelto proporciona agilidad y facilita el proceso de mantenimiento y la adición de nuevas funciones sin tener que modificar sistemas completos.
Te puede interesar:Expresiones de función invocadas inmediatamente de JavaScriptEs en estas arquitecturas de microservicios donde los sistemas de colas resultan útiles para facilitar la comunicación entre los servicios separados que componen la aplicación completa.
En esta publicación, nos sumergiremos en los sistemas de colas, particularmente Servicio de cola simple de Amazon (SQS) y demostrar cómo podemos aprovechar sus características en un entorno de microservicio:
- Message Queue Server en Node.js con AWS SQS
Soporte de base de datos
Servicio de base de datos relacional de AWS (RDS)
Ya no es una exageración decir que la información y los datos gobiernan el mundo. Casi todas las aplicaciones, desde las redes sociales y los sitios web de comercio electrónico, hasta las simples aplicaciones de seguimiento del tiempo y de dibujo, se basan en la tarea básica y fundamental de almacenar y recuperar datos para funcionar como se espera.
Te puede interesar:Manejo de la autenticación en Express.jsServicio de base de datos relacional de Amazon (RDS) proporciona una manera fácil de configurar una base de datos en la nube utilizando cualquiera de una amplia gama de tecnologías de bases de datos relacionales.
En este artículo, aprenderá cómo configurar una base de datos en RDS y almacenar datos en ella con una aplicación web Node:
- Uso de AWS RDS con Node.js y Express
Computación en la nube
AWS Elastic Compute Cloud (EC2)
Una vez que haya escrito una aplicación web, existen docenas de ofertas para que su aplicación esté en línea y que otras personas puedan utilizarla. Una oferta conocida y el servicio más popular en AWS es Nube informática elástica (EC2).
Te puede interesar:Introducción a MongoDB para principiantes con Node.jsEC2 es una parte fundamental de AWS y muchos de los otros servicios de AWS se basan en él; por lo tanto, es bueno comprender qué es EC2 y cómo implementar su aplicación en él.
En este tutorial, crearemos una aplicación básica de Node.js con Docker, iniciaremos y configuraremos una instancia EC2 e implementaremos nuestra aplicación en ella:
- Implementación de aplicaciones Node.js en AWS EC2 con Docker
AWS Lambda
La familia de arquitectura informática a la que pertenece AWS Lambda se denomina Computación sin servidor o, a veces, Función como servicio. Es innovador para los desarrolladores porque no es necesario mantener los servidores. Cada vez que se crea y ejecuta una función de AWS Lambda, se activa un contenedor para servirla, que se comparte entre otros contenedores para mantener un alto uso de los recursos.
El código se implementa en el contenedor y luego se ejecuta. Por lo tanto, cada solicitud posterior es más rápida porque AWS se salta la creación inicial del contenedor si ya existe.
En este artículo, obtendrá más información sobre el servicio Lambda y cómo poner su código en funcionamiento:
- Introducción a AWS Lambda con Node.js