Back to blog
If S3 Is A Managed Solution, Why Does It Feel Like You Need A DevOps Team?
Despite nearly two decades of advancements in cloud storage, why does S3 still feel overly complex for most developers?
In 2006, Amazon changed how developers manage files for their applications. With the launch of their Simple Storage Service (S3), Amazon made it possible for developers to host files in the cloud without having to mess around with FTP servers. Considering the complexity of the time, using S3 was a breath of fresh air. However, in the nearly two decades since, cloud storage has evolved and become even simpler. Yet, S3 remains frustratingly complex for many developers. We can no longer compare S3 to FTP. Instead, we need to compare S3 to what else is possible in today’s cloud storage market.
Managed Software Solutions
S3 is a managed solution. Managed solutions are services (Software as a Service gets its name from this concept), which means developers don’t have to manage the infrastructure themselves. Instead, they pay a service provider to manage it and get access to APIs or user interfaces. With S3, developers get access to an API.
The alternative to managed services is self-hosting. It’s possible to build a cloud storage service that a developer self-hosts, but the task is arduous and costly. It likely means maintaining physical infrastructure and people to service and upgrade that infrastructure.
You can see why managed solutions are so popular. Dropbox and Box revolutionized the managed file storage concept for consumer and B2B use cases in the early 2000s, and S3 did the same for developers. But now, despite being a managed solution, why does S3 feel like you need to hire a DevOps team?
Burdened By Complexity
As services grow, especially services run by large organizations, the feature set grows. You see this a lot in enterprise software, where large organizations make purchasing decisions on the number of boxes the software checks. This also happens with managed developer tools, like S3.
Over the past 18 years, S3 has not only increased its capabilities, it’s also drastically increased its complexity. For a developer to get up and running using S3 today, they will have to learn about buckets, bucket policies, resources, and IAM user access settings.
All this just to write an app that might not even have any users yet? That doesn’t make any sense.
There are some use cases where the complexity is required, but the vast majority of developers need three things:
- Simple uploads
- Simple retrieval
- Speed
A Better Way
File upload should be as easy as dropping a couple of lines of code into your project. Retrievals shouldn’t require nuclear-launch-code-level coordination. Developers want their apps to have access to files, and they want to control who can access those files. Simple.
Developers can solve everything in a total of three lines of code:
Developers have more important things to focus on than file uploads and retrieval. Offload the complexity and exchange it for simplicity.
Conclusion
There’s a time and a place for complexity, but developers shouldn’t be forced into it. When a simpler solution is the better alternative, the simpler solution should be available. Pinata’s Files API is the simpler solution. Get started for free today.
Happy building!