El proyecto más relevante del gobierno de España en 2023
cliente
El Gobierno de España
Servicios
Diseño, Desarrollo web & mobile, Infraestructura, Front-end, back-end
Este proyecto es una iniciativa del Gobierno de España que ofrece una ayuda económica a los jóvenes que alcanzan la mayoría de edad para adquirir y disfrutar de productos y actividades culturales.
Retos
Integración con una serie de servicios externos, tanto de la policía, como AEAT, así como clave, @firma, todos con diferentes características y necesidades. Cada uno de estos servicios requería firmas XML y otras particularidades que debían ser manejadas de manera efectiva para asegurar un rendimiento óptimo. Además, implementar varias prácticas de seguridad en el desarrollo de software, como la autenticación y autorización, protección contra ataques, encriptación y protección de datos.
Factores claves de éxito
01
Diseño centrado en el usuario
Adoptamos los principios de diseño centrado en el usuario, lo que implicó la realización de investigaciones de usuarios, la creación de user personas y la realización de pruebas de usabilidad.
02
Prácticas de seguridad
Implementaos múltiples prácticas de seguridad durante el desarrollo, como la implementación de un sistema de autenticación sólido, protección contra ataques, gestión segura de las sesiones de usuario, encriptación y protección de datos, actualizaciones y parches regulares, pruebas de seguridad periódicas y una gestión segura de errores.
03
Arquitectura basada en microservicios
La arquitectura basada en microservicios y eventos y Kafka nos permitió una mayor escalabilidad, modularidad y resiliencia. Desarrollamos y desplegamos independiente de servicios, mejorando la tolerancia a fallos y la recuperación rápida.
04
Uso de KMM
Para maximizar la productividad y la velocidad de desarrollo de las APPs, optamos por el uso de KMM, que permite compartir código Nativo entre diferentes plataformas(iOS y Android), acelerando el desarrollo y reduciendo la duplicación de código.
01
Diseño centrado en el usuario
Adoptamos los principios de diseño centrado en el usuario, lo que implicó la realización de investigaciones de usuarios, la creación de user personas y la realización de pruebas de usabilidad.
02
Prácticas de seguridad
Implementaos múltiples prácticas de seguridad durante el desarrollo, como la implementación de un sistema de autenticación sólido, protección contra ataques, gestión segura de las sesiones de usuario, encriptación y protección de datos, actualizaciones y parches regulares, pruebas de seguridad periódicas y una gestión segura de errores.
03
Arquitectura basada en microservicios
La arquitectura basada en microservicios y eventos y Kafka nos permitió una mayor escalabilidad, modularidad y resiliencia. Desarrollamos y desplegamos independiente de servicios, mejorando la tolerancia a fallos y la recuperación rápida.
04
Uso de KMM
Para maximizar la productividad y la velocidad de desarrollo de las APPs, optamos por el uso de KMM, que permite compartir código Nativo entre diferentes plataformas(iOS y Android), acelerando el desarrollo y reduciendo la duplicación de código.
Metodología
Scrum
Los equipos trabajan de manera más eficiente, colaborativa y efectiva.
ColaboraciónLa entrega iterativaLa mejora continuaEnfoque en el cliente
Testing Mindset
Filosofía de desarrollo orientada a test
TDDATDDBDD
Código limpio y homogéneo
La forma de escribir código debe ser homogénea y estar regida por una guía de estilos. Permitió incorporar rápidamente a nuevos desarrolladores
Automatizado en la estrategia de CI/CD, SonarQube
Cloud Microservicios y eventos
Desarrollo y gestión de aplicaciones distribuidas
Arquitectura basada en microservicios con AWS Lambda, ECS y KubernetesEscalabilidad y resiliencia con AWS Auto ScalingImplementación de patrones de diseño de eventos con KafkaMonitoreo con AWS CloudWatch y administración con AWS Systems ManagerAutomatización y despliegue continuo con CI/CD en entornos de microservicios y pods, utilizando Argo para la orquestación.
Kotlin Multiplatform Mobile
Permite crear aplicaciones móviles nativas para iOS y Android
Ahorra tiempo y esfuerzo en el desarrolloCódigo compartido entre plataformas, reduciendo la duplicaciónMantenimiento simplificadoFacilita la incorporación de nuevas funcionalidades
Uso de una base de datos escalable
El uso de Postgresql en AWS Aurora permitió un balanceo eficiente de la lectura y escritura, mientras que AWS S3 proporcionó un almacenamiento seguro y eficiente para los documentos.
Mejor rendimiento y escalabilidad del sistema
Scrum
Los equipos trabajan de manera más eficiente, colaborativa y efectiva.
ColaboraciónLa entrega iterativaLa mejora continuaEnfoque en el cliente
Testing Mindset
Filosofía de desarrollo orientada a test
TDDATDDBDD
Código limpio y homogéneo
La forma de escribir código debe ser homogénea y estar regida por una guía de estilos. Permitió incorporar rápidamente a nuevos desarrolladores
Automatizado en la estrategia de CI/CD, SonarQube
Cloud Microservicios y eventos
Desarrollo y gestión de aplicaciones distribuidas
Arquitectura basada en microservicios con AWS Lambda, ECS y KubernetesEscalabilidad y resiliencia con AWS Auto ScalingImplementación de patrones de diseño de eventos con KafkaMonitoreo con AWS CloudWatch y administración con AWS Systems ManagerAutomatización y despliegue continuo con CI/CD en entornos de microservicios y pods, utilizando Argo para la orquestación.
Kotlin Multiplatform Mobile
Permite crear aplicaciones móviles nativas para iOS y Android
Ahorra tiempo y esfuerzo en el desarrolloCódigo compartido entre plataformas, reduciendo la duplicaciónMantenimiento simplificadoFacilita la incorporación de nuevas funcionalidades
Uso de una base de datos escalable
El uso de Postgresql en AWS Aurora permitió un balanceo eficiente de la lectura y escritura, mientras que AWS S3 proporcionó un almacenamiento seguro y eficiente para los documentos.
Mejor rendimiento y escalabilidad del sistema
Resultados
"Una plataforma web robusta, escalable y de alto rendimiento, que ha demostrado ser altamente resiliente y capaz de manejar picos de tráfico, gracias a la capacidad de escalar servicios individuales según la demanda."