Objetivo
En el servicio posventa de nuestro cliente (OEM en la industria del automóvil) se utilizan productos de software de diversos proveedores. El objetivo de la plataforma en la nube es tener una infraestructura, arquitectura y procedimiento uniformes para usar esos productos.
La implantación ágil de productos digitales se puede llevar a cabo de forma rápida y centrada en el valor que aporta al usuario final. Para ello, la plataforma prestará servicios y tratará temas transversales como la seguridad, cumplimiento, disponibilidad total y procesos de lanzamiento.
Contribución de Novatec
Novatec diseña y usa una moderna infraestructura de nube basada en IBM Cloud, Kubernetes e Istio, que ofrece la mayor seguridad y disponibilidad. La plataforma es compatible con infinidad de arquitecturas de aplicaciones y se encarga de los temas transversales que se describen a continuación.
Seguridad
Los sistemas de TI de las grandes empresas se están convirtiendo en el objetivo de los ataques cibernéticos con cada vez más frecuencia. Estos ataques dañan la reputación y producen pérdidas económicas. Proteger los datos es muy importante, ya que son fundamentales para el negocio y la filtración de datos puede suponer la indemnización por daños y perjuicios por reclamaciones derivadas por la responsabilidad de los productos.
Es por ello que se requiere el cifrado para que el propio proveedor de la nube no pueda acceder a los datos sensibles. Para garantizar el cifrado adecuado de los datos se le dan pautas a los equipos para que elijan el cifrado correcto y la memoria adecuada para guardar los datos, en función del tipo de datos. Para la protección ante el proveedor de la nube, se guardarán copias de seguridad cifradas en la infraestructura local.
Los servicios principales de la plataforma son la autenticación y autorización por medio de OpenID Connect. Así, se garantiza un alto nivel de seguridad al aplicarlas y se reduce el riesgo de ataques en cada una de las aplicaciones. A su vez, se libera a los equipos de la tarea de dominar los detalles de la solución.
En la plataforma, desarrolladores de diferentes proveedores diseñan aplicaciones. Por eso, es importante proteger entre sí las distintas partes de los equipos de manera eficiente. Cada equipo tiene sus propias áreas en los diferentes componentes de la plataforma, en las que disponen de todos los permisos, por lo que trabajan de forma autónoma y muy eficiente, sin depender de otros equipos. Asimismo, se garantiza que las aplicaciones no interfieran entre sí.
Conforme a la estrategia de seguridad «defensa en profundidad» (Defense in Depth) y mediante medidas de seguridad, se asegurará la comunicación entre los usuarios finales y los servicios y la comunicación interna entre los servicios de la plataforma. Entre otros, se utilizan Mutual TLS, JSON Web Tokens y políticas de red definidas explícitamente. Gracias a esto, los equipos de desarrollo pueden concentrarse en la seguridad de la aplicación.
DevOps
DevOps mejora la calidad del software y agiliza su disponibilidad en el mercado. En la plataforma en la nube, muy en la línea de DevOps, cada uno de los equipos de desarrollo se encarga del desarrollo y del funcionamiento de su aplicación. Para ello, los equipos podrán recurrir a los amplios servicios de la plataforma que son compatibles con la administración, puesta a disposición y supervisión de las aplicaciones.
La plataforma abarca, entre otros, la instrumentación automática de las aplicaciones con agentes de monitorización y de inicio de sesión. Para esto, se ponen a disposición de los equipos las métricas y registros de su propia aplicación, y también los servicios previos y posteriores. Esto incluye los paneles de control de las métricas de los servicios de datos que los equipos adquieren del proveedor de la nube, lo que hace que los equipos no tengan que emplear sus propias herramientas.
Otras herramientas para CI/CD se pondrán a disposición de los equipos dentro de una completa cadena de herramientas con el fin de implantar fácilmente los procesos de lanzamiento, controlados de forma integral, de servicios dependientes entre sí, además de una wiki centralizada y una herramienta de gestión de proyectos para el desarrollo ágil de software.
El equipo de la plataforma se encarga de la puesta a disposición eficaz de recursos para la ejecución de las aplicaciones. El servicio de atención telefónica 24/7 asegura la disponibilidad continua de la plataforma.
Disponibilidad
La arquitectura de la plataforma se ha diseñado para que aporte la máxima disponibilidad. Por ejemplo, gracias a la arquitectura multizona, en caso de caída de un centro de datos al completo, la plataforma estará disponible. Por eso, cada componente de la plataforma se ha diseñado para que sea redundante y, en caso de caída, cada componente resista sin problemas.
Con la simulación periódica y en gran medida automatizada de conceptos para la recuperación ante desastres (Disaster Recovery), en caso de catástrofe, se garantizarán un bajo objetivo de punto de recuperación (Recovery Point Objective, RPO) y objetivo de tiempo de recuperación (Recovery Time Objective, RTO).
Resultado
Novatec diseñará la plataforma en la línea del Agile Empowerment, en estrecha colaboración con los arquitectos del cliente en un equipo scrum: el denominado equipo de la plataforma. También se colaborará mano a mano con otras partes interesadas como el departamento de ciberseguridad del cliente. Esto garantizará que los procesos y la arquitectura de la plataforma en la nube se oriente conforme a las normas generales de TI y los objetivos de la empresa.
Un propósito esencial de la plataforma es que los equipos de desarrollo puedan desarrollar los productos de forma eficaz, para que así disminuyan los ciclos de desarrollo de los productos nuevos. Para ello, Novatec asesorará a los equipos en el uso de los servicios y aportará las herramientas, procesos y guías necesarias para que los equipos de desarrollo desarrollen y utilicen sus productos por sí mismos en un contexto definido claramente. Los equipos disfrutarán de la libertad de elegir la mejor arquitectura de aplicaciones y tecnología para solucionar sus propias tareas. El equipo de la plataforma colaborará estrechamente con los equipos de desarrollo para conocer la opinión y las propuestas de mejoras de la plataforma y garantizar que se emplearán los principios de DevOps en la plataforma.
En la plataforma, más de 200 desarrolladores diseñarán sus productos en equipos pequeños e independientes. Con frecuencia, los equipos se encuentran ante retos tecnológicos parecidos y las mismas cuestiones ante determinadas decisiones sobre la arquitectura. Por eso, el equipo de la plataforma organiza con regularidad reuniones de prácticas en común (Community of Practice Meetings), en las que los equipos comentan los problemas con los que están lidiando y presentan soluciones. Aparte de esto, se fomenta la colaboración y el intercambio de conocimiento entre equipos mediante las salas de chat de temas específicos y la wiki en común.
Las decisiones más importantes sobre los estándares se toman en la reunión periódica de dirección de arquitectura (Architecture Board Meeting) a la que asisten los representantes de cada uno de los equipos de desarrollo o los proveedores.
Su persona de contacto

Fabiola Saucedo Carmona
Director Digital Product Development