Editar

Compartir a través de


Cadena de herramientas DevOps para vehículos definidos por software

Azure Event Grid
Azure Kubernetes Service (AKS)
Azure Virtual Machines
Azure Container Registry
Azure ExpressRoute

En toda la industria automotriz, la transición a vehículos definidos por software (DMV) requiere un enfoque único para desarrollar, implementar, supervisar y administrar pilas de software automotriz. Los fabricantes de equipos originales de automoción (OEM) adoptan una estrategia de desplazamiento a la izquierda, que implica realizar pruebas al principio del ciclo de desarrollo del producto.

En el enfoque de este artículo, la pila de software en vehículo se somete a una simulación y pruebas completas en un entorno basado en la nube. En la arquitectura de ejemplo siguiente se describe cómo aprovechar las pilas de software y las distribuciones que ofrece el grupo de trabajo SDV de Eclipse. Puede usar estos componentes con los servicios de GitHub y Azure para desarrollar una pila de software automotriz de un extremo a otro, implementar software en las pruebas de bucle (SIL), orquestar hardware en las pruebas de bucle (HIL), e ingeniería de la validación de la flota de vehículos.

En este artículo se describe cómo:

  • Integre herramientas de desarrollo de última generación en el proceso de desarrollo.
  • Trabaje con y administre el código fuente de la automoción.
  • Cree entornos de vehículos virtuales automáticamente como parte de canalizaciones de integración continua y entrega continua (CI/CD) y administre su ejecución para pruebas virtuales.
  • Orquesta las implementaciones para pruebas SIL (pruebas virtuales) y pruebas HIL.
  • Use servicios altamente escalables para recopilar y analizar datos que se producen durante las pruebas de validación y el uso de campos.

Architecture

En este diagrama se muestra la arquitectura de la cadena de herramientas de SDV para automóviles.

Diagram that shows the automotive SDV toolchain overview.Descargue un archivo de PowerPoint de esta arquitectura.

Flujo de trabajo

La arquitectura consta de seis bloques de creación clave:

  1. La cadena de herramientas de SDV es un enfoque plug-and-play abierto y configurable. Este enfoque aprovecha los recursos y servicios de DevOps y desarrolladores de Microsoft. Reduce la dependencia del silicio en vehículo mediante el establecimiento de entornos configurables y flexibles de unidad de control electrónico virtual (vECU) y entornos virtuales de equipos de alto rendimiento (vHPC) en Azure. Estos entornos ayudan a acelerar el desarrollo, las pruebas y la validación del software automotriz. Este enfoque garantiza la compatibilidad con el silicio perimetral y en el vehículo para garantizar la paridad de bits, tiempo y código.

  2. Una pila de software automotriz abarca una amplia gama de tecnologías y marcos. Estándares del sector y esfuerzos colaborativos, como el Grupo de trabajo de vehículos definido por software de Eclipse Foundation, a menudo rigen estas tecnologías y marcos. Los proyectos de Eclipse incluyen componentes no diferenciadores para protocolos de conectividad, mensajería y comunicación de vehículos, como una capa de abstracción de gemelos digitales en vehículo, sistemas avanzados de asistencia para conductores (ADAS) y soluciones de conducción autónoma.

    Las pilas de software automotriz proporcionan una base sólida para los fabricantes de automóviles y los desarrolladores de software. Garantizan una integración y compatibilidad perfectas en todo el ecosistema automotriz y proporcionan un enfoque basado en la comunidad para los avances tecnológicos.

  3. GitHub Marketplace y Azure Marketplace permiten a los asociados, como proveedores de nivel 1 y proveedores de herramientas de software automotriz ofrecer soluciones, como pilas de software automotriz administradas, vECUs y herramientas para desarrolladores. Puede integrar estas soluciones con la cadena de herramientas SDV.

  4. Con lasPruebas de HIL, puede ejecutar pruebas y validación en hardware de destino. Para la validación con silicio perimetral y en vehículo, las pruebas HIL usan el mismo concepto de orquestación que las pruebas SIL. El hardware especializado está conectado con acceso rápido a la red y redes seguras.

  5. La mensajería, los datos y el análisis de vehículos proporcionan la infraestructura necesaria para:

    • Administración de vehículos y dispositivos.
    • Implementación y funcionamiento de aplicaciones de vehículos conectados con dependencias a componentes de software en vehículos.
    • Proporcionar análisis de datos para servicios basados en ingeniería, operaciones y movilidad.

    Para obtener información sobre la recopilación y el análisis de datos para la validación de componentes y sistemas, consulte Análisis de datos para flotas de pruebas automotrices.

  6. Las operaciones de vehículos autónomos (AVOps) permiten a los OEM de automoción desarrollar soluciones de conducción automatizadas en Azure. La solución AVOps describe:

    • Cómo administrar operaciones de datos (DataOps) para vehículos autónomos.
    • Extracción automatizada de características, etiquetado y entrenamiento de modelos para la percepción y fusión de sensores (MLOps).
    • Pruebas de modelos desarrollados en entornos simulados (ValOps).

    Esta solución se integra con la cadena de herramientas SDV proporcionando modelos entrenados y ejecutando la validación de software.

