Compare block, object and file storage in the cloud. Give a use case for each.
What the interviewer wants to hear
- Block storage: raw volumes attached to one server, like EBS or Azure Managed Disks
- Object storage: objects with keys via HTTP API, like S3 or GCS, very durable and cheap
- File storage: shared file systems over NFS or SMB, like EFS or Azure Files
- Use cases: databases on block, backups and media on object, shared content on file
- Cost, performance and access pattern drive the choice
Model answer
Block storage gives a server a raw disk volume, such as EBS on AWS or Managed Disks on Azure. It has low latency and is formatted with a file system by the OS, so it suits databases and boot volumes, but usually only one instance uses it. Object storage, such as S3 or Google Cloud Storage, stores whole objects under keys and is accessed over an HTTP API. It is extremely durable, scales without limits and is cheap, so it is ideal for backups, logs, data lakes, images and static websites, but you cannot edit part of a file in place. File storage, such as EFS or Azure Files, gives a shared file system over NFS or SMB that many servers can mount at once, which fits shared content, home directories or legacy apps that expect file paths. I choose based on access pattern, performance and cost.
Can you answer it under time pressure?
Take a timed easy round and get scored on every answer.
More easy Cloud Engineer questions
- Explain the difference between IaaS, PaaS and SaaS with an example of each.
- What is a VPC and what are its main building blocks?
- Explain IAM users, groups, roles and policies. When would you use a role instead of a user?
- How would you make a simple web application highly available in the cloud?
- What pricing models do cloud providers offer for compute, and when would you use each?
- What is the difference between containers and virtual machines, and when would you choose each?
- What is Infrastructure as Code and why do teams use it instead of the cloud console?
- Explain metrics, logs and traces. How does each help you run a cloud application?
- How does a CDN work, and what should you consider when caching content with one?