AWS Services Overview
Tags: aws, awsbigdata, beginners, computerscience
Published: 2023-07-10 15:08:31

Amazon Web Services (AWS) is a cloud computing platform that provides a variety of services to assist people and businesses in the flexible and cost-effective development, deployment, and scaling of applications. Few of the services offered by AWS are:

### 1. Amazon EC2 (Elastic Compute Cloud):
Amazon EC2 is a cloud service that provides resizable virtual computers. It enables you to easily provision instances of virtual machines, with different operating systems and configurations- known as EC2 instances.

Example/Code:
To launch an EC2 instance using the AWS Command Line Interface (CLI):

```
aws ec2 run-instances --image-id ami-12345678 --count 1 --instance-type t2.micro --key-name my-key-pair --security-group-ids sg-12345678
```


### 2. Amazon S3 (Simple Storage Service):

Amazon S3 is a scalable and long-lasting object storage service. It enables you to save and retrieve any quantity of data from any location on the internet. It is used for backup and restore, archiving, content distribution and other applications where reliable and scalable storage is required.

Example/Code:
To upload a file to an S3 bucket using the AWS SDK for Python (Boto3):
```
import boto3

s3 = boto3.client('s3')

bucket_name = 'my-bucket'
file_path = '/path/to/my-file.txt'
object_key = 'folder/my-file.txt'

s3.upload_file(file_path, bucket_name, object_key)
```

### 3. Amazon RDS (Relational Database Service):

Amazon RDS is a managed database service that simplifies the setup, operation, and scaling of relational databases in the cloud. With it, you can easily deploy, manage, and scale relational database engines such as Amazon Aurora, MySQL, etc. 

Example/Code:
To create an Amazon RDS instance using the AWS CLI:

```
aws rds create-db-instance --db-instance-identifier my-db-instance --engine mysql --db-instance-class db.t2.micro --allocated-storage 20 --master-username admin --master-user-password password
```

### 4. AWS Lambda:

AWS Lambda is a serverless computing service and it basically lets you run code without managing servers. AWS takes care of server maintenance, provisioning, and automatic scaling, allowing you to focus on writing code.

### 5. Amazon DynamoDB:

Amazon DynamoDB is a fully managed NoSQL database service. It offers fast and flexible storage for applications that require single-digit millisecond latency at any scale. It provides a flexible schema where you can store and retrieve unstructured, semi-structured, and structured data.

Example/Code:
To create a DynamoDB table using the AWS SDK for Python (Boto3):

```
import boto3

dynamodb = boto3.resource('dynamodb')

table_name = 'my-table'

table = dynamodb.create_table(
    TableName=table_name,
    KeySchema=[
        {
            'AttributeName': 'id',
            'KeyType': 'HASH'
        }
    ],
    AttributeDefinitions=[
        {
            'AttributeName': 'id',
            'AttributeType': 'N'
        }
    ],
    ProvisionedThroughput={
        'ReadCapacityUnits': 5,
        'WriteCapacityUnits': 5
    }
)

table.wait_until_exists()
```

### 6. AWS App Runner:

AWS App Runner is a fully managed service that allows you to build, deploy, and scale containerized applications quickly. It automatically builds and deploys your application from source code or a container image. It is designed to simplify the deployment process and is well-suited for getting started with container-based application development.

Example/Code:
To create an App Runner service:

```
aws apprunner create-service --service-name my-service --source-configuration file://config.json
```

### 7. AWS Lightsail:

AWS Lightsail is a beginner-friendly service that provides virtual private servers (VPS) and simplified cloud resources for developers. It offers an easy-to-use and cost-effective solution for running web applications, blogs, and small-scale websites without the need for deep AWS infrastructure knowledge.

Example/Code:
To create an Amazon Lightsail instance using the AWS CLI:

```
aws lightsail create-instances --instance-names my-instance --availability-zone us-east-1a --blueprint-id amazon-linux-2-lts-2022-03-01-x86_64 --bundle-id nano_2_0
```