Jun 25, 2023
Lance aplicativos satélite com o Microsoft Azure
Por Simon Bisson, colunista, InfoWorld | A transição do Microsoft Azure para uma plataforma baseada em Kubernetes deu-lhe uma capacidade interessante que está lentamente começando a se transformar em uma plataforma competitiva
Por Simon Bisson, colunista, InfoWorld |
A transição do Microsoft Azure para uma plataforma baseada em Kubernetes deu-lhe uma capacidade interessante que está lentamente a começar a transformar-se numa vantagem competitiva: o Azure agora é portátil.
Já estamos vendo alguns aspectos dessa portabilidade nas soluções de borda do Azure, baseadas no Azure Arc e no Azure Stack, e nas capacidades de enviar Serviços Cognitivos do Azure em contêineres para hardware de borda e para executar funções sem servidor fora da nuvem. Uma nuvem portátil oferece muita flexibilidade, com modelos de desenvolvimento nativos da nuvem que podem ser dimensionados desde computadores Raspberry Pi de placa única até sistemas distribuídos globais executados em diversas regiões geográficas.
Ao mesmo tempo, a nuvem escalonável e portátil permite que você use as mesmas APIs e SDKs em qualquer lugar que desejar. Não é inteiramente uma solução do tipo “grave uma vez, execute em qualquer lugar”, mas você tem um ambiente escalável, flexível e combinável que pode ser gerenciado usando ferramentas familiares de orquestração Devops em toda a pilha.
Agora a Microsoft está levando o Azure para o espaço. O Azure Space é o invólucro de uma gama de diferentes ferramentas e tecnologias, desde estações terrestres de satélite portáteis até ao Azure Orbital Space, uma plataforma de desenvolvimento para aplicações baseadas no espaço. Para aqueles de nós que escrevem código, o Azure Orbital Space é o mais interessante. Quase um ano depois de anunciá-lo, a Microsoft está mantendo seu Orbital Space SDK sob sigilo; o SDK para construção de aplicativos independentes de satélite está disponível apenas por meio de uma visualização privada.
No entanto, podemos ter uma boa ideia do que ele oferece a partir da documentação pública disponível e dos repositórios GitHub. O que está claro é que, como esperado, ele se baseia no mesmo conjunto de tecnologias Azure que a Microsoft está usando para sua plataforma de ponta, tratando os satélites simplesmente como mais um host de ponta. Isso significa que deve ser muito fácil pegar qualquer código de borda existente do Azure e enviá-lo para o espaço.
Os aplicativos são executados em uma plataforma virtualizada que fornece interfaces comuns para comunicações, dados e sensores, com aplicativos criados no Visual Studio Code usando pipelines de CI/CD familiares e estruturas de teste. Depois que um aplicativo é construído, ele pode ser carregado em hardware em órbita que suporta contêineres e Dapr, o tempo de execução de aplicativo distribuído de código aberto. Esta abordagem apoia o desenvolvimento e a partilha de modelos para aplicações espaciais comuns, bem como a capacidade de realizar mais processamento de dados num satélite.
Por exemplo, um satélite de observação da Terra poderia utilizar modelos de visão computacional alojados em contentores para identificar, por exemplo, incêndios florestais nas imagens que capta. Ao identificar locais de incêndio em órbita, o satélite poderia enviar apenas as imagens e dados de localização relevantes para o solo, em vez de consumir largura de banda limitada para enviar todos os dados de imagem para uma estação terrestre para processamento. Com as ferramentas de IA e capacidades de borda do Azure no centro do programa AI for Earth da Microsoft, as aplicações e ferramentas de recursos terrestres existentes podem ser colocadas onde são necessárias a um custo mínimo, dando aos países em desenvolvimento acesso a dados valiosos.
A inteligência a bordo baseada nestas abordagens está agora a alimentar uma nova geração de hardware de satélite, algures entre os cubesats de baixo custo com sensores relativamente simples e uma dependência de análises baseadas em terra, e as maiores plataformas de imagem de recursos terrestres operadas pelo governo. Aqui você está trabalhando com hardware projetado para computação local, uma plataforma de médio porte com sensores de resolução mais alta. Você pode pensar nisso como um data center de ponta no espaço.
Outro aspecto útil do Azure Orbital Space SDK é que ele simplifica a atualização de software espacial conforme necessário. Usar o Dapr como destino de implantação garante que o código endereça um conjunto conhecido de APIs e, como o Dapr é executado como um arquivo secundário de contêiner, o contêiner do seu aplicativo se torna sua unidade de implantação, consumindo componentes do Dapr conforme necessário. O código pode ser construído e testado na Terra, usando um conjunto local de serviços de satélite virtualizados, permitindo que o código seja validado nas APIs antes de ser carregado no host contêiner do seu satélite.