Amazon Simple Storage Service, or S3 for short, is an ever-expanding bucket to store your data. Its many benefits are eclipsed only by its myriad uses. It can now be served from the Fly.io Application Delivery Network. Let's get into those benefits and uses, then see why S3 and Fly are a great match.
The uses for S3 might seem simple; it's cloud-data storage, after all. However, innovations in application development make S3 alluring for more than just basic storage. Let's list:
- Storing Static Assets: Store user-submitted content, uploads.
- Logging: The destination for all the data that you accumulate when running analytics on your systems or users.
- Backups and Disaster Recovery: Incase of the unspeakable, you'll want a safe place to store large backups.
- "Serverless" Applications: We've written about how you can use Amazon S3 in conjunction with AWS Lambda to host serverless apps. You can use S3 to host your robust client-side framework, like Angular, then use Lambda to host specific, isolated, often compute-intensive functions; it's an efficient and organized way to build out web applications, when done correctly!
That's a nice list of ways one can apply Amazon S3, but why choose their service over others?
As AWS matures, it becomes more reliable and feature rich. Its benefits are many. Here's the cream of the crop:
- Elastic Scaling: Scales when you need it. Never worry about usage caps, only cost.
- Highly Available: Redundant storage, high availability; you'll no longer be the one to worry about the integrity and availability of your potentially precious bounty of data.
- Secure: SSL in motion, encryption at rest.
Great, but how can a service like Fly improve upon Amazon's offering?
Fly makes your applications faster and helps deliver them securely around the world. When you create an S3 bucket, you choose a single datacenter location. With Fly, we serve that bucket from a global network of intelligent edge-proxies.
Amazon S3 is likely just one contributing piece within the armada of disparate services that make up your application. Having a centralized point like Fly acting as a delivery network for your users and an API-gateway for your services gives you a powerful and clean way to organize inbound connections. Through one HTTPS load balanced hostname, your users will render your site faster and organizing and scaling your infrastructure will become more manageable... without introducing complexity to your code or servers.
Fly started when we wondered "what would a programmable edge look like"? Developer workflows work great for infrastructure like CDNs and optimization services. You should really see for yourself, though.