Arquitectura Backend - Programando una webapp

Les prometí ritmo y sustancia, pues ahí tienen: capítulo 4 de esta serie. Y al final vamos a ver algo de código. En este caso les voy a mostrar cómo voy a estructurar el backend.



Como les conté voy a usar Node js, o sea Javascript del lado del servidor y para “hostearlo” voy a usar Vercel. Y acá quiero explicar por qué elijo Vercel para muchos de mis proyectos. Vercel es una compañía que ofrece servicios de infra as a service, o sea que puedas acceder a servidores sin necesidad de configurarlos desde cero.

Hay un montón de formas de gestionar infraestructura para aplicaciones escritas en Node, Ruby, Python, Go o lo que quieras. Muchas de estas son más complejas ya que cuando tenés mucho tráfico hay que tunear todo a otro nivel para que funcione bien y para no gastar millones de dólares. Para empezar este tipo de servicios está super bien, inclusive para cosas más avanzadas también van. Lo que ofrecen básicamente es que subas tu código y el servicio se encarga de todo. En otras temporadas vamos a usar otro servicio similar.


En este caso, Vercel ofrece el servicio de serverless que es de los más sencillos de implementar ya que lo único que le tenés que dar a Vercel son archivos con funciones escritas en Javascript, en este caso, pero también se banca otros lenguajes como pueden ver en su página donde habla al respecto.


https://Vercel.com/docs/serverless-functions/supported-languages


Lo que me parece genial es que esta estrategia, a diferencia de la tradicional, no tiene límites en cuanto a la escala. O sea que no importa cuanta gente, el sistema va a responder. ¿Por qué? ¿Qué magia esconde? Nada muy loco. En el caso tradicional el esquema se parece más a esto:



O sea que todo el servidor es un solo programa, que maneja las rutas, cada ruta a su “handler” o sea a la función o proceso que recibe esa petición y la procesa.


El problema con eso es que cada ruta hace cosas totalmente diferentes y que la falla de una de las rutas puede hacer que reviente todo, además que depende como corras este servidor, cuando mucha gente entre puede hacer que ese servidor virtual colapse porque se queda sin memoria o algo. Como si abrieras mil programas en tu computadora de repente.


Por otra parte, el approach de Vercel es mucho más simple. Vos subís archivos que tengan funciones y ellos se ocupan del resto.



Esta sutil diferencia hace que lo único que tengamos que hacer es escribir el código que se dedica a cada ruta y Vercel se encarga de que cada archivo se transforme en una ruta de nuestra API. Además que por cada petición a nuestra API, Vercel va a ejecutar la función que corresponda en ese momento como si fuera un programa separado. Eso quiere decir que si mucha gente entra simplemente va a ejecutar la misma función muchísimas veces y todas las peticiones obtendrán su respuesta sin congestionar el server.

La contra de esto es que en ciertos volúmenes de tráfico puede resultar muy caro, ya que por lo general te cobran por el uso de CPU y memoria, y esta estrategia por más que es muy efectivo para que nada reviente consume muchísimos recursos. Pros y cons.


Entonces voy a mostrarles cómo crear estas rutas, que ya habíamos definido en el primer capítulo. Una ruta de nuestra API para cada entidad que vayamos a manejar.


Bueno amigas amigos, ¿tienen preguntas? Pregunten. ¿Quieren que profundice sobre un tema? También comenten. ¿Quieren proponer una app para próximas temporadas de esta serie? ¡Ya saben, comenten!


Y lo de siempre, denle amor a este video, suscríbanse al canal, compartan el canal y nos vemos en la próxima donde vamos a empezar a operar contra nuestra base de datos usando esta API.


¡Nos vemos!


ESTUDIA

Desarrollo web fullstack;

Adquiere los conocimientos necesarios para insertarte en el mercado laboral y construir tus propias aplicaciones web

Vamos a cubrir

JAVASCRIPT/TYPESCRIPTHTML/CSSREACTNODE JSPOSTGRESQLFIREBASEAPI RESTAPIs (Mercado Libre)+ MUCHO MÁS!
apx