diff --git a/README.md b/README.md
index 1f19580..c9de137 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
:information_source: This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE
-:bar_chart: There are currently **2402** exercises and questions
+:bar_chart: There are currently **2500** exercises and questions
:books: To learn more about DevOps and SRE, check the resources in [devops-resources](https://github.com/bregman-arie/devops-resources) repository
diff --git a/topics/aws/README.md b/topics/aws/README.md
index 8991fda..163ae68 100644
--- a/topics/aws/README.md
+++ b/topics/aws/README.md
@@ -59,6 +59,7 @@
- [Identify the Service](#identify-the-service)
- [DNS (Route 53)](#dns-route-53)
- [SQS](#sqs)
+ - [SNS](#sns)
- [Monitoring and Logging](#monitoring-and-logging)
- [Billing and Support](#billing-and-support)
- [AWS Organizations](#aws-organizations)
@@ -2581,6 +2582,12 @@ Amazon DocumentDB
AWS Cognito
+
+Which service is often reffered to as "used for decoupling applications"?
+
+AWS SQS. Since it's a messaging queue so it allows applications to switch from synchronous communication to asynchronous one.
+
+
Which service would you use if you need messaging queue?
@@ -2873,7 +2880,74 @@ Learn more about it [here](https://aws.amazon.com/sqs)
-Give an example of architecture or workflow that involves SQS
+Explain "producer" and "consumer" in regards to messaging queue
+
+Producer is the application or in general, the source that sends messages to the queue.
+
+Consumer is the process or application that pulls the messages from the queue.
+
+
+
+What "default retention of messages" means?
+
+It refers to a retention period in which a message has to consumed/processed and deleted from the queue.
+
+As of today, the retention of a message is 4 days by default and the maximum allows is 14 days.
+
+
+
+What's the limitation on message size in SQS?
+
+* 128KB
+* 128MB
+* 256KB
+* 256MB
+
+256KB
+
+
+
+True or False? It's possible to have duplicated messages in the queue
+
+True. It's referred to as "at least once delivery".
+
+
+
+True or False? "Consumers" can be only EC2 instances
+
+False. They can be Lambda functions and even on-premise instances
+
+
+
+True or False? Processes/Applications use from the SDK the SendMessage API in order to send messages to the queue
+
+True.
+
+
+
+What it means "best effort ordering" in regards to SQS?
+
+It means messages in the queue can be out of order.
+
+
+
+What is "Delay Queue" in regards to SQS?
+
+It's the time in seconds to delay the delivery of new messages (when they reached the queue already).
+
+The limit as of today is 15 minutes.
+
+
+
+What is "Visibility Timeout?"
+
+The time in seconds for a message to not be visible for consumers.
+
+The limit as of today is 12 hours
+
+
+
+Give an example of architecture or workflow that involves SQS and EC2 & S3
A website that allows users to upload videos and adds subtitles to them:
@@ -2884,23 +2958,11 @@ A website that allows users to upload videos and adds subtitles to them:
5. SQS gets notified of the result and specifically the video location
-### Monitoring and Logging
-
-What is AWS CloudWatch?
-
-AWS definition: "Amazon CloudWatch is a monitoring and observability service..."
-
-More on CloudWatch [here](https://aws.amazon.com/cloudwatch)
+What's MessageGroupID?
-
-What is AWS CloudTrail?
-
-AWS definition: "AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account."
-
-Read more on CloudTrail [here](https://aws.amazon.com/cloudtrail)
-
+### SNS
What is Simply Notification Service?
@@ -2922,6 +2984,38 @@ Read more about it [here](https://aws.amazon.com/sns)
* Publishers - the provider of the message (event, person, ...)
+
+How SNS is different from SQS?
+
+SNS, as opposed to SQS, works in a publisher/subscriber model. Where's SQS works in Producer/Consumer model.
+
+SQS delivers the message to one consumer where's SNS will send a message to multiple subscribers.
+
+
+
+What's a Fan-Out pattern?
+
+A messaging pattern where a single message is send to multiple destinations (often simultaneously). So one-to-many broadcast message.
+
+
+### Monitoring and Logging
+
+
+What is AWS CloudWatch?
+
+AWS definition: "Amazon CloudWatch is a monitoring and observability service..."
+
+More on CloudWatch [here](https://aws.amazon.com/cloudwatch)
+
+
+
+What is AWS CloudTrail?
+
+AWS definition: "AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account."
+
+Read more on CloudTrail [here](https://aws.amazon.com/cloudtrail)
+
+
### Billing and Support
@@ -3356,6 +3450,15 @@ Network Load Balancer
You can use an ElastiCache cluster or RDS Read Replicas.
+
+You have two applications who communicate synchronously. It worked fine until there suddenly a spike of traffic. What change you might apply in this case?
+
+More details are missing to determine for sure but it might be better to decouple the applications by introducing one of the following:
+
+* Queue model with SQS
+* Publisher/Subscriber model with SNS
+
+
### Misc
diff --git a/topics/aws/exercises/hello_function/exercise.md b/topics/aws/exercises/hello_function/exercise.md
index 0c15b97..a6204a4 100644
--- a/topics/aws/exercises/hello_function/exercise.md
+++ b/topics/aws/exercises/hello_function/exercise.md
@@ -1,3 +1,7 @@
-## Hello Function
+# Hello Function
Create a basic AWS Lambda function that when given a name, will return "Hello "
+
+## Solution
+
+Click [here](solution.md) to view the solution.
\ No newline at end of file
diff --git a/topics/devops/README.md b/topics/devops/README.md
index 4dbe8fb..3a80dff 100644
--- a/topics/devops/README.md
+++ b/topics/devops/README.md
@@ -1,4 +1,8 @@
-## DevOps
+# DevOps
+
+## Questions
+
+### General
What is DevOps?
@@ -69,7 +73,7 @@ A couple of thoughts:
3. You might want to set a possibly better goal such as "be able to deploy whenever we need to deploy"
-#### Tooling
+### Tooling
What do you take into consideration when choosing a tool/technology?
@@ -120,7 +124,7 @@ Things to think about:
* What does the switch from one platform to another will require from the organization? For example, training users who use the platform? How much time the team has to invest in such move?
-#### Version Control
+### Version Control
What is Version Control?
@@ -179,7 +183,7 @@ to a server will result in a new server instead of updating it. Terraform is an
which follows the immutable infrastructure paradigm.
-#### Software Distribution
+### Software Distribution
Explain "Software Distribution"
@@ -414,6 +418,8 @@ Note: cross-dependency is when you have two or more changes to separate projects
What is Distributed Tracing?
+### GitOps
+
What is GitOps?
@@ -422,6 +428,20 @@ GitLab: "GitOps is an operational framework that takes DevOps best practices use
Read more [here](https://about.gitlab.com/topics/gitops)
+
+What are some of the advantages of applying GitOps?
+
+* It introduces limited/granular access to infrastructure
+* It makes it easier to trace who makes changes to infrastructure
+
+
+
+What are some practical implementations or practices of GitOp?
+
+* Store Infra files in a version control repository (like Git)
+* Apply review/approval process for changes
+
+
#### SRE