AWS: Storage

AWS Storage services provide different options of storage of options based on usage:

1. Amazon S3
a. This is also called simple storage that is durable and scaleable.
b. Provides 99.999999999% durability
c. Internet scale storage via API
d. Used for Static Video/Images.

2. Amazon Elastic Block Storage (EBS)
a. Block storage for use with Amazon EC2
b. Automatically replicated to the AZ provides high availability.
c. Used for low latency application and where data consistency is required.

3. Amazon Glacier
a. Storage for archiving and backup.
b. Low cost roughly 1 cent per GB per Month

4. AWS Storage Gateway
a. This storage service allows customer to connect their on-premises application to connect to the AWS storage either S3 or Glacier.
b. Integrates on-premises IT and AWS storage.
c. Securley upload data to AWS cloud for cost effective backup and rapid disaster recovery.

5. Amazon Elastic File System (EFS)
a. Provides interface to configure file system for EC2 instances.

6. AWS Import/Export Snowball:
a. Device designed by AWS to transfer large amount of Data that cannot be transfere via internet due to size, amout and security.
b. Data stores in encrypted format in the device
c. Device is trackable
d. Once recived by the Cloud service provide, data is then transfered in customer’s AWS storage.

7. AWS Cloudfront:
a. This is content delivery network that cache stored data at edge locations
b. Customer access the data from closest edge location, hence achieve low latency
c. Cloudfront use S3 stroage or may use third party storage as well.

AWS Storage key features:

a. Low cost: Pay only for the storage and provision performance.
b. Elastic: Scale storage capacity as computing requirement change
c. Flexible: Choice of storage types
d. Secure: Encrypt EBS storage. Set permission on S3 storage.

Compare Amaon S3 vs EBS:

S3 Object Storage:
a. Storage for Internet.
b. Store and retrive any amount of data and used for Static images and video files.
c. Latency is high when retrieving the stored data.
d. Not allowed to modify the stored data
e. S3 stroage does not get replicated.

EBS Storage:
a. Behaves like hard drive, you can create partetion, format, and boot your operation system off.
b. Stored data can be modified and gets replicated to AZ automatically.
c. Used for low latency data for example database/applitions/website etc.
d. Two types of Volume used with EBS. Standard type where I/O perforamnce is not critical. Provisioned IOPS where performance is critical example databases.


AWS: Compute

Compute Services address the computational needs of the users in the cloud. There are following features available under AWS Compute Services:

1. Amazon Elastic Compute Cloud or EC2:
a. Virutal computing environment ( VM instance)
b. Preconfigured template for instances (Amazon Machine Image AMI that package the operating system and various softwares),
c. Selection of different Operating System, Memory size, storage & networking capacity
d. Amazon EC2 can use feature of Auto-Scaling and Elastic Load Balancing between multiple instance of VM.

2. AWS Lamda:
a. Runs backend code in case of any event for example website click and manages the compute resources.

3. Amazon EC2 Container Service (ECS):
a. It is container mangement service that supports docker container.
b. This feature allow you run application on managed cluster of EC2 instances.

Amazon Compute Services key benefits include:

a. Elasticity: Scale up and down the EC2 instances based on computing requirement.
b. Flexibility: Different CPU types, Operating Systems, Memory and Networking configuration for EC2.
c. Secure: Complete control of compute resouces for the customers to mangage themself.
d. Cost: Pay what you use.

Following types of EC2 instances available:

a. General Purpose M4
b. Compute Optimized C4 (high processing requirement)
c. Memory Optimized R3 (memory intensive applications)
d. Burstable performance T2
e. Graphics & GPU compute application GPU G2
f. Storage Optimized L2 (very fast SSD-backed instance storage)
g. Dense Storage D2 (High throughput & low price per disk)

Cost model for EC2 instances:

a. Dedicated: EC2 instances are lauched on dedicated customer hardware
b. On-Demand: Pay per hour. No long term contract.
c. Reserved: Pay-upfront for steady workflow. cheaper then On-Demand.
d. Spot: Bid for unused EC2 capacity, if you win you will get the EC2 instance.

4. Elastic Load Balancing (ELB):
Automatically distribute incoming traffic to multiple EC2 instances to achieve fault tolerance.

a. Works with Auto-Scaling feature of EC2 to add/remove instances based on scaling activities.
b. Health monitor of EC2 instances
c. Works with Virtual Private Cloud (VPC) to network security features.