Informazioni di base sulla distribuzioneDeployment basics

Nel corso della discussione verranno usati tre modelli di appliance della società fittizia Contoso Corporation come esempio.We will use three appliance models from the fictitious Contoso Corporation as an example throughout this discussion.

Lavastoviglie e macchine del caffè Contoso

ID dei dispositiviDevice IDs

Ogni chip di Azure Sphere include un ID dispositivo univoco e non modificabile.Every Azure Sphere chip has a unique and immutable Azure Sphere device ID. L'ID dispositivo di Azure Sphere identifica in modo univoco il singolo chip.The Azure Sphere device ID uniquely identifies the individual chip. L'ID dispositivo viene archiviato nel dispositivo stesso.The device ID is stored on the device itself. Tutti gli altri elementi di una distribuzione vengono archiviati con il servizio di sicurezza di Azure Sphere.All the other elements of a deployment are stored with the Azure Sphere Security Service.

SKU e set di SKUSKUs and SKU sets

Il codice di riferimento del prodotto (SKU) è un GUID che identifica il modello di un dispositivo fisico.A stock keeping unit (SKU) is a GUID that identifies a model of physical device. Lo SKU del prodotto identifica un dispositivo connesso in cui è incorporato un microcontroller di Azure Sphere.A product SKU identifies a connected device product that incorporates an Azure Sphere MCU. Il produttore crea lo SKU del prodotto per ogni modello di dispositivo connesso, come lavastoviglie o macchine per il caffè.As the manufacturer, you create a product SKU for each model of connected device, such as a dishwasher or coffeemaker. Ad esempio, Contoso crea lo SKU del prodotto per le lavastoviglie DW100 di sua produzione, assegnando in fase di produzione tale SKU a tutte le lavastoviglie DW100.For example, Contoso creates a product SKU for its DW100 dishwashers and assigns this product SKU to each DW100 dishwasher during manufacturing.

Ogni dispositivo connesso presenta un singolo SKU del prodotto, tuttavia quest'ultimo può essere associato a molti dispositivi.Every connected device has a single product SKU, but a single product SKU can be associated with many devices. Ogni SKU del prodotto presenta un nome e una descrizione leggibili dall'utente, che consentono di distinguere lo SKU di un prodotto dall'altro.Each product SKU has a name and a description, which provide a human-readable way to distinguish one product SKU from another.

Inoltre, ogni chip di Azure Sphere è dotato di uno SKU del chip che identifica un tipo particolare di microcontroller compatibile con Azure Sphere.In addition, every Azure Sphere chip has a chip SKU that identifies a particular type of Azure Sphere-compatible MCU. Lo SKU del chip viene assegnato da Microsoft e non può essere modificato.The chip SKU is assigned by Microsoft and cannot be changed. Microsoft usa tale SKU per fornire gli aggiornamenti del software di sistema adeguati a ciascun dispositivo di Azure Sphere.Microsoft uses this SKU to deliver the correct system software updates to each Azure Sphere device.

Un set di SKU identifica tutti gli hardware incorporati in un dispositivo connesso, identificando pertanto tutti i software compatibili con il 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. Il set di SKU di un dispositivo connesso include sia lo SKU del prodotto assegnato dal produttore sia lo SKU del chip assegnato da Microsoft.The SKU set for a connected device includes both its manufacturer-assigned product SKU and the Microsoft-assigned chip SKU.

Ad esempio:For example:

Set di SKU

Set di SKU per gli elettrodomestici di ContosoSKU sets for Contoso appliances

