Module 2: computer in the cloud

  1. General-purpose instances
    General-purpose instances provide a balance of computing, memory, and networking resources. You can use them for a variety of workloads, such as:

    • application servers
    • gaming servers
    • backend servers for enterprise applications
    • small and medium databases
  2. Compute-optimized instances
    Compute-optimized instances are ideal for compute-bound applications that benefit from high-performance processors. Like general-purpose instances, you can use compute-optimized instances for workloads such as web, application, and gaming servers.
  3. Difference between General-purpose instances and Compute-optimized instanced?
    However, the difference is compute optimized applications are ideal for high-performance web servers, compute-intensive applications servers, and dedicated gaming servers. You can also use compute optimized instances for batch processing workloads that require processing many transactions in a single group.
  4. Memory-optimized instances
    Memory-optimized instances are designed to deliver fast performance for workloads that process large datasets in memory. In computing, memory is a temporary storage area. It holds all the data and instructions that a central processing unit (CPU) needs to be able to complete actions. Before a computer program or application is able to run, it is loaded from storage into memory. This preloading process gives the CPU direct access to the computer program.

    Suppose that you have a workload that requires large amounts of data to be preloaded before running an application. This scenario might be a high-performance database or a workload that involves performing real-time processing of a large amount of unstructured data
  5. Accelerated computing instances
    Accelerated computing instances use hardware accelerators, or coprocessors, to perform some functions more efficiently than is possible in software running on CPUs. Examples of these functions include floating-point number calculations, graphics processing, and data pattern matching.
  6. Storage optimized instances
    Storage optimized instances are designed for workloads that require high, sequential read and write access to large datasets on local storage. Examples of workloads suitable for storage optimized instances include distributed file systems, data warehousing applications, and high-frequency online transaction processing (OLTP) systems.
  7. On-Demand Instances
    On-Demand Instances are ideal for short-term, irregular workloads that cannot be interrupted. No upfront costs or minimum contracts apply. The instances run continuously until you stop them, and you pay for only the compute time you use.
  8. What is the length of time recommended to use OnDemand?
    On-Demand Instances are ideal for short-term, irregular workloads that cannot be interrupted. No upfront costs or minimum contracts apply. The instances run continuously until you stop them, and you pay for only the compute time you use.
  9. Sample use cases for On-Demand instances?
    Sample use cases for On-Demand Instances include developing and testing applications and running applications that have unpredictable usage patterns. On-Demand Instances are not recommended for workloads that last a year or longer because these workloads can experience greater cost savings using Reserved Instances.
  10. Amazon EC2 Savings Plans
    AWS offers Savings Plans for several compute services, including Amazon EC2. Amazon EC2 Savings Plans enable you to reduce your compute costs by committing to a consistent amount of compute usage for a 1-year or 3-year term. This term commitment results in savings of up to 72% over On-Demand costs.
  11. What is a Reserved Instance?
    Reserved Instances are a billing discount applied to the use of On-Demand Instances in your account. You can purchase Standard Reserved and Convertible Reserved Instances for a 1-year or 3-year term, and Scheduled Reserved Instances for a 1-year term. You realize greater cost savings with the 3-year option.
  12. What are spot instances?
    Spot Instances are ideal for workloads with flexible start and end times, or that can withstand interruptions. Spot Instances use unused Amazon EC2 computing capacity and offer you cost savings at up to 90% off of On-Demand prices.
  13. What happens if when you make a spot request?
    If you make a Spot request and Amazon EC2 capacity is available, your Spot Instance launches. However, if you make a Spot request and Amazon EC2 capacity is unavailable, the request is not successful until capacity becomes available.
  14. What are dedicated hosts in AWS?
    Dedicated Hosts are physical servers with Amazon EC2 instance capacity that is fully dedicated to your use.
  15. What is scalability?
    Scalability involves beginning with only the resources you need and designing your architecture to automatically respond to changing demand by scaling out or in. As a result, you pay for only the resources you use. You don’t have to worry about a lack of computing capacity to meet your customers’ needs.
  16. What is Amazon EC2 Auto Scaling?
    Amazon EC2 Auto Scaling enables you to automatically add or remove Amazon EC2 instances in response to changing application demand. By automatically scaling your instances in and out as needed, you are able to maintain a greater sense of application availability.
  17. What are the two approaches to EC2 auto-scaling?
    dynamic scaling and predictive scaling.

    Dynamic scaling responds to changing demand.

    Predictive scaling automatically schedules the right number of Amazon EC2 instances based on predicted demand.
  18. What do you use to Auto Scale?
    Auto-scaling groups
  19. What is elastic load balancing?
    Elastic Load Balancing is the AWS service that automatically distributes incoming application traffic across multiple resources, such as Amazon EC2 instances.
  20. Which service works very well with ELB?
  21. What are monolithic applications?
    Suppose that you have an application with tightly coupled components. These components might include databases, servers, the user interface, business logic, and so on. This type of architecture can be considered a monolithic application.
  22. Loosely coupled architecture
    A single failure of one of the components won't cause cascading failures.
  23. What is Amazon SQS?
    Service that allows you to send, store, and receive messages between software components at any volume.
  24. What is the data in an SQS message called?
    A payload
  25. What is Amazon SNS?
    Amazon Simple Notification Service (Amazon SNS) is a publish/subscribe service. Using Amazon SNS topics, a publisher publishes messages to subscribers.
  26. What is a microservices approach?
    In a microservices approach, application components are loosely coupled.
  27. Why use a microservices approach?
    if a single component fails, the other components continue to work because they are communicating with each other. The loose coupling prevents the entire application from failing.
  28. What two services facilitate application integration?
    Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Queue Service (Amazon SQS).
  29. Who can be a subscriber of Amazon SNS?
    Subscriber can be web server, email addresses, AWS Lambda functions, or several other options.
  30. Where do messages get sent in Amazon SQS?
    They are sent into a queue. A user or service retrieves a message from the queue, processes it, and then deletes it from the queue.
  31. Which AWS service is the best choice for publishing messages to subscribers?

    Amazon Simple Queue Service (Amazon SQS)

    Amazon EC2 Auto Scaling

    Amazon Simple Notification Service (Amazon SNS)

    Elastic Load Balancing
    Amazon SNS
  32. Serverless computing
    The term “serverless” means that your code runs on servers, but you do not need to provision or manage these servers. With serverless computing, you can focus more on innovating new products and features instead of maintaining servers.

    Another benefit of serverless computing is the flexibility to scale serverless applications automatically. Serverless computing can adjust the applications' capacity by modifying the units of consumptions, such as throughput and memory.
  33. AWS service for serverless computing is?
    AWS Lambda
  34. AWS Lambda
    is a service that lets you run code without needing to provision or manage servers.
  35. When does Lambda run your code?
    When it is triggered.
  36. Can AWS run containers/
  37. Amazon Elastic Container Service (Amazon ECS)
    Amazon Elastic Container Service (Amazon ECS) is a highly scalable, high-performance container management system that enables you to run and scale containerized applications on AWS.
  38. Does Amazon ECS support docker
  39. Amazon Elastic Kubernetes Service (Amazon EKS)
    Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed service that you can use to run Kubernetes on AWS.
  40. Kubernetes
    is open-source software that enables you to deploy and manage containerized applications at scale.
  41. AWS Fargate
    AWS Fargate is a serverless compute engine for containers. It works with both Amazon ECS and Amazon EKS
  42. Should on demand service in AWS be interrupted?
    Not really. ON Demand is usually uninterrupted because you are testing something.
  43. Can a webserver be a member of an SNS?
    Yes as well as other services.
Card Set
Module 2: computer in the cloud
EC2 Instance Types, Pricing and Scaling