Dojo AWS Cheat Sheet Flashcards
Availability Zone
Consist of one or more data centers, each with redundant power, networking and connectivity
Essentially a cluster of interconnected data centers in a specific geographic zone, that can help your applications become highly available
AWS Region
This consist of multiple Availability Zones
Since a single AZ consist of multiple data centers, your system can achieve a higher level of fault tolerance by running it in two or more AZs
This enables companies to build highly available, fault tolerant, and scalable cloud architecture instead of running their applications on a single data center
AWS Edge Networks
Consist of Edge Locations and Regional Edge Caches, which enables you to distribute your content with low latency to your global users.
By using these global edge networks, a user request doesnt need to travel far back to your origin just to fetch data
The cached contents can quickly be retrieved from regional edge caches that are closer to your end users
This is also referred to as a Content Delivery Network (CDN)
AWS Local Region
This is a single datacenter designed to compliment an existing AWS Region
Local Zone places AWS compute, storage, database and other select services closer to large population, industry and IT centers where no AWS region exists today.
To deliver low latency content to users around the globe, AWS has placed Points of Presence, which are either edge locations or edge caches
All Upfront Pricing
You pay for the entire Reserved Instance term with one upfront payment.
This option provides you with the largest discount compared to On Demand instance pricing
Partial Upfront Pricing
This option, you make a low upfront payment and are then charged a discount hourly rate for the instance for the duration of the Reserved Instance term
No Upfront Pricing
This option does not require any upfront payment and provides a discounted hourly rate for the duration of the term
Operational Excellence
The ability to run and monitor systems to deliver business value and to continually improve supporting processes and procedures
Organization - AWS Cloud Compliance, AWS Trusted Advisor, AWS Organizations
Prepare - AWS Config
Operate - Amazon CloudWatch
Evolve - Amazon ElastiSearch Service
Security
The ability to protect information, systems and assets while delivering business value through risk assessments and mitigation strategies
Security - AWS Shared Responsibility Model, AWS Config, AWS Trusted Advisor
Identity and Access Management - IAM, MFA, AWS Organizations
Detective Controls - AWS CloudTrail, AWS Config, Amazon GuardDuty
Infrastructure Protection - Amazon VPC, Amazon CloudFront with AWS Shield, AWS WAF
Data Protection - ELB, Amazon Elastic BLock Store (Amazon EBS), Amazon S3 and Amazon Relational Database Service (Amazon RDS), encryption, Amazon Macie, AWS Key Management Service (AWS KMS)
Incident Response: IAM, Amazon CloudWatch Events
Reliability
The ability of a system to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions such as misconfigurations or transient network issues
There are four best practice area and tools for reliability in the cloud:
Foundations - IAM, Amazon VPC, AWS Trusted Advisor, AWS Shield
Change Management - AWS CloudTrail, AWS Config, Auto Scaling, Amazon CloudWatch
Failure Management - AWS CloudFormation, Amazon S3, AWS KMS, Amazon Glacier
Workload Architecture - AWS SDK, AWS Lambda
Performance Efficiency
The ability to use computing resources efficiently to meet system requirements and to maintain that efficiency as demand changes and technologies evolve
There are four best practice areas for performance efficiency in the cloud:
Selection - Auto Scaling for Compute, Amazon EBS, and S3 for Storage
Review - AWS Blog and Whats New section
Monitoring - Amazon CloudWatch
Tradeoffs - Amazon Elasticache, Amazon CloudFront, AWS Snowball, Amazon RDS read replicas
Cost Optimization
The ability to avoid or eliminate unneeded cost or suboptimal resources
There are five best practice areas and tools for cost optimization in the cloud:
Cloud Financial Management - Amazon QuickSight, AWS Cost and Usage Report (CUR)
Cost Effectiveness Resources - Cost Explorer, Amazon CloudWatch and Trusted Advisor, Amazon Aurora for RDS, AWS Direct Connect with Amazon CloudFront
Matching Supply and Demand - Auto Scaling
Expenditure Awareness - AWS Cost Explorer, AWS Budgets
Optimizing Over Time - AWS News Blog and the Whats new Secrtion on AWS website, AWS Trusted Advisor
Sustainability
The ability to increase efficiency across all components of a workload by maximizing the benefits from the provisioned resources
Region Selection - AWS Global Infrastructure
User Behavior Patterns - Auto Scaling, Elastic Load Balancing
Software and Architecture Patterns - AWS Design principles
Data Patterns - Amazon EBS, Amazon EFS, Amazon FSx, Amazon S3
Hardware Patterns - Amazon EC2, AWS Elastic Beanstalk
Development and Deployment Process - AWS CloudFormation
Scaling Horizontally
An increase in the number of resources (more EC2 instances)
Scaling Veritically
an increase in the specifications of an individual resource
Instantiating Compute Resources
Automate setting up of new resources along with their configuration and code
Infrastructure as Code
AWS assets are programmable
You can apply techniques, practices and tools from software development to make your whole infrastructure reusable, maintainable, extensible and testable
Serverless Management and Deployment
Being serverless shifts your focus to automation of your code deployment.
AWS handles the management tasks for you
Infrastructure Management and Deployment
AWS automatically handles details, such as resource provisioning, load balancing, auto scaling and monitoring so you can focus on resource deployment
Alarms and Events
AWS services will continuously monitor your resources and initiate events when certain metrics or conditions are met
Alarms and Events
AWS services will continuously monitor your resources and initiate events when certain metrics or conditions are met
Well Defined Interfaces
reduce interdependencies in a system by allowing various components to interact with each other only through specific technology agnostic interfaces such as RESTful APIs
Service Discovery
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
Asynchronous Integration
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
Distributed Systems Best Practices
Build applications that handle components failure in a graceful manner
Managed Services
Provide building blocks that developers can consumer to power their applications, such as databases, machine learning, analytics, queuing, search, email, notifications and more
Serverless Architecture
Allow you to build both event driven and synchronous services without managing server infrastructure, which can reduce the operational complexity of running applications
Relational Databases
Provides 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
NoSQL Databases
Trade some of the query and transaction capabilities or 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
Data Warehouse
A specialized type of relational database which is optimized for analysis and reporting of large amounts of data
Data Lake
An architectural approach that allows you to store massive amounts of data in a central location so that its readily available to be categorized, processed, analyzed and consumed by diverse groups within your organization
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
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
Detect Failure
Use health checks and collect logs
Synchronous Replications
Only acknowledges a transaction after it has been durable 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
Asynchronous Replications
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
Quorom Based Replication
Combines synchronous and asynchronous replication by defining a minimum number of nodes that must participate in a successful write operation
Automated Multi Data Center Resilience
Utilize AWS Regions and Availability Zones
Right Sizing
AWS offers a broad range of resource types and configurations for many use cases
Application Data Caching
Store and retrieve information from fast, managed, in memory caches
Edge Caching
Server content by infrastructure that is closer to viewers, which lowers latency and hives high, sustained data transfer rates necessary to deliver large popular objects to end users at scale
Share Security Responsibility with AWS
AWS Handles security of the cloud while customers handle security in the cloud
Reduced Privileged Access
Implement Principle of Least Privilege Controls
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
Real Time Auditing
implement continuous monitoring and automation of controls on AWS to minimize exposure to security risks
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
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
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
Design for Failure
This concept encourages you to be a pessimist when designing architectures in the cloud and assume that the components of your architecture will fail
This reinforces you to always design your cloud architecture to be highly available and fault tolerant
RTO
This is the time it takes after a disruption to restore a business process to its service level
RPO
This is the acceptable amount of data loss measured in time before the disaster occurs
Backup and Restore
Storing backup data on S3 and recover data quickly and reliably
Warm Standby Solution
A scaled down version of a fully functional environment is always running in the cloud
S3
This is a destination for backup data that might be needed quickly to perform a restore
Import/Export
This is for transferring very large data sets by shipping storage devices directly to AWS
Glacier
For longer term data storage where retrieval times of several hours are adequate
Server Migration Service
This is for performing agentless server migrations from on premises to AWS
Database Migration Service and Schema Conversion Tool
This is for moving databases from on premises to AWS and automatically converting SQL schema from one engine to another
Storage Gateway
Copies snapshots of your on premises data volumes to S3 for backup
You can create local volumes or EBS volumes from these snapshots
Elastic Load Balacing
This is for distributing traffic to multiple instances
Route53
For routing production traffic to different sites that deliver the same application or server
Elastic IP Address
Static IP Addresses
Virtual Private Cloud (Amazon VPC)
For provisioning a private, isolated section of the AWS cloud
Direct Connect
For a dedicated network connection from your premises to AWS
Relational Database Service (RDS)
For scale of a relational database in the cloud
DynamoDB
For a fully managed noSQL database service to store and retrieve any amount of data and serve any level of request traffic
Redshift
For a petabyte scale data warehouse service that analyzes all your data using existing business intelligence tools
CloudFormation
For creating a collection of related AWS resources and provision them in an orderly and predictable fashion
Elastic Beanstalk
This is a service for deploying and scaling web applications and services developed