No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Consideraciones de negocio para alta concurrencia y caso de uso

15/17
Recursos

Aportes 4

Preguntas 1

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

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.

Crear una arquitectura de alta concurrencia

  1. Crear un monolito: Una vez la aplicación va creciendo podemos separar las funciones,
  2. Herramientas de alta concurrencia: El uso de CDN, contenedores, orquestadores, cache, etc
  3. Proxy y capa de autentificación - Bases de datos.
  4. Aplicaciones serverless.

Gracias