Abstract
Cloud service brokerage enables the cloud service ecosytem to become more interoperable and allows users to migrate between offerings easily. To this end, we developed a multi-cloud storage broker in the format of an API to allow objects to be stored and retrieved uniformly across a range of cloud-based storage providers, allowing for portability and easy migration of software systems. This multi-cloud storage abstraction is implemented as a Java-based multi-cloud storage API and supports GoogleDrive, DropBox, Microsoft Azure and Amazon Web Services as sample service providers. The library offers three services, namely a file service, blob service and table service. A test application was used to compare storage operations across different providers. The abstraction is based on a layered ontological framework. While many multi-cloud applications exist, we will focus on mapping the layered ontology onto a design pattern-based organisation of the architecture to demonstrate how this meets often required maintainability and extensibility properties.