Waste2Go: Stream IoT Dados Usando Funções no Oracle Cloud Infrastructure

Fundada em 2019 em São Paulo, Brasil, a missão Waste2Go é melhorar a forma como as empresas rastreiam, coletam e transportam resíduos. Ao anexar sensores a lixeira, a plataforma nativa da nuvem de Waste2Go monitora o volume de resíduos sólidos ou líquidos em pontos de coleta de destino, sugere as melhores rotas de caminhão para coleta e, em seguida, rastreia a retirada, o transporte e o descarte dos resíduos para otimizar os ciclos de coleta.

História do Cliente

Saiba mais sobre a jornada da Waste2Go para o Oracle Cloud:

Arquitetura

O ambiente de produção em execução no Oracle Cloud Infrastructure está localizado na região do Oracle Cloud em São Paulo, Brasil. Os servidores de aplicativos são distribuídos entre duas sub-redes, com um balanceador de carga em cada uma. Essas sub-redes hospedam os ambientes front-end e back-end.

Waste2go projetou sua arquitetura para que os sensores instalados em compartimentos de resíduos possam enviar facilmente dados para o Oracle Functions, onde esses dados podem ser processados e armazenados em um aplicativo Docker. Como os sensores capturam o volume e o tipo de desperdício em cada compartimento, o Oracle Functions coleta os dados criptografados, descriptografa os dados usando o código Python dentro da função e armazena os dados no sistema de backend. Todos os dados são exibidos em um painel, no qual os usuários podem monitorar de forma rápida e fácil volumes de resíduos e determinar o melhor tempo e rota para coletar os resíduos dos compartimentos.

O diagrama da arquitetura de Waste2Go mostra os seguintes componentes:

  • Uma VCN com duas sub-redes
  • Dois balanceadores de carga
  • Oracle Functions
  • Computar máquinas virtuais (VMs) executando contêineres Docker

O diagrama a seguir ilustra essa arquitetura de referência.



waste2go-oci-arch-oracle.zip

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, denominados domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • 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 de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou a rede interna de domínios de disponibilidade. Portanto, uma falha em um domínio de disponibilidade provavelmente não afetará os outros domínios de disponibilidade na região.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes de data center tradicionais, as VCNs permitem controle total sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você poderá alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter como escopo uma região ou um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não são sobrepostos 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.

  • Gateway de internet

    O gateway de internet permite tráfego entre as sub-redes públicas em uma VCN e a internet pública.

  • Funções

    O Oracle Functions é uma plataforma Functions-as-a-Service (FaaS) totalmente gerenciada, multitenant, altamente escalável, sob demanda. Ele é ativado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou acione-o em resposta a eventos. O Oracle Functions usa contêineres Docker hospedados no Oracle Cloud Infrastructure Registry.

  • Balanceador de carga

    O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.