10_Application Services Flashcards Preview

Architecting on AWS > 10_Application Services > Flashcards

Flashcards in 10_Application Services Deck (18)
Loading flashcards...
1
Q

SQS - Exam Tips

  • Amazon SQS is a web service that gives you access to a message queue that can be used to store messages while waiting for a computer to process them (Read FAQ!)
  • SQS is a way to de-couple your infrastracture
  • SQS is pulled based, not pushed based.
  • Messages are 256Kb in size
  • FIFO Queues are limited to 300 transactions per second (TPS)
  • Does not maintain or guarantee message order for Standard queues. FIFO queues preserve the exact order in which messages are sent and received
A

SQS - Exam Tips

  • Amazon SQS is a web service that gives you access to a message queue that can be used to store messages while waiting for a computer to process them (Read FAQ!)
  • Does not maintain or guarantee message order for Standard queues. FIFO queues preserve the exact order in which messages are sent and received
  • Message groups: Messages are grouped into distinct, ordered “bundles” within a FIFO queue. For each message group ID, all messages are sent and received in strict order. However messages with different message group ID values might be sent and received out of order.
2
Q

SQS - Exam Tips

  • Guarantees At-Least-Once Delivery for Standard queues, which might result in duplicate messages. FIFO queues provide Exact One Time Delivery
  • Loose Coupling: Queuing Chain Pattern enables asynchronous processing
A

SQS - Exam Tips

  • Guarantees At-Least-Once Delivery, but does not guarantee Exact One Time Delivery which might result in duplicate messages (Not true anymore with the introduction of FIFO queues)
  • Use Amazon Simple Queue Service (SQS) to Decouple Components
  • Loose Coupling: Queuing Chain Pattern enables asynchronous processing
3
Q

SQS - Exam Tips

  • Retention Period: Holds message for 4 days by default, and can be changed from 1 min to 14 days after which the message is deleted
  • Visibility Timeout: Period of time during which the message once read by a consumer is not visible to the other consumers till the timeout occurs (prevents multiple components from processing the same message). If the job is not processed before visibility time out expires, the message will become visible again and another reader will process it. This could result in the same message being delivered twice. 30 seconds visibility timeout by default up to 12 hours maximum
  • Long Polling: Doesn’t return a response until a message arrives in the message queue, or the long poll times out. Default long polling time is 20 seconds (and maximum) and can be as low as 1 second (save money)
A

SQS - Exam Tips

  • Retention Period: Holds message for 4 days by default, and can be changed from 1 min to 14 days after which the message is deleted
  • Visibility Timeout: Period of time during which the message once read by a consumer is not visible to the other consumers till the timeout occurs (prevents multiple components from processing the same message). 30 seconds visibility timeout by default up to 12 hours maximum
  • Long Polling: Doesn’t return a response until a message arrives in the message queue, or the long poll times out. Default long polling time is 20 seconds (and maximum) and can be as low as 1 second
4
Q

SQS vs SWF

  • SWF is an orchestration service to coordinate work across distributed components
  • SQS has a retention period of 14 days, SWF up to 1 year for worklflow executions
  • Amazon SWF presents a task-oriented API, whereas Amazon SQS offers a message-oriented API
  • Amazon SWF ensures that a task is assigned only once and is never duplicated. With Amazon SQS, you need to handle duplicated messages (with standard queues) and may also need to ensure that a message is processed only once
  • Amazon SWF keeps track of all the tasks and events in an application. With Amazon SQS, you need to implement your own application-level tracking, especially if your application uses multiple queues
  • Coordinate Tasks with Amazon Simple Workflow (SWF)
A

SQS vs SWF

  • SQS has a retention period of 14 days, SWF up to 1 year for worklflow executions
  • Amazon SWF presents a task-oriented API, whereas Amazon SQS offers a message-oriented API
  • Amazon SWF ensures that a task is assigned only once and is never duplicated. With Amazon SQS, you need to handle duplicated messages and may also need to ensure that a message is processed only once
  • Amazon SWF keeps track of all the tasks and events in an application. With Amazon SQS, you need to implement your own application-level tracking, especially if your application uses multiple queues
  • Coordinate Tasks with Amazon Simple Workflow (SWF)
5
Q

SWF Actors

  • Workflow Starters - An application that can initiate (start) a workflow. Could be your e-commerce website when placing an order or a mobile app searching for bus times
  • Deciders - Control the flow of activity tasks in a workflow execution. If something has finished in a workflow (or fails) a Decider decides what to do next
  • Activity Workers - Carry out the activity tasks
A

SWF Actors

  • Workflow Starters - An application that can initiate (start) a workflow. Could be your e-commerce website when placing an order or a mobile app searching for bus times
  • Deciders - Control the flow of activity tasks in a workflow execution. If something has finished in a workflow (or fails) a Decider decides what to do next
  • Activity Workers - Carry out the activity tasks
6
Q

SNS vs SQS

  • Both Messaging Services in AWS
  • Use Amazon Simple Notification Service (SNS) to Deliver Notifications (publisher-subscriber model)
  • SNS - Push
  • SQS - Polls (Pulls)
  • SNS Subscribers:
    • HTTP/HTTPS
    • Email (Plain or JSON)
    • SQS
    • Application
    • Lambda
    • Mobile Push Messaging
A

SNS vs SQS

  • Both Messaging Services in AWS
  • Use Amazon Simple Notification Service (SNS) to Deliver Notifications (publisher-subscriber model)
  • SNS - Push
  • SQS - Polls (Pulls)
  • SNS Subscribers:
    • HTTP/HTTPS
    • Email (Plain or JSON)
    • SQS
    • Application
    • Lambda
    • Mobile Push Messaging