Esta arquitectura se centra en una cadena de herramientas de SDV general y una pila de software automotriz. Proporciona ejemplos de implementaciones que usan proyectos de código abierto en el ámbito del grupo de trabajo SDV de Eclipse, como Eclipse uProtocol, Eclipse Chariott, Eclipse Ibeji, Eclipse Freyja, y Eclipse Agemo.

Microsoft es miembro del Grupo de trabajo de vehículos definido por software de Eclipse, un foro para la colaboración de código abierto para plataformas de software de vehículos.

La cadena de herramientas SDV automotriz consta de los siguientes componentes.

  • Las herramientas de desarrollo incluyen servicios de desarrollo y colaboración, como GitHub, Microsoft Dev Box, Visual Studio Code y Azure Container Registry. Esta arquitectura también usa las funcionalidades de análisis de código de GitHub. El motor de análisis de CodeQL encuentra errores de seguridad en el código fuente y las alertas de superficie en las solicitudes de incorporación de cambios antes de que el código vulnerable se combine y libere.

  • Desarrollo, validación e integración es un método que combina metadatos y servicios de orquestación. Permite a los desarrolladores configurar, compilar, implementar y organizar entornos de ejecución virtual a petición. Los desarrolladores pueden simplificar el proceso de desarrollo y pruebas, integrarse con cadenas de herramientas existentes y admitir varios formatos de aplicación, archivos binarios, sistemas operativos y entornos en tiempo de ejecución.

  • El entorno de ejecución consta de servicios y componentes de Azure que permiten entornos perimetrales y de nube confiables, repetibles y observables para compilar, probar y validar pilas de software automotriz. Estos componentes pueden incluir:

    • Azure Deployment Environments.
    • Azure Compute Gallery.
    • Container Registry.
    • Azure Arc.
    • Proceso de Azure, como máquinas virtuales (VM) de Azure basadas en ARM64 y informática de alto rendimiento.
    • Servicios de red de Azure y servicios de conectividad, como Azure ExpressRoute.

Los flujos de trabajo siguientes muestran cómo un desarrollador define, organiza y ejecuta pruebas virtuales para software automotriz.

Flujo de trabajo: Implementación de vECUs

En esta solución se describe cómo un desarrollador de software automotriz para la empresa ficticia Contoso Automotive usa la cadena de herramientas SDV de automóviles para:

  • Configure un entorno de desarrollo en minutos.
  • Desencadene un cambio de actualización en la infraestructura en la nube de SIL para implementar una vECU que se ejecute en una máquina virtual basada en ARM64.

Contoso Automotive está agregando una nueva unidad de proceso de alto rendimiento de automoción (HPC) a un próximo modelo de vehículo y debe incorporar un nuevo equipo de desarrollo para desarrollar aplicaciones contenedorizadas. El hardware del vehículo aún no está disponible, pero las escalas de tiempo comprimidas significan que la funcionalidad del software debe desarrollarse y validarse en paralelo.

Diagram that shows the components and workflow of the automotive SDV toolchain.Descargue un archivo de PowerPoint de esta arquitectura.

  1. El desarrollador de automóviles crea y se conecta a un cuadro de desarrollo de Microsoft. El cuadro de desarrollo está preconfigurado con todas las herramientas de desarrollo necesarias (como Visual Studio Code y Android Studio) y todas las extensiones necesarias (como GitHub Copilot) para que sean compatibles con las aplicaciones de Contoso Automotive.

  2. El desarrollador de la automoción realiza una comprobación del código de la aplicación automotriz y los metadatos que describen la próxima configuración del vehículo, los HPC y las ECU incluidos, y la implementación necesaria para realizar la validación de SIL.

  3. El desarrollador de automóviles usa extensiones de metadatos para ajustar las configuraciones, como cambiar las características del HPC en función de la nueva información del equipo de ingeniería.

  4. El cambio de la configuración desencadena la extensión de procesamiento de metadatos. Realice la validación de metadatos, genere todos los artefactos necesarios y configure una campaña de implementación del entorno de ejecución.

  5. Una vez completados todos los cambios de configuración, el desarrollador envía una solicitud de incorporación de cambios que desencadena una Acción de GitHub para la implementación.

  6. La acción de GitHub de implementación desencadena los servicios de metadatos y orquestación, que ejecutan la campaña de implementación.

  7. Los servicios de metadatos y orquestación usan el Entorno de desarrollo de Azure para implementar el proceso necesario para simular la nueva versión de la arquitectura electrónica automotriz.

  8. Los servicios de orquestación y metadatos establecen el estado deseado del proceso en función de la campaña. Los servicios usan el almacén de artefactos para montar y configurar las imágenes de vHPC y ECU necesarias.

Flujo de trabajo: actualizaciones de software a través del aire (SOTA) para aplicaciones automotrices

Contoso Automotive quiere implementar aplicaciones automotrices en contenedores en su flota de pruebas de ingeniería para realizar pruebas de integración. El desarrollador de automóviles compila, prueba y valida la nueva versión de la aplicación y la implementa en el vehículo.

Diagram that shows a software update architecture.Descargue un archivo de PowerPoint de esta arquitectura.

  1. El desarrollador de automóviles crea una versión. La versión contiene una definición del estado deseado para el contenedor de pila de software y una definición de la compilación.

  2. Los servicios de cadena de herramientas y orquestación desencadenan el proceso de versión. Los servicios implementan la infraestructura necesaria para compilar, validar y liberar contenedores de software.

  3. Durante la ejecución, las aplicaciones se compilan, validan y liberan con herramientas basadas en contenedores. En función de los requisitos de las herramientas, se pueden implementar en Azure Kubernetes Service (AKS) para aplicaciones en contenedor o se pueden implementar en máquinas virtuales dedicadas.

    Una vez completada la compilación, los resultados se insertan en Container Registry para contenedores liberados y los cambios se registran en el servidor OTA.

  4. El Cliente de OTA tiene un Agente de OTA dedicado para aplicaciones basadas en contenedores. El agente de búsqueda de estado deseado se conecta a los servicios de orquestación y cadena de herramientas para recuperar la definición de estado deseada.

  5. El motor de orquestación de contenedores descarga y activa los contenedores deseados desde Container Registry.

Flujo de trabajo: pila de software automotriz

En esta solución, una pila de software automotriz genérica sincroniza su estado con la nube de Azure.

La pila tiene los siguientes componentes:

  • Un registro de servicio permite registrar y detectar servicios dentro del vehículo.

  • La administración dinámica de temas permite a los servicios suscribirse y publicar mensajes en temas con nombre, abstrayendo el protocolo de comunicación.

  • El servicio gemelo digital en vehículo mantiene el estado del vehículo, incluidas las señales de las ECU y las unidades de proceso, como AD/ADAS e infoentretenimiento.

  • La sincronización de la nube de gemelos digitales sincroniza el estado local del vehículo con el estado en la nube para proporcionar productos y servicios digitales que no requieren una conexión directa al automóvil.

Diagram that shows the software stack architecture.Descargue un archivo de PowerPoint de esta arquitectura.

  1. Todos los componentes registran sus funcionalidades a través del registro de servicios.

  2. El proceso del vehículo registra las descripciones de estado en el proveedor de gemelos digitales del servicio gemelo digital en vehículo. Después del registro, las unidades de proceso pueden publicar actualizaciones en su estado.

    1. El proceso del vehículo registra interacciones y objetos de estado complejos.
    2. Las ECU del vehículo registran qué señales están disponibles para las aplicaciones automotrices y qué comandos se pueden aceptar.
  3. El gemelo digital en vehículo publica cambios de estado y actualizaciones en la administración dinámica de temas. Estas actualizaciones se organizan en temas.

  4. Las aplicaciones automotrices pueden suscribirse a mensajes de cualquier origen administrado por la administración dinámica de temas. Estas aplicaciones se suscriben a temas relevantes y reaccionan a los cambios de estado. También pueden publicar sus propios mensajes.

  5. El servicio gemelo digital en vehículo también publica temas seleccionados en el servicio de sincronización de la nube de gemelos digitales.

  6. La sincronización de la nube de gemelos digitales puede usar un cartografo para asignar los nombres de tema (a través de un servicio de asignación de gemelos digitales) a los nombres equivalentes en la nube. Esta armonización reduce la dependencia entre el software en la nube y el vehículo y entre los modelos de vehículo.

  7. El conector en la nube publica actualizaciones en la nube y se suscribe para recibir cambios de estado publicados por otros servicios y aplicaciones.

  8. Azure Event Grid enruta los mensajes a los servicios y aplicaciones pertinentes. El estado del vehículo se almacena a través de servicios. Por ejemplo, Azure Cache for Redis podría almacenar el último valor conocido para el acceso y la recuperación rápidos, y Azure Data Explorer podría proporcionar análisis y historial de estado del vehículo a corto plazo.

