Services Offered

Amazon S3

An object storage that can store and retrieve data from anywhere.
  • great tool for Internet backup option
  • cheapest option for object storage category
  • data is retrievable from the Internet

AWS Data Transfer

  • not only helps in collecting data, but monitoring and analyzing it in real time.
  • number of data transfer services are available eg. Kinesis, import/export Snowball, and Direct Connect

Amazon EC2 (Elastic Compute Cloud)

Provides secure and resizable compute capacity, designed to make web-scale cloud computing easier.
  • is a resizable computer.
  • can be resized anytime as per the requirement.

Amazon SNS (Simple Notification Service)

Enables messages to be delivered across a large number of subscribers, systems and services and mobile devices.
  • update user with notification through email or sms
  • can send anything

Amazon KMS (Key Management System)

A service integrated into most other AWS services, it helps create and control the encryption keys used to encrypt the user's data.
  • to encrypt the data

Amazon Lambda

A compute service that executes the code only when needed and scales automatically.
  • service for wnich we pay only for the seconds it uses to execute.
  • no need to pay for the infrastructure.

Route 53

The DNS web service is designed to give developers and businesses a reliable and cost effective method to route users to internet applications.
  • DNS service in the cloud

EC2

EC2 is a web-service which aims to make life easier for developers by providing secure and resizable compute capacity in the cloud.
  • ease in scaling up/down
  • can be integrated into several other services.
  • pay only for what you use.

Case study: Newsletter

Requirement

  • AWS account
  • EC2 instance for compute capacity
    • choose an AMI (Amazon Machine Image) - is the software and application packages that we would need to run the application
      • it is a template that is used to create an instance/machine based on user requirement.
      • it contains: Software information, OS information, Volume information, Access permissions, etc
      • 2 types: Predefined (Amazon provided from AMI Marketplace) or Custom
    • choose an instance type - choose h/w depending on the workload, and choose size of the h/w depending on the intensity of the workload.
      • specifies hardware specifications that are required in the machine form the previous step.
      • categorized into 5 main families: Compute optimized (for high processing power), Memory optimized (for in-memory caching), GPU optimized (large graphical requirement), Storage optimized (storage servers), General purpose
      • instance types are fixed and can not be altered.
    • configure instance - eg. no of instances, which subnet do we want them in, what's going to be the terminate behaviour of the instances, do we need to update any package when instance starts running, etc
      • specify the number of instances, purchasing options, kind of network, subnet, when to assign public IP, IAM role, shutdown behaviour, add bootstrap scripts when VM starts, etc
      • multiple payment options are available: on-demand instance, reserved instance, spot instance
    • adding additional storage - to EC2 instance
      • deciding type of storage: Ephemeral (temporary and free), Amazon Elastic Block Store (permanent and paid), Amazon S3
    • add tags - to easily identify the EC2 instance at a later point.
    • configure security group (aka firewall) - to allow/deny connection to/from the outside world.
        this is where user can finetune the access to the EC2 instance based on port number and IP address
    • review and launch
      • Before launching, Amazon gives us option to create a key pair (public and private). Private key (.pem file) is downloaded by the user, and kept secret. The public key is kept by Amazon to identify the user.
  • Create a topic in SNS
    • Simple Notification Service is a service in Amazon that helps us notify the customer through email.
    • Create a topic and make it public.
    • Add subscribers to the topic.
  • Create a bucket in S3
    • store the content in this bucket.
    • Create an event in the bucket relating it with SNS.
  • Sync the S3 bucket and AWS instance.

Amazon's Virtual Private Cloud