In this paper, we present a practical solution to support the adaptable and automated deployment of applications of Small Unmanned Aerial Vehicles (SUAVs). Our solution is based on virtualization technologies, and considers SUAVs as programmable network platforms capable of executing virtual functions and services, which may be dynamically selected according to the requirements specified by the operator of the aerial vehicles. This way, SUAVs can be flexibly and rapidly adapted to different missions with heterogeneous objectives. The design of our solution is based on Network Function Virtualization (NFV) technologies, developed under the umbrella of the fifth generation of mobile networks (5G), as well as on existing Internet protocol standards, including flying ad hoc network routing protocols. We implemented a functional prototype of our solution using well-known open source technologies, and we demonstrated its practical feasibility with the execution of an IP telephony service. This service was implemented as a set of virtualized network functions, which were automatically deployed and interconnected over an infrastructure of SUAVs, being the telephony service tested with real voice-over-IP terminals.