DEV Community

Dipali Kulshrestha
Dipali Kulshrestha

Posted on • Edited on

Storage for Developers

Module Objectives

By the end of this module, learners will be able to:

  • Understand AWS storage services from a developer perspective
  • Select the right storage option for different application patterns
  • Use Amazon S3 programmatically and securely
  • Configure EBS and EFS for compute workloads
  • Apply IAM permissions and encryption
  • Handle durability, availability, and cost

1. Overview of AWS Storage Options

Why Multiple Storage Services?

Different applications need:

  • Object vs file vs block storage
  • High durability vs low latency
  • Shared vs single-instance access

Storage Type ==> Service
Object ==> Amazon S3
Block ==> Amazon EBS
File ==> Amazon EFS
Hybrid / Transfer. ==> DataSync, Storage Gateway

2. Amazon S3 (Simple Storage Service)

What is Amazon S3?

  • Object storage
  • Virtually unlimited scale
  • 11 9โ€™s durability

Core S3 Concepts

  • Bucket
  • Object
  • Key
  • Region-scoped buckets
  • Global namespace

S3 Storage Classes
Class ==> Use Case
Standard. ==> Frequent access
IA ==> Infrequent access
One Zone-IA. ==> Non-critical data
Glacier Instant ==> Archive, quick access
Glacier Flexible. ==> Archive
Glacier Deep Archive. ==>. Lowest cost

๐Ÿ”‘ Storage class affects cost, not durability.

  1. S3 Security & Access Control Access Mechanisms
  • IAM policies
  • Bucket policies
  • ACLs (legacy, discouraged)

Encryption Options

  • SSE-S3
  • SSE-KMS
  • Client-side encryption

Public Access

  • Block Public Access (default ON)
  • Bucket policy controls

4. Hands-On Lab: S3 for Developers

Objective
download files from S3 using SDK

import boto3

s3 = boto3.client("s3")

bucket_name = "dev-2801"
object_key = "index1.html"

s3.download_file(
    Bucket=bucket_name,
    Key=object_key,
    Filename="index1.html"
)

print("File downloaded")


Enter fullscreen mode Exit fullscreen mode

5. S3 for Application Patterns

Common Developer Use Cases

  • Static website hosting
  • Application artifacts
  • Logs and backups
  • Data lake

Event-Driven Patterns

  • S3 โ†’ Lambda trigger
  • S3 โ†’ EventBridge

6. Amazon EBS (Elastic Block Store)

What is EBS?

  • Block storage for EC2
  • Attached to one instance at a time
  • Key EBS Concepts
  • Volume
  • Snapshot
  • Availability Zone scoped

Use Cases

  • Databases on EC2
  • Boot volumes
  • Low-latency workloads
  1. Hands-On Lab 2: EBS Volume with EC2 Objective

Attach and mount EBS volume to EC2.

8. Amazon EFS (Elastic File System)

What is EFS?

  • Managed NFS file system
  • Shared across multiple EC2 instances
  • Automatically scales

Key Characteristics

  • Multi-AZ
  • POSIX-compliant
  • Regional service

Use Cases

  • Shared application data
  • Content management systems
  • Microservices shared storage

๐Ÿ”‘ EFS supports concurrent access from multiple EC2s.

9. Cost & Performance Considerations

Cost Drivers

  • Storage amount
  • Access frequency
  • Data transfer
  • API requests (S3)

Performance Factors

  • S3 prefix distribution
  • EBS volume type
  • EFS throughput mode

Next

Top comments (1)

Collapse
 
avinashwagh profile image
Avinash wagh

Great article! Iโ€™m currently learning Linux and starting my cloud journeyโ€”this storage overview is very helpful. ๐Ÿ‘