Editar

Compartir a través de


Cadena de herramientas de DevOps definida 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 (SDV) 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, lo 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 ventajas de 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.

Arquitectura

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

Diagrama en el que se muestra la introducción a la cadena de herramientas de SDV de automóviles. Descargar 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 SDV es un enfoque de plug-and-play que es abierto y configurable. Este enfoque aprovecha los recursos y servicios de DevOps y desarrolladores de Microsoft. Reduce la dependencia del silicio en el vehículo mediante el establecimiento de entornos de de control electrónico virtual (vECU) configurables y flexibles y entornos de de equipos virtuales 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. Los estándares del sector y los esfuerzos colaborativos, como el grupo de trabajo de vehículos definido por software 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. de Marketplace de GitHub 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 pruebas 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. mensajería, datos y 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 de automoción.

  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 purview del grupo de trabajo de Eclipse SDV, como Eclipse uProtocol, Eclipse Chariott, Eclipse Ibeji, Eclipse Freyjay 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.

  • 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 los servicios de orquestación y metadatos. 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 de 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:

    • Entornos de implementación de Azure.
    • 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 de SDV para la automoción 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 (HPC) a un próximo modelo de vehículo y debe incorporar un nuevo equipo de desarrollo para desarrollar aplicaciones en contenedor. 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.

Diagrama en el que se muestran los componentes y el flujo de trabajo de la cadena de herramientas de SDV de la automoción. Descargar un archivo de PowerPoint de esta arquitectura.

  1. El de desarrollador de automotriz 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 aplicación de automotriz y metadatos que describe la próxima configuración del vehículo, los HPC y LAS CPU 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. Al cambiar la configuración, se desencadena la extensión de procesamiento de metadatos . Realiza la validación de metadatos, genera todos los artefactos necesarios y configura 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 un acción de GitHub para la implementación.

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

  7. Los servicios de orquestación y metadatos de 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 los servicios de metadatos y orquestación establecer 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 e la implementa en el vehículo.

Diagrama que muestra una arquitectura de actualización de software. Descargar 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 orquestación y cadena de herramientas de 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 los contenedores liberados y los cambios se registran en el servidor OTA de .

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

  5. El motor de orquestación de contenedores de descarga y activa los contenedores deseados de 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:

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

  • El 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 de gemelos digitales en vehículo mantiene el estado del vehículo, incluidas las señales de las UNIDADES de proceso y las ECU, como AD/ADAS e información.

  • 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.

Diagrama que muestra la arquitectura de la pila de software. Descargar un archivo de PowerPoint de esta arquitectura.

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

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

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

  4. aplicaciones de Automotive puede 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. El de sincronización de la nube de gemelos digitales puede usar un para asignar los nombres de tema (a través de un servicio de asignación de gemelos digitales) a los nombres equivalentes de 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 rápido y la recuperación, 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 precompilados para la integración inmediata del flujo de trabajo.

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

  • visual Studio Code es un editor de código fuente ligero 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

  • entornos de implementación de Azure proporciona 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.
  • 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 Id. de Microsoft Entra. 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 controlar entornos HIL cada vez más complejos en centros de datos locales y basados 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. Los servicios de red de Azure proporcionan diversas funcionalidades de red, como 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 Implementación de este escenario 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 sugiere el uso de Azure Event Hubs o Azure Service Bus para implementar un servicio uBus. Para más información, consulte Elegir entre los servicios de mensajería de Azure. Los servicios de mensajería suelen ser complementarios y 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 al nivel de mensajería, datos y análisis del vehículo de la arquitectura, consulte Alternativas.

Detalles del escenario

Los SDV autónomos y conectados abren un nuevo mundo de funcionalidad, capacidad de servicio y confiabilidad. 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.

Diagrama que muestra escenarios de SDV. Descargar un archivo de PowerPoint de esta arquitectura.

Casos de uso potenciales

  • developer onboarding: 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 automatizadas de compilación, prueba y validación 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 servidores HIL.

  • Validación de flota de prueba: recopilar métricas de software, registros y seguimientos de las aplicaciones de software, así como datos de telemetría y señal del vehículo. 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 mediante 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. Siga estas recomendaciones a menos que tenga un requisito que los 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 de Azure Well-Architected Framework, que es un conjunto de principios rectores que se pueden usar para mejorar la calidad de una carga de trabajo. Para obtener más información, consulte Microsoft Azure Well-Architected Framework.

Fiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, consulte Información general sobre el pilar de confiabilidad.

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 información general de 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 sus valiosos datos y sistemas. Para obtener más información, consulte Información general sobre el 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 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 consiste en examinar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Información general sobre el pilar de optimización de costos.

  • Al crear vECUs, asegúrese de que el tamaño de 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 una compromiso de consumo de Azure, considere la posibilidad de usar ofertas de asociados aptas desde 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 operaciones que implementan una aplicación y lo mantienen en ejecución en producción. Para obtener más información, consulte Información general sobre el 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 eficacia del rendimiento es la capacidad de la carga de trabajo para escalar para satisfacer las demandas que los usuarios le han puesto de forma eficaz. Para obtener 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 con rendimiento 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.

Visión general

Diagrama que muestra el protocolo de comunicación distribuida, uProtocol, en Azure. Descargar un archivo de PowerPoint de esta arquitectura.

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

  • El 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.

  • El uStreamer de es un distribuidor de eventos que permite en dispositivos para comunicarse 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 de es un bus de mensajes que envía entre UE a través de un transporte común. Proporciona funcionalidad de multidifusión y reenvío. Funciona como un conmutador de red.

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

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

  • El 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 del 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 publicada en el vehículo y utilizada para operar el vehículo o activar sus características.

  • El de uEs 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 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 repositorio de GitHub de uProtocol.

Aprovisionamiento de dispositivos para uProtocol

Diagrama que muestra el flujo de aprovisionamiento de uProtocol. Descargar un archivo de PowerPoint de esta arquitectura.

  1. El sistema 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 fábrica registra el vehículo y el dispositivo a través de la API de aprovisionamiento de dispositivos y vehículos.

  3. La aplicación de registro de dispositivos registra la identidad del dispositivo en el aprovisionamiento de dispositivos y el registro de dispositivos.

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

  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 id. de Microsoft Entra.

  8. El sistema de distribuidor de 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.

Diagrama que muestra la arquitectura de la pila de software automotriz basada en SDV de Eclipse. Descargar un archivo de PowerPoint de esta arquitectura.

  • de 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 proporciona 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 capacidades 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, incluido Eclipse Ibeji y Eclipse Chariott.

Colaboradores

Microsoft mantiene este artículo. Originalmente fue escrito por los siguientes colaboradores.

Autores principales:

  • Daniel Lueddecke | Arquitecto de soluciones en la nube, Automoción
  • Mario Ortegon Vega | Administrador de programas principal, MCI SDV & Mobility
  • Filipe Prezado | Administrador de programas principal, MCI SDV & Mobility
  • Sandeep Pujar | Principal PM Manager, Azure Messaging
  • Ashita Rastogi | Administrador de programas principal, Mensajería de Azure
  • Boris Scholl | Director general, Partner Architect-Azure Cloud & AI

Otros colaboradores:

  • Frederick Chong | Administrador principal de PM, MCIGET SDV & Mobility
  • Frank Kaleck | Industry Advisor - Manufacturing, Mobility & Automotive
  • kucukgoz de Mehmet | Principal PM Manager, Azure IoT Hub

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

Pasos siguientes