Conceptos básicos de la implementaciónDeployment basics

Usaremos los tres modelos de dispositivo de la empresa ficticia Contoso Corporation como ejemplo a lo largo de esta explicación.We will use three appliance models from the fictitious Contoso Corporation as an example throughout this discussion.

Lavavajillas y cafeteras Contoso

Identificadores de dispositivoDevice IDs

Cada chip de Azure Sphere tiene un identificador de dispositivo de Azure Sphere único e inmutable.Every Azure Sphere chip has a unique and immutable Azure Sphere device ID. El identificador de dispositivo de Azure Sphere identifica de forma única el chip individual.The Azure Sphere device ID uniquely identifies the individual chip. El identificador de dispositivo se almacena en el propio dispositivo.The device ID is stored on the device itself. Todos los demás elementos de una implementación se almacenan con el servicio de seguridad de Azure Sphere.All the other elements of a deployment are stored with the Azure Sphere Security Service.

SKU y conjuntos de SKUSKUs and SKU sets

Una referencia de almacén (SKU) es un identificador único global que identifica el modelo de un dispositivo físico.A stock keeping unit (SKU) is a GUID that identifies a model of physical device. Una SKU de producto identifica un producto de dispositivo conectado que incorpora un MCU de Azure Sphere.A product SKU identifies a connected device product that incorporates an Azure Sphere MCU. Como fabricante, usted crea un SKU de producto para cada modelo de dispositivo conectado, como un lavavajillas o cafetera.As the manufacturer, you create a product SKU for each model of connected device, such as a dishwasher or coffeemaker. Por ejemplo, Contoso crea una SKU de producto para su lavavajillas DW100 y asigna esta SKU de producto a cada lavavajillas DW100 durante la producción.For example, Contoso creates a product SKU for its DW100 dishwashers and assigns this product SKU to each DW100 dishwasher during manufacturing.

Cada dispositivo conectado tiene una SKU de producto única, pero una misma SKU de producto puede asociarse con muchos dispositivos.Every connected device has a single product SKU, but a single product SKU can be associated with many devices. Cada SKU de producto tiene un nombre y una descripción, que proporcionan una manera natural para distinguir entre sí las SKU de producto.Each product SKU has a name and a description, which provide a human-readable way to distinguish one product SKU from another.

Además, cada chip de Azure Sphere tiene una SKU de chip que identifica un tipo determinado de MCU compatible con Azure Sphere.In addition, every Azure Sphere chip has a chip SKU that identifies a particular type of Azure Sphere-compatible MCU. La SKU de chip que ha asignado Microsoft no se puede cambiar.The chip SKU is assigned by Microsoft and cannot be changed. Microsoft usa esta SKU para enviar actualizaciones de software de sistema correctas a cada dispositivo de Azure Sphere.Microsoft uses this SKU to deliver the correct system software updates to each Azure Sphere device.

Un conjunto de SKU identifica todo el hardware que se incorpora a un dispositivo conectado y, por tanto, identifica todo el software que es compatible con el dispositivo.A SKU set identifies all the hardware that is incorporated into a connected device, and thus identifies all the software that is compatible with the device. El conjunto de SKU para un dispositivo conectado incluye la SKU de producto asignada por el fabricante y la SKU de chip asignada por Microsoft.The SKU set for a connected device includes both its manufacturer-assigned product SKU and the Microsoft-assigned chip SKU.

Por ejemplo:For example:

Conjuntos de SKU

Conjuntos de SKU para dispositivos de ContosoSKU sets for Contoso appliances

La figura muestra tres dispositivos de Contoso, que incluyen un MCU MT3620 de Azure Sphere:The figure shows three Contoso appliances, all of which include an Azure Sphere MT3620 MCU:

  • El lavavajillas DW100 tiene la SKU de producto DW100.The DW100 dishwasher has the DW100 Product SKU. Su conjunto de SKU indica que el dispositivo es compatible con el software de aplicación de Contoso que tenga como destino al lavavajillas DW100.Its SKU set indicates that the device is compatible with Contoso application software that targets the DW100 dishwasher.

  • El lavavajillas DW200 tiene características adicionales que no están disponibles en el DW100 y, por tanto, tiene una SKU de producto distinta: la SKU de producto DW200.The DW200 dishwasher has additional features that are not available in the DW100 and thus has a different product SKU: the DW200 product SKU. Su conjunto de SKU indica que el dispositivo es compatible con el software de aplicación de Contoso que tenga como destino al lavavajillas DW200.Its SKU set indicates that the device is compatible with Contoso application software that targets the DW200 dishwasher. Actualmente, el DW200 ejecuta el mismo software de aplicación que el DW100, pero Contoso quiere publicar el software específico para DW200 pronto.Currently, the DW200 runs the same application software as the DW100, but Contoso intends to release DW200-specific software soon.

  • La cafetera CM300 tiene la SKU de producto CM300.The CM300 coffeemaker has the CM300 product SKU.

