Architecting for the Cloud Flashcards

1
Q

Design Principle –Scalability

A

Scalability –Vertically and Horizontally;
Vertically – increase in the specifications of an individual resources; easy to implement but not always cost efficient or highly available. has to stop instance.
Horizontally – increase in the number of resources. a great way to build internet-scale applications that leverage the elasticity of cloud computing.

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

Stateless Applications

A

an application that needs no knowledge of previous interactions and stores no session information.

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

How to distribute load to multiple nodes

A

push model: through use of load balancing solution like the ELB. another way would be to implement a DNS round robin(route 53), DNS responses return an IP address from a list of valid hosts in a round robin fashion. Caching DNS resolvers are outside the control of route 53, and might not always respect your settings.

Pull model: asynchronouse event-driven workloads do not require a load balancing solution. in this model, data or tasks are stored as messages in a queue(SQS) or as a streaming data solution like Amazon Kinesis. Multiple compute nodes can then pull and consume those messages, in a distributed fashion.

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

Stateless Components

A

storing a unique session identifier in a http coolie and store detailed user session server-side(like database)
store larger file in S3 or EFS to avoid introduction of statefull components. SWF to store execution history and make these workloads stateless.

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

Statefull COmponents

A

Database; Legacy application designed to run on a single server by relying on local compute resources.
session affinity. – bind all the transactions of a session to a specific compute resources. Can be achieved through the “sticky sessions” feature of ELB.

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

Distributed Processing

A

offline batch jobs can be horizontally scaled by using a distributed data processing engine like Apache Hadoop.
Amazon Elastic MapReduce service to run Hadoop workloads on top of a fleet of EC2 instances withour the operational complexity. For real-time processing of streaming data, Amazon Kinesis partitions data in multiple shards that can then be consumed by multiple EC2, or lambda resources.

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

Design Principle – Disposable Resources instead of Fixed Servers

A

Instantiating Compute Resources:Bootstrapping, golden images, docker, hybrid model(Elastic Beanstalk)
Infrastructure as Code: cloudformation

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

bootstrapping vs, golden image

A

Items that do not change often or that introduce external dependencies will be part of your golden image.
Items that change often or differ between your various environments can ne set up dynamically through bootstrapping.

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

Hybrid model

A

Elastic Beanstalk follows hybrid model. It provides preconfigured run time environments(each initiated from its own AMI) but allows you to run bootstrap actions(through configuration files called .ebextensions)) and configure environmental variables to parameterize the environment differences,

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

Infrastructure as Code

A

AWS CloudFormation templates give developers and systems administrators an easy way to create and manage a collection of related AWS resources, and provision and update them in an orderly and predictable fashion. You can describe the AWS resources, and any associated dependencies or run time parameters, required to run your application. Your CloudFormation templates can live with your application in your version control repository, allowing architectures to be reused and production environments to be reliably cloned for testing.

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

Design Principle – Automation

A
AWS Elastic Beanstalk;
EC2 auto recovery;
Auto scalling;
cloudWatch Alarms;
cloudwatch Events;
OpsWorks Lifecycle events;
Lambda Scheduled events;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Design Principle – Loose Coupling

A

Well-defined interfaces – Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. It handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, and API version management.
Service Discovery: through Elastic Load Balancing, or service registration and discovery method.
Asynchronous Integration: suitable for any interaction that does not need an immediate response and where an acknowledgement that a request has been registered will suffice.
Graceful Failure: The Amazon Route 53 DNS failover feature also gives you the ability to monitor your website and automatically route your visitors to a backup site if your primary site becomes unavailable. You can host your backup site as a static website on Amazon S3 or as a separate dynamic environment.

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

Design Principle – Services, Not Servers

A

Managed Services and Serverless Architectures(Lambda and Amazon Cognito for mobile apps.

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

How to take advantage of read replicas?

A

Read replicas are separate database instances that are replicated asynchronously. As a result, they are subject to replication lag and might be missing some of the latest transactions. Application designers need to consider which queries have tolerance to slightly stale data. Those queries can be executed on a read replica, while the rest should run on the primary node. Read replicas can also not accept any write queries.

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

Search

A

CloudSearch – requires little configuration and will scale automatically.
ES– offers an open source API and give you more control that just a search solution.

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

Removing Single Points of Failure.

A

introducing redundancy;
Detect Failure: design good health checks. on the Elastic Load Balancing Service. A deep health check might be appropriate to implement at the Amazon Route53 level.
Durable Data Storage: synchronous/asynchronous replication.