{"id":5792,"date":"2023-04-28T09:30:00","date_gmt":"2023-04-28T07:30:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=5792"},"modified":"2024-01-18T09:13:22","modified_gmt":"2024-01-18T08:13:22","slug":"when-amazon-s3-is-not-enough-a-look-into-storage-services-on-aws","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/when-amazon-s3-is-not-enough-a-look-into-storage-services-on-aws\/","title":{"rendered":"When Amazon S3 is not enough: a look into storage services on AWS"},"content":{"rendered":"\n

42 is “the answer to life, the universe, and everything else”, as Douglas Adams said in The Hitchhiker’s Guide to the Universe. It goes the same way for storage needs on AWS: Amazon S3 is the answer for everything.<\/p>\n\n\n\n

As we’ll see, this isn’t an absolute truth: sometimes we need to use something different: variety is the spice of life.<\/p>\n\n\n\n

When dealing with lift and shift projects, hybrid environments, and Windows workloads, you’ll always find file shares accessed by users and services. Many off-the-shelf software solutions rely on that technology; sometimes, refactoring is not an option.<\/p>\n\n\n\n

As the name suggests, a file share is not equivalent to object storage: it has different properties, behaviors, and usage scenarios. In this article, we will look at the other options to migrate and adapt workloads on the Cloud. <\/p>\n\n\n\n

First, let’s clarify the key differences between file and object storage.<\/p>\n\n\n\n

File storage is our “traditional” idea: depending on the operating system (Windows, Linux, macOS), you’ll have a system that stores data in a hierarchical structure, identified by name and path. Metadata (like permissions and file properties) is stored separately, and its design depends on the filesystem in use. <\/p>\n\n\n\n

Object storage is different: all data (including metadata and properties) is stored in a flat namespace, accessed using APIs by referencing an identifier. Once data is stored, you need to write a new version to modify the object, as there’s no way to append or delete portions of the data as you do in a traditional filesystem.<\/p>\n\n\n\n

This different approach makes object storage more scalable and cost-effective, but you can’t switch between the two technologies seamlessly.<\/p>\n\n\n\n

What are the options once you have a Windows workload that needs shared file storage? As we always say, we’ll see that there’s no default answer. <\/p>\n\n\n\n

 AWS gives us three different services: <\/p>\n\n\n\n