AWS IoT Greengrass é um serviço de águas e nuvem de código aberto que ajuda você a criar, implantar e gerenciar aplicativos de vários processos em escala e em sua frota de IoT.
AWS IoT Greengrass lançou V2 em dezembro de 2020 com um tempo de execução Java Edge conhecido como um núcleo. Com Launch 2.14.0 Em dezembro de 2024, introduzimos uma opção adicional de tempo de execução, núcleo Liteque está escrito em C. aws IoT Greengrass Nucleus Lite é um leve, código aberto O tempo de execução de borda que tem como alvo os dispositivos com restrição de recursos. Ele estende os recursos funcionais do AWS IoT Greengrass a computadores de placa única de baixo custo para aplicações de alto quantity, como hubs domésticos inteligentes, medidores de energia inteligente, veículos inteligentes, AI de borda e robótica.
Este weblog explica os méritos das duas opções de tempo de execução do Edge e fornece orientação para ajudá -lo a escolher a melhor opção para o seu caso de uso.
Principais diferenças entre núcleo e núcleo Lite
AWS IoT Greengrass Nucleus Lite é totalmente compatível com o AWS IoT Greengrass API de serviço em nuvem v2 e o iComunicação NTER-Course of (IPC) interface. Isso significa que você pode criar e implantar componentes que podem segmentar um ou ambos os tempos de execução, e você pode continuar usando o serviço em nuvem para gerenciar sua frota de dispositivos. No entanto, o Nucleus Lite tem algumas diferenças importantes que a tornam mais adequada para alguns casos de uso.
Pegada de memória
AWS IoT núcleo verde -grão requer um espaço de disco mínimo de 256 MB e 96 MB de RAM. No entanto, geralmente recomendamos um mínimo de 512 MB de RAM para explicar o sistema operacional, a Java Digital Machine (JVM) e seus aplicativos. Dispositivos com pelo menos 1 GB de RAM são comuns.
Por outro lado, o Nucleus Lite tem uma pegada muito menor. Isto requer menos de 5 MB de RAM e menos de 5 MB de armazenamento (disco/flash). Não há dependência da JVM e depende apenas da biblioteca padrão C.
Figura 1: Pegada de memória do núcleo versus núcleo Lite
Esta pegada menor abre novas possibilidades para você criar aplicativos de IoT poderosos em dispositivos com restrição de recursos.
Alocação de memória estática
A pegada da memória do tempo de execução do Nucleus Lite é determinada durante o processo inicial de configuração e construção. Quando o tempo de execução começa, o Nucleus Lite aloca uma quantidade fixa de memória que permanece constante depois. Isso significa que o Nucleus Lite possui requisitos de recursos previsíveis e repetíveis, risco mínimo de vazamentos de memória e elimina a latência não determinística associada a idiomas coletados por lixo. As únicas variações no uso da memória são provenientes de alocações de memória dinâmica realizadas pelos componentes do Greengrass da AWS IoT que você escolhe implantar e por todos os programas que você executar fora do AWS IoT Greengrass.
Estrutura de diretório
O Nucleus Lite separa o tempo de execução do Nucleus Lite, componentes verdes, configuração e login em diferentes áreas no disco. Em um sistema Linux incorporado, esses elementos diferentes podem ser armazenados em diferentes partições ou mesmo em diferentes volumes. Por exemplo:
- O tempo de execução do Nucleus Lite pode ser armazenado em uma partição somente leitura, como parte de um esquema de particionamento A/B, para ativar as atualizações da imagem do sistema operacional (OS).
- Os componentes e a configuração do AWS IoT Greengrass podem ser armazenados em uma partição ou sobreposição de leitura e gravação para que seu aplicativo possa ser gerenciado pela AWS IoT Greengrass implantações.
- Os arquivos de log podem ser armazenados em uma partição temporária ou em um quantity físico diferente, para que o log não consuma os ciclos limitados de gravação da memória flash do seu quantity de raiz.
Essa separação ajuda a construir imagens de ouro para fabricar seus dispositivos em escala. Para mais informações, consulte, Dispositivos de fabricação em escala com AWS IoT Greengrass Golden Photographs.
Integração com Systemd
Systemd é uma estrutura de sistema e gerente de serviços, comumente disponível nos sistemas Linux, e é necessária para o núcleo de capim -verde da AWS IoT Lite.
Quando você instala o Nucleus Lite no seu dispositivo, ele é instalado como um Coleção de serviços Systemd ou daemons. Para quaisquer componentes do AWS IoT Greengrass que você optar por implantar no seu dispositivo, o Nucleus Lite também instala cada componente como um serviço distinto do Systemd. O Nucleus Lite pode ser considerado um Systemd gerenciado pela nuvem, operando em escala em uma frota de dispositivos.
Como você instala o Nucleus Lite e seus componentes como serviços Systemd, o SystemD lida e centraliza o log do sistema. Isso significa que você pode usar ferramentas familiares e comuns do sistema Linux para monitorar, manter e depurar seu software program de dispositivo
Escolhendo entre núcleo e núcleo Lite
Sua escolha entre o núcleo e o Nucleus Lite Run Instances depende do seu caso de uso específico, restrições de dispositivo, requisitos de recursos e sistema operacional. A tabela a seguir resume as indicações que podem ajudá -lo a escolher.
Quando você deve usar o núcleo? | Quando você deve usar o Nucleus Lite? |
|
|
Tabela 1: Indicações para escolher entre núcleo e núcleo Lite
As indicações descritas na Tabela 1 não são prescritivas, mas orientações gerais. Por exemplo, com base nas suas necessidades de casos de uso, você pode usar o Nucleus Lite em dispositivos ricos em recursos com gigabytes de RAM. Ou implantar componentes escritos em idiomas com script ou interpretar no Nucleus Lite, se o seu dispositivo tiver recursos suficientes.
Cenários e casos de uso
Casos de uso
Com seus requisitos de recursos significativamente mais baixos, o Nucleus Lite é adequado para dispositivos de baixo custo com memória restrita e capacidade de processamento e distribuições Linux incorporadas cuidadosamente selecionadas. Esses dispositivos abrangem muitos segmentos, incluindo medidas inteligentes, industriais, automotivas e inteligentes.
Sistemas incorporados
O Nucleus Lite representa um avanço significativo para os desenvolvedores de sistemas incorporados, incluindo o suporte ao Linux incorporado do lançamento, conforme entregue pelo Projeto Meta-AWS. Este projeto inclui receitas de amostra Para construir a AWS IoT Greengrass em seus projetos de Openembedded ou Yocto. Seu projeto irmã, Meta-AWS-Demosinclui inúmeras demonstrações de AWS IoT Greengrass, como Uma imagem demonstrando atualizações A/B usando RAUC.
Suporte de multilocação com núcleo de contêiner Lite
Com sua pequena pegada, o Nucleus Lite oferece a oportunidade de contêinerização eficaz em implantações de IoT com vários inquilinos. Você pode executar vários aplicativos isolados, cada um com seu próprio tempo de execução do AWS IoT Greengrass.
Figura 2: Recipiente de vários inquilinos
Benefícios de arquitetura:
- Isolamento seguro: Cada instância de contêiner mantém limites estritos entre os aplicativos.
- Otimização de recursos: A pegada leve permite vários contêineres, mesmo em ambientes restritos.
- Operações independentes: Os aplicativos podem ser gerenciados, depurados e atualizados de forma independente.
- Implantação flexível: Suporte para diferentes estratégias de contêiner com base nos recursos do dispositivo.
Melhores práticas para implementação
O uso do Nucleus Lite não exige que você reescreva seus componentes. No entanto, você pode optar por otimizá -los ou reescrever se quiser maximizar a eficiência da memória. Existem várias considerações importantes a serem lembradas.
Compatibilidade do plug -in
Núcleo componentes do plug -in são componentes Java especializados que têm uma integração rígida com o tempo de execução authentic do núcleo Java. Esses plugins não podem ser usados com o tempo de execução do núcleo Lite.
Considerações de linguagem componentes
Ao escolher linguagens de programação para seus componentes personalizados, você precisa considerar que cada intérprete de idioma ou ambiente de tempo de execução aumenta a pegada de memória geral. A seleção de idiomas como o Python compensará alguns dos benefícios de economia de memória do núcleo Lite. Se você selecionar Java, também precisará apresentar a JVM ao seu sistema.
Recomendações para diferentes cenários
Ao migrar do núcleo para o núcleo Lite, seus componentes existentes podem ser executados como está. Isso fornece uma transição rápida para o Nucleus Lite e mantém a funcionalidade enquanto você planeja quaisquer otimizações.
Ao começar do zero:
- Considere reescrever componentes críticos para obter a máxima eficiência.
- Escolha linguagens com o mínimo de tempo de execução, como C, C ++ ou ferrugem.
- Esforço de equilíbrio de desenvolvimento versus necessidades de otimização de memória
Ao planejar seu orçamento de memória:
- Contas de todas as dependências de tempo de execução em seus cálculos de memória.
- Avalie a pegada complete do sistema, não apenas o tamanho do núcleo Lite.
- Considere a consolidação do componente, quando apropriado.
Perspectivas e conclusão futura
Olhando para o futuro, a AWS IoT Greengrass Nucleus Lite ajuda você a reimaginar suas implementações de computação de borda. Ao reduzir significativamente os requisitos de recursos, você pode:
- Implante recursos da IoT em dispositivos com recursos limitados.
- Implementar soluções de computação de borda em uma gama mais ampla de {hardware}.
- Reduza a sobrecarga operacional, mantendo a funcionalidade.
- Ativar novos casos de uso anteriormente restringidos pelos requisitos de recursos.
Para os desenvolvedores, o Nucleus Lite oferece novas oportunidades para inovar no limite. Em vez de perguntar se a computação de borda é possível em dispositivos com restrição de recursos, você pode se concentrar na implementação de soluções que geram valor comercial.
Esse aprimoramento do portfólio da AWS IoT demonstra nosso compromisso em ajudá -lo a criar soluções de IoT eficientes e escaláveis em uma gama mais ampla de dispositivos e casos de uso.
Agora que você está pronto para começar a desenvolver soluções de IoT com a AWS IoT Greengrass Nucleus Lite, convidamos você a:
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Sobre os autores
Camilla Panni é um arquiteto de soluções na Amazon Internet Providers. Ela ajuda os clientes do setor público em toda a Itália a acelerar sua jornada de adoção em nuvem. Sua formação técnica em automação e IoT alimenta sua paixão por ajudar os clientes a inovar com tecnologias emergentes.
Greg Breen é um arquiteto de soluções especializadas em IoT na Amazon Internet Providers. Com sede na Austrália, ele ajuda os clientes em toda a Ásia -Pacífico a construir suas soluções de IoT. Com uma experiência profunda em sistemas incorporados, ele tem um interesse explicit em ajudar as equipes de desenvolvimento de produtos a trazer seus dispositivos ao mercado.