1/110
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Cloud Computing
a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Multi-Tenancy
allow multiple users to be served by the same physical hardware.
Scalability
the ability of a cloud computing system to handle growing workloads and resources efficiently without compromising performance
Measured Service / Pay-Per-Use
a pricing model in cloud computing where customers pay only for the computing resources they actually use, typically measured by consumption metrics such as bandwidth, storage, and processing power.
Economies of Scale
the cost advantages obtained due to the scale of operation, with cost per unit of output generally decreasing with increasing scale as fixed costs are spread out over more units of output.
Virtual Multi-Tenancy
computing and storage resources are shared among multiple users
Organic Multi-Tenancy
every component in the system is shared among multiple tenants
Software as a Service
(SaaS) is a cloud computing model that delivers software applications over the internet, allowing users to access programs on a subscription basis without the need for local installation.
ex. Salesforce, MS 365, Facebook
Platform as a Service
(PaaS) is a cloud computing service model that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure
ex. Google App Engine, Microsoft Azure PaaS, Github
Infrastructure as a Service
(IaaS) is a cloud computing model that delivers virtualized computing resources over the internet, allowing users to rent servers, storage, and networking on a pay-as-you-go basis.
ex.Google Compute Engine, Microsoft Azure IaaS, Amazon EC2
Cloud Deployment Models
Public cloud, private cloud, community cloud, hybrid cloud
Public cloud
Available for public use or a large industry group
Private cloud
Operated for exclusive use of a single organization (customer/tenant)
Community cloud
Available for shared use of several organizations supporting a specific community that have similar requirements, goals, security concerns, etc.
Hybrid Cloud
Combines multiple clouds (public and private) that remain unique but bound together to offer application and data portability
Virtualization
refers to the partitioning the resources of a physical system (such as computing, storage, network and memory) into multiple virtual resources
In cloud computing, resources are pooled to serve multiple users using
multi-tenancy
Hypervisor
software that enables virtualization
virtualization layer consists of a hypervisor or a
virtual machine monitor (VMM)
Type 1 Hypervisor
native hypervisors run directly on the host hardware and control the hardware and monitor the guest operating systems.
E.g. VMware ESXi, Microsoft Hyper-V
Type 2 Hypervisor
hosted hypervisors run on top of a conventional (main/host) operating system and monitor the guest operating systems.
E.g. VMware Workstation, Oracle VirtualBox
Full virtualization
the virtualization layer completely decouples the guest OS from the underlying hardware.
The guest OS requires no modification and is not aware that it is being virtualized.
Full virtualization is enabled by direct execution of user requests and binary translation of OS requests.
Para Virtualization
the guest OS is modified to enable communication with the hypervisor to improve performance and efficiency.
The guest OS kernel is modified to replace non-virtualizable instructions with hyper-calls that communicate directly with the virtualization layer hypervisor
Hardware virtualization
enabled by hardware features such as Intel’s Virtualization Technology (VT-x) and AMD’s AMD-V.
In hardware assisted virtualization, privileged and sensitive calls are set to automatically trap to the hypervisor.
Thus, there is no need for either binary translation or para-virtualization.
Load balancing
distributes workloads uniformly across multiple servers to meet the application workloads
Weighted round robin load balancing
more powerful users handle more requests
Low latency load balancing
incoming request is routed to the server with the lowest latency
Least connections load balancing
incoming request is routed to the server with the least number of connections
Priority load balancing
each server is assigned a priority, incoming request is routed to the highest priority server as long as the server is available/up
Overflow load balancing
when request to the highest priority server overflows, only then requests are routed to the lower priority server
Load balancing persistence approaches
sticky sessions, session database, browser cookies, URL rewriting
Sticky session
all the requests belonging to a user session (user preferences, configurations, etc.) are routed to the same server
Session database
all the session info is stored in an external session database
Browser cookies
session data is stored in browser cookies
URL rewriting
a URL re-write engine stores the session info by modifying the URLs on the client side
Capacity planning involves
the right-sizing of each tier of the deployment of an application in terms of the number of resources and the capacity of each resource
Vertical scaling/scaling up
Involves upgrading the hardware resources (adding additional computing, memory, storage or network resources).
Horizontal scaling/scaling out
Involves addition of more resources of the same type
Cloud application deployment design is an iterative process that involves
deployment design, performance evaluation, and deployment refinement
Deployment Design
The variables in this step include the number of servers (app/web/database servers) in each tier, computing, memory and storage capacities of servers, server interconnection, load balancing and replication strategies
Performance evaluation
To verify whether the application meets the performance requirements with the deployment
Involves monitoring the workload on the application and measuring various workload parameters such as response time (latency: P90, P95, P99) and throughput (bits/sec).
Utilization of servers (CPU, memory, disk, I/O, etc.) in each tier is also monitored
Deployment refinement
Various alternatives can exist in this step such as vertical scaling (or scaling up), horizontal scaling (or scaling out), alternative server interconnections, alternative load balancing and replication strategies, for instance
Replication
used to create and maintain multiple copies of the data in the cloud
Cloud enables rapid implementation of replication solutions for
disaster recovery
Types of replication
array-based, network-based, host-based
Array-based replication
uses NAS, SAN to replicate; require similar arrays at local and remote locations
Network-based replication
uses an appliance to replicate, supports heterogeneous environments
Host-based replication
use software/agents to transfer data from a local host to a remote host
Monitoring services allow cloud users to
collect and analyze the data on various monitoring metrics
Software-define networking (SDN)
a networking architecture that separates the control plane (an SDN Controller) from the data plane (network devices like switches and routers) and centralizes the network controller
Conventional network architecture
The control plane and data plane are coupled
Control plane
the part of the network that carries the signaling and routing message traffic
Data plane
part of the network that carries the payload data traffic
SDN architecture
The control and data planes are decoupled and the network controller is centralized
SDN key elements
centralized network controller
programmable open APIs
Standard communication interface (OpenFlow)
OpenFlow
the broadly accepted SDN protocol for the southbound interface
With open flow, the forwarding plane of the network devices (switch, router, etc), can be …
directly accessed and manipulated
Network functions virtualization (NFV)
a technology that leverages virtualization to consolidate the heterogeneous network devices onto industry standard high volume servers, switches and storage.
examples of network functions are routing, firewalling, load balancing, etc
NFV relationship to SDN
NFV is complementary to SDN as NFV can provide the infrastructure on which SDN can run
NFV and SDN are mutually beneficial to each other but not dependent
Network functions (e.g., firewalls, load balancers, routers) can be virtualized without SDN, similarly, SDN can run without NFV
Key elements of NFV architecture
virtualized network function (VNF)
NFV infrastructure (NFVI)
NFV management and orchestration
MapReduce
a parallel data processing model for processing and analysis of massive scale data
MapReduce phases
map phase, reduce phase
Map phase
data is read from a distributed file system, partitioned among a set of computing nodes in the cluster, and sent to the nodes as a set of key-value pairs
Reduce phase
When all the Map tasks are completed, the Reduce phase begins in which the intermediate data with the same key is aggregated
Identity and access management (IDAM) (for cloud)
describes the authentication and authorization of users to provide secure access to cloud resources
Cloud service providers (CSPs) offer 3 billing models:
Elastic pricing
Fixed pricing
Spot pricing
Elastic pricing
or pay-as-you-go pricing model, the customers are charged based on the usage of cloud resources
Fixed pricing
customers are charged a fixed amount per month for the cloud resources
Spot pricing
offer variable pricing for cloud resources which is driven by market demand
Cloud reference model
Infrastructure and facilities layer
Hardware layer
Virtualization layer
Platform and middleware layer
Service management layer
Applications layer
Compute services
provide dynamically scalable compute capacity in the cloud
Compute resources can be provisioned on-demand in the form of
virtual machines
VMs can be created from
standard images (e.g. AMI) provided by the cloud service provider or custom images created by the users
Compute service provided by Amazon
Amazon Elastic Compute Cloud (EC2)
Cloud storage services
allow storage and retrieval of any amount of data, at any time from anywhere on the web
Most cloud storage services organize data into
buckets or containers
Cloud storage services provide
Scalability
Replication
Access policies
Encryption
Consistency
an online cloud-based data storage infrastructure for storing and retrieving any amount of data
Amazon Simple Storage Service (S3)
a web service that makes it easy to setup, operate and scale a relational database in the cloud
Amazon relational database service (RDS)
the non-relational (No-SQL) database service from Amazon
Amazon DynamoDB
DynamoDB model includes
tables, items, and attributes
DynamoDB is a __________ that automatically spreads the data and traffic for the stored tables over a number of servers to meet the throughput requirements specified by the users
fully managed service
____allow developers to develop and host applications in the cloud.
Cloud based application runtimes and frameworks
queuing service from Amazon
Amazon Simple Queue Service (SQS)
SQS attributes
short messages
multiple readers/writers
high availability
Cloud-based email service
Amazon simple email service (SES)
SES is an ___ email-sending service
outbound only
(no reply emails)
SES service can be accessed and used from
the SES console
SMTP interface
SES API
push messaging service from Amazon
Amazon Simple notification service (SNS)
SNS has two types of clients
publishers
subscribers
Publishers communicate ___ with subscribers by producing and sending messages to topics. A topic is ___
asynchronously
a logical access point and communication channel
SNS can deliver notifications as
SMS
SQS queues
any HTTP endpoint
__ is a cloud-based video transcoding service from Amazon
Amazon Elastic transcoder
Content Delivery Networks (CDNs)
a distributed system of servers located across multiple geographic locations to serve content to end-users with high availability and high performance (high throughput and low latency)
Amazon CloudFront
a content delivery service from Amazon. CloudFront can be used to deliver dynamic, static and streaming content using a global network of edge locations
Amazon Elastic MapReduce (EMR)
the MapReduce service from Amazon based on the Hadoop framework running on Amazon EC2 and S3
Amazon Elastic Beanstalk
allows you to quickly deploy and manage applications in the AWS cloud
Amazon CloudFormation
a deployment management service from Amazon
Identity & Access Management (IDAM)
allow managing the authentication and authorization of users to provide secure access to cloud resources and services
AWS Identity and Access Management (IAM)
allows you to manage users and user permissions for an AWS account