A major challenge of UAV research is facilitating the local development, deployment and testing of multi-UAV systems. Inspired by cloud computing, this work proposes Starling, a fullstack, compositional, containerised UAV infrastructure utilising ROS2, Gazebo, PX4, Docker and Kubernetes. By modelling individual UAVs as nodes in a compute cluster, our architecture is natively scalable, fault tolerant and allows for the flexible deployment of custom applications in both simulation and in reality. These technologies allow us to facilitate reproducible research while provide a lower barrier of entry for potential users, as well as the reuse of flight hardware for multiple projects. A multi-UAV path planning case study is presented to demonstrate the streamlined workflow of developing a controller from simulation to reality.