You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
:information_source: This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE
4
4
5
-
:bar_chart: There are currently **2402** exercises and questions
5
+
:bar_chart: There are currently **2500** exercises and questions
6
6
7
7
:books: To learn more about DevOps and SRE, check the resources in [devops-resources](https://github.com/bregman-arie/devops-resources) repository
Copy file name to clipboardExpand all lines: topics/aws/README.md
+117-14
Original file line number
Diff line number
Diff line change
@@ -59,6 +59,7 @@
59
59
-[Identify the Service](#identify-the-service)
60
60
-[DNS (Route 53)](#dns-route-53)
61
61
-[SQS](#sqs)
62
+
-[SNS](#sns)
62
63
-[Monitoring and Logging](#monitoring-and-logging)
63
64
-[Billing and Support](#billing-and-support)
64
65
-[AWS Organizations](#aws-organizations)
@@ -2581,6 +2582,12 @@ Amazon DocumentDB
2581
2582
AWS Cognito
2582
2583
</b></details>
2583
2584
2585
+
<details>
2586
+
<summary>Which service is often reffered to as "used for decoupling applications"?</summary><br><b>
2587
+
2588
+
AWS SQS. Since it's a messaging queue so it allows applications to switch from synchronous communication to asynchronous one.
2589
+
</b></details>
2590
+
2584
2591
<details>
2585
2592
<summary>Which service would you use if you need messaging queue?</summary><br><b>
2586
2593
@@ -2873,35 +2880,90 @@ Learn more about it [here](https://aws.amazon.com/sqs)
2873
2880
</b></details>
2874
2881
2875
2882
<details>
2876
-
<summary>Give an example of architecture or workflow that involves SQS</summary><br><b>
2883
+
<summary>Explain "producer" and "consumer" in regards to messaging queue</summary><br><b>
2877
2884
2878
-
A website that allows users to upload videos and adds subtitles to them:
2885
+
Producer is the application or in general, the source that sends messages to the queue.
2879
2886
2880
-
1. First the user uploads the video through the web interface which uploads it to an S3 bucket
2881
-
2. SQS gets notified with a message on the video location
2882
-
3. EC2 instance (or Lambda function) starts to work on adding the subtitles
2883
-
4. The video with the subtitles is uploaded to an S3 buckets
2884
-
5. SQS gets notified of the result and specifically the video location
2887
+
Consumer is the process or application that pulls the messages from the queue.
2885
2888
</b></details>
2886
2889
2887
-
### Monitoring and Logging
2890
+
<details>
2891
+
<summary>What "default retention of messages" means?</summary><br><b>
2892
+
2893
+
It refers to a retention period in which a message has to consumed/processed and deleted from the queue.
2894
+
2895
+
As of today, the retention of a message is 4 days by default and the maximum allows is 14 days.
2896
+
</b></details>
2888
2897
2889
2898
<details>
2890
-
<summary>What is AWS CloudWatch?</summary><br><b>
2899
+
<summary>What's the limitation on message size in SQS?
2891
2900
2892
-
AWS definition: "Amazon CloudWatch is a monitoring and observability service..."
2901
+
* 128KB
2902
+
* 128MB
2903
+
* 256KB
2904
+
* 256MB</summary><br><b>
2893
2905
2894
-
More on CloudWatch [here](https://aws.amazon.com/cloudwatch)
2906
+
256KB
2895
2907
</b></details>
2896
2908
2897
2909
<details>
2898
-
<summary>What is AWS CloudTrail?</summary><br><b>
2910
+
<summary>True or False? It's possible to have duplicated messages in the queue</summary><br><b>
2899
2911
2900
-
AWS definition: "AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account."
2912
+
True. It's referred to as "at least once delivery".
2913
+
</b></details>
2901
2914
2902
-
Read more on CloudTrail [here](https://aws.amazon.com/cloudtrail)
2915
+
<details>
2916
+
<summary>True or False? "Consumers" can be only EC2 instances</summary><br><b>
2917
+
2918
+
False. They can be Lambda functions and even on-premise instances
2919
+
</b></details>
2920
+
2921
+
<details>
2922
+
<summary>True or False? Processes/Applications use from the SDK the SendMessage API in order to send messages to the queue</summary><br><b>
2923
+
2924
+
True.
2925
+
</b></details>
2926
+
2927
+
<details>
2928
+
<summary>What it means "best effort ordering" in regards to SQS?</summary><br><b>
2929
+
2930
+
It means messages in the queue can be out of order.
2931
+
</b></details>
2932
+
2933
+
<details>
2934
+
<summary>What is "Delay Queue" in regards to SQS?</summary><br><b>
2935
+
2936
+
It's the time in seconds to delay the delivery of new messages (when they reached the queue already).
2937
+
2938
+
The limit as of today is 15 minutes.
2939
+
</b></details>
2940
+
2941
+
<details>
2942
+
<summary>What is "Visibility Timeout?"</summary><br><b>
2943
+
2944
+
The time in seconds for a message to not be visible for consumers.
2945
+
2946
+
The limit as of today is 12 hours
2947
+
</b></details>
2948
+
2949
+
<details>
2950
+
<summary>Give an example of architecture or workflow that involves SQS and EC2 & S3</summary><br><b>
2951
+
2952
+
A website that allows users to upload videos and adds subtitles to them:
2953
+
2954
+
1. First the user uploads the video through the web interface which uploads it to an S3 bucket
2955
+
2. SQS gets notified with a message on the video location
2956
+
3. EC2 instance (or Lambda function) starts to work on adding the subtitles
2957
+
4. The video with the subtitles is uploaded to an S3 buckets
2958
+
5. SQS gets notified of the result and specifically the video location
2903
2959
</b></details>
2904
2960
2961
+
<details>
2962
+
<summary>What's MessageGroupID?</summary><br><b>
2963
+
</b></details>
2964
+
2965
+
### SNS
2966
+
2905
2967
<details>
2906
2968
<summary>What is Simply Notification Service?</summary><br><b>
2907
2969
@@ -2922,6 +2984,38 @@ Read more about it [here](https://aws.amazon.com/sns)
2922
2984
* Publishers - the provider of the message (event, person, ...)
2923
2985
</b></details>
2924
2986
2987
+
<details>
2988
+
<summary>How SNS is different from SQS?</summary><br><b>
2989
+
2990
+
SNS, as opposed to SQS, works in a publisher/subscriber model. Where's SQS works in Producer/Consumer model.
2991
+
2992
+
SQS delivers the message to one consumer where's SNS will send a message to multiple subscribers.
2993
+
</b></details>
2994
+
2995
+
<details>
2996
+
<summary>What's a Fan-Out pattern?</summary><br><b>
2997
+
2998
+
A messaging pattern where a single message is send to multiple destinations (often simultaneously). So one-to-many broadcast message.
2999
+
</b></details>
3000
+
3001
+
### Monitoring and Logging
3002
+
3003
+
<details>
3004
+
<summary>What is AWS CloudWatch?</summary><br><b>
3005
+
3006
+
AWS definition: "Amazon CloudWatch is a monitoring and observability service..."
3007
+
3008
+
More on CloudWatch [here](https://aws.amazon.com/cloudwatch)
3009
+
</b></details>
3010
+
3011
+
<details>
3012
+
<summary>What is AWS CloudTrail?</summary><br><b>
3013
+
3014
+
AWS definition: "AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account."
3015
+
3016
+
Read more on CloudTrail [here](https://aws.amazon.com/cloudtrail)
3017
+
</b></details>
3018
+
2925
3019
### Billing and Support
2926
3020
2927
3021
<details>
@@ -3356,6 +3450,15 @@ Network Load Balancer
3356
3450
You can use an ElastiCache cluster or RDS Read Replicas.
3357
3451
</b></details>
3358
3452
3453
+
<details>
3454
+
<summary>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?</summary><br><b>
3455
+
3456
+
More details are missing to determine for sure but it might be better to decouple the applications by introducing one of the following:
Copy file name to clipboardExpand all lines: topics/devops/README.md
+24-4
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,8 @@
1
-
## DevOps
1
+
# DevOps
2
+
3
+
## Questions
4
+
5
+
### General
2
6
3
7
<details>
4
8
<summary>What is DevOps?</summary><br><b>
@@ -69,7 +73,7 @@ A couple of thoughts:
69
73
3. You might want to set a possibly better goal such as "be able to deploy whenever we need to deploy"
70
74
</b></details>
71
75
72
-
####Tooling
76
+
### Tooling
73
77
74
78
<details>
75
79
<summary>What do you take into consideration when choosing a tool/technology?</summary><br><b>
@@ -120,7 +124,7 @@ Things to think about:
120
124
* 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?
121
125
</b></details>
122
126
123
-
####Version Control
127
+
### Version Control
124
128
125
129
<details>
126
130
<summary>What is Version Control?</summary><br><b>
@@ -179,7 +183,7 @@ to a server will result in a new server instead of updating it. Terraform is an
179
183
which follows the immutable infrastructure paradigm.
0 commit comments