Module 1: AWS intro

Most AWS services are based on a client-server model. The client computer makes requests to a server and the server validates the requests and returns data to the client. AWS’s basic virtual server is EC2, Elastic Compute Cloud.

AWS uses a pay as you go pricing model. The main benefit compared to on-premises servers is that you can quickly adjust how many servers you use at a given moment. With on-premises, you typically run all servers all the time. With AWS, you only pay for what you need.

Cloud computing is the on-demand delivery of computing resources over the internet with a pay as you go pricing model. AWS takes care of the “Undifferentiated heavy lifting of IT” or the infrastructure that businesses use. The database engine or the storage you use doesn’t differentiate you from other business; the data itself and the software built around the data is what is unique to each business.

As discussed, cloud services and private-cloud services (on-premises) are two main ways that computing resources are distributed. You can exclusively use cloud or on-prem; or use a hybrid of the two models. Sometimes, regulations require that certain data or processes be managed on-premises. Or, you no longer want to privately manage batch tasks and certain analytics operations. Both use application management tools and virtualization to manage software.

Major benefits of public-cloud:

  • Trade upfront expense for variable expense
  • Stop spending money to run and maintain data centers
  • Stop guessing capacity
  • Benefit from massive economies of scale
  • Increase speed and agility
    • Resources can be accessed in minutes
  • Go global in minutes

Module 2: Compute in the cloud

Learning objectives:

  • Describe the benefits of Amazon EC2 at a basic level.
  • Identify the different Amazon EC2 instance types.
  • Differentiate between the various billing options for Amazon EC2.
  • Summarize the benefits of Amazon EC2 Auto Scaling.
  • Summarize the benefits of Elastic Load Balancing.
  • Give an example of the uses for Elastic Load Balancing.
  • Summarize the differences between Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Queue Service (Amazon SQS).
  • Summarize additional AWS compute options.

This module is all about Elastic Compute Cloud (EC2). EC2 is the fundamental service used for client-server architectures, since it is a virtual server. Compute as a Service (CaaS).

The down sides to private cloud is mainly large capital costs and maintenance. You own the servers. You rent the data center. Plus, you need to hire people to maintain them. Also, if your workload can change drastically: one day you may under-utilize your resources while another day may overwhelm them.

  • AWS built data centers
  • AWS secured data centers
  • AWS purchased servers
  • AWS install servers
  • AWS maintains the servers and makes them readily available over the internet

An EC2 instance is a configuration of CPU, memory, and network settings that is distributed over an AWS data center using multitenancy via a hypervisor and containers. A single, physical server board may be used by multiple users, but each user or application is separated from each other.

EC2 instance types are preset configurations that are optimized for certain workloads. These instance types are grouped into families:

  • general purpose: Equally balanced resources
  • compute optimized: High performance processors
    • Could be useful for batch processing
  • memory optimized: Larger RAM resources
    • Workloads that need to access large data sets quickly
  • storage optimized: Larger persistent storage (high IOPS)
    • distributed file systems, data warehousing, high-frequency online transaction processing (OLTP)
    • input/output operations per second (IOPS)

EC2 has several pricing options:

  • on-demand: Short-term, irregular workloads or for testing
    • No contracts. Pay as you go.
  • savings plan: For consistent workloads.
    • 1 or 3 year contracts. Any use over the contract limit is charged at on-demand pricing.
  • reserved instances
    • Standard or Convertible reserved
    • 1 or 3 year terms to use on-demand instances at a discounted price
  • spot instances: Workloads that can be interrupted
    • no contracts or commitments needed
    • uses unused AWS resources, but will only run when there is unused capacity
    • deeply discounted (up to 90%), but can be reclaimed by AWS with a 2 minute warning
  • dedicated hosts: For compliance or security purposes
    • Physical servers that are totally dedicated (single tenant)
    • Most expensive option