Organizations today look to the cloud for their compute and data storage needs. AWS is by far the current market leader in both revenue and number of customers, and its service ecosystem is the most complete. Amazon’s popular Simple Storage Service (S3) is an object store, meaning that data is stored as objects, along with associated metadata and identifiers. This architecture is inexpensive and scalable while it renders massive amounts of unstructured data more readily accessible and more easily analyzed. S3 is also the name of the API for accessing the data programmatically.
The S3 API has quickly become the standard protocol for object storage, but there are alternative APIs from major cloud providers. Many third-party solutions are now compatible with more than just S3, offering additional options to users. API compatibility could remain an issue, though. Even if the customer has control of the entire stack, making changes to the application is not always economically or technically feasible.
To simplify data access and the migration process, some service providers offer a “compatibility mode” that allows customers to use the S3 API, or a subset of it, along with their native API. Amazon Identity and Access Management (IAM) should always be considered when considering the compatibility requirements of most applications that use an S3 interface.
Object storage is an excellent choice for many use cases and applications, both in the cloud and on-premises. Most applications that deal with unstructured data can easily take advantage of an object store, which contributes to its appeal. It’s a popular data storage target for containerized or serverless applications and for more traditional object store use cases like backup, archiving, media content management, big data lakes, HPC, and so on.
However, Kubernetes’s recent rising popularity means that customers are mindful of portability and cloud lock-in, as containers are portable across public clouds and other environments. With so many container-based applications leveraging object storage, lock-in of object storage is as relevant as ever, and customers are evaluating alternatives and more open cloud ecosystems for storage and compute.
Amazon S3 is relatively inexpensive compared to other storage options available from Amazon AWS, but its performance is not always consistent. Moreover, the real cost of the service is not always immediately apparent and could become an issue for some customers. The S3 pricing model is quite complex and depends on factors like resilience, data locality, storage tiers, I/O characteristics, and data transfer (egress) costs.
At the end of the day, it’s not easy to estimate the cost of S3 to your organization, and it can be difficult to predict how it will evolve. The egress costs of public cloud services worry CFOs and project managers the most, limiting flexibility in executing a multicloud strategy due to unforeseen costs.
Although AWS has a very compelling solution ecosystem, alternative solution providers with innovative services for vertical markets and use cases offer interesting non-AWS options. Thanks to the success of Amazon S3, many competitors have begun providing similar services while trying to differentiate in the market on price, performance, and functionality.