Skip to main content

Infrastructure & Integration

The FleetCore platform relies on a distributed AWS infrastructure to handle secure communication, data storage, and real-time streaming. This page explains how these components interact and why they were chosen.

System Architecture Design​

Below is the current architecture design for the FleetCore platform.

FleetCore Architecture


Key AWS Components​

1. AWS IoT Core​

IoT Core handles the secure, bidirectional communication between the FleetCoreServer and the OnboardAgent.

  • How it works: Each drone is provisioned as an "IoT Thing" with unique X.509 certificates.
  • Why IoT Jobs? We use IoT Jobs to deploy missions. This ensures that even if a drone is temporarily offline, it will receive the mission command as soon as it reconnects.
  • Scheduling: The system utilizes Job Scheduling to allow coordinators to plan missions that start at a specific future time. The job lifecycle (PENDING -> IN_PROGRESS -> SUCCEEDED) provides built-in status tracking.

2. Kinesis Video Streams & WebRTC​

Enables low-latency video streaming and manual control from the FleetCoreDesktop app to the drone.

  • How it works: KVS Signaling Channels are used to perform the WebRTC handshake. Once the handshake is complete, a Peer-to-Peer (P2P) connection is established.
  • Data Channels: We utilize WebRTC Data Channels to send low-latency manual flight commands from the FleetCoreDesktop to the OnboardAgent.
  • Why WebRTC? It bypasses the server entirely for both video and control data, ensuring the lowest possible latency for manual flight operations.

3. SQS & Lambda​

Telemetry and detections are handled asynchronously to ensure system stability.

  • SQS (FleetCoreTelemetry): Acting as a buffer, it decouples the high-frequency telemetry incoming from the drones from the processing speed of the Quarkus server.
  • Lambda (process-detection): Triggered by the AWS IoT routing engine when a drone publishes a detection message (via AI/ML processing). It populates the database with the detection metadata and S3 image reference, ensuring the main FleetCoreServer remains stateless by offloading database writes.

4. Amazon Cognito​

Manages the authentication for platform operators (Coordinators).

  • How it works: FleetCoreDesktop authenticates with Cognito to receive a JWT. This token is then used to authorize REST API calls to the FleetCoreServer.