Other AWS Services Summary

SQS Exam Tips

  • SQS is a distributed message queueing system
  • SQS allows you to decouple the components of an application so that they are independant
  • Pull-based no push-based
  • Standard Queues (default)
    • best effor ordering
    • message delivered at least once
  • FIFO Queues (First In First Out)
    • ordering strictly preserved
    • Message delivered once
    • No duplicates
    • E.g. good for banking transactions which need to happen in strict order
  • Visibility Timeout
    • Default is 30 seconds
      • Increase if your task takes more than 30 seconds to complete
    • Max is 12 hours
  • Short polling
    • returned immediately even if no messages are in the queue
  • Long polling
    • polls the queue periodically and only returns a response when a message is in the queue or the timeout is reached

SNS Exam Tips

  • SNS is a scalable and highly available notification service which allows you to send push notifications from the cloud
  • A variety of message formats are supported
    • SMS, email, SQS, Any HTTP endpoint
  • Pub-sub model whereby users subscribe to topics
  • It is a push mechanism rather than a pull mechanism
  • Example architecture:
    • A company wanting to send notifications to multiple customers use SNS to fan out multiple messages in SQS format using a dedicated SQS queue per customer

SNS vs SES Exam Tips

  • Remember that SES is for email only
  • It can be used for incoming and outgoing mail
  • It is not subscription based - you only need to know the email address

-

  • SNS caters for various formats (SMS, SQS, HTTP, email)
  • Push notifications only
  • Pub-sub model - consumers must subscribe to a topic
  • You can fan out messages to large number of recipients
    • e.g. multiple clients each with their own SQS queue

Kinesis Exam Tips

  • Know the difference between the three core services
    • Kinesis Streams
      • Video Streams
        • Securely stream video from connected devices to AWS for analytics and machine learning
      • Data Streams
        • Build custom aplications to process data in real-time
    • Kinesis Firehose
      • Capture, transform, and load data streams into AWS data stores for near real-time analytics with BI tools
    • You can configure Lambda to subscribe to a Kinesis Stream and execute a function on your behalf when a new record is detected, before sending the processed data on to its final destination

Elastic Beanstalk Exam Tips

  • Deploys and scales your web applications including the web application server platform where required
  • Supports widely used programming technologies
    • Java, PHP, Python, Ruby, Go, Docker, .NET, and Node.js
  • As well as application server platforms like Tomcat, Passenger, Puma, and IIS
  • Can fully manage the EC2 instances for you, or you can take full administrative control
  • Updates, monitoring, metrics, and health checks all included

Updating Elastic Beanstalk Exam Tips

  • Remember the 4 different deployment approaches (scenarios in exam asking which one to use):
    • All at Once
      • Service Interruption while you update the entire environment at once
      • To roll back, perform a further all at once upgrade
      • Test and dev or business that can have downtime
    • Rolling
      • Reduced capacity during deployment
      • To roll back, perform a further rolling update
    • Rolling with Additional Batch
      • Maintains full capacity
      • To roll back, perform a further rolling update
    • Immutable
      • Preferred option for mission critical production systems
      • Maintains full capacity
      • To roll back, just delete the new instances and autoscaling group

Advanced Elastic Beanstalk Exam Tips

  • You can customize your Elastic Beanstalk Environment by adding configuration files
  • The files are written in YAML or JSON
  • Files have a .config extension
  • The .config files are saved to the .ebextensions folder
  • Your .ebextensions folder must be located in the top level directory of your application source code bundle

RDS & Elastic Beanstalk Exam Tips

  • Two different options for launching your RDS instance:
    • Launch with Elastic Beanstalk
      • When you terminate the Elastic Beanstalk environment, the database will also be terminated
      • Quick and easy to add your database and get started
      • Suitable for Dev and Test environments only
    • Launch outside of Elastic Beanstalk
      • Additional configuration steps required
        • Security Group and connection information
      • Suitable for Production environments, more flexibility
      • Allows connection from multiple environments, you can tear down the application stack without impacting the database