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
- Default is 30 seconds
- 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
- Video Streams
- 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
- Kinesis Streams
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
- All at Once
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
- Additional configuration steps required
- Launch with Elastic Beanstalk