Componentes

En esta arquitectura se usan los siguientes componentes de GitHub y Azure.

Herramientas de desarrollo

  • Container Registry es un servicio que puede usar para compilar, almacenar y administrar imágenes y artefactos de contenedor en un registro privado para todos los tipos de implementaciones de contenedor. El software automotriz ha adoptado aplicaciones y cargas de trabajo automotrices basadas en contenedores. La cadena de herramientas de SDV usa registros de contenedor de Azure para el desarrollo de contenedores, los procesos de implementación y las canalizaciones.

  • Dev Box proporciona a los desarrolladores acceso de autoservicio a estaciones de trabajo listas para codificar y basadas en la nube conocidas como cuadros de desarrollo que se pueden personalizar con herramientas específicas del proyecto, código fuente y archivos binarios creados previamente para la integración inmediata del flujo de trabajo.

  • GitHub es una plataforma de desarrollo que puede usar para hospedar y revisar código, administrar proyectos, colaborar y compilar software junto con desarrolladores que están dentro o fuera de su organización.

  • Visual Studio Code es un editor de código origen de la luz que está disponible para Windows, macOS y Linux. Tiene un amplio ecosistema de extensiones para varios lenguajes y entornos de ejecución.

Entorno de ejecución

  • Azure Deployment Environments proporcionan una colección preconfigurada de recursos de Azure. Permite a los equipos de desarrollo crear infraestructura de forma rápida y sencilla mediante plantillas basadas en proyectos. Las plantillas establecen coherencia y procedimientos recomendados a la vez que maximizan la seguridad.

  • Azure Compute es un conjunto completo de servicios en la nube que permiten a los desarrolladores ejecutar sus pilas de software automotriz, aplicaciones y cargas de trabajo en máquinas virtuales y contenedores. Hay muchas variedades de proceso, incluidas las optimizadas para memoria, optimizadas para CPU, alto rendimiento y proceso de uso general.

  • La Galería de procesos es un servicio que admite el control de versiones y los recursos de agrupación para facilitar la administración. Puede compartir imágenes con la comunidad, entre suscripciones y entre inquilinos de Microsoft Entra ID. También puede escalar implementaciones con réplicas de recursos en cada región de Azure. Compute Gallery proporciona estructura y organización para artefactos de pila de software automotriz.

  • Azure Arc simplifica la gobernanza y la administración y ofrece una nube coherente a la plataforma de administración de HIL. Los OEM de automoción pueden usar Azure Arc para controlar y administrar entornos HIL cada vez más complejos en centros de datos locales y en la nube.

  • Azure Blob Storage es un servicio que proporciona almacenamiento de objetos escalable de forma masiva para cualquier tipo de datos no estructurados, como imágenes, vídeos, audio y documentos, que las pilas de software automotriz producen y consumen.

  • Los servicios de red de Azure son servicios globales, seguros y confiables. Las pilas de software de automoción y las herramientas de desarrollo requieren canalizaciones de procesamiento de datos para que puedan acceder a las granjas HIL para desarrollar y probar soluciones autónomas y asistidas. Obtenga información sobre los servicios de red en Azure y sus capacidades, a saber, servicios de conectividad, servicios de protección de aplicaciones, servicios de entrega de aplicaciones y supervisión de red.

Alternativas

Los servicios de Azure que elija para la implementación de la arquitectura dependen de muchos factores.

En el ejemplo de la Sección Implementar este escenario se usa AKS. Kubernetes sin servidor se usa para ejecutar microservicios, proporcionar seguridad y gobernanza de nivel empresarial y proporcionar una experiencia integrada de CI/CD. Como método sencillo y rápido alternativo, puede ejecutar microservicios en Azure Container Instances. En esta alternativa, no tiene que adoptar un servicio de nivel superior, como AKS.

