Cloud Computing - Chapter 1 PDF
Document Details
Uploaded by Deleted User
Dan C. Marinescu
Tags
Related
- AWS Academy Cloud Foundations Module 6: Compute PDF
- Module 6: Compute - AWS Academy Cloud Foundations PDF
- Huawei Certification Cloud Computing Learning Guide PDF
- Technology For Teaching And Learning 1 PDF
- Introduction to Cloud Computing AWS Quiz PDF
- Cloud Computing Concepts, Technology & Architecture PDF
Summary
This document provides an introduction to cloud computing. It covers fundamental concepts, such as the definition and essential characteristics of a cloud model. Specific examples of cloud services like SaaS, PaaS, and IaaS are mentioned.
Full Transcript
Cloud Computing Textbook(s): +Dan C. Marinescu, Cloud Computing Theory and Practice, ELSEVIER, 2nd Ed., 2018. +Cloud Infrastructure and Services Version 2, EMC2 Grading Schema: +Final Exam 50% +Midterm Exam 20% +Quizzes & Assignments 10% +Project/Final lab...
Cloud Computing Textbook(s): +Dan C. Marinescu, Cloud Computing Theory and Practice, ELSEVIER, 2nd Ed., 2018. +Cloud Infrastructure and Services Version 2, EMC2 Grading Schema: +Final Exam 50% +Midterm Exam 20% +Quizzes & Assignments 10% +Project/Final lab 15% +Presentation & Participation 5% Chapter 1 Introduction What is Cloud Computing? “Cloud computing is 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. This cloud model is composed of five essential characteristics, three service models, and four deployment models. National Institute of Standards and Technology(NIST) What is Cloud Computing? A cloud is collection of network accessible IT resources, where it consists of shared pools of hardware and software resources deployed in data centres. Cloud Computing is a general term used to describe a new class of network based computing that takes place over the Internet, +a collection/group of integrated and networked hardware, software and Internet infrastructure(called a platform). +Using the Internet for communication and transport provides hardware, software and networking services to clients. What is Cloud Computing? + These platforms hide the complexity and details of the underlying infrastructure from users and applications by providing very simple graphical interface or API (Applications Programming Interface). + In addition, the platform provides on demand services, that are always on, anywhere, anytime and any place. + Pay for use and as needed, elastic + scale up and down in capacity and functionalities + The hardware and software services are available to + general public, enterprises, corporations and businesses markets What is Cloud Computing? What is Cloud Computing? Shared pool of configurable computing resources On-demand network access Provisioned by the Service Provider Roots of Cloud Computing: + We can track the roots of cloud computing by observing the advancement of several technologies, especially in hardware (virtualization, multi-core chips), Internet technologies (Web services, service-oriented architectures,Web2.0),distributed computing(clusters, grids),and systems management(autonomic computing, data center automation). + Utility Computing: “on demand delivery of infrastructure, applications, and business processes in a security-rich, shared, scalable, and based computer environment over the Internet for a fee” Roots of Cloud Computing: + The mainframe era collapsed with the advent of fast and inexpensive microprocessors and It data centers moved to collections of commodity servers, and new technologies for enabling sharing of computing power over great distances have appeared. + SOA, Web Services: + Web Services: applications running on different messaging product platforms enabling information from one application to be made available to others over the Internet. + SOA : address requirements of loosely coupled, standards-based, and protocol-independent distributed computing. HTTP, XML are examples for common mechanism for delivering service. + Applications is a collection of services that together perform complex business logic. + Building blocks in web applications such as user authentication, payroll management, calendar. Roots of Cloud Computing: + Grid computing: A computing grid can be thought of as a distributed system with non-interactive work loads that involve many files. Grid computing is distinguished from conventional high- performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed (thus not physically coupled) than cluster computers. Roots of Cloud Computing: + Virtualization: The idea of virtualizing a computer system’s resources, including processors, memory, and I/O devices, has been well established for decades, aiming at improving sharing and utilization of computer systems. Hardware virtualization allows running multiple operating systems and software stacks on a single physical platform. As depicted in the figure, a software layer, the virtual machine monitor (VMM), also called a hypervisor, mediates access to the physical hardware presenting to each guest operating system a virtual machine (VM), which is a set of virtual platform interfaces. Essential Cloud Characteristics: +On-demand self-services +Broad network access +Resource pooling +Rapid elasticity +Measured devices Cloud Characteristics: + Rapid elasticity You can go from 5 servers to 50 or from 50 servers to 5 + Measured service You pay for what you use + On-demand self-service You get elasticity automatically + Ubiquitous network access You can access the cloud from anywhere + Location-independent resource pooling You work with virtual machines that could be hosted anywhere Cloud Computing Characteristics: + Cloud Computing offers on-demand, scalable and elastic computing (and storage services). The resources used for these services can be metered and users are charged only for the resources used. + Shared Resources and Resource Management: + Cloud uses a shared pool of resources + Uses Internet to offer scalable and elastic services. + The term elastic computing refers to the ability of dynamically and on-demand acquiring computing resources and supporting a variable workload. + Resources are metered and users are charged accordingly. + It is more cost-effective due to resource-multiplexing. Lower costs for the cloud service provider are past to the cloud users. Cloud Computing Characteristics: + Data Storage: + Data is stored: + in the “cloud”, in certain cases closer to the site where it is used. + appears to the users as if stored in a location-independent manner. + The data storage strategy can increase reliability, as well as security, and can lower communication costs. + Management: + The maintenance and security are operated by service providers. + The service providers can operate more efficiently due to specialisation and centralisation. What’s good about Cloud Computing? 1. Resources, such as CPU cycles, storage, network bandwidth, are shared. 2. When multiple applications share a system, their peak demands for resources are not synchronized thus, multiplexing leads to higher resource utilization. 3. Resources can be aggregated to support data-intensive applications. 4. Data sharing facilitates collaborative activities. Many applications require multiple types of analysis of shared data sets and multiple decisions carried out by groups scattered around the globe. 5. Eliminates the initial investment costs for a private computing infrastructure and the maintenance and operation costs. 6. Cost reduction: concentration of resources creates the opportunity to pay as you go for computing. 7. Elasticity: the ability to accommodate workloads with very large peak-to-average ratios. 8. User convenience: virtualization allows users to operate in familiar environments rather than in idiosyncratic ones. Cloud Deployment Models: + The term “computer cloud” is overloaded as it covers infrastructures of different sizes, with different management, and a different user population. Several types of clouds are envisioned: + Private Cloud the infrastructure is operated solely for an organization e.g., a research institution, a university, or a corporation. Cloud architectures tailored to an organization’s needs. a private cloud does not support utility computing + Community Cloud–the infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g. mission, security requirements, policy, and compliance considerations). + Public Cloud–the infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services. + Hybrid Cloud–the infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound to get her by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds). Cloud Delivery Models: + Software as a Service (SaaS) (high level) + Platform as a Service (PaaS) + Infrastructure as a Service (IaaS) (low level) Software as a Service (SaaS): + Applications are supplied by the service provider. + The user does not manage or control the underlying Cloud infrastructure or individual application capabilities. + Services offered include: + Enterprise services such as: workflow management, communications, digital signature, customer relationship management (CRM), desktop software, financial management, geospatial, and search. + Not suitable for real-time applications or for those where data is not allowed to be hosted externally. + Examples: Gmail, Salesforce Platform as a Service (PaaS): + Allows a cloud user to deploy consumer-created or acquired applications using programming languages and tools supported by the service provider. + The user: + Has control over the deployed applications and, possibly, application hosting environment configurations. + Does not manage or control the underlying Cloud infrastructure including network, servers, operating systems, or storage. + Not particularly useful when: + The application must be portable. + Proprietary programming languages are used. + The hardware and software must be customised to improve the performance of the application. + Examples: Google App Engine, Windows Azure Infrastructure as a Service (IaaS): + Infrastructure is compute resources, CPU, VMs, storage, etc + The user is able to deploy and run arbitrary software, which can include operating systems and applications. + The user does not manage or control the underlying Cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of some networking components, e.g., host firewalls. + Services offered by this delivery model include: server hosting, storage, computing hardware, operating systems, virtual instances, load balancing, Internet access, and bandwidth provisioning. + Example: Amazon EC2 The Three delivery models of Cloud Computing Examples for SaaS vs PaaS vs IaaS Database as a Service (DBaaS): + DBaaS database as a service is a more recent addition to the three cloud service delivery models + Database as a Service is a cloud service where the database runs on the service provider’s physical infrastructure. It offers access to a database without requiring the setup of physical hardware, the installation of software or the need to configure the database. Most database administration and maintenance tasks are handled by the service provider, enabling users to quickly benefit from the database service. + The cloud DBaaS uses a layered architecture: + User interface layer: supports access to the service via the Internet. + Application layer: is used to access software services and storage space. + Database layer: provides efficient and reliable database service; it saves time for querying and loading data by reusing the query statements residing in the storage. The data storage layer encrypts the data when stored without user involvement; backup management and disk monitoring is also provided by this layer. + Examples: SAP HANA Cloud, Oracle Database, Amazon Relational Database Service, Azure SQL Database Why cloud computing is (could) be successful when other paradigms have failed? + It is in a better position to exploit recent advances in software, networking, storage, and processor technologies promoted by the same companies who provide Cloud services. + Economical reasons: It is used for enterprise computing; its adoption by industrial organizations, financial institutions, government, and so on has a huge impact on the economy. + Infrastructures Management reasons: + A single Cloud consists of a mostly homogeneous (now more heterogeneous) set of hardware and software resources. + The resources are in a single administrative domain (AD). Security, resource management, fault-tolerance, and quality of service are less challenging than in a heterogeneous environment with resources in multiple ADs. + A cloud eliminates the need for up-front financial commitment, and it is based on a pay-as-you-go approach; this has the potential to attract new applications and new users for existing applications a leading to new era of industry-wide technological advancements. Cloud Computing Advantages: + Lower computer costs + Improved performance + Reduced software costs + Instant software updates + Improved document format compatibility + Unlimited storage capacity + Increased data reliability + Universal document access + Latest version availability + Easier group collaboration + Device independence Cloud Computing Disadvantages: + Requires a constant Internet connection + Does not work well with low-speed connections + Features might be limited + Can be slow + Stored data might not be secure + Stored data can be lost Cloud Computing Challenges: + Availability of service: what happens when the service provider cannot deliver? + Data confidentiality and auditability, a serious problem. + Diversity of services, data organization, user interfaces available at different service providers limit user mobility; once a customer is hooked to one provider it is hard to move to another. + Data transfer bottleneck; many applications are data intensive. + Performance unpredictability, one of the consequences of resource sharing. + How to use resource virtualization and performance isolation for QoS guarantees? + How to support elasticity, the ability to scale up and down quickly? + Resource management: It is a big challenge to manage different workloads running on large data centers. Are self organization and self-management the solution? + Security and confidentiality: major concern for sensitive applications, e.g., healthcare applications.