Cloud Computing Technology Dr . KULDEEP SAMBREKAR Text Books: 1. Dan C Marinescu : Cloud Computing Theory and Practice. Elsevier (MK) 2013. Reference Books: 1. Rajkumar Buyya , James Broberg , Andrzej Goscinski : Cloud Computing Principles and Paradigms, Willey 2014. 2 . John W Rittinghouse , James FRansome : Cloud Computing Implementation, Management and Security, CRC Press 2013.
COURSE OBJECTIVES 1. To learn how to use Cloud Services. 2. Apply Map-Reduce concept to applications. 3. To understand role of Virtualization in enabling Cloud Computing. 4. To implement Task Scheduling algorithms. 5. To build Private Cloud. 2
COURSE OUTCOMES: The students should be able to: 1. Demonstrate and experiment simple Cloud Applications [L3]. 2. Apply Map-Reduce concept [L3]. 3. Analyze resource allocation and scheduling algorithms in cloud computing [L3]. 4. Create virtual machines from available physical resources. - Setup a private cloud [L6]. 3
QUOTE!!! 4
ASTONISHING CLOUD COMPUTING STATISTICS FOR 2025 (EDITOR’S CHOICE): The global public cloud computing market is set to exceed $430 billion in 2025 . Providing data access from anywhere is the top reason for cloud adoption . About a third of companies’ IT budget goes to cloud services . Privacy, security and lack of staff training are the top roadblocks to cloud adoption. 8
EYE-OPENING FACTS ABOUT CLOUD COMPUTING 90% of companies are on the cloud. Amazon Web Services is the leading cloud vendor with a 32% share . Cloud data centers will process 94% of workloads in 2021. The US is the most significant public cloud market with projected spending of $124.6 billion in 2019. The global cloud computing market is expected to reach $623.3 billion by 2023 . 9
GLIMPSE Over the past few months, the COVID-19 pandemic has upended many lives and businesses on an unprecedented scale. However, if there is one sector that has emerged stronger from this event, it would be the Cloud Computing Industry . 10
Cloud Computing is gaining so much popularity and demand in the market. It is getting implemented in many organizations very fast. Education. Financial. Healthcare. Insurance. Hospitality. Production. Real estate. 11
SCENARIO !!!! You thought of doing B.E in some college away from hometown. What will you do???? Option: 1 Buy a land Construct a house Set up the interior Stay Option: 2 Purchase a readymade house Set up the interior Stay Option: 3 Hire a House Set up the interior Stay Option: 4 Look for readymade set up Stay in PG This is Cloud Computing
Contents Evolution of Computing, Cloud Computing Basics
Contents Evolution of Computing, Cloud Computing Basics Cloud Infrastructure
UNIT – I EVOLUTION OF COMPUTING, CLOUD COMPUTING BASICS Introduction to Mainframe architecture; Client-server architecture; Cluster Computing; Grid Computing; Parallel Computing and Distributed Computing; Evolution of sharing on the Internet; Utility Computing; Autonomic Computing; Cloud Computing; Introduction of Cloud Computing; Service Models; Deployment Models; Characteristics of Cloud Computing; Advantages and Obstacles in cloud computing; Ethical issues in cloud computing. 18
UNIT – II CLOUD INFRASTRUCTURE Cloud Vulnerabilities, NIST reference model, Cloud computing at Amazon, Cloud computing the Google perspective, Microsoft Windows Azure and online services, Open-source software platforms for private clouds, Cloud storage diversity and vendor lock-in, Energy use and ecological impact, Service level agreements. 19
UNIT – III CLOUD COMPUTING: APPLICATION PARADIGMS. Challenges of cloud computing, Architectural styles of cloud computing, Workflows: Coordination of multiple activities, Coordination based on a state machine model: The Zookeeper, The Map Reduce programming model, A case study: The Grep The Web application, Cloud for science and engineering, High-performance computing on a cloud, Cloud computing for Biology research 20
UNIT – IV CLOUD RESOURCE VIRTUALIZATION Virtualization, Layering and virtualization, Virtual machine monitors, Virtual Machines, Performance and Security Isolation, Full virtualization and paravirtualization, Hardware support for virtualization, Case Study: Xen a VMM based paravirtualization, The dark side of virtualization. 21
UNIT – V CLOUD RESOURCE MANAGEMENT AND SCHEDULING. Policies and mechanisms for resource management, Application of control theory to task scheduling on a cloud, Stability of a two level resource allocation architecture, Feedback control based on dynamic thresholds, Resourcing bundling: Combinatorial auctions for cloud resources , Scheduling algorithms for computing clouds, Fair queuing, Start-time fair queuing, Borrowed virtual time, Cloud; scheduling subject to deadlines, Scheduling Map Reduce applications subject to deadlines, Resource management and dynamic scaling. 22
UNIT – I
What is computing? 24
What is computing? It is an activity that uses computers to manage, process and communicate information. It includes development of both hardware and software. 25
CYCLE OF COMPUTING 26 Cluster Computing Grid Computing Utility Computing Cloud Computing Fog Computing What next???
EVOLUTION OF CLOUD COMPUTING 27
INTRODUCTION TO MAINFRAME ARCHITECTURE A style of operation, applications, and operating system facilities. Computers that can support thousands of applications and input/output devices to simultaneously serve thousands of users. (e.g:homeshop18, flipkart, amazon etc.) A mainframe is the central data repository, or hub, in a corporation’s data processing center, linked to users through less powerful devices such as workstations, terminals or media devices. Can run multiple, but isolated operating systems concurrently. Centralized control of resources. 28
CLIENT SERVER ARCHITECTURE Client - server architecture ( client / server ) is a network architecture in which each computer or process on the network is either a client or a server . Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers). 29
Characteristics of Client Server Computing The client server computing works with a system of request and response. The client sends a request to the server and the server responds with the desired information. The client and server should follow a common communication protocol so they can easily interact with each other. All the communication protocols are available at the application layer. A server can only accommodate a limited number of client requests at a time. So it uses a system based to priority to respond to the requests. An example of a client server computing system is a web server. It returns the web pages to the clients that requested them. 31
CLUSTER COMPUTING In cluster computing, a group of similar computers is hooked up locally to operate as a single compute. This facility utilized for load balance of servers. Main advantages of this computer technology is distributed the load of server among the each servers of computer. 32
GRID COMPUTING Grid computing is the collection computers resources from multiple locations to reach a common goal. Benefits of grid computing are Increase access to data and collaboration. Join data and distribute it globally. Workload balance, data security etc. 33
PARALLEL COMPUTING Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. 34
Traditionally, software has been written for serial computation: To be run on a single computer having a single Central Processing Unit (CPU); A problem is broken into a discrete series of instructions. Instructions are executed one after another. Only one instruction may execute at any moment in time. 35
In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a computational problem. To be run using multiple CPUs A problem is broken into discrete parts that can be solved concurrently Each part is further broken down to a series of instructions Instructions from each part execute simultaneously on different CPUs 36
The compute resources can include: A single computer with multiple processors; A single computer with (multiple) processor(s) and some specialized computer resources (GPU, FPGA …) An arbitrary number of computers connected by a network; A combination of both. 37
DISTRIBUTED COMPUTING Distributed computing is a field of computer science that studies distributed systems. A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. 38
Distributed computing is a computing concept that, in its most general sense, refers to multiple computer systems working on a single problem. In distributed computing, a single problem is divided into many parts, and each part is solved by different computers. As long as the computers are networked, they can communicate with each other to solve the problem. If done properly, the computers perform like a single entity. 39
FOR EXAMPLE, in the typical distribution using the 3-tier model, user interface processing is performed in the PC at the user's location, business processing is done in a remote computer, and database access and processing is conducted in another computer that provides centralized access for many business processes. 40
Definition “A distributed system consists of multiple autonomous computers that communicate through a computer network . “Distributed computing utilizes a network of many computers, each accomplishing a portion of an overall task, to achieve a computational result much more quickly than with a single computer.” “Distributed computing is any computing that involves multiple computers remote from each other that each have a role in a computation problem or information processing.” 41
42 Cooperation Cooperation Cooperation Internet Large-scale Application Resource Management Subscription Distribution Distribution Distribution Distribution Agent Agent Agent Agent Job Request
The ultimate goal of distributed computing is to maximize performance by connecting users and IT resources in a cost-effective, transparent and reliable manner. It also ensures fault tolerance and enables resource accessibility in the event that one of the components fails. 43
UTILITY COMPUTING Utility computing , or The Computer Utility , is a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate. 44
The term utility refers to utility services such as electricity, telephone, water and gas that are provided by a utility company. Similar to the electricity or telephone if the customer receives the utility computing, the computing power on a shared computer network, its consumption is measured and billed on that basis. 45
PROPERTIES OF UTILITY COMPUTING Scalability The utility computing must be ensured that under all conditions sufficient IT resources are available. Increasing the demand for a service may, its quality (e.g., response time) does not suffer. Demand pricing So far, companies have to buy his own hardware and software when they need computing power. This IT infrastructure must be paid in advance of the rule, regardless of the intensity with which the company uses them later. Technology vendors to achieve this link, for example, the fact that the lease rate for their servers depends on how many CPUs has enabled the customer. 46
Standardized Utility Computing Services The utility computing service provider offers its customers a catalog of standardized services. These may have different service level agreements (Agreement on the quality and the price of an IT) services. Automation Repetitive management tasks such as setting up a new server or the installation of updates can be automated. Moreover, automatically allocate resources to services and the management of IT services to be optimized, with service level agreements and operating costs of IT resources must be considered. 47
Advantages of Utility Computing Utility computing reduces the cost of IT, given that existing resources can be used more effectively. Moreover, the costs are transparent and the various departments of a company can be directly assigned. The companies achieve greater flexibility, because their IT resources more quickly and easily adapt to fluctuating demand. Overall, it is easier to manage the entire IT structure, as there will no longer be made for each application, which is a benefit for specific IT infrastructure. 48
AUTONOMIC COMPUTING refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes while hiding intrinsic complexity to operators and users. 49
In a self-managing autonomic system, the human operator takes on a new role: instead of controlling the system directly, he/she defines general policies and rules that guide the self-management process. Properties are: Self-configuration: Automatic configuration of components; Self-healing: Automatic discovery, and correction of faults; [8] Self-optimization : Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements; Self-protection: Proactive identification and protection from arbitrary attacks. 50
For system to be called as AC, the system must know itself in terms of what resources it has access to, what its capabilities and limitations are and how and why it is connected to other systems; be able to automatically configure and reconfigure itself depending on the changing computing environment; be able to optimize its performance to ensure the most efficient computing process; be able to work around encountered problems by either repairing itself or routing functions away from the trouble; detect, identify and protect itself against various types of attacks to maintain overall system security and integrity; rely on open standards and cannot exist in a proprietary environment; 51
CLOUD COMPUTING Cloud computing is an emerging computing technology that uses internet and central remote servers to maintain data and application. 52 Server Storage Database Networking Software Analytics Intelligence
Cloud Computing is a general term used to describe a new class of network based computing that takes place over the Internet, basically a step on from Utility Computing 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 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). 53
WHAT IS CLOUD COMPUTING COMPUTER NETWORK STORAGE (DATABASE) SERVERS SERVICES APPLICATIONS Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance Shared pool of configurable computing resources On-demand network access Provisioned by the Service Provider
CLOUD COMPUTING IN A SNAPSHOT !!!! 55
CLOUD SERVICE(DELIVERY) MODELS A cloud delivery model represents a specific, pre-packaged combination of IT resources offered by a cloud provider. 56
OVERVIEW…. 57
DELIVERY MODELS IaaS: cloud-based services, pay-as-you-go for services such as storage, networking, and virtualization. PaaS: hardware and software tools available over the internet. SaaS: software that’s available via a third-party over the internet. On-premise: software that’s installed in the same building as your business 58
59
INFRASTRUCTURE-AS-A-SERVICE (IAAS) A service model that involves outsourcing the basic infrastructure used to support operations--including storage, hardware, servers, and networking components. IaaS gives users cloud-based alternatives to on-premise infrastructure, so businesses can avoid investing in expensive on-site resources. The service provider owns the infrastructure equipment and is responsible for housing, running, and maintaining it. The customer typically pays on a per-use basis. Examples: AWS, Microsoft Azure The customer uses their own platform (Windows, Unix), and applications 60
Example(Microsoft Azure) Provision the infrastructure that you need Scale your compute performance from 1 vCPU to 480 vCPU cores. Scale your memory from 1 GB to 24 TB. Tailor your disk storage capacity from 4 GB to 64 TB Each up to 160,000 IOPS on a single disk. Rely on networking speeds from 30 Gbps Ethernet to 100 Gbps Infinite Band interconnects. 61
IaaS Characteristics: IaaS platforms are: Highly flexible and highly scalable. Accessible by multiple users. Cost-effective. 62
IaaS Limitations and Concerns Security. While the customer is in control of the apps, data, middleware, and the OS platform, security threats can still be sourced from the host or other virtual machines (VMs). Legacy systems operating in the cloud. While customers can run legacy apps in the cloud, the infrastructure may not be designed to deliver specific controls to secure the legacy apps. Multi-tenant security. Since the hardware resources are dynamically allocated across users as made available, the vendor is required to ensure that other customers cannot access data deposited to storage assets by previous customers. 63
PLATFORM-AS-A-SERVICE (PAAS) A service model that involves outsourcing the basic infrastructure and platform (Windows, Unix) A PaaS solution provides the platform for developers to create unique, customizable software. PaaS facilitates deploying applications without the cost and complexity of buying and managing the underlying hardware and software where the applications are hosted. Examples: Google App engine, Web servers, database. The customer uses their own applications. 64
PaaS Characteristics: PaaS platforms are: Accessible by multiple users. Scalable – you can choose from various tiers of resources to suit the size of your business. Built on virtualization technology. Easy to run without extensive system administration knowledge. 65
PaaS Limitations and Concerns Data security. Organizations can run their own apps and services using PaaS solutions, but the data residing in third-party, vendor-controlled cloud servers poses security risks and concerns. Integrations. The complexity of connecting the data stored within an onsite data center or off-premise cloud is increased, which may affect which apps and services can be adopted with the PaaS offering. Vendor lock-in. Business and technical requirements that drive decisions for a specific PaaS solution may not apply in the future. Runtime issues. In addition to limitations associated with specific apps and services, PaaS solutions may not be optimized for the language and frameworks of your choice. 66
SOFTWARE-AS-A-SERVICE (SAAS) Also referred to as “ software on demand ,” this service model involves outsourcing the infrastructure, platform, and software/applications. You no longer need to engage an IT specialist to download the software onto multiple computers throughout your office or worry about keeping the software on every computer up-to-date. Typically, these services are available to the customer for a fee, pay-as-you-go, or a no charge model. The customer accesses the applications over the internet. Examples: Google docs, Gmail, dropbox 67
SaaS Characteristics: SaaS platforms are: Available over the internet. Hosted on a remote server by a third-party provider. Scalable, with different tiers for small, medium, and enterprise-level businesses. Inclusive, offering security, compliance, and maintenance as part of the cost. 68
SaaS Limitations and Concerns Interoperability. Integration with existing apps and services can be a major concern if the SaaS app is not designed to follow open standards for integration. Vendor lock-in. Vendors may make it easy to join a service and difficult to get out of it. Lack of integration support. Many organizations require deep integrations with on-premise apps, data, and services. Customization. SaaS apps offer minimal customization capabilities. Since a one-size-fits-all solution does not exist, users may be limited to specific functionality, performance, and integrations as offered by the vendor. 69
DELIVERY MODEL DIAGRAM 70
CLOUD SERVICE MODELS Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Google App Engine SalesForce CRM LotusLive Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
WHERE IS MY DATA? Data resides on servers that the customer cannot physically access Vendors may store data anywhere at lowest cost if not restrained by agreement . 72
CLOUD DEPLOYMENT MODELS A cloud deployment model represents a specific type of cloud environment, primarily distinguished by ownership, size, and access. Different types are: Private cloud Community cloud Public cloud Hybrid cloud 73
PRIVATE CLOUD Private cloud single org only, managed by the org or a 3 rd party, on or off premise Private clouds are often used by government agencies, financial institutions, any other mid- to large-size organisations with business-critical operations seeking enhanced control over their environment. 74
Advantages of a private clouds: More flexibility—your organisation can customise its cloud environment to meet specific business needs. Improved security—resources are not shared with others, so higher levels of control and security are possible. High scalability—private clouds still afford the scalability and efficiency of a public cloud. 75
PUBLIC CLOUD Public cloud Sold to the public, mega-scale infrastructure available to the general public Public cloud deployments are frequently used to provide web-based email, online office applications, storage and testing and development environments. 76
Advantages of public clouds: Lower costs—no need to purchase hardware or software and you pay only for the service you use. No maintenance—your service provider provides the maintenance. Near-unlimited scalability—on-demand resources are available to meet your business needs. High reliability—a vast network of servers ensures against failure. 77
HYBRID CLOUD Hybrid cloud composition of two or more clouds bound by standard or proprietary technology 78
Advantages of hybrid clouds: Control—your organisation can maintain a private infrastructure for sensitive assets. Flexibility—you can take advantage of additional resources in the public cloud when you need them. Cost-effectiveness—with the ability to scale to the public cloud, you pay for extra computing power only when needed. Ease—transitioning to the cloud does not have to be overwhelming because you can migrate gradually—phasing in workloads over time. 79
COMMUNITY CLOUD Community cloud shared infrastructure for specific community several orgs that have shared concerns, managed by org or a 3 rd party 80
CHARACTERISTICS OF CLOUD COMPUTING On-demand self-service Broad network access Resource pooling Rapid elasticity Measured service 81
On-demand self-service the services are available on demand, the user can get the services at any time, all it takes is an Internet connection. A consumer can provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider. Broad network access the cloud is accessed remotely over the network, while the access to the cloud is through the internet; it means that it is accessible to its computing capabilities, software, and hardware from anywhere. (e.g., mobile phones, tablets, laptops and workstations). 82
Resource pooling The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). 83
Rapid elasticity dealing with the cloud is very easy, the user can simply reduce or increase the capacity, and also it’s faster than the regular computing types. Measured service the cloud systems control and reuse the resources by using measurement capabilities and according to the type of service, these services also have financial return, depending on usage. (e.g., storage, processing, bandwidth and active user accounts). Resource usage can be monitored, controlled and reported, providing transparency for the provider and consumer. 84
ADVANTAGES OF CLOUD COMPUTING Reduced software costs & Unlimited storage capacity Instead of purchasing expensive software applications, you can get most of what you need for free-ish! Cloud computing offers virtually limitless storage Reliability is much more reliable and consistent than in-house IT infrastructure. Disaster Recovery Incase of natural disaster or power failure ,data is backed up and protected when data stored on cloud. Improved performance With few large programs hogging your computer's memory, you will see better performance from your PC. 85
Instant software updates When the application is web-based, updates happen automatically When you access a web-based application, you get the latest version without needing to pay for or download an upgrade Improved document format compatibility You do not have to worry about the documents you create on your machine being compatible with other users' applications or OSes There are potentially no format incompatibilities when everyone is sharing documents and applications in the cloud 86
OBSTACLES IN CLOUD COMPUTING Availability of services If service provider is down, no services can be offered Vendor lock-in Once customer is hooked to one one provider its difficult to shift to another Data Confidentiality and auditability Since data is managed by third party, unsecure Data transfer bottlenecks To store the data near to site where it is needed. Performance unpredictability Resource sharing happens performance degrades. Elasticity New algorithms for controlling resource allocation are necessary. 87
ETHICAL ISSUES IN CLOUD COMPUTING Control is relinquished to third party services Unauthorized access, data corruption, infrastructure failure, and service unavailability are some of the risks related to relinquishing the control to third party services. Data is stored on multiple sites The complex structure of cloud services can make it difficult to determine who is responsible in case something undesirable happens Multiple services interoperate across the network Accountability is necessary ingredient for ethics rules in cloud computing. 88
RECALL!!! Different computing technologies Grid ; Cluster ; Parallel ; Distributed ; Utility ; Parallel ; Autonomic What is cloud computing Service models Deployment models Characteristics Advantages Obstacles Ethical Issues 89