Stack Tecnológico

Web
Este bloque agrupa las tecnologías a utilizar el desarrollo de aplicaciones web.
- HTML5, CSS3 y JavaScript: La base del desarrollo web, permiten la creación de interfaces de usuario interactivas.
- Angular: Un framework de desarrollo web basado en TypeScript que facilita la construcción de aplicaciones de una sola página (SPA).
- Webpack Module Federation: Plugin de Webpack que permite cargar de forma dinámica y en tiempo de ejecución módulos compilados de forma independiente, habilitando arquitecturas de Micro Frontends donde cada aplicación se desarrolla, versiona y despliega de manera autónoma.
- Bootstrap: Framework de CSS que facilita el diseño de interfaces web responsivas.
Mobile
Tecnologías para el desarrollo de aplicaciones móviles nativas.
- Kotlin: Un lenguaje moderno utilizado para el desarrollo de aplicaciones Android. Es una alternativa a Java que mejora la productividad y reduce el código boilerplate.
Back-End
Herramientas y tecnologías para el desarrollo de la lógica de negocio y servicios en el servidor.
- Java 17: Lenguaje de programación orientado a objetos y de uso general, ampliamente utilizado en entornos empresariales.
- Spring Framework: Framework para construir aplicaciones empresariales con soporte para inyección de dependencias, aspectos, entre otros.
- Spring Boot: Extensión de Spring que simplifica la configuración y el desarrollo de microservicios.
- Spring Cloud Gateway: Herramienta para gestionar el enrutamiento de microservicios y la gestión de tráfico.
- Spring Security: Proporciona autenticación y autorización para las aplicaciones basadas en Spring.
- Swagger: Herramienta para documentar y visualizar APIs RESTful.
- Spring Batch: Herramienta para la creación de procesos por lotes, como tareas periódicas o el procesamiento de grandes volúmenes de datos.
- Apache Camel: Framework de integración que permite la comunicación entre diferentes sistemas, soportando múltiples protocolos y patrones de integración.
Persistencia
Bases de datos relacionales y no relacionales utilizadas para almacenar y gestionar los datos.
Bases de datos Relacionales:
- Oracle Database: Sistema de gestión de bases de datos relacional ampliamente utilizado en aplicaciones empresariales.
- MySQL: Base de datos relacional de código abierto, conocida por su facilidad de uso y rendimiento.
- PostgreSQL: Base de datos relacional de código abierto con fuerte soporte a estándares y características avanzadas como tipos de datos personalizados.
Bases de datos No Relacionales:
- Redis: Base de datos en memoria que se utiliza para cachés, colas de mensajes y almacenamiento de datos temporal.
- MongoDB: Base de datos NoSQL orientada a documentos, utilizada para manejar grandes volúmenes de datos y esquemas flexibles.
Infraestructura
Tecnologías de contenedorización y administración de infraestructura.
- Linux: Sistema operativo de código abierto, ampliamente utilizado para servidores en la nube y entornos de desarrollo.
- Docker: Plataforma que permite crear, desplegar y ejecutar aplicaciones dentro de contenedores.
- Traefik: Proxy inverso y balanceador de carga diseñado para manejar tráfico de aplicaciones microservicios.
- NGINX: Servidor web que también puede actuar como proxy inverso y balanceador de carga.
- Google Cloud Platform: Plataforma de servicios en la nube que proporciona infraestructura, almacenamiento y capacidades de cómputo.
- SonarQube: Herramienta de análisis de calidad de código que permite identificar vulnerabilidades, bugs y problemas de mantenimiento.
- Keycloak: Sistema de gestión de identidades y accesos (IAM), que proporciona autenticación y autorización.
- Kubernetes: Plataforma de orquestación de contenedores que automatiza la implementación, escalado y gestión de aplicaciones en contenedores.
Herramientas de Desarrollo
Plataformas y herramientas utilizadas por los desarrolladores para escribir, probar y desplegar código.
- IntelliJ IDEA: Entorno de desarrollo integrado (IDE) para desarrollar aplicaciones en Java y otros lenguajes.
- Visual Studio Code: Editor de código fuente ligero y altamente extensible.
- GitLab: Plataforma para el control de versiones, CI/CD y colaboración en desarrollo de software.
- Selenium: Herramienta de automatización para pruebas de aplicaciones web.
- JUnit 5: Marco de pruebas unitarias para aplicaciones Java.
- Postman: Herramienta para probar y documentar APIs.
Servicios
Plataformas y servicios que ofrecen capacidades avanzadas de almacenamiento y análisis de datos.
- Snowflake: Plataforma de almacenamiento y análisis de datos basada en la nube, diseñada para el análisis de grandes volúmenes de datos.
- Oracle Autonomous Database: Base de datos en la nube que se gestiona automáticamente y optimiza su rendimiento.
- Microsoft Fabric: Plataforma que proporciona servicios integrados para análisis y automatización empresarial.
Telemetría
Herramientas utilizadas para monitorizar y observar el comportamiento de los sistemas.
- Prometheus: Sistema de monitoreo y alerta diseñado para la recolección de métricas y su análisis en tiempo real.
- Grafana: Plataforma de observabilidad que permite visualizar métricas y logs a través de paneles personalizables.
- Istio: Malla de servicios que gestiona la comunicación, seguridad y monitoreo entre microservicios.
CI / CD y Control de Versiones
Herramientas que permiten la integración continua, entrega continua y control de versiones.
- GitLab CI/CD: Plataforma para gestión de código fuente y CI/CD.
- Jenkins: Herramienta de integración continua que automatiza la construcción, prueba y despliegue de software.
- Docusaurus: Herramienta para la creación de documentación técnica, orientada a generar sitios web documentales.