Aplicaciones y componentesComponents and applications

Un componente representa un paquete de software que se puede actualizar.A component represents a software package that can be updated. El ejemplo anterior de Contoso implica dos componentes:The preceding Contoso example involves two components:

  • El software de aplicación DW100SW para lavavajillas, que se ejecuta en los modelos DW100 y DW200DW100SW dishwasher application software, which runs on the DW100 and DW200 models
  • El software de aplicación CM300SW para cafeterasCM300SW coffeemaker application software

Una aplicación es un componente que lleva a cabo tareas específicas para determinados dispositivos conectados.An application is a component that performs tasks specific to certain connected devices. Cada aplicación tiene como destino una o varias SKU de producto que están asociadas con los dispositivos conectados.Each application targets one or more product SKUs that are associated with those connected devices. Como fabricante de un producto, usted desarrolla y administra aplicaciones, mientras que Microsoft desarrolla y administra los componentes de software del sistema.As a product manufacturer, you develop and manage applications, whereas Microsoft develops and manages system software components. Los componentes del software del sistema tienen como objetivo las SKU de chip.System software components target chip SKUs.

Imágenes y conjuntos de imágenesImages and image sets

Una imagen representa una única versión de un componente.An image represents a single version of a component. Las imágenes son inmutables: no se puede modificar una imagen una vez cargada.Images are immutable: you cannot modify an image after it has been uploaded. Para una aplicación, la imagen incluye los archivos binarios de la aplicación, junto con los metadatos de imagen.For an application, the image includes the binaries for the application along with its image metadata. Cada imagen tiene un identificador de imagen único, que forma parte de los metadatos de imagen.Each image has a unique image ID, which is part of the image metadata. Cada vez que el SDK compila o recompila un paquete de imagen de Azure Sphere, usa un identificador de imagen único nuevo.Every time the SDK builds or rebuilds an Azure Sphere image package, it uses a new unique image ID.

Un conjunto de imágenes es un grupo de imágenes que representan componentes interdependientes y, por tanto, se deben implementar y actualizar como una unidad.An image set is a group of images that represent interdependent components and therefore must be deployed and updated as a unit. Al igual que una sola imagen, un conjunto de imágenes es inmutable.Like a single image, an image set is immutable.

FuentesFeeds

Una fuente envía software a uno o varios dispositivos.A feed delivers software to one or more devices. Microsoft crea las fuentes de distribución para enviar el sistema operativo de Azure Sphere, y usted crea las fuentes de distribución para enviar el software de aplicación.Microsoft creates feeds to deliver the Azure Sphere OS, and you create feeds to deliver your application software. Las fuentes de distribución son jerárquicas: cada fuente de aplicación depende de una fuente del sistema operativo de Azure Sphere.Feeds are hierarchical: every application feed depends on an Azure Sphere OS feed.

Cuando cree una fuente de aplicación, debe especificar de qué fuente de software del sistema depende, las SKU de producto y de chip que tiene como destino y qué componente entrega.When you create an application feed, you specify the system software feed that it depends on, the product and chip SKUs that it targets, and the component that it delivers. Actualmente, cada fuente de aplicación está asociada con un solo componente.Currently, each application feed is associated with a single component.

Cuando esté listo para implementar una aplicación, cree una imagen que represente la versión de la aplicación que quiere implementar.When you are ready to deploy an application, you create an image that represents the version of the application you want to deploy. A continuación, agregue la imagen a un conjunto de imágenes y agregue el conjunto de imágenes a una fuente para el componente asociado.Then you add the image to an image set, and add the image set to a feed for the associated component. El conjunto de imágenes agregado más recientemente se convierte en el conjunto de imágenes actual.The most recently added image set becomes the current image set. El servicio de seguridad de Azure Sphere envía el conjunto de imágenes actual a los dispositivos de destino.The Azure Sphere Security Service delivers the current image set to the targeted devices. Aunque una fuente tiene solo un conjunto de imágenes actual, cada fuente conserva una lista de auditoría de todos los conjuntos de imágenes que se han agregado hasta la fecha.Although a feed has only one current image set, each feed maintains an audit list of all image sets that were ever added to it.

