INFRASTRUCTURE AS A SERVICE INTRA-PLATFORM INTEROPERABILITY: An Exploratory Study with OpenStack
Interoperability
Vendor lock-in
Infrastructure as a Service
Intra-platform
Multicloud
OpenStack
OpenStack SDK.
The emergence of new digital technologies come with challenging technical and business requirements. The traditional approach to provide computational infrastructure to application workloads, which relies on in-house management of hardware, does not present technical and cost-effective attributes to deliver high-performance, reliability and scalability. As the biggest technologic paradigm shift in the history of humanity, cloud computing allows diverse deployment and service model alternatives, suitable to diverse requirements, such as security, latency, computational performance, availability and cost. Therefore, numerous companies distribute thousands of clouds worldwide, creating an equitable market through competition, where players create unique features to differentiate from competitors. Consequently, in the consumer side, picking a vendor tipically translates into vendor lock-in, a situation where the applications heavily depend on the vendor’s approach of exposing features, making it difficult to switch between vendors whenever convenient or to support complex scenarios across multiple distributed heterogeneous clouds, such as federation. An immediate work-around for users is to pick cloud solutions that implement standards or post-facto open source platforms, such as OpenStack, which are assumed to provide native interoperability between installations. In the industry, however, OpenStack proves that the lack of interoperability is a real concern even between its deployments, due the high flexibility and complexity of supported use cases. Therefore, this investigation documents intra-platform interoperability, as in OpenStack, presenting in detail the Python client library created by the community to abstract deployment differences, counting with numerous and significant contributions from the author. Afterwards, an extensive validation of that library is performed across one testing and five production clouds from different vendors worldwide, because despite the fact the library is extensively used by the community, it had never been formally validated. The validation unveiled bugs, functionality and documentation gaps. Since the OpenStack intra-platform interoperability had never been documented in the literature, a systematic literature review followed, allowing a deep comparison of the state of the art of vendor lock-in taxonomy and approaches in opposition to that library, presenting its advantages, disadvantages and recommendations for users. Lastly, the suggestions for future work include support for multiple programming languages and the adoption of the client library as a standard for inter-platform interoperability.