En el ejemplo de la sección Implementación de este escenario se sugiere el uso de Azure Event Hubs o Azure Service Bus para implementar un servicio uBus. Para más información, consulte Elección entre los servicios de mensajería de Azure. Los servicios de mensajería suelen ser complementarios y se puede usar más de uno.

Las aplicaciones y los servicios de esta arquitectura se implementan a través de plantillas de Azure Resource Manager o Bicep. Como alternativa, puede usar scripts de Terraform para aprovisionar y administrar la infraestructura en la nube.

Para obtener alternativas a la capa de datos, análisis mensajería de vehículos de la arquitectura, consulteAlternativas.

Detalles del escenario

Los SDV autónomos y conectados abren un mundo lleno de nuevas funcionalidades, facilidad de servicio y fiabilidad. Cuando el hardware y el software están desacoplados, los OEM pueden desarrollar aplicaciones independientes para abordar funciones y servicios específicos. Este método facilita la actualización y adición de software a la plataforma general del vehículo.

A los fabricantes de automóviles y a sus proveedores se les anima a ajustar sus operaciones automotrices para permitir ciclos ágiles de desarrollo de software, que son flexibles y adaptables para ciclos de desarrollo cortos y versiones frecuentes. Estos ciclos ayudan a garantizar la colaboración y la mejora continua.

Sin una estrategia de cadena de herramientas estandarizada, abierta y configurable, los OEM podrían tener un panorama de herramientas dispersas. Para una estrategia de desarrollo de software verdaderamente ágil, las empresas deben tener una cadena de herramientas unificada basada en una plataforma moderna basada en la nube nativa de Azure. La plataforma debe permitir que los desarrolladores colaboren y reutilicen software. Debe proporcionar a los desarrolladores de terceros la oportunidad de crear aplicaciones. La plataforma es especialmente útil para los desarrolladores que tienen una experiencia de software sólida, pero no una experiencia de hardware automotriz anterior.

Esta arquitectura de ejemplo de automoción satisface las demandas de la industria automotriz que evoluciona rápidamente. Aplica el principio de desplazamiento a la izquierda, que enfatiza la integración temprana de los componentes de software y hardware. Permite pruebas continuas y validación a partir de las primeras fases de desarrollo. La virtualización desempeña un papel fundamental, lo que permite crear prototipos virtuales y entornos de prueba para acelerar la innovación y reducir los requisitos de prototipo físico.

El núcleo de esta arquitectura es su sólida automatización de canalizaciones de CI/CD, lo que garantiza una integración, pruebas e implementación sin problemas de actualizaciones de software a lo largo del ciclo de vida del vehículo. Esta agilidad permite actualizaciones de software rápidas, que abordan rápidamente las vulnerabilidades de seguridad, mejoran el rendimiento y ofrecen nuevas características. Ayuda a proporcionar a los consumidores una experiencia de conducción segura y enriquecida con características.

En el diagrama siguiente se muestra una visión general de la arquitectura de cadenas de herramientas SDV de automóviles.

Diagram that shows SDV scenarios.Descargue un archivo de PowerPoint de esta arquitectura.

Posibles casos de uso

  • Incorporación de desarrolladores: implemente un entorno de desarrollo automotriz totalmente configurado para acelerar la incorporación de desarrolladores de software automotriz.

  • Desarrollo eficaz: simule el comportamiento de varias combinaciones de hardware y software. Reduzca la dependencia al silicio perimetral o en el vehículo al principio del proceso de desarrollo.

  • Validación de SIL: ejecute canalizaciones de compilación, prueba y validación automatizadas para validar el comportamiento de la aplicación de software. Use recursos de proceso en la nube para un ciclo de desarrollo más rápido.

  • Validación de HIL: simplificación de la implementación y supervisión de granjas de HIL.

  • Validación de flota de prueba: recopile métricas de software, registros y seguimientos de las aplicaciones de software, así como datos de telemetría de vehículos y señales. Use esos datos para crear una vista completa del comportamiento del vehículo para la validación, el análisis de la causa principal y la aprobación.

  • Versiones de software: cree versiones de software rastreables que se pueden actualizar y administrar para la flota de vehículos a través de prácticas de DevOps.

  • Mejora continua: use la información recopilada del campo para impulsar mejoras en las aplicaciones de software.

Recomendaciones

