¿Qué es son la Integración y el Despliegue Continuo?
A medida que el software lleva a los vehículos a nuevos niveles de seguridad, confort y comodidad, los desarrolladores necesitan ahora entornos de desarrollo de software mucho más modernos y capaces que los sistemas heredados. Necesitan entornos que permitan la actualización frecuente del software y el despliegue de esas actualizaciones en los vehículos sobre el terreno. Este enfoque se llama integración continua (CI) y despliegue continuo (CD), o CI/CD.
En el pasado, el desarrollo de software seguía el rígido y lento método de "cascada" y utilizaba cadenas de herramientas muy fragmentadas. El desarrollo pasaba por fases discretas, y cada fase se completaba antes de comenzar la siguiente. Muchos de los procesos de desarrollo eran manuales, al igual que los traspasos de una parte de la cadena de herramientas a la siguiente. Con este enfoque, una nueva versión del software tardaba entre seis y ocho meses en aparecer.
Hoy en día, el software se está abstrayendo cada vez más del hardware en el mundo automotriz, y los desarrolladores tienen la oportunidad de aprovechar ese cambio arquitectónico. Pueden utilizar los modernos métodos ágiles y de DevOps para actualizar el software según su propio calendario, de forma mucho más rápida y libre de vínculos con los cambios de hardware u otras actualizaciones físicas. Este enfoque proporciona niveles sin precedentes de velocidad, escalabilidad, calidad y seguridad.
En la IC, el trabajo de creación de software se automatiza, y todos los pasos de la producción de software se incluyen en una "cadena de IC", ya que la salida de una parte se convierte en la entrada de la siguiente. La CD es el despliegue automatizado de nuevas versiones de software sobre el terreno. El CI/CD -así como las pruebas continuas (CT)- ya son posibles en el sector automotriz, pero las pruebas de aplicaciones nuevas y avanzadas presentan un problema único en la industria automovilística, porque las pruebas deben realizarse en un vehículo físico o en una simulación compleja en un banco de pruebas. Por ejemplo, imaginemos la complejidad de probar un software que analiza la información procedente de varios radares y cámaras para ejecutar de forma autónoma una maniobra como adelantar a un coche más lento en la autopista o recorrer un entorno urbano complejo con vehículos, peatones y otros obstáculos.
El enfoque ideal elimina los cuellos de botella en los procesos de desarrollo y pruebas mediante una plataforma centralizada basada en la nube que permite a los desarrolladores ejecutar cualquier prueba en bancos de pruebas relacionados situados en cualquier centro de pruebas del mundo. Las pruebas pueden poner el software en el bucle (SIL), el hardware en el bucle (HIL) o incluso el vehículo en el bucle (VIL) para realizar pruebas cada vez más realistas. Este enfoque permite la escala necesaria para afrontar los retos más difíciles de hoy en día, utilizando recursos globales.
El uso de la IC basada en la nube significa que el nuevo código creado por los equipos de desarrollo se integra automáticamente en la base de código más amplia, y la CD basada en la nube -utilizando actualizaciones over-the-air (OTA)- garantiza que el código construido con éxito se despliega automáticamente en los entornos de prueba o producción dondequiera que estén. Si se hace bien, el enfoque de la nube también puede incorporar la seguridad, incluida la recuperación de desastres, en todo el proceso. Y la infraestructura centralizada alojada en la nube puede permitir una única visión de gestión de todas esas cadenas de IC altamente seguras y resistentes.
Para obtener más información sobre el enfoque innovador de Aptiv para el desarrollo de software de automoción, lea nuestro documento técnico.