7
Q

Elastic Transcoder

  • Media Transcoder in the cloud
  • Convert media files from their original source format to different formats that will play on smartphones, tablets, PC’s, etc.
  • Provides transcoding presets for popular output formats, which means that you don’t need to guess about which settings work best on particular devices
  • Pay based on the minutes that you transcode and the resolution at which you transcode
A
8
Q

API Gateway

  • Makes it easy for developers to publish, maintain, monitor, and secure APIs at any scale. You can create an API that acts as a “front door” for applications to access data or functionality for your back-end services (EC2, AWS Lambda, etc.)
  • API Gateway has caching capabilities to increase performance
  • API Gateway is low cost and scales automatically
  • You can throttle API Gateway to prevent attacks
  • You can log results to CloudWatch
  • If you are using Javascript/AJAX that uses multiple domains with API Gateway, ensure that you have enabled CORS (Cross-Origin Resource Sharing) on API Gateway (Error - “Origin policy cannot be read at the remote resource”)
  • CORS is enforced by the client
A

API Gateway

  • Makes it easy for developers to publish, maintain, monitor, and secure APIs at any scale. You can create an API that acts as a “front door” for applications to access data or functionality for your back-end services (EC2, AWS Lambda, etc.)
  • API Gateway has caching capabilities to increase performance
  • API Gateway is low cost and scales automatically
  • You can throttle API Gateway to prevent attacks
  • You can log results to CloudWatch
  • If you are using Javascript/AJAX that uses multiple domains with API Gateway, ensure that you have enabled CORS (Cross-Origin Resource Sharing) on API Gateway (Error - “Origin policy cannot be read at the remote resource”)
9
Q

Kinesis - Core Services

  • Kinesis Streams
  • Kinesis Firehose
  • Kinesis Analytics
A
10
Q

Kinesis Streams

  • Kinesis Streams consist of shards
  • The data capacity of your stream is a function of the number of shards that you specify for the stream. The total capacity of the stream is the sum of the capacities of its shards
A

Kinesis Streams

  • Kinesis Streams consist of shards
  • The data capacity of your stream is a function of the number of shards that you specify for the stream. The total capacity of the stream is the sum of the capacities of its shards
11
Q

Kinesis Firehose

With Firehose, you do not need to write applications or manage resources. You configure your data producers to send data to Firehose and it automatically delivers the data to the destination that you specified. No data persistence.

A

Kinesis Firehose

With Firehose, you do not need to write applications or manage resources. You configure your data producers to send data to Firehose and it automatically delivers the data to the destination that you specified.

12
Q

Kinesis Analytics

Amazon Kinesis Analytics enables you to create and run SQL queries on streaming data (from either Streams or Firehose) and send processed results to Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, etc.

A

Kinesis Analytics

Amazon Kinesis Analytics enables you to create and run SQL queries on streaming data (from either Streams or Firehose) and send processed results to Amazon S3, Amazon Redshift, Amazon Elasticsearch Service​, etc.

13
Q

Kinesis vs SQS

  • Real-time processing of streaming big data vs reliable, highly scalable hosted queue for storing messages
  • Ordered records, as well as the ability to read and/or replay records in the same order vs no guarantee on data ordering (with the standard queues before the FIFO queue feature was released)
  • Data storage up to 24 hours, extended to 7 days vs up to 4 days, can be configured from 1 minute to 14 days but cleared if deleted by the consumer
  • Supports multiple consumers vs single consumer at a time and requires multiple queues to deliver message to multiple consumers
A

Kinesis vs SQS

  • Real-time processing of streaming big data vs reliable, highly scalable hosted queue for storing messages
  • Ordered records, as well as the ability to read and/or replay records in the same order vs no guarantee on data ordering (with the standard queues before the FIFO queue feature was released)
  • Data storage up to 24 hours, extended to 7 days vs up to 4 days, can be configured from 1 minute to 14 days but cleared if deleted by the consumer
  • Supports multiple consumers vs single consumer at a time and requires multiple queues to deliver message to multiple consumers
14
Q

Web Identity Federation

  • Federation allows users to authenticate with a Web Identity Provider (Google, Facebook, Amazon)
  • The user authenticates first with the Web ID Provider and receives an authentification token, which is exchanged for temporary AWS credentials allowing them to assume an IAM role.
  • Cognito is an Identity Broker which handles interaction between your applications and the Web ID Provider (you dont need to write your own code to do this)
A
15
Q

Cognito

  • User pool is user based. It handles things like user registration, authentification, and account recovery.
  • Identity pools authorise access to your AWS resources.
  • In other words: Sign-in through a third party (federation) is available in Amazon Cognito user pools. This feature is independent of the federation through Amazon Cognito identity pools (federated entities). Federation is used to authenticate users, not services.
A
16
Q

Server Migration Service

AWS Server Migration Service (SMS) is an agentless service which makes it easier and faster for you to migrate thousands of on-premises workloads to AWS. AWS SMS allows you to automate, schedule, and track incremental replications of live server volumes, making it easier for you to coordinate large-scale server migrations.

A
17
Q

Event Processing Patterns - Dead Letter Queue [SAA-C02]

  • SNS: Messages published to a topic that fail to deliver are sent to an SQS queue; held for further analysis or reprocessing
  • SQS: Messages sent to SQS that exceed the queue’s maxReceiveCount are sent to a DLQ (another SQS queue)
  • Lambda: Result from failed aysnchronous invocations; will retry twice and send to either an SQS queue or SNS topic
A
18
Q

Event Processing Patterns - Fanout [SAA-C02]

A