Las siguientes recomendaciones ayudan a garantizar la administración eficaz del entorno de Azure. Sígalas a menos que tenga un requisito que las invalide.

  • Siga los procedimientos recomendados al implementar y configurar servicios de Azure para ayudar a garantizar un entorno seguro, eficaz y rentable.

  • Defina los recursos de Azure según los requisitos de implementación. Estos recursos pueden incluir máquinas virtuales, clústeres de Kubernetes, servicios de mensajería y servicios de análisis y datos.

  • Implemente plantillas de Resource Manager para la infraestructura como código (IaC) para que pueda automatizar la implementación y mantener la coherencia.

  • Implemente el control de acceso basado en rol (RBAC) para conceder permisos a los usuarios y servicios de forma con privilegios mínimos.

  • Use Azure Security Center para supervisar y mitigar las amenazas de seguridad de forma proactiva.

  • Considere la posibilidad de usar equilibradores de carga de Azure y conjuntos de disponibilidad o zonas de disponibilidad para mejorar la escalabilidad y la redundancia.

  • Supervise periódicamente el rendimiento y el uso de los recursos de Azure para que pueda optimizar los costos y mejorar el rendimiento. Use herramientas como Azure Monitor y Microsoft Cost Management.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Puede ejecutar una infraestructura de aplicaciones de un extremo a otro orientada al servicio y admite la implementación de una plataforma de protocolo de comunicación distribuida en Azure con CI/CD moderno. Si usa esta solución, necesita una arquitectura confiable y de alta disponibilidad. Para obtener instrucciones de arquitectura y procedimientos recomendados para administrar y ejecutar servicios en AKS, consulte Introducción a AKS.

Las pruebas HIL son una parte indispensable y crítica del proceso de desarrollo de software para automóviles y la estrategia de pruebas. Al diseñar e implementar la arquitectura de red para granjas de servidores HIL, considere la posibilidad de Diseñar para alta disponibilidad con ExpressRoute. Use esta estrategia para reducir puntos únicos de error y maximizar la disponibilidad de entornos remotos para los equipos de desarrollo y prueba.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

La seguridad es uno de los aspectos más importantes de una arquitectura. Para garantizar la seguridad de sistemas complejos, debe comprender las condiciones empresariales, sociales y técnicas. Considere la posibilidad de implementar las funcionalidades de análisis de código de GitHub, por lo que puede encontrar y corregir problemas de seguridad y defectos críticos al principio del proceso de desarrollo. GitHub admite los estándares de codificación AUTOSAR C++ y CERT C++, lo que permite el desarrollo de aplicaciones de seguridad funcional.

Considere la posibilidad de Proteger la cadena de suministro de un extremo a otro en GitHub.

Considere la posibilidad de adoptar Azure Key Vault para mantener la seguridad de un extremo a otro al controlar elementos confidenciales y críticos para la empresa, como claves de cifrado, certificados, cadenas de conexión y contraseñas. Los módulos de seguridad de hardware administrados por Key Vault ofrecen una solución sólida que fortalece todo el proceso de desarrollo de software y cadena de suministro. Con los HSM administrados por Key Vault, puede usar aplicaciones automotrices para ayudar a almacenar y administrar de forma segura los recursos confidenciales y asegurarse de que permanecen protegidos frente a posibles amenazas de seguridad cibernética. Puede mejorar aún más la seguridad mediante la regulación del acceso y los permisos a los recursos críticos con RBAC.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

  • Al crear vECUs, asegúrese de que el Tamaño de la máquina virtual coincida con los requisitos. Si modifica la configuración para usar un tamaño mayor de lo necesario, aumenta el costo, especialmente si varias máquinas funcionan en paralelo para realizar tareas de larga duración.

  • Para las tareas de compilación, validación y pruebas que no son críticas para el tiempo, considere la posibilidad de usar Azure Spot Virtual Machines. Puede aprovechar la capacidad sin usar y ahorrar costos considerables.

  • Si tiene un compromiso de consumo de Azure, considere la posibilidad de usar ofertas de asociados aptas de Azure Marketplace al implementar herramientas de desarrollo y vECUs en el entorno de ejecución.

  • Para obtener sugerencias sobre cómo ejecutar cargas de trabajo de desarrollo de vehículos autónomos, consulte Creación de una solución de AVOps.

  • Copilot proporciona sugerencias de código en tiempo real y autocompletaciones, lo que acelera el proceso de desarrollo de software. Los ingenieros de software automotriz pueden usar Copilot para escribir código de forma rápida y eficaz, lo que reduce el tiempo de comercialización de las nuevas características y actualizaciones del vehículo.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

