  (1) Background: Container orchestration frameworks provide support for
management of complex distributed applications. Different frameworks have
emerged only recently, and they have been in constant evolution as new features
are being introduced. This reality makes it difficult for practitioners and
researchers to maintain a clear view of the technology space. (2) Methods: we
present a descriptive feature comparison study of the three most prominent
orchestration frameworks: Docker Swarm, Kubernetes, and Mesos, which can be
combined with Marathon, Aurora or DC/OS. This study aims at (i) identifying the
common and unique features of all frameworks, (ii) comparing these frameworks
qualitatively and quantitatively with respect to genericity in terms of
supported features, and (iii) investigating the maturity and stability of the
frameworks as well as the pioneering nature of each framework by studying the
historical evolution of the frameworks on GitHub. (3) Results: (i) we have
identified 124 common features and 54 unique features that we divided into a
taxonomy of 9 functional aspects and 27 functional sub-aspects. (ii) Kubernetes
supports the highest number of accumulated common and unique features for all 9
functional aspects; however, no evidence has been found for significant
differences in genericity with Docker Swarm and DC/OS. (iii) Very little
feature deprecations have been found and 15 out of 27 sub-aspects have been
identified as mature and stable. These are pioneered in descending order by
Kubernetes, Mesos, and Marathon. (4) Conclusion: there is a broad and mature
foundation that underpins all container orchestration frameworks. Likely areas
for further evolution and innovation include system support for improved
cluster security and container security, performance isolation of GPU, disk and
network resources, and network plugin architectures.
