Waste2Go: datos de flujo IoT con funciones en Oracle Cloud Infrastructure
Fundada en 2019 en São Paulo, Brasil, la misión de Waste2Go es mejorar la manera en que las empresas rastrean, recogen y transportan residuos. Al conectar sensores a depósitos de basura, la plataforma nativa en la nube de Waste2Go supervisa el volumen de residuos sólidos o líquidos en los puntos de recogida objetivo, sugiere las mejores rutas de camiones para la recogida y, a continuación, realiza un seguimiento de la recogida, el transporte y la eliminación de los residuos para optimizar los ciclos de recogida.
Arquitectura
El entorno de producción que se ejecuta en Oracle Cloud Infrastructure se encuentra en la región de Oracle Cloud en São Paulo, Brasil. Los servidores de aplicaciones se distribuyen en dos subredes, con un equilibrador de carga en cada uno. Estas subredes alojan los entornos front-end y back-end.
Waste2go ha diseñado su arquitectura para que los sensores que instalan en depósitos de residuos puedan enviar fácilmente datos a Oracle Functions, donde esos datos se pueden procesar y almacenar en una aplicación Docker. A medida que los sensores capturan el volumen y el tipo de residuos en cada depósito, Oracle Functions recopila los datos cifrados, descifra los datos mediante el código Python dentro de la función y, a continuación, almacena los datos en el sistema backend. Todos los datos se muestran en un cuadro de mando en el que los usuarios pueden controlar rápida y fácilmente los volúmenes de residuos y determinar el mejor momento y ruta para recoger los residuos de los depósitos.
El diagrama de arquitectura de Waste2Go muestra los siguientes componentes:
- Una VCN con dos subredes
- Dos equilibradores de carga
- Oracle Functions
- Máquinas virtuales (VM) de recursos informáticos que ejecutan contenedores Docker
El siguiente diagrama ilustra esta arquitectura de referencia.
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones y las grandes distancias pueden separarlas (entre países e incluso continentes).
- Dominio de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como alimentación o refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad es poco probable que afecte a los otros dominios de disponibilidad de la región.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes del centro de datos tradicionales, las VCN le proporcionan un control total de su entorno de red. Una VCN puede tener varios bloques CIDR no solapados que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, que se pueden acotar a una región o a un dominio de disponibilidad. Cada subred consta de un rango de direcciones contiguas que no se solapan con las otras subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Gateway de internet
El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.
- Funciones
Oracle Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, altamente escalable y bajo demanda. Se basa en el motor de origen abierto Fn Project. Las funciones le permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a los eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada de tráfico desde un único punto de entrada a varios servidores del backend.