Una fuente de aplicación es análoga a una tubería que transporta únicamente algún tipo de material; es decir, una fuente de aplicación solo puede enviar conjuntos de imágenes que representan un componente determinado.An application feed is analogous to a pipe that carries only a certain kind of material; that is, an application feed can only deliver image sets that represent a particular component. Por lo tanto, Contoso definiría una sola fuente para el software de aplicación DW100SW y otra para el software de aplicación CM300SW porque los dos dispositivos utilizan aplicaciones diferentes.Therefore, Contoso would define one feed for the DW100SW application software and another for the CM300SW application software because the two devices use different applications.

Una única fuente puede proporcionar software a una o varias SKU de producto.A single feed can supply its software to one or more product SKUs. Después de definir una fuente, puede agregar un conjunto de imágenes, pero no se puede agregar o quitar un componente, una SKU de chip, o una SKU de producto de la fuente.After you define a feed, you can add an image set, but you cannot add or remove a component, a chip SKU, or a product SKU from the feed. Es decir, la definición de la fuente (los componentes que ofrece y las SKU que tiene como destino) es inmutable.That is, the definition of the feed—the components it delivers and the SKUs it targets—is immutable.

En el ejemplo de Contoso, los lavavajillas DW100 y DW200 tienen SKU de producto diferentes, pero ambos utilizan actualmente el software de aplicación DW100SW.In the Contoso example, the DW100 and DW200 dishwashers have different product SKUs but both currently use the DW100SW application software. Contoso tiene dos opciones:Contoso has two options:

  • Definir una única fuente que envíe el software de aplicación DW100SW a las SKU de producto DW100 y DW200.Define a single feed that delivers the DW100SW application software to both the DW100 and DW200 product SKUs
  • Definir una sola fuente que envíe el software de aplicación DW100SW a la SKU de producto DW100 y otra fuente que envíe el software de aplicación DW100SW a la SKU de producto DW200.Define one feed that delivers the DW100SW application software to the DW100 product SKU and another feed that delivers the DW100SW application software to the DW200 product SKU

Contoso tiene previsto publicar una aplicación diferente para el DW200 pronto.Contoso plans to release a separate application for the DW200 soon. Si define una única fuente que envíe la aplicación actual para ambas SKU de producto, debe crear dos nuevas fuentes de distribución cuando el nuevo software esté listo: una para cada SKU.If it defines a single feed that delivers the current application to both product SKUs, it must create two new feeds when the new software is ready: one for each SKU. En su lugar, crea dos fuentes de distribución ahora.Instead, it creates two feeds now. La fuente DW100 envía la aplicación DW100SW al lavavajillas DW100 y una fuente DW200 temporal envía la aplicación DW100SW al lavavajillas DW200.The DW100 feed delivers the DW100SW application to DW100 dishwashers, and a temporary DW200 feed delivers the DW100SW application to the DW200 dishwashers. La figura siguiente muestra las fuentes de ejemplo:The following figure shows these sample feeds:

Ejemplo de fuente para Contoso DW100

Fuentes de distribución de Contoso para la aplicación DW100Contoso feeds for DW100 application

Cuando Contoso está listo para probar su nueva aplicación exclusiva para DW200, crea un nuevo componente y conjunto de imágenes para representar la versión de prueba de la aplicación DW200SW.When Contoso is ready to test its new DW200-specific application, it creates a new component and image set to represent the test version of the DW200SW application. A continuación, Contoso configura una nueva fuente que envía el componente DW200SW a dispositivos que tengan la SKU de producto DW200 y asigna el conjunto de imágenes de la aplicación de prueba DW200 a esta nueva fuente.Contoso then sets up a new feed that delivers the DW200SW component to devices that have the DW200 product SKU, and it assigns the DW200 test application image set to this new feed. La fuente DW100 existente continúa enviando la aplicación DW100SW a los lavavajillas DW100.The existing DW100 feed continues to deliver the DW100SW application to DW100 dishwashers.

Ejemplo de fuente para Contoso DW200

Fuente de Contoso para la nueva aplicación DW200Contoso feed for new DW200 application