La cadena de herramientas de SDV automotriz adopta estrategias clave de ingeniería de software, como:

  • Aprovisionamiento del entorno de IaC.
  • Canalizaciones de CI/CD para compilar y liberar pilas de software automotriz.
  • Pruebas automatizadas para realizar la transición a un enfoque de desplazamiento a la izquierda.
  • Configuración como código para evitar el desfase de configuración entre entornos.

Considere la posibilidad de adoptar estas estrategias clave en todas las cargas de trabajo para la coherencia, la repetición y la detección temprana de problemas.

Considere una infraestructura habilitada por Azure Arc para simplificar la gobernanza y la administración en entornos locales y en la nube de Azure, pruebas de HIL y granjas de servidores de validación.

La asistencia con tecnología de inteligencia artificial de Copilot puede mejorar la calidad general del código al reducir la probabilidad de errores humanos y estandarizar las prácticas de codificación. El código de alta calidad es fundamental en la industria automotriz, donde la seguridad y la confiabilidad del software son primordiales.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para más información, consulte Información general sobre el pilar de eficiencia del rendimiento.

Determine las tareas de las canalizaciones de compilación y prueba que puede paralelizar para mejorar la eficiencia del rendimiento.

Considere la posibilidad de implementar patrones de eficiencia del rendimiento para aplicaciones y cargas de trabajo que se basan en el ejemplo del protocolo de comunicación distribuida en la sección siguiente.

Implementación de este escenario

El inquilino principal para el SDV de Eclipse es un enfoque de código fuente primero, que proporciona flexibilidad para la implementación. En los ejemplos siguientes se usan proyectos de Eclipse existentes y se describe su integración con los servicios de Azure.

Ejemplo: Protocolo de comunicación distribuida en Azure

Eclipse uProtocol es uno de los muchos protocolos de comunicación distribuidos que se usan en las industrias automotrices. Es un protocolo de comunicación independiente del transporte y en capas que se basa en los estándares existentes de automoción e Internet. Proporciona un lenguaje omnipresente para la detección, la suscripción y la mensajería, que permite que las aplicaciones y los servicios que se ejecutan en un sistema heterogéneo se comuniquen entre sí.

En la información general siguiente se describen los servicios necesarios para implementar un protocolo de comunicación distribuida. En este ejemplo se usan servicios uProtocol y Azure.

Información general

Diagram that shows the distributed communication protocol, uProtocol, on Azure.Descargue un archivo de PowerPoint de esta arquitectura.

  • Los mensajes se envían desde el conector en la nube del vehículo a Event Grid. Los mensajes se transfieren a través de la definición de uProtocol a través de MQTT.

  • La puerta de enlace en la nube es el servicio en la nube con el que los dispositivos se conectan para comunicarse con el dominio o el dispositivo de back-office.

  • uStreamer es un distribuidor de eventos que permiteque las UE de los dispositivos se comuniquen sin problemas con varios protocolos de capa de transporte. Realiza funcionalidades, como la transferencia de archivos y el almacenamiento en búfer de eventos. Por ejemplo, cuando los eventos se mueven de un transporte a otro, fluyen a través de uStreamer. El uStreamer es similar a un enrutador IP.

  • El uBus es un bus de mensajes que envía los CE entre las uE a través de un transporte común. Proporciona funciones de multidifusión y reenvío. Funciona como un conmutador de red.

  • El uCDS proporciona un medio para que los UE se detecten entre sí, incluida su ubicación (dirección) y propiedades.

  • La uSubscription es un servicio de administración de suscripciones que administra los patrones de diseño de publicador y suscriptor para los UE.

  • uTwin es una caché local de eventos publicados. UTwin almacena el mensaje publicado a través de una clave principal. Los componentes de software local pueden recuperar la clave. Esta clave principal es el nombre completo del tema, incluido el nombre de dispositivo. La clave principal representa un tema, por lo que solo se almacena el último evento de un tema determinado en uTwin. La colección de eventos almacenados en una instancia de uTwin de un dispositivo, cuyas claves incluyen un nombre de dispositivo específico, representan el gemelo digital de ese dispositivo. Algunos ejemplos de eventos de vehículos incluyen actualizaciones para la presión de los neumáticos, la posición de la ventana, la posición del engranaje y el modo de vehículo (conducción o estacionado). Los eventos pueden ser cualquier información que se publique en el vehículo y se utilice para manejarlo o activar sus funciones.

  • Las UE son aplicaciones y servicios que proporcionan funcionalidad a los usuarios finales. Estas aplicaciones usan los UE principales para la detección, la suscripción y el acceso al gemelo digital.

