Objetivo

En el mundo digital actual, la integración en la red forma parte de la normalidad: puede controlar remotamente con el teléfono móvil las luces de casa o la temperatura de las habitaciones. En la movilidad, Connected Car aporta ventajas al usuario gracias a su comodidad mejorada y mayor seguridad.

La plataforma en la nube Connected Car es la columna vertebral de los servicios ofrecidos. En esta plataforma se guardan los clientes con sus vehículos y estado del servicio y licencias. Conforme el usuario introduce información, por ejemplo en una aplicación, se ponen en marcha los procesos en la plataforma en la nube, que pone a su disposición el entorno de los componentes implicados directamente y se encarga, a su vez, de la comunicación con otros backends.

El objetivo es el desarrollo y la puesta en funcionamiento de una plataforma en la nube Connected Car de gran disponibilidad, para que el cliente final pueda usar en todo el mundo y a cualquier hora los servicios ofrecidos.

Contribución de Novatec

Equipo de desarrollo

Varios equipos de Novatec se encargarán de desarrollar la plataforma. Los equipos se ocupan de uno o varios dominios profesionales y poseen el conocimiento técnico y profesional acerca de dichos dominios. Varios propietarios de producto (PO) del ámbito técnico del cliente introducirán los requisitos en la lista de tareas pendientes. Para clasificar los requisitos del ámbito técnico y prepararlos para los equipos, los proxy PO de Novatec le darán soporte.

El desarrollo será totalmente ágil. Para acelerar la implantación de funciones, el proceso se mejorará de forma iterativa. Un ejemplo de esto es el cambio a NoEstimates y la subdivisión de tareas demasiado grandes en varias pequeñas por medio de Story Slicing. Como los requisitos están divididos parcialmente en varios dominios, se llevará a cabo un mayor intercambio en el equipo de desarrollo.

Funcionamiento y monitorización

Aparte del desarrollo técnico, los equipos de desarrollo se encargarán también por completo de la puesta a punto y en funcionamiento de los microservicios. Un equipo técnico de la nube los ayudará a evaluar temas relacionados con la infraestructura, como las nuevas versiones de bancos de datos o Kubernetes.

Antes de lanzar las nuevas funciones en la producción, se testará automáticamente el software en el pipeline CI/CD. Si se detectara algún error, se comunicará inmediatamente al equipo de desarrollo por el Instant Messenger Slack. Si no se detectaran errores en las pruebas, la nueva versión se presentará automáticamente en la producción mundial.

Para garantizar la puesta en funcionamiento del software se monitorizará permanentemente el estado de los microservicios. Para ello se utilizarán las métricas propias de Azure para las bases de datos de los servicios de Azure, Event Hubs y el clúster de Kubernetes, además de Datadog para el seguimiento de los microservicios. Los equipos de desarrollo usarán paneles de control para evaluar permanentemente el estado de los microservicios. Para no pasar por alto posibles errores, se han configurado alertas, que se activarán automáticamente en caso de anomalías graves en el sistema e informarán al equipo de desarrollo por medio de Slack, Mattermost o correo electrónico.

24/7 Soporte

Como los clientes finales de la plataforma en la nube Connected Car integrada en la red están distribuidos por el mundo y la plataforma en la nube tiene que estar disponible permanentemente, Novatec ofrece soporte las 24 horas del día los 365 días del año. Presta este servicio de atención para los fallos fuera del horario de oficina, los fines de semana y los días festivos, es decir, ¡siempre! El servicio de atención lo activará una alerta del sistema de monitorización o el equipo de soporte del cliente.

Si se activara una alarma, los desarrolladores correspondientes podrán analizar la situación en un plazo de pocos minutos desde el ordenador para saber qué medidas tomar y estabilizar el sistema. Tras cada incidencia, el equipo se reunirá para decidir las medidas que tomar para que el error no vuelva a darse en el futuro. Por ejemplo, se establecerán métricas adicionales con una alerta nueva para recibir información acerca de la anomalía antes.

La tecnología correcta en el sitio correcto

A los desarrolladores se les ha dejado la decisión de seleccionar el framework adecuado o la base de datos correspondiente para un Use Case que implementar. Como los distintos microservicios están sometidos a distintas cargas, se podrá elegir la tecnología correcta para la finalidad correspondiente. Por ejemplo, se ha implantado un microservicio, que sostiene una carga muy grande y parcialmente se somete a picos de carga aún mayores, con el framework ligero de microservicios Micronaut.

Como este microservicio guarda temporalmente en caché las respuestas de otro sistema y dicho sistema tiene que consultarlas primero, se llevó a cabo el desarrollo con el framework asíncrono sin bloqueo Kotlin Coroutines.

Resultado

La plataforma está en funcionamiento continuo desde hace varios años. Se amplia permanentemente atendiendo a los requisitos del cliente. Como la plataforma tiene que estar disponible de forma ininterrumpida para cada vez más y más clientes finales, se presta especial atención a los requisitos técnicos y a la calidad de estos.

Mejoramos constantemente la estabilidad de la plataforma en la nube para que los clientes finales consulten el estado del vehículo de sus Connected Cars y puedan disponer de los servicios que prestamos.

Su persona de contacto

Fabiola Saucedo Carmona

Director Digital Product Development

Alberto Gallego Contreras

Director Digital Product Development
Table of contents
Su persona de contacto Fabiola Saucedo Carmona Director Digital Product Development