AWS Certified Solutions Architect Exam Notes – Services

AWS Services

SQS

  • Distributed queue system. Pull based. Used to decouple an application.
  • Gives access to a message queue. Stores messages while waiting for a computer to process them.
  • Message in the SQS queue will continue to exist even after the EC2 instance has processed it until you delete that message. 
  • You have to ensure that you delete the message after processing to prevent the message from being received and processed again once the visibility timeout expires.
  • Messages last up to 14 days in a queue (default 4 days)
  • Messages up to 256 KB of text (larger values are allowed but they are not stored on SQS but on S3)

2 types of queues

  • Standard (default)
    • Nearly unlimited transactions per second. The message is delivered at least once
    • Provides best-effort ordering (Order is not guaranteed)
  • FIFO 
    • Ordered
    • exactly one processing. No duplicates.
    • 300 transactions per second (slow) 

Why some messages could be delivered two times? 

  • The visibility timeout (duration while a message is invisible in the queue after a reader picks it) could be shorter than the job processor. The timeout will expire and another reader will pick the message. The max visibility timeout max is 12 hours.

Long polling

  • Does not return a response until the message arrives in the queue.
  • Useful for reducing cost in cases with a small number of messages (ec2 instances do not need to poll the queue continuously empty queues)

SWF – Simple WorkFlow Service 

  • Coordinate work across distributed components. Coordinate code with human actions.
  • Tasks – processing steps. Could be service calls, executable code, human actions, scripts. 
  • Workflow execution can last up to 1 year.
  • SWF Actors
    • Workflow Starters – App that starts a workflow
    • Deciders – Control flow of activity tasks
    • Activity Workers – Carry out activity tasks

SQS vs SWF

  • SWF delivers the message only once.
  • SWF retention period can last up to 1 year
  • SWF keeps track of all events. SQS can do it too by with additional implementation

SNS – Simple Notification Service 

  • Send notifications from the cloud. Push based.
  • Can push to mobile devices. Also push SMS, HTTP, SQS.
  • Topics – send to multiple recipients
  • All messages are stored across multiple AZs

SNS vs SQS: SNS is push bashed. SQS is pull-based.


MQ – Managed Message Broker

  • Used when: Need messaging on existing applications. Need to move your messaging service to the cloud quickly and easily. 
  • Switch from any standards-based message broker to Amazon MQ without rewriting the messaging code in your applications.

Kinesis 

Platform to send your Streaming data.
3 types

  • Kinesis Streams
    • Use when: Need to store the data for a short period.
    • Producers stream data to Kinesis Streams. Stored in Shards (1 – 7 days)
    • Consumers read data (analyze etc) from Shards
  • Kinesis Firehose
    • Use when: You don’t need to store the data for a short period.  Functions analyze them immediately.
    • Producers stream data to Kinesis Firehose 
  • Kinesis Analytics
    • Used to analyze the data inside Streams or Firehose


Cognito 

  • Authentication. Web Identity Federation. Generate JWT after Google/Facebook/Amazon login
  • Cognito uses push synchronization to sync sessions across user devices.


AWS CodeDeploy

  • Deployment service that automates application deployments to EC2, Lambda, or premises instances
  • Rapidly release new features, avoid downtime during application deployment, and handle the complexity of updating your applications.
  • Types
    • Canary: Choose traffic percentage
    • Linear: Traffic is shifted in equal increments with an equal number of minutes between each increment.
    • All at once: All traffic is shifted at once.

Amazon Fargate

  • AWS Fargate is a serverless compute engine for containers.
  • Works with 
    • Amazon Elastic Container Service (ECS)
    • Amazon Elastic Kubernetes Service (EKS)
  • Focus on building your applications. Removes the need to provision and manage servers
  • Pay for resources per application. You only pay for the resources required to run your containers.


Amazon ECS – Elastic Container Service

  • Orchestration service. Create clusters – fleets of Fargate instances or EC2 instances
  • Define rules for CPU/memory requirements
  • Free
  • Integrates with existing VPCs. Works well with all types of ELB


AWS Glue

  • Fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics. 

Amazon Workspaces

  • Managed Desktop as a Service solution. Provides Virtual Desktops.

AWS CodePipeline

  • Continuous delivery service. Automates the build, test, and deploy phases of your release process every time there is a code change.

AWS Global Accelerator​​​​​​​

  • Improve performance. Eliminated unnecessary forwards
  • The user connects to edge locations and then uses the backbone network to reach the region.

Anycast IPs

  • Static IP addresses that serve as a fixed entry point to your applications hosted in one or more AWS Regions. 
  • These IP addresses are anycast from AWS edge locations, so they’re announced from multiple AWS edge locations at the same time. 
  • This enables traffic to ingress onto the AWS global network as close to your users as possible.

API Gateway 

  • Service to publish, maintain, monitor, and secure APIs. Acts as a front door to AWS environments.
  • Delegate. Throttle requests. Track usage by API key. Expose HTTPs endpoints. Handle CORS.
  • API caching. Reduce the number of calls to our system.
  • API Gateway Cost
    • You pay only for the API calls received and the amount of data transferred out.
  • How to solve expected request bursts? API Gateway request throttling

Athena 

  • Query service
  • Use SQL to query data in S3
  • Serverless
  • Pay per query
  • No need for complex ETL
  • Used for
    • Query logs
    • Generate reports
    • Analyze AWS costs

Macie

  • Security Service
  • Uses Machine Learning to scan S3 data for sensitive data
  • Offers dashboards and alerts
  • Used for security and compliance