agora pessoal vamos colocar um pouquinho aqui mais de governança tá então o primeiro modelo que nós fizemos aqui é um modelo local para testar local legal mas quando eu tenho milhares de dispositivos como eu faço isso como eu faço essa operação no dia a dia então eu vou mostrar de como que a gente vai fazer isso então primeiramente nós vamos criar um bucket onde a gente vai colocar os nossos artefatos tá então aqui na verdade vai ser um repositório onde a gente vai colocar as versões, os nossos arquivos Python, para que a gente possa disponibilizar pela plataforma. Então, legal. Vamos clicar aqui em Create Bucket. Um ponto importante sobre o bucket. O bucket é um nome único. Então, o que eu quero dizer com nome único? O bucket pode existir um único bucket na AWS como um todo. Exemplo, se eu colocar aqui gglab e já existe esse bucket, não tem a possibilidade de eu criar então aqui vocês podem criar o nome que vocês quiserem tá então a minha sugestão aqui eu vou utilizar a data aqui de hoje eu vou colocar aqui lab legal e aqui basicamente eu não vou me aprofundar em outras configurações referente ao bucket mas basicamente podemos utilizar aqui as configurações de full. Um ponto importante, só para relembrar algumas coisas. Quando a gente falou do IAM e a gente colocou algumas permissões de S3 para ter full access, já estávamos pensando aqui no nosso laboratório. Um ponto importante é que as permissões do Greengrass, elas tenham a permissão do S3, caso você utilize o S3, tudo bem? Então, é necessário o seu device ter essa permissão para poder fazer o download dos artefatos. Então, vou clicar aqui no nome. Vamos clicar em Upload. e agora aqui eu vou clicar em upload. Pronto. Então os arquivos estão lá. Vamos dar uma navegada aqui só para vocês entenderem. Então entrando aqui dentro do bucket eu tenho uma folder com o nome do meu component. Então achei um modelo mais fácil para organizar. Dentro dela eu tenho as versões desses meus components, e dentro dela eu tenho aqui meu arquivo Python. Aqui percebam, é só um detalhe, você pode ter um único script Python, ou você pode ter um arquivo zipado com vários scripts um código muito mais complexo para ser executado tá então vou clicar aqui e ele vai te dar essa informação aqui do s3-ri anotem essa esse endereço iremos utilizar bom então agora vamos retornar para a console do Greengrass. Agora vamos explorar um pouquinho dos components. Então, só para relembrar, o que são os componentes? Os componentes, basicamente, são features, funcionalidades que você pode disponibilizar, codar e deixar disponível aqui na sua conta do Greengrass. Então, basicamente, eles vão ficar visíveis aqui em My Components. Então, são os componentes que nós desenvolvemos. Temos os Public Components. Basicamente, são componentes que a AWS cria para vocês utilizarem. Exemplo, quero me conectar através do Greengrass em um SQS. Legal, tem um componente aqui. E existem outros componentes que são da comunidade. Então, você também pode estar conectando aqui. Um detalhe importante, né? Então, voltando aqui no My Components, aquele componente que nós criamos, né? Que foi local, enfim, rodando direto na máquina, ele não aparece aqui. Por quê? Porque ele não está sendo gerenciado pela Amazon. Basicamente, ele é um componente local ali daquela máquina. Então, o ciclo de vida dele se limita àquela máquina em específico. E aí, vamos criar o nosso componente. Agora, esse componente será governado. Então, a gente vai ter toda uma visibilidade de quantidade de versões que existe esse componente. Aqui te dá um grande overview de governança também. Então, vamos lá. Create component. Iremos mudar aqui para YAML. iremos mudar aqui para yaml, basicamente nesse yaml aqui, ele é muito similar ao que nós já havíamos comentado, então, nome do componente, versão, a descrição, como que ele está sendo publicado, deployado ali, as suas configurações default, as suas configurações de full, quais são os tipos de plataforma que ele aceita. Então, basicamente a mesma coisa do que a gente já fez anteriormente. Tem um ponto importante aqui que aparece algo novo aqui que a gente não explorou e aí a gente vai conectar o s3 então o arquivo que a gente colocou ali no nosso bucket aqui dentro do nosso do nosso green grass do nosso componente tá basicamente é ou você vai ter um zip ou você vai ter um zip, ou você vai ter um arquivo. E um detalhe importante, você pode ter mais de um artefato. Percebam que é uma lista. Então, exemplo, eu tenho... Realmente, eu não quero criar um zip. Eu quero ter arquivo por arquivo ali dentro do meu bucket. Aqui é possível você trazer todos esses arquivos para dentro do seu Greengrass, do seu device. Então, vamos lá. A gente vai pegar aqui um arquivo. Então, como a gente comentou, eu vou me atentar aqui somente à parte do artefato. Então, colocamos aqui aquele endereço que eu havia comentado para vocês copiarem. E um detalhe importante, no exemplo que ele dá aqui no Greengrass, ele não tem a parte de plataforma Windows. E aqui só para preservar algo homogêneo, como a gente fez um teste onde a gente criou um componente localmente para testar que também tinha o Windows, então vamos colocar aqui também. Então vamos clicar em Create Component. Detalhe super importante, se seu componente estiver mal configurado, ou por algum motivo não está funcional tem um ponto aqui que é a gente não vai testar ele não está sendo testado ele está olhando todo o seu manifesto ali pra ver se está correto se seu manifesto estiver incorreto o status aqui não vai estar como deploy Então, esse é um ponto super importante. Outra coisa que eu comentei, versão. Então, aqui a gente tem um conceito de versionamento. E aqui a gente consegue criar revisões. Então, a ideia desse componente é que ele seja vivo e que ele possa ter várias versões e assim por diante. E agora nós vamos fazer o seguinte, nós vamos fazer o deploy deste componente no nosso Greengrass. E aí vocês vão ver como que isso se amarra, esses dois pontos. E um detalhe importante, o Greengrass,grass consegue gerenciar esses deployments. O que eu quero dizer com isso? Caso o seu dispositivo não esteja conectado na internet naquele momento, ele não vai perder aquela atualização. do Greengrass, ele vai ter esse mecanismo de retentar o deploy naquele seu dispositivo, naquele seu grupo de deployments. Agora, galera, vamos para a cereja do bolo. Então, aqui eu acho que é a parte final do nosso laboratório. Então, vamos lá. Então, na mesma tela aqui do component, temos aqui um botãozinho chamado deploy vamos clicar no deploy e aí percebam que já existe um deploy então aqui basicamente você pode criar um deployment novo tá isso consiste no na abordagem de como que é esse deployment, tá bom? Então, pode ser por grupo, pode ser por device, pode ser por um grupo que você determinou, tudo bem? E aqui a gente vai usar o deployment, por conta que a gente tem um único device aqui, vamos utilizar o deployment for gglab. Então, vamos dar um next. E aí, aqui começam algumas configurações. Então, a gente pode aqui alterar o nome desse deployment aqui. Então, é muito mais informativo. Eu vou preservar esse nome aqui por hora, tudo bem? E aqui a gente pode colocar algumas tags também, então é um ponto para governança, para você encontrar qual é o deployment, então são coisas interessantes a se configurar no mundo real, no dia a dia. Então a gente vai clicar aqui em Next. Aqui a gente consegue ver quais são os deployments então aqui significa o que o que eu quero de ploiar né que eu vou colocar lá no meu device greengrass isso aqui é uma parte super importante tá é porque aqui se você um exemplo desmarcar esse aws greengrass ele vai desinstalar o nosso CLI do nosso device. Então, o deployment tem uma característica que é o seguinte, na verdade é um pacote inteiro, um pacote fechado com as versões ali, com as suas features que são necessárias, e ele vai empurrar essas features. E ele faz um depar, ele vai falar, pô, essa feature aqui eu não utilizo mais, então eu tiro. Essa feature aqui, ela atualizou, então eu vou atualizar. Essa feature aqui é nova. Então, aqui é uma parte muito importante. Então, vamos deixar o nosso component e vamos deixar aqui também o nosso component também que ele nos sugeriu aqui pra gente também fazer a atualização e o versionamento, tá bom? Então, next. Aqui é um outro detalhe importantíssimo também. Ele mostra aqui quais são as versões que eu quero utilizar, né? Então, aqui default, ele traz sempre as latest, então sempre as versões mais novas, mas pode haver casos que eu não quero essa versão nova. Um detalhe importante, a gente pode clicar aqui em Configure Components, das configurações, o que a gente quer, o que a gente pode mudar conforme cada publicação dentro do nosso Greengrass, do nosso componente. Aqui eu vou mudar um pouquinho, eu vou colocar um Hello World. Então, vamos mudar um pouco a mensagem aqui a gente vai colocar cloud uma simples configuração porém a gente pode aqui fazer outras configurações muito interessantes. Exemplo, qual que é o usuário grupo daquele sistema operacional que ele vai rodar? Qual que é a limitação de memória que ele pode rodar referente àquele seu pedacinho de componente? Isso aqui ajuda muito no dia a dia, um exemplo, a máquina não reiniciar por conta de ter falta de memória, né? Ou ter uma lentidão porque ela está consumindo, o seu script está mal dimensionado e ele está consumindo toda a CPU. Então, aqui ajuda também nesses dois quesitos, tá? Então, vamos colocar aqui para confirmar. nesses dois quesitos, tá? Então, vamos colocar aqui para confirmar. Legal, então, eu tenho uma modificação, ele mostrou aqui que eu modifiquei alguma coisa, e aí vamos dar um next. Aqui, ele basicamente fala de quanto em quanto tempo que ele vai tentar o update, quanto tempo que ele vai esperar, enfim. Então, aqui também a gente não vai fazer nada, e caso se dê falha, se tem rollback, então você pode fazer um rollback automatizado do seu deployment ali, do seu pacote. Vamos dar um next. E aqui ele me dá um overview de tudo que a gente fez ali nas configurações. Então, vamos clicar aqui em deploy. Vamos clicar aqui em deploy. E aí, percebam que nós fomos redirecionados para os deployments. Também podem ser acessados aqui pelo nosso menu deployments. O que tem de interessante aqui? Então, aqui ele mostra tudo o que a gente está fazendo, tudo o que a gente rodou nesse deployment. Então, legal, galera. Agora, nós vamos validar se o nosso component foi instalado com sucesso no nosso device. Então, vamos lá. Aqui no nosso menu esquerdo, no Core Devices, vamos clicar aqui, nós vamos selecionar o nosso dispositivo GGLab, legal, e aqui eu acho que a gente já entra com o primeiro conceito, tá? Aqui ele mostra para vocês todos os components que estão instalados dentro do seu dispositivo. Aqui você consegue ver quais são os componentes que estão funcionando, quais são os componentes que estão com problema, quais são as versões dos componentes que você está usando, exemplo, você pode cair em um cenário que, todos os meus Edge Computings de uma região tal estão funcionando, porém um deles não está funcionando. E aí quando você começa a comparar esses dois Edge Computings, você fala, aqui eu estou com um componente desatualizado, minha feature está desatualizada. estou com um componente desatualizado, minha feature está desatualizada. E aí, você pode preparar o modelinho que nem a gente fez aqui para atualizar esse seu dispositivo. Então, aqui eu acho que é o primeiro cenário e o primeiro lugar aqui que a gente tem um pouquinho de governança, um pouquinho de gestão de ativos que você pode tirar aqui dessa primeira visualização. Legal? E aí, aqui são os deployments. Então, aqui a gente tem o histórico de todos os deployments que rodaram, de tudo que aconteceu dentro do seu dispositivo Greengrass. Então, isso daqui é bom porque você consegue saber quando que houve uma alteração, quando mudou um comportamento. Então, aqui você tem todo esse overview. E aí, um detalhe, que aqui é o nosso ID do nosso deployment, basicamente é o nosso ticket do deploy, vamos colocar assim. E aí, aqui a informação é que o nosso deployment foi com sucesso. Legal? Então, funcionou tudo legal. Vamos conferir se isso é verdade dentro do nosso dispositivo. Então, vamos acessar o nosso dispositivo. Primeiramente, nós iremos ver os deployments. Então, quando eu entro aqui no nosso diretório de deployments, percebam, o ID que está aqui no nosso diretório de deployments é o mesmo ID que está na console da AWS. Então, isso daqui significa o quê? Esse daqui é o deployment que está rodando atualmente dentro do nosso Greengrass. Legal? Outro ponto importante é que, quando a gente olha aqui, ele está falando que o nosso deployment foi configurado com sucesso. Então, significa o quê? Que ele rodou, que ele está funcionando. E aí, vamos agora olhar a cereja do bolo aqui. Realmente isso funcionou? Então, vamos dar uma olhada. Vou entrar aqui no log, lembrando que o nosso dispositivo, que o nosso componente, ele é um componente que não é long running, então ele executou uma única vez, tudo bem? E aí ele executou colocando aqui Hello Cloud. Lembram que no deployment a gente configurou para que a gente mudasse a informação do Hello World, mudasse a informação do hello world a mudasse a informação de ful ea gente colocou aqui um hello cloud vamos agora aqui falar um pouquinho do nosso review do nosso lab então a primeira coisa que nós configuramos foi o usuário no iam com as suas credenciais basicamente é, é o core da AWS, é o core da cloud. Então, tudo a gente pensa em IAM, tudo a gente pensa em segurança, tudo a gente pensa em permissionamento. Então, é necessário fazer. Segundo passo é a configuração do nosso dispositivo Greengrass na AWS. a configuração do nosso dispositivo Greengrass na AWS. Aqui a gente não está ainda configurando literalmente o produto no nosso dispositivo. Lembram, precisamos configurar os nossos dispositivos na AWS para utilizar o produto Greengrass. Aqui a gente entra um pouquinho mais no dispositivo. A gente precisa configurar alguns pré-requisitos. Então, para usar o Greengrass, nós precisamos configurar o SDK e as credenciais do IAM para que esse dispositivo possa utilizar o Greengrass. Neste outro momento, nós realmente instalamos o Greengrass dentro dos nossos dispositivos. Então, basicamente, nós instalamos o core para utilizar o produto da AWS. Nós criamos um módulo local, um componente local dentro do Greengrass para que a gente possa testar, validar e usar o modelo de teste local aqui. Então, um pouquinho talvez do dia a dia de um desenvolvedor de Edge Computing. Criamos aqui um bucket para armazenar os artefatos. Basicamente, nós pegamos aquele módulo que nós criamos localmente e colocamos dentro do bucket lembrando você pode ter vários arquivos você pode ter um zip e aí depende muito da sua estratégia de como você quer governar esses artefatos tá e por fim a cereja do bolo é, a gente fez um deploy de um módulo que nós construímos aqui do zero, um módulo super simples, utilizando a AWS e nós vimos ele sendo deployado dentro do nosso dispositivo que estava rodando o Greengrass. Thank you. you you you you you you you you you you you you you you you you you you