Block, Object, File & Archive Storage: How AWS, Azure and GCP Stack Up