Misc Flashcards

CloudFormation, Elastic Beanstalk and Architecting for Cloud

1
Q

What is Elastic Beanstalk?

A

It pre-provisions resources for a given result.

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

What is the main difference between Elastic Beanstalk and CloudFormation?

A

Beanstalk is more automated

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

What is CloudFormation?

A

Infrastructure as code

Automating resource provisioning

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

What is a CloudFormation stack?

A

One or more CloudFormation templates that will provision resources

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

Adding hardware to an EC2 instance is an example of ____ ____ vs adding more EC2 instances to a group, which is ____ ____

A

Scaling up

Scaling out

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

What are the four methods of scaling out (horizontally)?

A

Stateless Applications

Stateless Components

Stateful Components

Distributed Processing

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

How do stateless appplications support horizontal scaling and what is an example of a stateless application?

A

Since session information is not stored on the application hardware so scaling out does not rely on any state data. Lambda is an example of this

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

When distributing workload to multiple nodes, what are the two models and what AWS services support each?

A

Push Model - ELB (NLB, ALB), Route53 round robin

Pull Model - SQS, Kinesis

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

How can horizontal scaling be supported with stateless components?

A

Cookies in users browser

DynamoDB

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

What is the relationship between horizontal scaling and stateful components?

A

Most real-world apps require some state that can’t be kept as cookies.

Implement session affinity with the sticky session feature of an Application Load Balancer

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

How can distributed processing support horizontal scaling?

A

For large very large datasets

Services like Elastic Map Reduce can break up data and distribute it

AWS Glue

AWS Batch

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

What are the overall Cloud Design Principles?

A

Scalability

Disposable Resources over Fixed Servers

Automation

Loose Coupling

Services, Not Servers

Databases

Managing Increasing Volumes of Data

Removing Single Points of Failure

Optimize for Cost

Caching

Security

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

How do we architect for disposable resources instead of fixed servers?

A

Bootstrapping (EC2 launch scripts)

Golden Images (Prebuilt AMIs)

Hybrid of two

Infrastructure as Code (CloudFormation)

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

What are the two services in AWS that support Infrastructure as Code?

A

Elastic Beanstalk

CloudFormation

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

How can the AWS Automation Principle be supported?

A

Loose Coupling

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

What are the components of Loose Coupling?

A

Well defined interfaces

Service Discovery (no hardcoded IPs)

Async Integration (queues)

Graceful Failure

17
Q

How is the principle “Services not Servers” implemented?

A

Using managed services (Paypal)

Serverless Architectures (Lambda, API Gateway, DynamoDB)

18
Q

What are the keys to Removing Single Points of Failure?

A

Introduce redundancy

Detect Failure (health checks)

Durable Data Storage (S3, Dynamo, not EC2)

Multiple AZ

Shard data (break it up)

19
Q

What are the components of the Security Principle?

A

Utilize AWS features

Offload respnsibility to AWS

Reduce Priveleged Access

Security as Code

Audit in Real Time