We had an existing system that relied on using a limited selection of 3rd party Cloud Storage Providers, with plans on making our usage of cloud storage much more tightly integrated with our system and make it look more as part of the system and not some weak tack on. We also had desires of providing our own cloud storage as an option, likely on AWS S3. Our first task was to make sure we supported the existing list of Cloud Storage providers so we looked in to their APIs and it didn't take long to realize that although very similar in functionality we would need to have implementations for each provider meaning that we had to also support updates and changes to each API as well as implement our future features multiple times. With the addition of our desire to add our own cloud storage option it was quickly adding up in development time and ongoing maintenance time. This was more than we could deal with from such a small team while keeping pace on new features to keep us ahead of competition. Researching if anyone else had commented on the same issue of supporting multiple APIs we came across Cloud Elements who offered a Unified API solution. They had a Cloud Storage offering that allows you to develop against a single API provided by Cloud Elements while they take care of the various differences with the Cloud Storage Providers API. On top of covering off all the Storage Providers we were after they were also working on AWS S3 integration.