1/63
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
cloud computing
on-demand delivery of IT resources over the internet with pay-as-you-go pricing
cloud deployment types
cloud-based deployment
on-premises deployment
hybrid deployment
benefits of cloud computing
trade fixed expenses for variable expenses
benefit from massive economies of scale
stop guessing capacity
increased speed and agility
stop spending money running and maintaining data centers
go global in minutes
high availability
making sure your applications stay accessible with minimal downtime
fault tolerance
designing a system to continue to operate even if multiple components fail (building resilience into every layer, so that no single failure brings down the whole system)
AWS regions
physical location around the world that contains multiple, isolated data centers
*built to be as close to AWS customer as possible
AWS availability zones
consists of one or more discrete data centers, each with independent power, networking, and connectivity
*there are 3 or more AZs within a region for redundancy
AWS shared responsibility model
customer responsibility (security IN the cloud)
customer data
client-side data encryption
customer or AWS responsibility (varies by services)
server-side encryption
network traffic protection
platform and application management
OS, network, and firewall configuration
AWS responsibility (security OF the cloud)
software for compute, storage, database, and networking
hardware, AWS global infrastructure
multitenancy
sharing underlying hardware between virtual machines
EC2 configurations
windows
linux
internal business apps
web apps
databases
3rd party software
EC2
flexible, cost-effective, and faster than managing on-premises servers. it offers on-demand compute capacity that can be quickly launched, scaled, and terminated, with costs based only on active usage
how EC2 works
launch an instance
connect to the instance (windows or linux)
use the instance (run commands, install software, add storage, organize files, etc.)
EC2 instance types
general purpose
compute optimized
memory optimized
accelerated computing
storage optimized
general purpose EC2 instance
balanced mix of compute, memory, and networking resources. ideal for diverse workloads and when workload performance is uncertain
compute optimized EC2 instance
ideal for compute-intensive tasks, such as gaming servers, high performance computing (HPC), machine learning, and scientific modeling
memory optimized EC2 instance
used for memory-intensive tasks like processing large datasets, data analytics, and databases. provide fast performance for memory-heavy workloads
accelerated computing EC2 instance
use hardware accelerators, like graphics processing units (GPUs), to efficiently handle tasks, such as floating-point calculations, graphics processing, and machine learning
storage optimized EC2 instance
designed for workloads that require high performance for locally stored data, such as large databases, data warehousing, and I/o-intensive applications
API
application programming interface. defines predetermined ways for you to interact with AWS services
you can access APIs through 3 primary methods
AWS management console
good for users who prefer visual, easy-to-use interface for managing and configuring AWS services
AWS CLI (command line interface)
good for advanced users and developers who need to automate tasks, script actions, and manage AWS resources efficiently
AWS SDK (software development kit)
good for developers looking to integrate AWS services into their applications using language-specific APIs
amazon machine images (AMI)
pre-built virtual machine images that have the basic components for what is needed to start an instance
AMI components
operating system
storage setup
architecture type
permissions for launching
any extra software that is already installed
3 ways to use AMIs
create your own
use available AWS AMIs
purchase from AWS marketplace
AMI repeatability
AMIs provide repeatability through a consistent environment for every new instance.
to launch an EC2 instance for a web server…
configure the AMI to define the OS and software
select the instance type of allocate CPU, memory, and storage
set up storage options
on-demand instance pricing
pay only for the compute capacity you consume with no upfront payments or long-term commitments required
reserved instance pricing
get a savings of up to 75% by committing to a 1 or 3 yr term for predictable workloads using specific instance families and AWS regions
spot instance pricing
bid on spare compute capacity at up to 90% off the on-demand price, with the flexibility to be interrupted when AWS reclaims the instance
savings plans instance pricing
save up to 72% across a variety of instance types and services by committing to a consistent usage level for 1 or 3 yrs
dedicated hosts instance pricing
reserve an entire physical server for your exclusive use. this options offers full control and is ideal for workloads with strict security or licensing needs
dedicated instances instance pricing
pay for instances running on hardware dedicated solely to your account. this option provides isolation from other AWS customers
dedicated hosts vs dedicated instance
dedicated hosts offer exclusive use of a server with full control, whereas dedicated instances provide isolation without server control
scalability
ability of a system to handle an increased load by adding resources. focuses on long-term capacity planning to make sure that the system can grow and accommodate more users or workloads as needed
adding more power to existing machine (scaling up)
adding more machines (scaling out)
elasticity
ability to automatically scale resources up or down in response to real-time demand so a system can then rapidly adjust its resources. provides cost efficiency and optimal resource usage at any given moment
EC2 auto scaling
automatically adjusts the number of EC2 instances based on changes in application demand, providing better availability
dynamic scaling: adjusts real time to fluctuations
predictive scaling: preemptively schedules the right number of instances based on anticipated demand
elastic load balancing (ELB)
automatically distributes incoming application traffic across multiple resources (EC2 instances) to optimize performance and reliability
*a load balancer serves as the single point of contact for all incoming web traffic to an auto scaling group
main benefits of ELB
efficient traffic distribution: evenly distribute traffic across EC2 instances
automatic scaling: adjusts to changes in demand for seamless operation
simplified management: ELB decouples front-end and backend tiers and reduces manual synchronization
ELB routing methods
round robin: distributes traffic evenly across all available servers in a cyclic manner
least connections: routes traffic to te server with the fewest active connection
IP hash: uses client’s IP address to consistently route traffic to the same server
least response time: directs traffic to the server with the fastest response time, minimizing latency
monolithic applications
consists of multiple components that work together to transmit data, fulfill requests, and keep the application running smoothly
*if one component fails, it can cause the failure of other components
microservices architecture
application components are loosely couples, meaning that is one component fails, the others continue to function normally
EventBridge
serverless service that helps connect different parts of an application using events, helping to build scalable, event-driven systems
*simplifies the process of receiving, filtering, transforming, and delivering events, so you can quickly build reliable applications
Amazon SQS
message queuing service that facilitates reliable communication between software components. it can send, store, and receive messages at any scale, making sure messages are not lost and that other services don’t need to be available for processing
Amazon SNS
a publish-subscribe service that publishers use to send messages to subscribers through SNS topics
serverless computing
you cannot see or access the underlying infrastructure
unmanaged compute services
takes care of the underlying physical infrastructure, but you’re responsible for setting up, securing, and maintaining the OS, network configs, and applications on your instances
- ex. EC2
managed compute services
reduce the amount of infrastructure you need to manage. while AWS handles much of the operational overhead, you might still need to perform some provisioning or configuration depending on the service
fully managed services (serverless services)
eliminate the need to provision or manage any servers at all
lambda
serverless compute service that runs code in response to events without the need to provision or manage servers
*ideal for building responsive, event-driven applications across a wide range of industries
how lambda works
upload code to lambda
set code to trigger from an event source
run code when triggered
pay only for the compute time used
main components of AWS lambda
function
triggers
runtimes
container
packages your application with everything it needs to run, so it works the same on any computer
*faster and lighter than VMs because they share the host computer’s OS
*keep the application’s environment consistent everywhere, making deployments smoother and assisting troubleshooting
scaling containers with orchestration
they automate deployment, scaling, and management to keep everything running smoothly
Amazon ECS (elastic container service)
scalable container orchestration service for running and managing containers on AWS
Amazon EKS (elastic kubernetes service)
fully managed service for running kubernetes on AWS. it simplifies deploying, managing, and scaling containerized applications using open source kubernetes, with ongoing support and updates from the broader community
Amazon ECR (elastic container registry)
store, manage, and deploy container images. it supports container images that follow the open container initiative (OCI) standards
Fargate
serverless compute engine for containers. works with both ECS and EKS
*container hosting platform
*manages your server infrastructure for you, so no need to provision or manage servers
elastic beanstalk
fully manages service that streamlines the deployment, management, and scaling of web applications
AWS batch
fully managed service that you can use to run batch computing workloads on AWS. it automatically schedules, manages, and scales compute resources for batch jobs, optimizing resource allocation based on job requirements
Amazon lightsail
clous service offering virtual private servers (VPSs), storage, databases, and networking at a predictable monthly price
AWS outposts
fully managed hybrid cloud solution that extends AWS infrastructure and services to on-premises data centers
AWS edge locations
cache items like images, videos, and other resources, so that users can access the content they need with lower latency
key considerations when choosing AWS regions
compliance
proximity
feature availability
pricing
agility
the ability to quickly adapt to changing requirements or market conditions
cloudformation
service that helps you model and set up your AWS resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS