KC4

  1. DHCP - Connect you to the network

  2. ARP - Finding the next hop

  3. DNS - Resolving a name to an IP address

  4. NAT - Keeping your private
    IP address off the public internet

  5. HTTP - Requesting and sending the files (HTML, CSS, etc.)


  1. Packets

    1. Objectives

      1. Difference between circuit switching and packet switching

      2. What makes packets switching effective for data packets

    2. Circuit switching

      1. How phones used to work. Changing circuits to talk to different people. Operator did it

    3. Advantages of Circuit switching

      1. Dedicated, exclusive connection

      2. Consistent bandwidth, minimal delay

    4. Drawbacks of circuit switching

      1. Expensive

      2. Inefficient (not using all of your bandwidth)

      3. Single point of failure (one circuit fails, everything fails)

    5. Packet switching

      1. Created to make the internet work

      2. Break a message into chunks (packets)

      3. Send packets independently. 

      4. Every single packet can take a different map

      5. Like sending a book through mail

        1. Individually packaging each page and putting it into the mail. Each piece will probably make it to the end, but they will take different paths

    6. Packet switching advantages

      1. More efficient

      2. Greater redundancy. If one link goes down, there are still paths that can be taken to get from one to the other, it’s just not as direct. Route around paths

    7. Packet disadvantages

      1. Latency

      2. Dropped packets

        1. If network is too congested, new packets get dropped and disappear


  1. Cloud computing

    1. On demand delivery of IT resources with pay as you go pricing

    2. Has resources when you need them

  2. IT resources

  1. Amazon EC2

    1. Amazon Elastic Compute Cloud

      1. Flexible, cost effective, quick

      2. Request what you want when you want

      3. Only pay for what you use, not stopped or terminated instances

      4. Can choose operating system

      5. Give instance more CPU and storage whenever you want


    2. Hypervisor

      1. Keeps instances secured and separate

    3. Types of EC2 instances

      1. They serve client request

      2. Grouped under instance family

      3. General Purpose

        1. Good balance of resources

      4. Compute Optimized

        1. Compute intensive tasks

        2. High performance processors

      5. Memory Optimized instances

        1. Fast delivery for workloads that process large datasets in memory

      6. Accelerated computing

        1. Hardware accelerators to perform some functions more efficiently than is possible in software running on CPUs.

      7. Storage optimized instances

        1. For workloads that require high sequential read and write access to large datasets on local storage.

    4. Pricing (WTF is this commercial we are watching????)

      1. HOW MUCH WILL IT COST?!?

        1. On demand

          1. Per hour or per second

        2. Savings plan

          1. One or 3 year term

          2. Save lots of money

        3. Reserved instances

          1. Predictable uses. Big discount. 

        4. Spot Instances

          1. Amazon can reclaim instances at any time. 

        5. Dedicated hosts

          1. Physical servers with EC2 instance capacity that is fully dedicated to one company’s use.

    5. Scaling Amazon EC2

      1. Using only the resources you need

      2. Auto scales to work load that is needed

    6. Scale up

      1. Add more machines that are running to take care of more customers

      2. End up with the exact right amount of power for each service

    7. Auto Scaling Configurations

      1. Minimum capacity

      2. Desired Capacity

      3. Maximum Capacity

    8. Directing Traffic

      1. Multiple instances that run the same program and purpose, load balancing is an application that sends users to the lesser used instances to balance the workload. Properly distributes traffic.

    9. Elastic Load Balancing

      1. Addresses load balancing

      2. Regional Construct. Runs at region level so it can handle traffic well

      3. Talks to instances to figure out how much traffic is going on and directs it according to traffic demands.

      4. True decoupled architecture

  2. Messaging and Queuing

    1. Tightly coupled architecture (monolithic application). Two applications talk. If one fails, then the other fails

    2. Loosely coupled architecture (microservices). Has a buffer between applications and allows for messages to be saved if one application fails

    3. Amazon SNS

      1. Send messages to services and to subscribers

      2. Payload: Message protected until delivery

      3. Sends to all subscribers in one go

      4. Publish messages on a single topic (group of people) or multiple to different people all at once

    4. Amazon SQS Simple Queue Service

      1. Send, store and receive messages between software components without losing messages or requiring other services to be available.

  3. Compute Services

    1. EC2 instances are virtual machines

    2. Serverless compute options (you can’t see the underlying architecture)

      1. All taken care of for you. Just focus on application

      2. Just upload code without worrying about server side stuff. It’s what AWS is for

    3. AWS Lambda

      1. Runs code for under 15 minutes

      2. Scales functions to application demand

    4. Container

      1. Docker container

      2. Delivers software in containers (package for code)

    5. AWS ECS

      1. Supports docker containers

      2. Launch and stop Docker applications

    6. AWS EKS

      1. Run Kubernetes on AWS

      2. Kubernetes

        1. Open source software that enables you to deploy and manage containerized applications at scale.

    7. AWS Fargate

      1. Serverless compute engine for containers. Works with both ECS and EKS. 

      2. No provision or server management

  4. Review

    1. Cloud computing

      1. Requests for IT resources over the internet. Available on demand.

    2. EC2

      1. Spin up and spin down EC2 instances

      2. Can build instances for specific purposes

      3. Scale vertically (add power) or horizontally (add more quantity)

    3. Billing

      1. On-demand

        1. Most flexible. No contract

      2. Spot Instances

        1. Get a discount from unused space

      3. Reserved Instances

        1. Get a discount when you sign a contract to only have a certain amount of usage per month

      4. Savings Plans

        1. EC2, Lambda

    4. SQS

      1. Decouple system components

    5. SNS

      1. Sending messages (emails, notifications, whatever) to subscribers

    6. ECS

    7. EKS

      1. Both are container orchestration tools

    8. AWS Fargate

      1. Runs containers on serverless gate

    9. AWS Lambda

      1. Only costs when functions are run

  5. AWS Global Infrastructure

    1. Events can happen. When we own a data center, if something happens then that data center stops.

    2. AWS Data centers are built in regions. 

      1. Each region is connected to a high speed fiber network.

      2. You chose what region you want to run out of.

      3. Data never leaves the region unless you explicitly request the data be exported.

      4. Data us subject to the laws where the region is at

      5. You can pick whatever region you want.

      6. Make sure that:

        1. Compliance. You follow regulations

        2. Proximity. Make sure that you have minimum latency.

        3. Feature availability. Some regions don’t have all the features that other regions have.

        4. Pricing. Even when hardware is equal, some countries charge more than others with taxes.

  6. Region

    1. Availability Zones

    2. Regions are not one location. Regions have many data centers inside of it. The data centers are built far apart from each other. If one goes down, others can stay up.

    3. Don’t run an availability zone in the same locations.

    4. Run across at least two availability zones. 

    5. ELB - regional construct. Runs across all availability zones.

    6. Regionally scoped service

  7. Edge Locations

    1. Amazon CloudFront delivers things to customers around the world no matter where they are.

    2. Edge locations are different from regions.

      1. Run a DNS called amazon route 53

    3. AWS outpost

      1. Runs mini region isolated within a building

    4. Regions are geographically isolated areas.

    5. Regions contain availability zones.

    6. Edge locations run amazon cloudfront to get services to customers around the world.

  8. API = Application Programming Interface

    1. AWS Management Console

      1. Browser based

      2. Manage things visually

      3. Build test environments

      4. AWS bills

      5. Monitoring

      6. Non technical resources

    2. AWS CLI

      1. Make API calls using the terminal on machine

      2. Scriptable and repeatable

      3. Less susceptible to human error

    3. AWS SDKs

      1. Interact with AWS resources through various programming languages

  9. Manage Environment with tools

    1. Elastic beanstalk

      1. Provide application code and desired configurations.

      2. It builds the environment for you. 

      3. Focus on business application

    2. AWS Cloud Formation

      1. Infrastructure as code tool used to define a wide variety of AWS resources

      2.  Use JSON

      3. Builds without specifying exactly how to build it

      4. Storage

      5. Define resources in template

      6. Gets resources for template

      7. Creates identical environments

  10. Module 3 Summary

    1. Availability zones make up regions

    2. Choose what you want to run out of

    3. Deploy infrastructure in at least 2 availability zones

    4. Edge locations to speed up delivery to customers far from the data center

  11. Module 4

    1. Networking

      1. Amazon Virtual Private Cloud

        1. Launch AWS resources in the virtual network that you define. Can be public or private.

      2. VPC

        1. Private cloud. EC2 instances. Place them into different subsets.

        2. Subnets

          1. Chunks of IP addresses that allow us to group resources together

          2. Determines if things are public or private

          3. Internet facing or 

      3. Public traffic

        1. Needs internet gateway

          1. Doorway open to the public

      4. Private gateway

        1. Only allows certain users into VPC

      5. Virtual private gateway is needed to determine who gets in

      6. AWS Direct Connect

        1. Establish private fiber connection from data center to AWS.

        2. Helps sidestep bandwidth issues

    2. Subnets and Network Access Control Lists

      1. VPC

        1. Nothing comes in or out, only with Internet gateway

        2. Need more to cover security

      2.  Network hardening

        1. Happens inside VPC

        2. Subnets control packet permissions

      3. Network ACL determines if a packet has permission to enter the subnet

        1. Check traffic going into or leaving subnets

        2. Doesn’t evaluate if a packet can get to an EC2 specifically

      4. Security groups

        1. Every EC2 comes with it

        2. Blocks everything by default

        3. Needs to be modified to accept specific kinds of traffic

        4. Stateful. Remember who came in or out.

        5. Only checks if sender is on approved list

      5. Go from one subnet to another

        1. Goes from EC2 instance

        2. To Network ACL

        3. To second subsets ACL and then to the security group for the second subnet.

        4. Stateless controls always check lists.

        5. State remembers packets. If they are once approved, they are always approved.

    3. Global Networking

      1. How do customers interact?

      2. AWS Route 53

        1. DNS - translates website names into IP addresses

        2. Direct people to different points

        3. Register domain names on AWS

      3. Amazon CloudFront

        1. CND: Deliver edge content to users based on location

        2. Access same content, but from a closer location

  12. Class!!!

    1. KNOW THESE FOR KC4

      1. EC2

      2. EC2 Autoscaling

      3. Elastic Load Balancing

        1. Load Balancing

        2. Does not initiate autoscaling


      4. Simple Notification Service (SNS)

      5. Lambda

        1. Serverless computing

        2. Functions as a service

      6. CloudFormation

        1. AWS infrastructure as code

        2. All configurations with servers (select OS, instance, server size, key, server login, installed nginx) remembers

        3. Can copy configurations to other servers

      7. Regions/AZs (Availability Zones)/Edge Locations

        1. Regions consist of availability zones

        2. Edge locations are copies of resources

      8. VPC

      9. Network ACLs

        1. Stateless

        2. Looks at every single packet and checks list of rules to see if it follows the rules

      10. Security Groups

      11. Route 53

        1. DNS. That’s all that it is.

      12. CloudFront

        1. Uses edge locations to get data to people that are far from data centers

    2. Stateless (NACL) - checks both directions, in and out. Doesn’t remember

    3. Stateful (Security Group) - checks messages coming in, not out. Remembers things too

    4. Cloud

    5. On-prem

      1. Managing physical location. You run it.

    6. Hybrid deployment

      1. Both cloud and on-prem

    7. Vertical scaling

      1. One instance and add resources to make it more powerful

    8. Horizontal scaling

      1. Multiple EC2 instances with smaller resources, uses load balancing to distribute load among instances

    9. Benefits of cloud computing