DigiFarm: Otimizar a Produção Agrícola Usando Modelos de Rede Neural no Oracle Cloud
DigiFarm executa sua plataforma de agricultura de precisão nativa da nuvem na OCI (Oracle Cloud Infrastructure), ajudando agricultores e outras empresas agroindustriais a determinar limites de acre de campo pré-implantados.
Com seus modelos de rede neural profunda em execução nas GPUs Oracle Bare Metal, DigiFarm ingere imagens de satélite ópticas da Agência Espacial Europeia (ESA), aumenta sua resolução e fornece um mapa de georreferência, que ajudou até agora cerca de 14.000 produtores em 30 países a delinear seus limites de acréscimos de campo semeados com precisão de 92%.
Arquitetura
Após a ingestão de imagens de satélite da Agência Espacial Europeia (ESA) usando um bucket público no Amazon Web Services (AWS), as imagens trazidas para uma instância no Oracle Cloud Infrastructure (OCI) e colocadas no Oracle Cloud Infrastructure Object Storage.
Em seguida, DigiFarm treina seu modelo de rede neural profunda para classificar e aprimorar a resolução dessas imagens em uma sub-rede privada em sete servidores Oracle bare metal.
Usando uma combinação de GPUs NVIDIA Tesla A100, V100 e P100, DigiFarm aplica seus modelos de inferência para ajudar a analisar as imagens aprimoradas e determinar os limites precisos dos acres pré-implantados de um agricultor. Uma vez delineados os limites, as imagens são armazenadas no armazenamento em blocos e, em seguida, são transformadas em mapas de georreferência e disponibilizadas aos clientes da DigiFarm.
Os clientes da DigiFarm podem acessar seus mapas de georreferência usando o Oracle API Gateway, que instrui o Oracle Cloud Infrastructure Functions a extrair as imagens delineadas do armazenamento em blocos.
Os diagramas a seguir ilustram a arquitetura. A primeira imagem mostra o workflow de treinamento e inferência de aprendizado de máquina e a segunda imagem mostra o workflow de serviços ao cliente.
- As instâncias de treinamento de delineamento de campo (armazenamento em blocos e bare metal) são provisionadas usando imagens do Docker.
- As instâncias de treinamento de delineamento de campo descarregam dados de imagens de satélite do ESA ou outras fontes usando o gateway NAT (Network Address Translation) e armazenam os dados no armazenamento em bloco.
- As instâncias de treinamento de delineamento de campo aprimoram as imagens usando o algoritmo de rede neural da Digifarm em execução nas GPUs NVIDIA em bare metal ao recuperar metadados do sistema de banco de dados compartilhado. Depois que o aprimoramento de imagem for concluído, as instâncias de treinamento de delineamento de campo serão desativadas.
- Imagens aprimoradas são salvas no armazenamento de objetos.
- O delineamento de campo e os mecanismos de inferência de resolução profunda recuperam dados do armazenamento de objetos, aplicam a vetorização e criam mapas georreferenciados.
- Os clientes da Digifarm acessam seus mapas georreferenciados usando uma API que é exposta usando o OCI API Gateway.
- A API permite que os clientes acessem uma biblioteca de funções de atendimento ao usuário criada na plataforma Oracle Cloud Infrastructure Functions.
- As funções de atendimento ao usuário extraem as imagens de satélite otimizadas do armazenamento de objetos e acessam os polígonos e metadados de linha limite de campo.
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões, e grande distância pode separá-las (entre países ou até mesmo continentes).
- Compartimento
Os compartimentos são partições lógicas entre regiões dentro de uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.
- Serviço IAM (Identity and Access Management)
Oracle Cloud Infrastructure Identity and Access Management (IAM) is the access control plane for Oracle Cloud Infrastructure (OCI) and Oracle Cloud Applications. A API do serviço IAM e a interface do usuário permitem que você gerencie domínios de identidades e os recursos dentro do domínio de identidades. Cada domínio de identidades do OCI IAM representa uma solução de gerenciamento de identidades e acesso independente ou outra população de usuários.
- Domínio de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos dos outros domínios de disponibilidade, que fornecem tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou rede interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade da região.
- Domínio de falha
Domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha, com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Uma VCN é uma rede personalizada e definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs permitem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contínuo de endereços que não se sobrepõem com as outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Lista de segurança
Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.
- Gateway de roteamento dinâmico (DRG)
O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.
- Gateway NAT (Network Address Translation)
Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões da internet de entrada.
- Gateway de Internet
O gateway de internet permite tráfego entre as sub-redes públicas em uma VCN e a internet pública.
- Serviço API Gateway
O Oracle API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor à internet pública, se necessário. Os pontos finais suportam validação de API, transformação de solicitação e resposta, CORS, autenticação e autorização e limitação de solicitação.
- Bastion host
O bastion host é uma instância de computação que atua como um ponto de entrada seguro e controlado para a topologia de fora da nuvem. O bastion host geralmente é provisionado em uma zona desmilitarizada (DMZ). Ele permite proteger recursos confidenciais colocando-os nas redes privadas que não podem ser acessadas diretamente de fora da nuvem. A topologia tem um único ponto de entrada conhecido que você pode monitorar e auditar regularmente. Dessa forma, você pode evitar a exposição dos componentes mais confidenciais da topologia sem comprometer o acesso a eles.
- Máquina Virtual
O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda da rede e armazenamento. Após criar uma instância de computação, você pode acessá-la de forma segura, reiniciá-la, anexar e desconectar volumes e encerrá-la quando não precisar mais dela.
- Instâncias de treinamento: essas instâncias são usadas para desenvolver e verificar o modelo de aplicativo, como uma simulação de rede neural. Os nós de treinamento são instâncias avançadas que recuperam dados do Oracle Cloud Infrastructure Object Storage, executam operações nos dados de acordo com o modelo que está sendo usado e armazenam os dados no Oracle Cloud Infrastructure Block Volumes compartilhado anexado.
- Servidor de inferência: Essas instâncias preparam os dados processados pelos nós de treinamento e armazenados nos volumes em blocos para consumo por aplicativos do usuário.
- Bare metal: A configuração bare metal pode reduzir a duração do cálculo em 50% quando comparada às instâncias de máquina virtual que executam menos cargas de trabalho com uso intenso de computação.
- Funções
O Oracle Cloud Infrastructure Functions é uma plataforma totalmente gerenciada, multitenant, altamente escalável, sob demanda, do Functions-as-a-Service (FaaS). É alimentado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou o acione em resposta a eventos. O Oracle Functions usa contêineres Docker hospedados no Oracle Cloud Infrastructure Registry.
- Sistema de banco de dados
O sistema de banco de dados permite criar, escalar e proteger facilmente bancos de dados Oracle com preços incluídos na licença no Oracle Cloud. Você também pode aproveitar o Oracle Cloud Infrastructure para gerenciar bancos de dados Oracle em seu data center juntamente com seus bancos de dados na nuvem.
- Object Storage
O armazenamento de objetos fornece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento de forma integrada, sem perder nenhuma degradação no desempenho ou na confiabilidade do serviço. Use o armazenamento padrão para armazenamento "dinâmico" que você precisa para acessar rapidamente, imediatamente e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente ou raramente acessa.
- Volume em blocos
Com volumes de armazenamento em blocos, você pode criar, anexar, conectar e mover volumes de armazenamento, além de alterar o desempenho do volume para atender aos requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perder dados.
Obter Recursos Criados e Implantados
Deseja mostrar o que você criou no Oracle Cloud Infrastructure? É importante compartilhar suas lições aprendidas, melhores práticas e arquiteturas de referência com nossa comunidade global de arquitetos de nuvem? Vamos ajudá-lo a começar.
- Faça download do modelo (PPTX)
Ilustre sua própria arquitetura de referência arrastando e soltando os ícones na estrutura de fio de amostra.
- Assistir o tutorial de arquitetura
Obtenha instruções passo a passo sobre como criar uma arquitetura de referência.
- Envie seu diagrama
Envie-nos um e-mail com seu diagrama. Nossos arquitetos de nuvem analisarão seu diagrama e entrarão em contato com você para discutir sua arquitetura.

