¿Qué ventajas aporta el Outsourcing a mi empresa?
14/04/2021Sería difícil abordar completamente arquitectura hexagonal en una sola publicación, pero es una de las más apasionantes entre todas las que existen en el mundo del software. Con años de experiencia trabajando junto a nuestros clientes en el crecimiento de sus software, hemos llegado a comprender que cualquier software que continúe creciendo en términos de funcionalidades eventualmente se encontrará con esta arquitectura.
Entonces, ¿cómo te beneficia esto? Independientemente de la arquitectura que elijas para tu próximo proyecto, considera tratarla como un microservicio más dentro de una futura arquitectura hexagonal. Esto abre un amplio abanico de posibilidades.
Cuando construimos una aplicación, tenemos dos cosas en mente:
- Lanzar rápidamente al mercado (MVP): El cliente necesita que la aplicación esté en producción lo antes posible, lo que requiere priorizar un producto mínimo viable.
- Escalabilidad: La arquitectura debe ser «escalable». Este término es amplio y debe serlo, ya que tu estructura debe estar lista para crecer junto con el proyecto.
Siguiendo estas premisas, planificamos un software guiado por un roadmap con objetivos y sprints. En la primera fase, la correcta definición de la arquitectura es fundamental. Aunque el software es una entidad en constante evolución, hay un truco que te acerca a la arquitectura hexagonal: piensa en las partes de tu software como «funciones» en la programación básica, entidades separadas pero que pueden reutilizarse.
Por ejemplo, si tu aplicación necesita enviar correos electrónicos, considera lo siguiente:
- Siempre, sin excepción, plantea tener una API.
- Desvincula el frontend de la API, mantén los sistemas separados.
- Elije una base de datos que esté alineada con tu API.
- Utiliza un sistema de cola para el envío de correos electrónicos, incluso si tu aplicación es pequeña.
- Asegúrate de que el sistema de logs esté configurado desde el principio.
- Evita la creación permanente de archivos en el servidor; utiliza servicios como Amazon S3.
Estos pasos no son difíciles de implementar y cambian la forma en que abordas el desarrollo, pero son un buen punto de partida. La arquitectura hexagonal es un proceso en evolución, y estos son los primeros pasos para acercarse a ella.