La figura illustra tre elettrodomestici di Contoso, ognuno dei quali include un microcontroller MT3620 di Azure Sphere:The figure shows three Contoso appliances, all of which include an Azure Sphere MT3620 MCU:

  • La lavastoviglie DW100 presenta lo SKU DW100.The DW100 dishwasher has the DW100 Product SKU. Il suo set di SKU indica che il dispositivo è compatibile con il software dell'applicazione Contoso per la lavastoviglie DW100.Its SKU set indicates that the device is compatible with Contoso application software that targets the DW100 dishwasher.

  • La lavastoviglie DW200 presenta funzionalità aggiuntive non disponibili per il modello DW100 e pertanto dispone di uno SKU del prodotto diverso, ovvero 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. Il suo set di SKU indica che il dispositivo è compatibile con il software dell'applicazione Contoso per la lavastoviglie DW200.Its SKU set indicates that the device is compatible with Contoso application software that targets the DW200 dishwasher. Attualmente, il dispositivo DW200 esegue lo stesso software applicativo del modello DW100: Contoso, tuttavia, intende rilasciare a breve un software specifico per il modello DW200.Currently, the DW200 runs the same application software as the DW100, but Contoso intends to release DW200-specific software soon.

  • La macchina per il caffè CM300 presenta lo SKU CM300.The CM300 coffeemaker has the CM300 product SKU.

Componenti e applicazioniComponents and applications

Un componente rappresenta un pacchetto software che può essere aggiornato.A component represents a software package that can be updated. L'esempio precedente di Contoso include due componenti:The preceding Contoso example involves two components:

  • Il software applicativo per lavastoviglie DW100SW, che può essere eseguito su modelli DW100 e DW200DW100SW dishwasher application software, which runs on the DW100 and DW200 models
  • Il software applicativo per macchine per il caffè CM300SWCM300SW coffeemaker application software

Un'applicazione è un componente che esegue attività specifiche per determinati dispositivi connessi.An application is a component that performs tasks specific to certain connected devices. Ogni applicazione è destinata a uno o più SKU di prodotto associati a tali dispositivi connessi.Each application targets one or more product SKUs that are associated with those connected devices. Il produttore del prodotto sviluppa e gestisce le applicazioni, mentre Microsoft sviluppa e gestisce i componenti software del sistema.As a product manufacturer, you develop and manage applications, whereas Microsoft develops and manages system software components. I componenti software del sistema sono destinati agli SKU del chip.System software components target chip SKUs.

Immagini e set di immaginiImages and image sets

Un'immagine rappresenta la versione singola di un componente.An image represents a single version of a component. Dopo il caricamento, le immagini non sono modificabili.Images are immutable: you cannot modify an image after it has been uploaded. Per un'applicazione, l'immagine include i file binari e i relativi metadati.For an application, the image includes the binaries for the application along with its image metadata. Ogni immagine ha un ID immagine univoco, che fa parte dei relativi metadati.Each image has a unique image ID, which is part of the image metadata. Ogni volta che l'SDK crea o ricrea un pacchetto immagine di Azure Sphere, usa un nuovo ID immagine univoco.Every time the SDK builds or rebuilds an Azure Sphere image package, it uses a new unique image ID.

Un set di immagini è un gruppo di immagini che rappresentano componenti interdipendenti e che pertanto devono essere distribuite e aggiornate come un'unità.An image set is a group of images that represent interdependent components and therefore must be deployed and updated as a unit. Analogamente alle immagini singole, anche i set di immagini non sono modificabili.Like a single image, an image set is immutable.

FeedFeeds

Un feed fornisce software a uno o più dispositivi.A feed delivers software to one or more devices. Microsoft crea feed per fornire il sistema operativo di Azure Sphere, mentre l'utente crea feed per fornire il proprio software applicativo.Microsoft creates feeds to deliver the Azure Sphere OS, and you create feeds to deliver your application software. I feed sono gerarchici: ogni feed dell'applicazione dipende da un feed del sistema operativo di Azure Sphere.Feeds are hierarchical: every application feed depends on an Azure Sphere OS feed.

Quando si crea un feed dell'applicazione, si specifica il feed del software di sistema da cui dipende, gli SKU del prodotto e del chip cui è destinato e il componente che fornisce.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. Attualmente, ogni feed dell'applicazione è associato a un singolo componente.Currently, each application feed is associated with a single component.

Quando si è pronti per la distribuzione di un'applicazione, si crea un'immagine che rappresenta la versione dell'applicazione da distribuire.When you are ready to deploy an application, you create an image that represents the version of the application you want to deploy. Si aggiunge quindi l'immagine a un set di immagini e quest'ultimo a un feed per il componente associato.Then you add the image to an image set, and add the image set to a feed for the associated component. Il set di immagini aggiunto più di recente diventa il set di immagini corrente.The most recently added image set becomes the current image set. Il servizio di sicurezza di Azure Sphere fornisce il set di immagini corrente ai dispositivi di destinazione.The Azure Sphere Security Service delivers the current image set to the targeted devices. Sebbene un feed presenti un solo set di immagini corrente, ogni feed mantiene un elenco di controllo per tutti i set di immagini aggiunti in precedenza.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.

Un feed applicativo è analogo a una pipe che contiene solo un determinato tipo di materiale: ciò significa che un feed applicativo può fornire solo set di immagini che rappresentano un particolare componente.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. Pertanto, Contoso dovrebbe definire un feed per il software applicativo DW100SW e un feed diverso per il software applicativo CM300SW, in quanto i due dispositivi usano applicazioni diverse.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.

Un singolo feed può distribuire il software a uno o più SKU del prodotto.A single feed can supply its software to one or more product SKUs. Dopo aver definito un feed è possibile aggiungervi un set di immagini, ma non aggiungere o rimuovere un componente, lo SKU di un chip o di un prodotto dal feed.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. Ciò significa che la definizione del feed (ossia le componenti che fornisce e gli SKU di destinazione) non può essere modificata.That is, the definition of the feed—the components it delivers and the SKUs it targets—is immutable.

Nell'esempio di Contoso, le lavastoviglie DW100 e DW200 presentano SKU diversi, ma entrambe usano attualmente il software applicativo DW100SW.In the Contoso example, the DW100 and DW200 dishwashers have different product SKUs but both currently use the DW100SW application software. Contoso ha due opzioni:Contoso has two options:

  • Definire un singolo feed per fornire il software applicativo DW100SW a entrambi gli SKU dei prodotti DW100 e DW200Define a single feed that delivers the DW100SW application software to both the DW100 and DW200 product SKUs
  • Definire un feed per fornire il software applicativo DW100SW allo SKU del prodotto DW100 e un altro feed per fornire il software applicativo DW100SW allo SKU del prodotto DW200Define 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

Il produttore Contoso prevede di rilasciare a breve un'applicazione separata per la lavastoviglie DW200.Contoso plans to release a separate application for the DW200 soon. Se definisse un singolo feed per fornire l'applicazione corrente a entrambi gli SKU del prodotto, dovrebbe creare due nuovi feed (uno per ogni SKU) una volta pronto il nuovo software.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. L'azienda decide invece di creare due feed in questa fase.Instead, it creates two feeds now. Il feed DW100 fornisce l'applicazione DW100SW alle lavastoviglie DW100, mentre il feed temporaneo DW200 fornisce l'applicazione DW100SW alle lavastoviglie 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 seguente mostra questi feed di esempio:The following figure shows these sample feeds:

Esempio di feed per Contoso DW100

Feed di Contoso per l'applicazione DW100Contoso feeds for DW100 application

Quando il produttore Contoso è pronto per eseguire test sulla nuova applicazione specifica per i prodotti DW200, crea un nuovo componente e un set di immagini per rappresentare la versione di test dell'applicazione 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. Contoso configura quindi un nuovo feed per fornire il componente DW200SW ai dispositivi con SKU DW200 e assegna il set di immagini dell'applicazione di test DW200 a questo nuovo feed.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. Il feed DW100 esistente continua a fornire l'applicazione DW100SW alle lavastoviglie DW100.The existing DW100 feed continues to deliver the DW100SW application to DW100 dishwashers.

Esempio di feed per Contoso DW200

Feed di Contoso per la nuova applicazione DW200Contoso feed for new DW200 application

Come indicato dall'esempio, un produttore di prodotti definisce in genere più feed.As this example implies, a product manufacturer would typically define multiple feeds. Ad esempio, Contoso potrebbe definire due feed per ognuna delle sue applicazioni: un feed per il test e un feed per la vendita al dettaglio.For example, Contoso might define two feeds for each of its applications: a Test feed and a Retail feed. Il feed per il test fornisce il software applicativo ancora in fase di sviluppo, mentre il feed per le vendite al dettaglio fornisce il software applicativo già pronto per la distribuzione sul 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. Entrambi i feed sono destinati al medesimo set di SKU, ma forniscono versioni diverse dell'applicazione,Both feeds target the same SKU set, but deliver different versions of the application. vale a dire, sono associati a set di immagini diverse.That is, they are associated with different image sets.

Feed per il test e per le vendite al dettaglio del prodotto Contoso DW100

Feed per il test e per le vendite al dettaglio di ContosoContoso retail and test feeds

I feed per il test e per le vendite al dettaglio riportati in figura sono identici, fatta eccezione per i set di immagini cui fanno riferimento.The Test and Retail feeds in the figure are identical except for their image sets. Il feed per le vendite al dettaglio è associato al set di immagini DW100SW v1.0, mentre il feed per il test è associato al set di immagini 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. Per eseguire il test di una nuova versione dell'applicazione DW100SW, Contoso crea semplicemente un nuovo set di immagini contenente l'aggiornamento del software usando l'ID del componente per il software di test e assegna tale set di immagini al feed per il test.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. In modo analogo, se Contoso individua errori durante il test, può eseguire il rollback della distribuzione a una versione precedente assegnando al feed per il test un set di immagini usato in precedenza.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.

I feed e i set di immagini determinano i componenti e le relative versioni da distribuire in modalità wireless ai dispositivi connessi.Feeds and image sets determine which components—and which versions of those components—are deployed over the air to connected devices. I feed collegano componenti e set di immagini agli SKU dei prodotti, mentre i gruppi di dispositivi collegano i feed ai singoli dispositivi connessi.Feeds link components and image sets with product SKUs, and device groups link feeds with individual connected devices.

Gruppi di dispositiviDevice groups

I gruppi di dispositivi consentono di distribuire applicazioni a più dispositivi.Device groups provide a way to scale application deployment to many devices. Un gruppo di dispositivi è una raccolta denominata di dispositivi che presentano caratteristiche comuni, insieme a un elenco di feed che forniscono software a tali dispositivi.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. Ogni dispositivo appartiene a un unico gruppo di dispositivi:Each device belongs to exactly one device group. Contoso potrebbe, ad esempio, creare un gruppo di dispositivi per i dispositivi nel laboratorio di test e un altro gruppo per quelli nel canale della vendita al dettaglio.For example, Contoso might create one device group for the devices in its test lab and another for devices in the retail channel. I dispositivi del gruppo del laboratorio di test riceveranno il feed per il test dell'applicazione, mentre i dispositivi nel gruppo di vendita al dettaglio riceveranno il feed dell'applicazione di produzione.Devices in the test lab group receive the test application feed, and the devices in the retail group receive the production application feed. In alternativa, Contoso potrebbe raggruppare i dispositivi in base allo stato della garanzia o alla posizione geografica.Alternatively, Contoso might group devices by warranty status or geography. I criteri di raggruppamento sono completamente a discrezione del produttore.The grouping criteria are left completely to the discretion of the manufacturer.

Un gruppo di dispositivi può contenere prodotti con SKU diversi.A device group can contain products with different SKUs. Ad esempio, un singolo gruppo di dispositivi potrebbe contenere diverse lavastoviglie DW100 e DW200 e macchine per il caffè CM300.For example, a single device group could contain several DW100 dishwashers, DW200 dishwashers, and CM300 coffeemakers. L'unica restrizione è che tutti i dispositivi del gruppo appartengano allo stesso tenant di Azure Sphere.The only restriction is that every device in the group must belong to the same Azure Sphere tenant.

Ogni gruppo di dispositivi è associato a un elenco dei feed per i dispositivi membri.Each device group is associated with a list of the feeds for its member devices. Pertanto, un gruppo di dispositivi per il laboratorio di test di Contoso potrebbe contenere le seguenti informazioni:Thus, a device group for the Contoso Test Lab might contain the following information:

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

Feed:Feeds:
Feed per il test DW100, destinato allo SKU del prodotto DW100DW100 Test feed, which targets the DW100 product SKU
Feed temporaneo DW200, destinato allo SKU del prodotto DW200 con software DW100SWDW200 Temp feed, which targets the DW200 product SKU with DW100SW software
Feed per il test CM300, destinato allo SKU del prodotto CM300CM300 Test feed, which targets the CM300 product SKU

Questo gruppo di dispositivi fornisce il software di test DW100SW alla lavastoviglie DW100, il software di test DW100SW alla lavastoviglie DW200 tramite il feed temporaneo DW200 descritto in precedenza e il software di test CM300SW a entrambe le macchine per il caffè 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.

Ogni feed assegnato a un gruppo di dispositivi deve fornire un set univoco di SKU.Each feed assigned to a device group must supply a unique SKU set. In questo esempio, entrambe le macchine per il caffè CM300 presentano lo SKU del prodotto CM300, pertanto i dispositivi devono entrambi usare la versione di software CM300SW fornita dal feed per il test 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.

Per distribuire gli aggiornamenti software ai dispositivi nel laboratorio di test, Contoso crea un nuovo set di immagini e lo aggiunge al feed appropriato.To deploy updated software to the devices in the test lab, Contoso creates a new image set and adds it to the appropriate feed. È importante ricordare che i set di immagini non sono modificabili. Ad esempio, quando il produttore Contoso è pronto per eseguire test di una nuova versione dell'applicazione DW100SW, creerà un set di immagini che rappresenta la nuova versione e lo assegnerà al feed per il test 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. Per eseguire il test della nuova applicazione DW200SW, creerà un feed per il test DW200 e lo collegherà al gruppo di dispositivi del proprio laboratorio di test.To test its new DW200SW application, it creates a DW200 Test feed and links it to the Contoso Test Lab device group. Il gruppo di dispositivi contiene quindi le seguenti informazioni:The device group then contains the following information:

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

Feed:Feeds:
Feed per il test DW100, destinato allo SKU del prodotto DW100DW100 Test feed, which targets DW100 product SKU
Feed per il test DW200, destinato allo SKU del prodotto DW200DW200 Test feed, which targets DW200 product SKU
Feed per il test CM300, destinato allo SKU del prodotto CM300CM300 Test feed, which targets CM300 product SKU

Alla successiva richiesta di aggiornamento da parte del dispositivo 456 nel laboratorio di test di Contoso, questo riceverà il software di test DW200SW tramite il feed per il test 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.

Il diagramma seguente mostra come feed, set di immagini e gruppi di dispositivi determinano insieme il software da distribuire in ogni dispositivo:The following diagram shows how feeds, image sets, and device groups together determine the software that is deployed to each device:

Gruppo di dispositivi del laboratorio di test di Contoso

Gruppo di dispositivi del laboratorio di test e feed di ContosoContoso Test Lab device group and feeds

Tenere presente che il gruppo di dispositivi non stabilisce quali componenti vengono distribuiti.Keep in mind that the device group does not establish which components are deployed. Il set di SKU stabilisce quali componenti possono essere eseguiti sul dispositivo, il feed determina il set di immagini corrente e il set di immagini rappresenta la versione corrente 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. L'insieme di questi elementi determina la distribuzione.These elements taken together determine the deployment.