AWS Notes

1. Types of Cloud Computing

1.1. IaaS - Infrastructure as a Service

  • Provides building blocks for cloud IT.

  • Provides networking, computers, and data storage space.

  • Highest level of flexibility.

  • Easy to make parallels with traditional on-premise IT.

1.2. PaaS - Platform as a Service

  • No need to manage underlying infrastructure.

  • Focus on the deployment and management of your applications.

1.3. SaaS - Software as a Service

  • Complete product that is run and managed by the service provider.

1.4. Cloud Computing Summary

  • The following Table summarizes on-premise vs the various types of cloud computing platforms:

    Function On-Premise IaaS PaaS SaaS

    Applications

    Managed by You

    Managed by You

    Managed by You

    Managed by AWS

    Data

    Managed by You

    Managed by You

    Managed by You

    Managed by AWS

    Runtime

    Managed by You

    Managed by You

    Managed by AWS

    Managed by AWS

    Middleware

    Managed by You

    Managed by You

    Managed by AWS

    Managed by AWS

    OS

    Managed by You

    Managed by You

    Managed by AWS

    Managed by AWS

    Virtualization

    Managed by You

    Managed by AWS

    Managed by AWS

    Managed by AWS

    Servers

    Managed by You

    Managed by AWS

    Managed by AWS

    Managed by AWS

    Storage

    Managed by You

    Managed by AWS

    Managed by AWS

    Managed by AWS

    Networking

    Managed by You

    Managed by AWS

    Managed by AWS

    Managed by AWS

2. AWS Regions

  • Regions are world-wide.

  • Not all regions offer all AWS Services.

  • Pricing of AWS Services differs per region.

  • Each region consists of cluster of data centers named availability zones (AZ).

3. AWS Availability Zones

  • Each Availability Zone (AZ) is isolated from each other so that a disaster at one AZ will not affect any other.

  • Each AZ is connected to the other via high bandwidth ultra-low latency networking.

4. AWS Services

4.1. Network and Content Delivery Services

4.1.1. Route 53 - DNS

  • DNS Services. Port 53 is the DNS Port. Domain names can be registered here.

4.1.2. Cloud Front (CDN)

  • Content Delivery network consists of Edge Locations.

4.1.3. Direct Connect

Dedicated telephone line into AWS used for the following:

  1. Security

  2. High Bandwidth

4.1.4. VPC - (Virtual Private Cloud)

  • VPC (Virtual Private Cloud).

  • This is a virtual data center that contains deployed assets.

4.2. Compute Services

4.2.1. EC2

  • Elastic Compute Cloud.

  • Virtual Machines (VM) in the Cloud.

  • Accessible via RDP for Windows and SSH for Linux.

4.2.2. EC2 Container Services

  • Container management services for containers such as Docker containers.

  • Allows for running applications on a managed cluster of EC2 instances.

  • Highly scalable.

  • High performance.

4.3. Container Services

4.3.1. ECS (Elastic Container Service)

  • Fully managed container orchestration service.

  • Launches your containers in your own Amazon VPC, allowing you to use your VPC security groups and network ACLs. No compute resources are shared with other customers.

  • You can also assign granular access permissions for each of your containers using IAM to restrict access to each service and what resources a container can access.

  • This high level of isolation helps you use ECS to build highly secure applications.

  • Run ECS clusters using AWS Fargate, which is server-less compute for containers.

    • removes the need to provision and manage servers.

    • lets you specify and pay for resources per application. and improves security through application isolation by design.

4.3.2. EKS (Elastic Container Service for Kubernetes)

  • Deploy, manage, and scale containerized applications using Kubernetes.

  • Since EKS is a Kubernetes-as-a-service (KaaS) offering for AWS, it can be run on any infrastructure, meaning that it’s much easier to run on-premises or with a different service provider.

  • If you’re looking to run container deployments across multiple infrastructure providers and need additional flexibility provided by Kubernetes, Amazon EKS offers more versatility.

4.3.3. Elastic Beanstalk

  • A means of deploying code.

4.3.4. Lambda

  • Server-less.

  • Uploaded code can respond to events.

4.3.5. Light Sail

  • OOTB Cloud.

  • Can be used to host sites automatically such as a Joomla or WordPress sites.

4.4. Storage Services

4.4.1. S3 (Simple Storage Service)

  • Virtual disk to store objects such as files which are word docs, text files, pictures, movies.

  • Applications and DB are not stored here but in block based storage.

4.4.2. EFS (Elastic File Services)

  • DB and Applications can be stored here.

  • Can be shared by multiple EC2s.

4.4.3. Storage Gateway

  • On-premise VM that communicates with S3.

4.4.4. Glacier

  • Data archival.

  • Slow file retrieval.

  • An example use case is for storing files for regulatory purposes.

4.5. Database Services

4.5.1. RDS (Relation DB Services)

  1. MySQL

  2. PostgreSQL

  3. MariaDB

  4. SQL Server

4.5.2. ElastiCache

  • DB Cache

4.5.3. Dynamo DB

  • Non-relation DB.

  • No SQL.

  • Scalable.

  • High Performance.

4.5.4. Redshift

  • Data Warehouse.

4.6. Migration Services

4.6.1. Snowball

  • A physical appliance where the customer loads TBs of their data onto and then sends it to AWS who will transfer the data onto their systems.

4.6.2. SMS (Server Migration Services)

  • Migrate VMware VMs.

4.6.3. DMS (Data Migration Services)

  • A way to migrate on-premise DB’s to AWS.

  • Can also be used to migrate AWS DB to other regions or Redshift.

  • Can convert between DB types.