En est serie de posts enseñare a crear varios ejemplos desde cero de diferentes escenarios
Conceptos iniciales
Cloud Computing
El cloud computing es un modelo de entrega de servicios de computación a través de Internet. Permite acceder y utilizar recursos informáticos compartidos sin infraestructura física. Ofrece flexibilidad, escalabilidad y acceso desde cualquier lugar, reduciendo costos y simplificando la administración. Sin embargo, plantea desafíos de seguridad y dependencia de la conexión a Internet. En resumen, es un enfoque basado en la nube para acceder y utilizar servicios de computación.
Serverless
Computación sin servidor que no se debe encargar de la infraestructura en la que se ejecuta el codigo fuente admite muchos lenguajes de programación entre ellos NodeJs, Go, JAVA, y otros. El problema que busca solucionar es permitir desarrollar más rápidos productos de software o funcionalidades quitando de los procesos operativos la administración de recursos informaticos (como servidores, contenedores Docker y el siguiente paso de contenedores Kubernetes) y permitiendo el pago por uso ya que se cobra por cada ejecucion de una función.
AWS
Es un proveedor de nube que ofrece a los usuarios diferentes servicios de computo en la nube entre ellos lambda funcions con la ventaja de pago por uso.
Lambda funcions
Es un servicio ofrecido por AWS y otros proveedores de nube como Google o Azure con otros nombres, tiene por objetivo que el desarrollador escriba una función que realice algun proceso teniendo en cuenta que los costos van asociados al tiempo de ejecución con un maximo de 15 minutos y los recursos asignados como la memoria RAM.
Serverless Framework
Es una herramienta que ayuda a los desarrolladores a crear aplicaciones sin tener que preocuparse por la gestión de servidores. Permite escribir código para funciones y luego desplegarlas en la nube de manera automática. Esto simplifica el proceso de desarrollo y reduce costos. Los desarrolladores pueden centrarse en la lógica de la aplicación sin tener que preocuparse por la infraestructura subyacente. Además, la escala de forma automática según la demanda, lo que significa que la aplicación puede crecer sin problemas. En resumen, es una herramienta que hace más fácil y económico crear aplicaciones en la nube sin preocuparse por la infraestructura técnica.
Una de las ventajas principales es la posibilidad que ofrece de cambiar de proveedor de cloud y se puede reutilizar mucho codigo.
Requisitos
- Git —Puedes instalar aquí
- NodeJs — Puedes instalar aquí
- Crear una cuenta de AWS — Omitir en caso que ya cuentes con una
Aquí la guía oficial de como realizar este paso - Un editor de codigo en mi caso usare VSCode — Aquí el acceso para descargarlo
- Extensiones necesarias:
- AWS Toolkit
- Error Lens
- TypeScript Importer
- Turbo Console Log
- Import Cost - Conocimientos básicos en Javascript o Typescript
- Instalar Serverless Framework
Se debe instalar usando tu gestor de paquete favorito
NPM
npm i -g serverless
YARN
yarn add -g serverless
pnpm
pnpm i -g serverless
Una vez terminado estos pasos podemos comenzar con la siguiente parte de la guía.