Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Consideraciones de negocio para alta concurrencia y caso de uso

15/17
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Empezar

  • Crear un monolito. Se puede utilizar Cache (sesiones - autenticaciones) - CDNs - Contenedores - Orquestadores
  • Después separar en funciones.
  • Usar funciones ServeLess para tareas asíncronas.

Estar cómodo **SUMERCED **con el lenguaje de desarrollo.

Todo en contenedores, preferible en **DOCKER **y un orquestador posiblemente K8s.

Métricas mediante CPU - RAM - Colas de mensajes.

¿Qué consideraciones estratégicas de negocio se deben tener en cuenta a la hora de crear una arquitectura de alta concurrencia?

Esto depende mucho del tipo del negocio y del tipo de la aplicación. Sin embargo, en la gran mayoría de los casos, los más recomendable es comenzar con un monolito. Aunque parezca una mala idea, en realidad no tiene sentido comenzar a separar nuestra aplicación en microservicios desde el principio. Una vez creado el monolito, si el equipo crece y la empresa va triunfando, es aquí el momento ideal para comenzar a separar las funciones.

En el monolito se pueden utilizar tecnologías para alta concurrencia (CDNs, contenedores, orquestadores, etc.), en donde los CDNs nos pueden ayudar a cachear elementos estáticos y en la parte de seguridad; también se puede utilizar caché de diferentes formas (para uso de sesiones, para autenticación, etc.), y si se quiere utilizar alguna función serverless, se puede implementar para realizar tareas asíncronas.

Supongamos que empezamos un negocio. Lo primero, sería crear un monolito que sería el centro de nuestra aplicación. Adelante de este monolito, ubicaríamos un CDN que se encargaría de la seguridad, del cacheo de archivos estáticos y de la terminación SSL. El CDN enviaría el tráfico a nuestro proxy que tendrá la primera capa de nuestra aplicación; este proxy se va a encargar de la autenticación; las sesiones y todos esos valores van a estar almacenados en nuestro caché (podríamos utilizar Redis para este punto). Finalmente, nuestro monolito se va a conectar a una base de datos. Luego podríamos agregar funciones serverless para funciones asíncronas como procesamiento de videos, por ejemplo; de esta forma, la función sólo estará corriendo cuando tenga trabajo por hacer, y nos ahorraríamos dinero al no tener todo el tiempo corriendo un servicio que no siempre estamos utilizando.

Lo más recomendable a la hora de crear un monolito, es utilizar contenedores y orquestarlo con alguna tecnología.