AWS Design Principles Flashcards

1
Q

What is Scaling Horizontally?

A

an increase in the number of resources

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

What is Scaling Vertically?

A

an increase in the specifications of an individual resource

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

What is Instantiating Compute Resources?

A

automate setting up of new resources along with their configuration and code

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

What is Infrastructure as Code?

A

AWS assets are programmable. You can apply techniques, practices, and tools from software development to make your whole infrastructure reusable, maintainable, extensible, and testable.

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

What is Serverless Management and Deployment?

A

being serverless shifts your focus to automation of your code deployment. AWS handles the management tasks for you.

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

What is Infrastructure Management and Deployment?

A

AWS automatically handles details, such as resource provisioning, load balancing, auto scaling, and monitoring, so you can focus on resource deployment.

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

What are Alarms and Events?

A

AWS services will continuously monitor your resources and initiate events when certain metrics or conditions are met.

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

What are Well-Defined Interfaces?

A

reduce interdependencies in a system by allowing various components to interact with each other only through specific, technology agnostic interfaces, such as RESTful APIs.

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

What is Service Discovery?

A

applications that are deployed as a set of smaller services should be able to be consumed without prior knowledge of their network topology details. Apart from hiding complexity, this also allows infrastructure details to change at any time.

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

What is Asynchronous Integration?

A

interacting components that do not need an immediate response and where an acknowledgement that a request has been registered will suffice, should integrate through an intermediate durable storage layer.

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

What is Distributed Systems Best Practices?

A

build applications that handle component failure in a graceful manner.

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

What are Relational Databases?

A

provide a powerful query language, flexible indexing capabilities, strong integrity controls, and the ability to combine data from multiple tables in a fast and efficient manner.

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

What are NoSQL Databases?

A

trades some of the query and transaction capabilities of relational databases for a more flexible data model that seamlessly scales horizontally. It uses a variety of data models, including graphs, key-value pairs, and JSON documents, and are widely recognized for ease of development, scalable performance, high availability, and resilience.

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

What are Data Warehouses?

A

are a specialized type of relational database, which is optimized for analysis and reporting of large amounts of data.

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

What are Graph Databases?

A

uses graph structures for queries.

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

What Search Functionalities do Graph Databases provide?

A

-Search is often confused with query. A query is a formal database query, which is addressed in formal terms to a specific data set. Search enables datasets to be queried that are not precisely structured.
-A search service can be used to index and search both structured and free text format and can support functionality that is not available in other databases, such as customizable result ranking, faceting for filtering, synonyms, and stemming.

17
Q

What is a Data Lake?

A

Data Lake – an architectural approach that allows you to store massive amounts of data in a central location so that it’s readily available to be categorized, processed, analyzed, and consumed by diverse groups within your organization.

18
Q

What is Standby Redundancy?

A

Standby redundancy – when a resource fails, functionality is recovered on a secondary resource with the failover process. The failover typically requires some time before it completes, and during this period the resource remains unavailable. This is often used for stateful components such as relational databases.

19
Q

What is Active Redundancy?

A

Active redundancy – requests are distributed to multiple redundant compute resources. When one of them fails, the rest can simply absorb a larger share of the workload.

20
Q

What is Detect Failure?

A

Detect Failure – use health checks and collect logs

21
Q

What is Synchronous Replication?

A

Synchronous replication – only acknowledges a transaction after it has been durably stored in both the primary storage and its replicas. It is ideal for protecting the integrity of data from the event of a failure of the primary node.

22
Q

What is Asynchronous Replication?

A

Asynchronous replication – decouples the primary node from its replicas at the expense of introducing replication lag. This means that changes on the primary node are not immediately reflected on its replicas.

23
Q

What is Quorum-based Replication?

A

Quorum-based replication – combines synchronous and asynchronous replication by defining a minimum number of nodes that must participate in a successful write operation.

24
Q

What is Automated Multi-Data Center Resilience?

A

Automated Multi-Data Center Resilience – utilize AWS Regions and Availability Zones (Multi-AZ Principle). (See Disaster Recovery section)

25
Q

What is Fault Isolation and Traditional Horizontal Scaling?

A

Fault Isolation and Traditional Horizontal Scaling – Shuffle Sharding

26
Q

How does one optimize for cost?

A

-Right Sizing – AWS offers a broad range of resource types and configurations for many use cases.
-Elasticity – save money with AWS by taking advantage of the platform’s elasticity.
-Take Advantage of the Variety of Purchasing Options – Reserved Instances vs Spot Instances (See AWS Pricing)

27
Q

What is Application Data Caching?

A

Application Data Caching – store and retrieve information from fast, managed in-memory caches.

28
Q

What is Edge Caching?

A

Edge Caching – serves content by infrastructure that is closer to viewers, which lowers latency and gives high, sustained data transfer rates necessary to deliver large popular objects to end users at scale.

29
Q

What is Defense in Depth?

A

Use AWS Features for Defense in Depth – secure multiple levels of your infrastructure from network down to application and database.

30
Q

What is Share Security Responsibility with AWS?

A

Share Security Responsibility with AWS – AWS handles the security OF the Cloud while customers handle security IN the Cloud.

31
Q

What are Reduce Privileged Access?

A

Reduce Privileged Access – implement the Principle of Least Privilege controls.

32
Q

What is Security as Code?

A

Security as Code – firewall rules, network access controls, internal/external subnets, and operating system hardening can all be captured in a template that defines a Golden Environment.

33
Q

What is Real-Time Auditing?

A

Real-Time Auditing – implement continuous monitoring and automation of controls on AWS to minimize exposure to security risks.

34
Q

What does it mean to Decouple your components?

A

Decouple your components– the key concept is to build components that do not have tight dependencies on each other so that if one component were to fail for some reason, the other components in the system will continue to work. This is also known as loose coupling. This reinforces the Service-Oriented Architecture (SOA) design principle that the more loosely coupled the components of the system are, the better and more stable it scales.

35
Q

What does it mean to Think Parallel?

A

Think parallel - This internalizes the concept of parallelization when designing architectures in the cloud. It encourages you to implement parallelization whenever possible and to also automate the processes of your cloud architecture.

36
Q

What does it mean to Implement Elasticity?

A

Implement elasticity - This principle is implemented by automating your deployment process and streamlining the configuration and build process of your architecture. This ensures that the system can scale in and scale out to meet the demand without any human intervention.