En la tabla siguiente se muestran los servicios sugeridos que son relevantes para una implementación de uProtocol en Azure.

Componente uProtocol Funcionalidad Servicio de Azure
Puerta de enlace en la nube Agente de MQTT Event Grid
uStreamer Transferencia de archivos, almacenamiento en búfer de eventos, enrutamiento D2D, traducción de protocolos Event Hubs, Storage, Functions, AKS
uDiscovery Detección de servicios Microservicios en AKS
uBus Reenvío de multidifusión Event Hubs, Service Bus, Event Grid
uSubscription Administración de pub/sub tema Microservicios en AKS
uTwin Último estado conocido Azure Digital Twins, Azure Cache for Redis

Para obtener más información sobre los componentes, sdk y documentación de uProtocol, consulte el repositoriode GitHub de uProtocol.

Aprovisionamiento de dispositivos para uProtocol

Diagram that shows the uProtocol provisioning flow.Descargue un archivo de PowerPoint de esta arquitectura.

  1. El sistema de fábrica encarga el dispositivo del vehículo al estado de construcción deseado. La puesta en marcha incluye la instalación y configuración iniciales de firmware y software. Como parte de este proceso, el sistema de fábrica obtiene y escribe el certificado de dispositivo. El proveedor de infraestructura de clave pública crea el certificado.

  2. El sistema de fábrica registra el vehículo y el dispositivo a través de la API de aprovisionamiento de vehículos y dispositivos.

  3. La aplicación de registro de dispositivos registra la identificación en el sistema de aprovisionamiento y registro de dispositivos.

  4. La información sobre la autenticación y la autorización se almacena en Microsoft Entra ID.

  5. El sistema de fábrica desencadena el Cliente de aprovisionamiento de dispositivos para conectarse al servicio de aprovisionamiento de dispositivos. El dispositivo recupera la información de conexión a la característica de agente MQTT asignada en Event Grid.

  6. El sistema de fábrica desencadena el dispositivo para establecer una conexión con la característica de agente MQTT en Event Grid por primera vez. Event Grid autentica el dispositivo con el certificado raíz de autenticación de cliente y extrae la información del cliente.

  7. Event Grid administra la autorización de los temas permitidos a través de la información del dispositivo almacenada en Microsoft Entra ID.

  8. El sistema de distribuidores OEM desencadena el registro de un nuevo dispositivo si se requiere un reemplazo de pieza.

Ejemplo: Pila de software automotriz de Eclipse

En la arquitectura siguiente se describe una pila de software automotriz basada en componentes de proyecto de Eclipse. En esta arquitectura, eclipse uProtocol se puede usar como protocolo de comunicación.

Diagram that shows the architecture for the Eclipse SDV-based automotive software stack.Descargue un archivo de PowerPoint de esta arquitectura.

  • Eclipse Chariott es un servicio gRPC que proporciona una interfaz común para interactuar con las aplicaciones. Las aplicaciones pueden registrarse con el registro de servicios de Eclipse Chariott para anunciar sus funcionalidades y habilitar la detección de servicios.

  • Eclipse Ibeji ofrece la capacidad de expresar una representación digital del estado del vehículo y sus capacidades a través de una arquitectura extensible, abierta y dinámica que proporciona acceso al hardware, sensores y funcionalidades del vehículo.

  • Eclipse Freyja es una aplicación que permite la sincronización entre el estado del gemelo digital en el vehículo (el gemelo digital de instancia) y el estado del gemelo digital en la nube (el gemelo digital canónico).

  • Eclipse Agemo es un servicio gRPC que proporciona funcionalidades de publicación y suscripción para aplicaciones en el vehículo, como Eclipse Ibeji y Eclipse Chariott.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

  • Daniel Lueddecke | Arquitecto de soluciones en la nube, Automoción
  • Mario Ortegon Cabrera | Administrador de programas principal, MCIGET SDV y Movilidad
  • Filipe Prezado | Director de programas principal, MCIGET SDV y Movilidad
  • Sandeep Pujar | Director principal de PM, Azure Messaging
  • Ashita Rastogi | Director de programas principal, Azure Messaging
  • Boris Scholl | Administrador general, Arquitecto asociado de Azure Cloud e inteligencia artificial

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes