Preparar ativos técnicos de módulo do Azure IoT Edge
Este artigo descreve os requisitos que seus ativos técnicos do módulo IoT (Internet das Coisas) Edge devem atender antes de serem publicados no Azure Marketplace.
Introdução
Um módulo IoT Edge é um contêiner compatível com o Docker que é executado em um dispositivo IoT Edge.
- Para saber mais sobre os módulos do IoT Edge, confira Entender os módulos do Azure IoT Edge.
- Para se familiarizar com o desenvolvimento do seu módulo IoT Edge, confira Desenvolva seus próprios módulos IoT Edge.
Requisitos técnicos
Seu módulo IoT Edge deve atender aos requisitos técnicos a seguir para ser certificado e publicado no Azure Marketplace.
Suporte a plataforma
Seu módulo IoT Edge deve dar suporte a uma das seguintes opções de plataforma:
Plataformas de nível 1 suportadas pelo IoT Edge
O seu módulo deve dar suporte para todas as plataformas da Camada 1 compatíveis com o IoT Edge (conforme registrado no Suporte do Azure IoT Edge). Recomendamos essa opção porque fornece uma melhor experiência do cliente. Módulos que atendam a este critério serão demonstrados. Um módulo usando esta opção de plataforma deve:
Forneça uma marca mais recente e uma marca de versão (por exemplo, 1.0.1) que sejam marcas de manifesto criadas com a Ferramenta de Manifesto do GitHub.
Use a guia de listagem de ofertas do Partner Center para adicionar um link na seção Links úteis do Catálogo de dispositivos certificados do Azure IoT Edge.
Um subconjunto das plataformas de nível 1 com suporte do IoT Edge
Seu módulo deve dar suporte a um subconjunto (pelo menos um) de plataformas da Camada 1 compatíveis com o IoT Edge (conforme registrado no Suporte do Azure IoT Edge). Um módulo usando esta opção de plataforma deve:
- Forneça uma marca mais recente e uma marca de versão (por exemplo, 1.0.1) que sejam marcas de manifesto criadas com a Ferramenta de Manifesto do GitHub se mais de uma plataforma for compatível. Tags de manifesto são opcionais somente quando uma plataforma é suportada
- Use a guia listagem de ofertas no Partner Center para adicionar um link na seção Links úteis para pelo menos um dispositivo IoT Edge do Catálogo de dispositivos certificados do Azure IoT Edge.
Device dimensions
As dimensões do módulo IoT Edge (tais como CPU, RAM, armazenamento e GPU) nos dispositivos IoT Edge de destino devem atender aos seguintes requisitos:
O módulo deve trabalhar com pelo menos um dispositivo IoT Edge do Catálogo de dispositivos certificados do Azure IoT Edge.
Os requisitos mínimos de hardware devem ser documentados no último parágrafo da descrição da oferta (na guia de lista de ofertas do Partner Center). Opcionalmente, você também pode listar os requisitos de hardware recomendados se eles forem significativamente diferentes. Por exemplo, adicione a seguinte seção no final da descrição da sua oferta:
Copie esse texto HTML ou use as funções Rich Text correspondentes na janela de edição.
<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>
Configuração
O seu módulo também deve incluir as definições de configuração padrão para simplificar ao máximo a implantação em um dispositivo IoT Edge. Essas informações podem ser fornecidas na página de Configuração técnica do plano no Partner Center. O contêiner também pode incluir o SDK do Módulo do IoT Edge para habilitar a comunicação com o Hub de borda e o Hub IoT.
Configuração padrão
Os módulos IoT Edge devem ser capazes de iniciar com as configurações padrão fornecidas na página de Configuração técnica do plano no Partner Center. As seguintes configurações padrão estão disponíveis:
- Padrão rotas
- Propriedades desejadas do módulo gêmeo padrão
- Padrão variáveis de ambiente
- Opções de criação de contêiner padrão
Nos cenários em que um parâmetro obrigatório para um valor padrão não fizer sentido (por exemplo, o endereço IP do servidor de um cliente), adicione um parâmetro como o valor padrão. Este valor será colocado entre colchetes e em maiúsculas. Para este exemplo, você configuraria a seguinte variável de ambiente padrão:
ServerIPAddress = <MY_SERVER_IP_ADDRESS>
Documentação de configuração
Todas as definições de configuração do módulo IoT Edge devem ser documentadas com clareza. Por exemplo, você deve documentar como usar as rotas, as propriedades gêmeas desejadas, as variáveis de ambiente, as createOptions e assim por diante. Você deve fornecer um link para a documentação ou integrá-la à sua oferta ou à descrição do plano. Você pode fornecer essas informações na página Lista de ofertas e Lista de planos do Partner Center.
Marcas e controle de versão
Os clientes devem ser capazes de implantar um módulo com facilidade e obter automaticamente atualizações do marketplace (em um cenário de desenvolvedor). Eles também devem poder usar e congelar uma versão exata que testaram (em um cenário de produção).
Para atender a essas expectativas do cliente e serem publicados no mercado, os módulos IoT Edge devem atender aos requisitos a seguir
- Inclua uma marca de manifesto mais recente que aponte para a versão mais recente em todas as plataformas compatíveis.
- Crie marcas de versão no formato X.Y.Z, em que X, Y e Z são números inteiros.
- Inclua uma marca de "versão", como 1.0.1, que aponte para uma versão específica em todas as plataformas compatíveis.
- Não atualize as marcas de "versão", como 1.0.1, porque elas não devem ser alteradas.
Observação
Opcionalmente, o controle de versão pode incluir marcas de "versão dinâmica", como 2.0 e 1.0. Isso suporta a manutenção de várias versões principais em paralelo.
Telemetria
Os módulos que usam o SDK do módulo IoT devem definir o identificador de módulo exclusivo como PublisherId.OfferId.SkuId para fins de telemetria. Um identificador exclusivo ajuda o Azure Marketplace a identificar o número de instâncias do módulo em execução.
Use um dos seguintes métodos dos SDKs do Módulo IoT para definir o ProductInfo como este identificador:
Para os módulos que não usam o SDK do Módulo IoT, insights menos precisos estão disponíveis por meio do Partner Center, como o número de downloads.
Segurança
Os módulos IoT Edge devem evitar módulos com privilégios. Em vez disso, solicite ao host o acesso menos privilegiado possível.
SDK do Módulo do IoT
Incluir o SDK do Módulo IoT não é um pré-requisito para a certificação. No entanto, incluir o SDK do Módulo IoT pode fornecer uma melhor experiência do usuário. Por exemplo, para dar suporte ao roteamento ou ao enviar mensagens para a nuvem.
O SDK do Módulo IoT é necessário para obter dados de telemetria sobre o número de instâncias do módulo em execução.
Processo recertificação
Os parceiros serão notificados sempre que houver uma alteração interruptiva que afetar seus módulos, como:
- Matriz de suporte ao SO/Arch na camada 1 compatível com o IoT Edge
- Módulo do IoT do SDK
- runtime do IoT Edge
- Diretrizes de certificação do módulo IoT Edge
Os parceiros devem atualizar e certificar novamente as ofertas deles, publicando-as outra vez no Partner Center.
Sua oferta também será certificada novamente se você atualizá-la, por exemplo, adicionando novas marcas de imagem.
Módulo host no Registro de Contêiner do Azure
Para carregar seu módulo IoT Edge no Azure Marketplace, primeiro você precisa hospedá-lo em um ACR (Registro de Contêiner do Azure). O módulo deve incluir todas as marcas que você deseja publicar, inclusive as marcas de imagem referenciadas por uma marca de manifesto. Para obter mais informações, confira o tutorial Criar um registro de contêiner do Azure e efetuar push de uma imagem de contêiner.