Skip to content

Infrastructure

Paul edited this page Mar 26, 2023 · 1 revision

Our infrastructure is hosted on GCP in a serverless manner. Let's run through the logical components of the architecture below

GCP (3)

  1. New code triggers the creation of CI/CD pipelines. When these succeed, new containers with the latest version of the image processing pipeline are pushed to the Artifact Registry, making them available for testing and use.
  2. (In progress) Using Cloud Pub/Sub, a bidirectional MQTT communication protocol, the drone acts as an IoT device, transmitting telemetry and images to the cloud. That data is saved in the persistence layer for later use.
  3. New information from the drone can trigger an image processing pipeline. We're using Cloud Run to fetch the latest build from the Artifact Registry, and run it against the data from the drone to extract valuable insights. The processed data is progressively updated and persisted.
  4. The persistence layer provides document storage through Firestore and big object storage in Cloud Store. We use the latter to store images, test data, artifacts, and model weights, using the former to describe that data.
  5. Our users can access their data readily through Firebase. The Cloud Functions layer serves as an API that connects Firestore and Cloud Storage data together.
Clone this wiki locally