Colaboración:
Carlos Salinas, Tecnologías,
IDECOR
El crecimiento del contenido (mapas y datos) que gestiona una IDE y la necesidad de dar respuesta a los requerimientos de desarrollo y performance de los procesos que se implementan, conlleva una búsqueda constante de herramientas que puedan ajustarse a los crecientes requerimientos. Entre las soluciones tecnológicas, surge como prioridad contar con una infraestructura adecuada que brinde óptimos procesos de administración y gestión de gran cantidad de datos e información.
Las demandas de la comunidad geográfica de IDECOR se canalizan a través del geoportal MapasCórdoba. El incremento del uso de datos y servicios, que pasó de un promedio de 93.000 visitas mensuales en 2020, a 153.000/mes en 2021 y 172.000 visitas (8.500 por día) en 2022, se transformó en un nuevo desafío para nuestra IDE, en la que los usuarios demandan servicios simples y rápidos.
Para implementar soluciones adecuadas, que sigan los principios del open source, participamos en diversas comunidades de software de código abierto, donde intercambiamos experiencias, aprendizajes y buenas prácticas que contribuyen a lograr productos de mayor calidad. Una de esas comunidades es la de Traefik, un proxy inverso y balanceador que implementamos para gestionar nuestra infraestructura tecnológica.
Cuando se comenzó a integrar Traefik en la plataforma de IDECOR, se trataba de una aplicación poco conocida, pero el hecho de ser una tecnología open source definió la elección de este software y asumimos el desafío de incorporarla como herramienta interna, para la implementación y orquestación de microservicios a escala y de forma nativa en la nube.
¿Cómo es la arquitectura de Traefik proxy?
Figura 1. Arquitectura de Traefik proxy
A diferencia de un proxy inverso tradicional configurado estáticamente, Traefik utiliza el descubrimiento de servicios para configurarse dinámicamente a partir de los propios servicios. Todos los protocolos principales son compatibles y se pueden administrar de manera flexible con un amplio conjunto de middlewares configurables para equilibrio de carga, limitación de velocidad, disyuntores, duplicación, autenticación y más (Figura 1).
Traefik intercepta y enruta cada solicitud entrante a los servicios de backend correspondientes. También admite la terminación SSL y se puede usar con un proveedor ACME (como Let’s Encrypt) para la generación automática de certificados.
Estas características hacen de Traefik una herramienta esencial, como puerta de acceso a nuestros servicios.
Los procesos responsables están bien delimitados:
- Providers -> descubren los servicios que viven en su infraestructura (su IP, salud, …)
- Entrypoints -> escuchan el tráfico entrante (puertos, …)
- Routers -> analizan las solicitudes (host, ruta, encabezados, SSL, …)
- Services -> reenvían la solicitud a sus servicios (equilibrio de carga, …)
- Middleware -> pueden actualizar la solicitud o tomar decisiones basadas en la solicitud (autenticación, limitación de velocidad, encabezados, …)
Comunidad Traefik
Para mejorar la implementación de la herramienta, tanto en nuestra infraestructura como de sus funcionalidades a nivel general, participamos de la comunidad Taefik Ambassadors, un ámbito de personas dedicadas al software de código abierto que conoce y estimula el uso de productos de este tipo, en este caso de Traefik Labs. Formamos parte de mesas de discusión trimestrales, donde se plantean políticas de desarrollo, hitos y temas abiertos y la interacción directa con equipos de desarrollo.
Figura 2. Gráfica de la Roundtable realizada en septiembre 2022 de Traefik Ambassadors.
En estas mesas, que agrupan más de 340 personas de todo el mundo, se generan sinergias de colaboración y se llevan adelante diversas actividades y testeo de funcionalidades de los nuevos desarrollos. Dentro de los temas importantes del último RoundTable (Figura 2) podemos destacar:
Upgrade de la versión 2.9
- Deshabilitar TLS 1.0 y dejar TLS 1.1 por defecto.
- Soporte para integrar Consul / Nomad
- IPv6 sobre Docker
- Nuevas opciones en el método Healtcheck
- Certificados por defecto ACME
- Tamaño de las respuestas de métricas
Los objetivos en la versión 3.0
- Mejorar un 20% la performance en Traefik HTTP
- EntryPoints dinámicos
- Facilitar configuraciones dinámicas sobre la estática
- Alinearse a estándares de recursos K8s Ingress
- Middleware para UDP
- Salir de fase experimental el HTTP/3
Estas mejoras permiten no sólo aumentar la performance; también brindan herramientas para sistematizar con mayor eficiencia los despliegues en los distintos ambientes e integrarlas con esquemas de seguridad, protocolos y los nuevos paradigmas de la red.
Otro producto de Traefik Labs Open Source es Trafik Mesh, una red sencilla de servicios para visibilizar y gestionar el flujo de tráfico dentro de toda red de Kubernetes.
La implementación de esta herramienta implicó un salto de calidad en la infraestructura tecnológica de IDECOR, gracias a las posibilidades que brinda la herramienta y de ser parte de su comunidad de desarrollo, lo que permite generar mejoras constantes a la tecnología y sus implementaciones.
Para conocer más sobre esta experiencia escribinos a [email protected]. Para mantenerte informado sobre las novedades de IDECOR, seguinos en Instagram en idecor.ok y en nuestro canal de YouTube.