Week 6 - AWS Services Part 2 Flashcards
Unmanaged services
Scaling, fault tolerance, and availability are managed by you.
Unmanaged services are typically provisioned in discrete portions as specified by the user.
You must manage how the service responds to changes in load, errors, and situations where resources become unavailable.
Managed services
Scaling, fault tolerance, and availability are typically built in to the
service.
Managed services require the user to configure them.
Unmanaged database challenges
Server
maintenance and energy footprint
* Software installation and patches
* Database backups and high availability
* Limits on scalability
* Data security
* Operating system installation and patches
RDS Read Replica
Features
* Offers asynchronous
replication
* Can be promoted to
primary if needed
Functionality
* Use for read-heavy database workloads
* Offload read queries
A relational database (RDB)
- Works with structured data that is organized by tables, records,
and columns. - Might have difficulties scaling out horizontally or working with semi
structured data.
A non-relational database
- Does not follow the relational model
- Grown in popularity because they were designed to overcome the
limitations of relational databases for handling the demands of
variable structured data. - Non-relational databases scale out horizontally, and they can work
with unstructured and semi structured data.
Database
Stores data that represents some
elements of real world
* Designed to record data
* Application Oriented collection of data
* Simple transactional queries
Data Warehouse
- Stores historical and communicative
data from multiple sources - Designed to analyse data
- Subject Oriented collection of data
- Complex analysis based queries
Analytics are important for businesses today, but building a data warehouse is complex
and expensive.
Data warehouses can take months and significant financial resources to
set up.
Amazon Redshift
is a fast and powerful, fully managed data warehouse that is simple and
cost effective to set up, use, and scale. It enables you to run complex analytic queries.
Elastic Load Balancing
Distributes incoming
application or network traffic across
multiple targets in a single Availability
Zone or across multiple Availability
Zones.
- Scales your load balancer as traffic to your application changes over time.
Amazon CloudWatch
Monitors
* AWS resources
* Applications that run on AWS
* Collects and tracks
* Standard metrics
* Custom metrics
Alarms
* Send notifications to an Amazon
Simple Notification Service ( topic
* Perform Amazon EC2 Auto Scaling or Amazon EC2 actions
Events
* Define rules to match changes in AWS environment and route these events to one or more target functions or streams for processing
Capacity Scaling
Scaling is the ability to increase or decrease the compute capacity of your application.
One option is to allocate more than enough capacity so you can always meet your highest demand.
With this option, your costs are not optimized.
Another option is to allocate less capacity to reduce costs.
you are under capacity on certain days. If you don’t solve your capacity problem, your application could underperform or potentially even become unavailable for users.
EC2 Auto Scaling
Helps you maintain application
availability
- Enables you to automatically
add or remove EC2 instances
according to conditions that you
define - Detects impaired EC2 instances
and unhealthy applications, and
replaces the instances without
your intervention - Provides several scaling options
Manual, scheduled, dynamic
or on demand, and predictive
Auto Scaling group
An Auto Scaling
group is a collection of EC2
instances that are treated as a logical
grouping for the purposes of
automatic scaling and management.