Patrones de Arquitectura en Proyectos de Crecimiento Empresarial
Clase 24 de 43 • Curso Profesional de Arquitectura de Software
Resumen
¿Qué patrones de arquitectura son ideales para la etapa de startup de Platzi?
Cuando pensamos en el inicio de un proyecto, es crucial establecer una base sólida que permita el crecimiento y la adaptación futura. En el contexto de Platzi Servicios, se comienza tradicionalmente con un estilo de arquitectura cliente-servidor. Aquí, se mencionan dos patrones clave que podrían ser utilizados:
-
Modelo vista-controlador (MVC): Esta es una arquitectura monolítica simple que es popular en muchos frameworks y librerías open source. La ventaja de este enfoque es que facilita el trabajo con un equipo pequeño e integrado, además de que la curva de aprendizaje es más accesible.
-
Arquitectura en capas: Ofrece una separación más clara entre la presentación y la lógica de negocio, lo que permite un enfoque más mantenible y dirigido al dominio del problema. Este patrón también respeta el estilo arquitectónico cliente-servidor.
¿Cómo se adapta la arquitectura cuando Platzi comienza a crecer?
A medida que una empresa crece, también lo hace la complejidad de sus necesidades. En esta etapa, es necesario implementar patrones de arquitectura que permitan manejar mejor el aumento de la demanda y la sofisticación de las operaciones. Algunas de las soluciones propuestas incluyen:
-
Arquitectura compartenada: Ideal para procesar grandes volúmenes de datos. Se basa en dividir la base de datos transaccional en partes independientes que luego pueden ser procesadas por diferentes aplicaciones sin compartir un recurso común.
-
Arquitectura basada en eventos: Permite registrar eventos continuamente en lugar de procesar todo en un lote. Esto no solo simplifica la separación entre servicios, sino que también mejora la eficiencia al manejar transacciones y reportes.
-
Arquitectura de microservicios: Aunque ambiciosa al principio, se convierte en una opción valiosa cuando el número de desarrolladores crece. Este enfoque permite crear servicios específicos y conectarlos mediante un bus de eventos, facilitando el desarrollo en paralelo y con menos acoplamiento.
¿Cómo se manejan los desafíos arquitectónicos cuando Platzi se convierte en una empresa de gran escala?
Cuando Platzi Servicios alcanza un status de gran escala, enfrentan desafíos globales como la traducción y problemas de uso horario. Para abordar estos retos, los patrones arquitectónicos deben permitir una alta modularización y adaptabilidad. Las siguientes arquitecturas son recomendables:
-
Microservicios: Este patrón es ideal para mantener un esquema distribuido y gestionar adecuadamente la carga de distintos servicios. Por ejemplo, permitiría redundancia y despliegue específico según las demandas de cada servicio particular dentro del sistema.
-
Provisión de eventos para reportes: Transformar el cálculo y almacenamiento de reportes hacia una base de datos de eventos. Esto permitiría generar reportes más específicos por cliente, basándose en eventos históricos.
-
Separación entre consultas y comandos: Fundamental para sistemas que requieren distribución y diferentes cargas para lectura y escritura. Este enfoque permite diferenciar momentos de escritura (transacciones) de aquellos de lectura (consultas frecuentes), optimizando la eficiencia y el rendimiento del sistema.
El proceso de diseño de la arquitectura debe considerar una combinación de patrones para satisfacer las necesidades específicas de cada etapa del crecimiento empresarial. Estos ajustes aseguran que la empresa no solo se adapte a las demandas actuales, sino que también esté preparada para evolucionar con el tiempo.