🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

CpE402 Chapter 4 ver1.0.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

CHAPTER Four Cloud Computing: Concepts and Models ROLES ◾Cloud provider  Organization that provides cloud-based resources  Responsible for fulfilling SLAs for cloud services  Some cloud providers “resell” IT resources from other cloud providers  Example: Heroku sells PaaS services running atop...

CHAPTER Four Cloud Computing: Concepts and Models ROLES ◾Cloud provider  Organization that provides cloud-based resources  Responsible for fulfilling SLAs for cloud services  Some cloud providers “resell” IT resources from other cloud providers  Example: Heroku sells PaaS services running atop of Amazon EC2 ◾Cloud consumers  Cloud users that consume cloud services ◾Cloud service owner  Both cloud providers and cloud consumers can own cloud services  A cloud service owner may use a cloud provider to provide a cloud service (e.g. Heroku) ROLES ◾Cloud resource administrator  Administrators provide and maintain cloud services  Both cloud providers and cloud consumers have administrators ◾Cloud auditor  Third-party which conducts independent assessments of cloud environments to ensure security, privacy, and performance.  Provides unbiased assessments ◾Cloud brokers  An intermediary between cloud consumers and cloud providers  Provides service aggregation ◾Cloud carriers  Network and telecommunication providers which provide network connectivity between cloud consumers and providers ORGANIZATION BOUNDARY TRUST BOUNDARY CLOUD CHARACTERISTICS ◾ On-demand usage ◾ Ubiquitous access ◾ Multitenancy (resource pooling) ◾ Elasticity ◾ Measured usage ◾ Resiliency ◾ Assessing these features helps measure the value offered by a given cloud service or platform ON-DEMAND USAGE ◾ The freedom to self-provision IT resources ◾ Generally, with automated support ◾ Automated support requires no human involvement ◾ Automation through software services interface UBIQUITOUS ACCESS ◾ Cloud services are widely accessible ◾ Public cloud: internet accessible ◾ Private cloud: throughout segments of a company’s intranet ◾ 24/7 availability MULTI-TENANCY ◾ Cloud providers pool resources together to share them with many users ◾ Serve multiple cloud service consumers ◾ IT resources can be dynamically assigned, reassigned based on demand ◾ Multitenancy can lead to performance variation SINGLE TENANT MODEL > Isolation < MULTI-TENANT MODEL ◾ Resource is “multiplexed” and share amongst multiple users ◾ Goal is to increase utilization ◾ Often server resources are underutilized ◾ There are many “sunk costs” whether usage is 0% or 100% ◾ Cloud computing tries to maximize “sunk cost” investments through m ul t i -tenancy MULTI-TENANT DATABASE Many users on a single database instance What issues may occur when sharing a single database instance? MULTI-TENANCY OF RESOURCES ◾ Where is the multitenancy?  >> What is shared? What is isolated? RESOURCE CONTENTION FROM MUTLI-TENANCY ◾Despite best efforts at isolation, c o - resident VMs on a single cloud server running identical benchmarks simultaneously do not perform equally. From Han, X., Schooley, R., Mackenzie, D., David, O., Lloyd, W., Characterizing Public Cloud Resource Contention to Support Virtual Machine Co-residency Prediction, 2020 8th IEEE International Conference on Cloud Engineering (IC2E 2020), Apr 21-24, 2020. Up to 48 VMs sharing same server !! RESOURCE CONTENTION FROM MUTLI-TENANCY - 2 ◾Performance variation from multi-tenancy is increasing as cloud servers add more CPU cores From Han, X., Schooley, R., Mackenzie, D., David, O., Lloyd, W., Characterizing Public Cloud Resource Contention to Support Virtual Machine Co-residency Prediction, 2020 8th IEEE International Conference on Cloud Engineering (IC2E 2020), Apr 21-24, 2020. ◾Running many idle operating system instances can impose significant overhead for some workloads Maximum potential  resource contention (i.e. worst-case scenario) ELASTICITY ◾ Automated ability of cloud to transparently scale resources ◾ Scaling based on runtime conditions or pre-determined by cloud consumer or cloud provider ◾ Threshold based scaling  CPU-utilization > threshold_A, Response_time > 100ms  Application agnostic vs. application specific thresholds  Why might an application agnostic threshold be non-ideal? ◾ Load prediction  Historical models  Real-time trends PREDICTABLE DEMAND ◾AWS EC2 Scaling Example: From: Kejariwal, A., 2013, March. Techniques for optimizing cloud footprint. In 2013 IEEE Int. Conf. on Cloud Engineering (IC2E), pp. 258-268. MEASURED USAGE ◾Cloud platform tracks usage of IT resources for billing purposes ◾Enables charging only for IT resources actually used ◾Can be time-based (millisec, second, minute, hour, day)  Granularity is increasing… ◾Can be throughput-based (data transfer: MB/sec, GB/sec) ◾Can be resource/reservation based (vCPU/ hr, GB/hr) ◾Not all measurements are for billing ◾Some measurements can support auto-scaling ◾ For example, CPU utilization EC2 CLOUDWATCH METRICS EC2 CLOUDWATCH METRICS RESILIENCY ◾ Distributed redundancy across physical locations (i.e. regions) ◾ Used to improve reliability and availability of cloud-hosted applications ◾ Very much an engineering problem ◾ No “resiliency -as-a-service” for user deployed apps ◾ Unique characteristics of user applications make a o ne-size fits all service solution challenging CLOUD COMPUTING DELIVERY MODELS ◾ Infrastructure-as-a-Service (IaaS) ◾ Platform-as-a-Service (PaaS) ◾ Software-as-a-Service (SaaS) Serverless Computing: ◾ Function-as-a-Service (FaaS) ◾ Container-as-a-Service (CaaS) ◾ Other Delivery Models CLOUD COMPUTING DELIVERY MODELS ◾ Infrastructure-as-a-Service (IaaS) delivery model ◾ Virtualization is a key-enabling technology of IaaS cloud ◾ Uses virtual machines to deliver cloud resources to end users ◾Infrastructure-as-a-Service (IaaS) delivery model ◾Virtualization is a key technology for infrastructure as a service IaaS  Uses virtual machines to deliver cloud resources to end users the “vehicles” used to deliver compute resources to end users… cloud 1.0 CLOUD DELIVERY MODELS ◾ What is the appropriate level of abstraction? ◾ How should applications be deployed?  IaaS, PaaS, SaaS, DbaaS, FaaS ◾ How do we ensure Quality -of-Service?  Performance, Availability, Responsiveness, Fault Tolerance ◾ How is scalability provided? ◾ As user s, how do we minimize hosting costs?  How do we estimate hosting costs? CLASSIC CLOUD DELIVERY MODELS Software Platform Infrastructure CLASSIC CLOUD DELIVERY MODELS SaaS User manages: application PaaS Virtual Servers Application Infrastructure IaaS EXAMPLE CLOUD SERVICES Many different “cloud” providers (especially SaaS) Many cloud providers are also cloud consumers INFRASTRUCTURE- AS- A-SERVICE ◾ Compute resources, on demand, as-a-service  Generally raw “IT” resources  Hardware, network, containers, operating systems ◾ Typically provided through virtualization ◾ Generally, not-preconfigured ◾ Administrative burden is owned by cloud consumer ◾ Best when high-level control over environment is needed ◾ Scaling is generally not automatic… ◾ Resources can be managed in bundles ◾ AWS CloudFormation: Allows specification in JSON/YAML of cloud infrastructures PLATFORM- AS- A-SERVICE ◾ Predefined, ready-to-use, hosting environment ◾ Infrastructure is further obscured from end user ◾ Scaling and load balancing may be automatically provided and automatic ◾ Variable to no ability to influence responsiveness ◾ Examples: ◾ Google App Engine ◾ Heroku ◾ AWS Elastic Beanstalk ◾ AWS Lambda (FaaS) USES FOR PAAS ◾ Cloud consumer  Wants to extend on-premise environments into the cloud for “web app” hosting  Wants to entirely substitute an on-premise hosting environment  Cloud consumer wants to become a cloud provider and deploy its own cloud services to external users ◾ PaaS spares IT administrative burden compared to IaaS SOFTWARE- AS- A-SERVICE Software applications as shared cloud service ◾ Nearly all server infrastructure management is abstracted away from the user ◾ Software is generally configurable ◾ SaaS can be a complete GUI/UI based environment ◾ Or UI-free (database-as-a-service) ◾ ◾ SaaS offerings  Google Docs  Office 365  Cloud9 Integrated Development Environment  Salesforce L7.82 SERVERLESS COMPUTING SERVERLESS COMPUTING - 2 CLOUD DEPLOYMENT MODELS ◾ Distinguished by ownership, size, access ◾ Four common models  Public cloud  Community cloud  Hybrid cloud  Private cloud PUBLIC CLOUDS COMMUNITY CLOUD ◾ Specialized cloud built and shared by a particular community ◾ Leverage economies of scale within a community ◾ Research oriented clouds ◾ Examples:  Bionimbus - bioinformatics  Chameleon  CloudLab PRIVATE CLOUD ◾ Compute clusters configured as IaaS cloud ◾ Open source software ◾ Eucalyptus ◾ Openstack ◾ Apache Cloudstack ◾ Nimbus ◾ Virtualization: XEN, KVM, … HYBRID CLOUD ◾ Extend private cloud typically with public or community cloud resources ◾ Cloud bursting: Scale beyond one cloud when resource requirements exceed local limitations ◾ Some resources can remain local for security reasons OTHER CLOUDS ◾ Federated cloud     Simply means to aggregate two or more clouds together Hybrid is typically private-public Federated can be public-public, private-private, etc. Also called inter-cloud ◾ Virtual private cloud  Google and Microsoft simply call these virtual networks  Ability to interconnect multiple independent subnets of cloud resources together  Resources allocated private IPs from individual network subnets can communicate with each other (10.0.1.0/24) and (10.0.2.0/24)  Subnets can span multiple availability zones within an AWS region

Use Quizgecko on...
Browser
Browser