Como se indica en este ejemplo, un fabricante de producto normalmente definiría varias fuentes de distribución.As this example implies, a product manufacturer would typically define multiple feeds. Por ejemplo, Contoso podría definir dos fuentes de distribución para cada uno de sus aplicaciones: una fuente de prueba y una fuente comercial.For example, Contoso might define two feeds for each of its applications: a Test feed and a Retail feed. La fuente de prueba ofrece software de aplicación que aún está en desarrollo, y la fuente comercial ofrece software de aplicación que está listo para la implementación de campo.The Test feed delivers application software that is still in development, and the Retail feed delivers application software that is ready for field deployment. Ambas fuentes tienen como destino el mismo conjunto de SKU, pero envían versiones diferentes de la aplicación.Both feeds target the same SKU set, but deliver different versions of the application. Es decir, están asociadas a conjuntos de imágenes diferentes.That is, they are associated with different image sets.

Fuentes comerciales y de prueba para Contoso DW100

Fuentes comerciales y de prueba de ContosoContoso retail and test feeds

Las fuentes comerciales y de prueba en la ilustración son idénticas, excepto por sus conjuntos de imágenes.The Test and Retail feeds in the figure are identical except for their image sets. La fuente comercial está asociada con el conjunto de imágenes DW100SW v1.0, y la fuente de prueba está asociada con el conjunto de imágenes DW100SW v1.5.The Retail feed is associated with the DW100SW v1.0 image set, and the Test feed is associated with the DW100SW v1.5 image set. Para probar una nueva versión de su aplicación DW100SW, Contoso simplemente crea un nuevo conjunto de imágenes que contiene el software actualizado con el id. de componente para su software de prueba y asigna ese conjunto de imágenes a la fuente de prueba.To test a new version of its DW100SW application, Contoso simply creates a new image set that contains the updated software, using the component ID for its test software, and assigns that image set to the Test feed. De igual modo, si Contoso detecta errores durante las pruebas, puede revertir la implementación a una versión anterior si asigna a la fuente de prueba un conjunto de imágenes anterior.Similarly, if Contoso discovers errors during testing, it can roll back the deployment to an earlier version by assigning an earlier image set to the Test feed.

Las fuentes de distribución y los conjuntos de imágenes determinan qué componentes (y qué versiones de estos componentes) se implementan por vía inalámbrica a los dispositivos conectados.Feeds and image sets determine which components—and which versions of those components—are deployed over the air to connected devices. Las fuentes vinculan componentes y conjuntos de imágenes con SKU de producto, y los grupos de dispositivos vinculan las fuentes de distribución con dispositivos conectados individuales.Feeds link components and image sets with product SKUs, and device groups link feeds with individual connected devices.

Grupos de dispositivosDevice groups

Los grupos de dispositivos proporcionan una manera de escalar la implementación de aplicaciones en varios dispositivos.Device groups provide a way to scale application deployment to many devices. Un grupo de dispositivos es una colección de dispositivos que tienen algo en común, junto con una lista de fuentes de distribución que envían software a esos dispositivos.A device group is a named collection of devices that have something in common, together with a list of feeds that deliver software to those devices. Cada dispositivo conectado pertenece exactamente a un grupo de dispositivos.Each device belongs to exactly one device group. Por ejemplo, Contoso puede crear un grupo de dispositivos para los dispositivos de su laboratorio de pruebas y otro para los dispositivos en el canal comercial.For example, Contoso might create one device group for the devices in its test lab and another for devices in the retail channel. Los dispositivos en el grupo de laboratorio de pruebas reciben la fuente de aplicación de prueba, y los dispositivos del grupo comercial reciben la fuente de aplicación de producción.Devices in the test lab group receive the test application feed, and the devices in the retail group receive the production application feed. También, Contoso puede agrupar dispositivos por estado de la garantía o ubicación geográfica.Alternatively, Contoso might group devices by warranty status or geography. Los criterios de agrupación quedan completamente a discreción del fabricante.The grouping criteria are left completely to the discretion of the manufacturer.

Un grupo de dispositivos puede contener productos con SKU diferentes.A device group can contain products with different SKUs. Por ejemplo, un grupo de dispositivos único podría contener varios lavavajillas DW100, lavavajillas DW200 y cafeteras CM300.For example, a single device group could contain several DW100 dishwashers, DW200 dishwashers, and CM300 coffeemakers. La única restricción es que todos los dispositivos en el grupo deben pertenecer al mismo inquilino de Azure Sphere.The only restriction is that every device in the group must belong to the same Azure Sphere tenant.

Cada grupo de dispositivos está asociado con una lista de fuentes de distribución para los dispositivos que incluye.Each device group is associated with a list of the feeds for its member devices. Por lo tanto, un grupo de dispositivos para el laboratorio de pruebas de Contoso podría contener la siguiente información:Thus, a device group for the Contoso Test Lab might contain the following information:

Dispositivos:Devices:
Dispositivo DW100 123DW100 device 123
Dispositivo DW200 456DW200 device 456
Dispositivo CM300 789CM300 device 789
Dispositivo CM300 0abCM300 device 0ab

Fuentes:Feeds:
Fuente de prueba DW100, que tiene como destino la SKU de producto DW100DW100 Test feed, which targets the DW100 product SKU
Fuente temporal DW200, que tiene como destino la SKU de producto DW200 con software DW100SWDW200 Temp feed, which targets the DW200 product SKU with DW100SW software
Fuente de prueba CM300, que tiene como destino la SKU de producto CM300CM300 Test feed, which targets the CM300 product SKU

Este grupo de dispositivos proporciona el software de prueba DW100SW al lavavajillas DW100, el software de prueba DW100SW al lavavajillas DW200 a través de la fuente temporal DW200 descrita anteriormente y el software de prueba CM300SW a las dos cafeteras CM300.This device group provides the DW100SW Test software to the DW100 dishwasher, DW100SW Test software to the DW200 dishwasher through the DW200 Temp feed previously described, and the CM300SW Test software to both the CM300 coffeemakers.

Cada fuente asignada a un grupo de dispositivos debe proporcionar un conjunto único de SKU.Each feed assigned to a device group must supply a unique SKU set. En este ejemplo, ambas cafeteras CM300 tienen la SKU de producto CM300, por lo que ambos dispositivos deben usar la versión de CM300SW que envía la fuente de prueba CM300.In this example, both CM300 coffeemakers have the CM300 product SKU, so both devices must use the version of the CM300SW that the CM300 Test feed supplies.

Para implementar software actualizado en los dispositivos del laboratorio de pruebas, Contoso crea un nuevo conjunto de imágenes y lo agrega a la fuente adecuada.To deploy updated software to the devices in the test lab, Contoso creates a new image set and adds it to the appropriate feed. (Recuerde que los conjuntos de imágenes son inmutables). Por ejemplo, cuando Contoso está listo para probar una nueva versión de la aplicación DW100SW, crea un conjunto de imágenes que representa a la nueva versión y lo asigna a la fuente de prueba DW100.(Remember, image sets are immutable.) For example, when Contoso is ready to test a new version of the DW100SW application, it creates an image set that represents the new version and assigns it to the DW100 Test feed. Para probar su nueva aplicación DW200SW, crea una fuente de prueba DW200 y la vincula al grupo de dispositivos del laboratorio de pruebas de Contoso.To test its new DW200SW application, it creates a DW200 Test feed and links it to the Contoso Test Lab device group. El grupo de dispositivos contiene la siguiente información:The device group then contains the following information:

Dispositivos:Devices:
Dispositivo DW100 123DW100 device 123
Dispositivo DW200 456DW200 device 456
Dispositivo CM300 789CM300 device 789
Dispositivo CM300 0abCM300 device 0ab

Fuentes:Feeds:
Fuente de prueba DW100, que tiene como destino la SKU de producto DW100DW100 Test feed, which targets DW100 product SKU
Fuente de prueba DW200, que tiene como destino la SKU de producto DW200DW200 Test feed, which targets DW200 product SKU
Fuente de prueba CM300, que tiene como destino la SKU de producto CM300CM300 Test feed, which targets CM300 product SKU

La siguiente ocasión que el dispositivo 456 del laboratorio de pruebas de Contoso solicite una actualización, recibirá el software de prueba DW200SW a través de la fuente de prueba DW200.The next time device 456 in the Contoso Test Lab requests an update, it receives the DW200SW test software via the DW200 Test feed.

El diagrama siguiente muestra cómo las fuentes de distribución, los conjuntos de imágenes y los grupos de dispositivos determinan el software que se implementa en cada dispositivo:The following diagram shows how feeds, image sets, and device groups together determine the software that is deployed to each device:

Grupo de dispositivos del laboratorio de pruebas de Contoso

Grupo de dispositivos del laboratorio de pruebas de ContosoContoso Test Lab device group and feeds

Tenga en cuenta que el grupo de dispositivos no establecerá qué componentes se implementan.Keep in mind that the device group does not establish which components are deployed. El conjunto de SKU establece qué componentes pueden ejecutarse en el dispositivo, la fuente determina el conjunto de imágenes actual y el conjunto de imágenes representa la versión actual del componente.The SKU set establishes which components can run on the device, the feed determines the current image set, and the image set represents the current version of the component. Estos elementos, en conjunto, determinan la implementación.These elements taken together determine the deployment.