9. Containers Flashcards

1
Q

Three reasons tightly-coupled monolithic architectures are bad.

A
  • Less resilient
  • Harder to scale
  • Slower feature delivery (1)

(1): Conway’s Law - https://en.wikipedia.org/wiki/Conway%27s_law

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Best alternative to monoliths?

A

Microservices approach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe microservices approach

A

Based on a **collection of small services **:

  • Specialized for a single purpose
  • Self-contained code and functionality
  • Loosely coupled via load-balancing
  • Well-defined APIs for communication
  • Autonomous deployment and scaling

https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/simple-microservices-architecture-on-aws.html

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How to manually run containers on an EC2 instance?

A
  • Deploy an EC2 instance
  • Install a container runtime
  • Build & run containers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The 3 components of a managed container solution?

A
  • Container registry
  • Orchestration tool (control plane)
  • Container hosting (data plane)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a container registry?

A

A collection of repositories that store container images.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the AWS container registry service called?

A

Amazon ECR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What container orchestration services does AWS offer?

A
  • ECS
  • EKS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When to use ECS vs. EKS?

A
  • ECS - Best if you are primarily AWS.
  • EKS - Best for interoperating with on-prem or other cloud providers.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What container hosting options does AWS offer?

A
  • EC2
  • Fargate

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

For ECS, the hosting options are also called:

A

Launch type

Because that is the type of hosting resource the container will be *

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Advantages of using EC2 clusters for hosting containers?

A
  • Control over instance type
  • Usually more cost effective

EC2 is more cost effective unless you run a very small number of containers per application
(See: https://docs.google.com/spreadsheets/d/1th6E9N96IlKpmoFyQivPkBAdRvFzr4zlseB4ZzI9-hQ/edit?usp=sharing)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Advantages of using Fargate for hosting containers?

A
  • Zero management of host resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the key components of ECS?

A
  • Services - your applications
  • Tasks - container instances
  • Cluster EC2 host cluster (optional)
  • ECR Registry
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Four benefits of ECS?

A
  • Service discovery
  • AWS integrations
  • Flexible hosting (EC2/Fargate)
  • CI/CD workflows

Service Discovery: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is EKS?

A

Amazon’s managed Kubernetes service

17
Q

What version of Kubernetes does EKS run?

A

The latest open-source version

18
Q

How does EKS provide control plane reliability?

A
  • EKS runs 3 managment nodes, one in each AZ.
  • Unhealthy managment nodes are automatically replaced.
  • Automated version upgrades & patching
19
Q

What is AWS Fargate?

A
  • Another compute resource type for hosting containers
  • No management of EC2 clusters required