Cloud Computing Unit 1 Introduction PDF
Document Details
Uploaded by ResoundingRetinalite4783
Inderprastha Engineering College, Ghaziabad
Tags
Summary
This document provides an introduction to cloud computing including various service models such as SaaS, PaaS, and IaaS. It explains the concept of cloud computing and its underlying principles. It also details the differences and evolution of computing models.
Full Transcript
# CLOUD COMPUTING - UNIT 1: INTRODUCTION ## Definitions Cloud Computing is a combination of two terms: cloud and computing. ### Meaning of Clouds The cloud refers to servers that are accessed over the internet, and the software and databases that run on those servers. ### Definition of Cloud C...
# CLOUD COMPUTING - UNIT 1: INTRODUCTION ## Definitions Cloud Computing is a combination of two terms: cloud and computing. ### Meaning of Clouds The cloud refers to servers that are accessed over the internet, and the software and databases that run on those servers. ### Definition of Cloud Computing Cloud Computing is the on-demand availability of computer systems resources (data storage specially) and computing power. Without direct active management by the user. ## Properties of Cloud Computing * Cloud Computing is generally used to describe the data centres available to many users over the internet. (On-demand self-service). * Cloud Computing is a combination of both hardware and software computing resources delivered as network services. * Broad network access. * Resource pooling. ## Diagram The diagram shows a simplified overview of cloud computing: * **Users:** Multiple users are connected to the cloud. * **Client infrastructure:** Includes devices like Chrome, Firefox, internet explorer, tablets, mobile devices. * **Cloud:** Includes all the cloud services available, like applications, storage, data transfer. * **Back-end:** The cloud service provider controls all the resources, servers, security, storage, traffic control. ## Advantages of Cloud Computing * Cost Reduction * Security * Reliability * Improved performance * Instant Software Updates * Universal Document Access * Device Device independence ## Disadvantages * Requires a constant Internet Connection. * Does not work well with low internet connection. ## Evolution of Cloud Computing ### Diagram The diagram shows a timeline of Cloud Computing's evolution, starting from Distributed Computing (1951) and culminating in Cloud Computing (2007). ### Distributed Systems * A composition of multiple independent systems, but all of them are depicted as a single entity to the users. * The purpose of distributed systems is to share resources and also use them effectively and efficiently. ### Problem with Distributed Systems * The main problem with this system was that it requires all the systems to be present at the same geographical location. To solve this problem it lead to three more types of computing. ### Mainframe Computing, Cluster Computing and Grid Computing * **Mainframe Computing:** (1951) * Mainframes are highly powerful and reliable computing machines, designed to process very large amounts of data quickly. * These systems are widely used in the industries where a large number of transactions need to be processed as part of routine business practices. * **Drawback:** These systems have almost no downtime with high fault tolerance. The other drawback with mainframes are that they are very expensive. * **Cluster Computing:** (1980s) * Cluster Computing refers to many of the computers connected on a network. They perform like a single entity. * These were way cheaper than the mainframe systems, equally capable of high computations. Also new nodes could be easily added to the cluster if it was required * **Drawbacks:** The problem of cost was solved to some extent, but still the problem related to geographical restrictions persisted. To solve this, the concept of grid computing was introduced. * **Grid Computing:** * In 1990s the concept of grid computing was introduced as a solution to cluster Computing. * In grid-computing different systems were placed at entirely different locations and these were connected via the internet. * **Problems:** Though it solved some problems, but new problems emerged as the distance b/w the nodes increased. * The main problem which was encountered was the low availability of high bandwidth, connectivity and other i/w issues also arised. ## Cloud Computing * Cloud computing is referred as "successor of grid-computing". ### Virtualization * It refers to the process of creating a virtual layer over the h/w which allows the user to run multiple instances simultaneously on the h/w. ### Web 2.0 * It is the interface through which cloud computing services interact with the clients. It is because of web 2.0 that we have interactive and dynamic web pages. ## Service Orientation * It acts as a reference model for cloud computing. * Two important concepts were introduced in this computing model. * **Quality of Service:** Also includes SLAs (service level agreements): * **Software as a Service**: ## Utility Computing * It is a computing model that defines service provisioning techniques for services such as computed services along with other major services such as storage, infrastructure etc., which are provisioned on a pay-per-use basis. * Hence, these are the technologies (virtualization web 2.0, service orientation & utility computing) which contributed to the making of cloud-computing. ## Components of Cloud Computing: Architecture ### Front End * The front end is used by clients. * It consists of client-side interfaces and applications that are required to access the cloud computing platforms. * It includes web servers (including Chrome, Firefox, internet explorer etc) tablets and mobile devices. ### Back-End * The back-end is used by the service providers that manage all the resources that are required to provide cloud computing services. * It consists of a huge amount of data storage, security mechanisms, virtual machines, deploying models, servers, traffic control mechanisms etc. ## Cloud Computing Components * **Client - Infrastructure** * It is the front-end component. It provides GUI (Graphical User Interface) to interact with cloud. * **Application** * **Internet:** * It is the medium through which front-end and back-end can interact and communicate with each other. * **Security:** * It is an in-built back-end component of cloud computing. * It is decided by the cloud service provider * **Management:** * It is used to manage components such as application service, storage, infrastructure and other security issues in the cloud. * It is used to establish coordination b/w all the components. * **Infrastructure:** * It provides services on host level, application level, and network level. * It includes both h/w and s/w components that are needed to support the cloud computing model. * **Storage:** * It provides a huge amount of storage capacity in the cloud to store and manage data. * **Runtime Cloud:** * It provides the execution and runtime environment to virtual machines. * **Services:** * It totally depends upon the clients' requirement. * Cloud computing offers three types of services: * **Software as a Service (SaaS):** * **Platform as a Service (PaaS):** * **Infrastructure as a Service (IaaS):** * **Application** * It can be defined as any s/w or platform that a client wants to access. ## Service Models of Cloud Computing ### Diagram The diagram shows a pyramid of cloud computing models with clients at the top and Infrastructure at the bottom. * **Clients:** Client can be web browser or mobile app * **SaaS (Software as a Service):** * Examples: Google apps, Facebook, Youtube, Salesforce.com, Netflix, Microsoft Azure, Google AppEngine, etc. * It is also known as cloud applications services. * The service is purchased on a subscription basis. * It is a third-party service provider that which a software distribution model in which a software distribution model in customers over the internet. * **PaaS (Platform as a Service):** * Examples: a cloud-based CRM, an online development platform, an email system, a web hosting service. * Allows developers to create applications without having to set up the underlying infrastructure. * It includes development tools, databases, web servers, software frameworks, etc. * **IaaS (Infrastructure as a Service):** * Examples: AWS (Amazon web services), Cisco metacloud, etc. * It provides virtual machines (VMs), servers, storage, etc. to the users ### Characteristics of SaaS: * Software managed from a central location. * Web access to commercial software. * Software delivered in a "one to many" model. * User not required to handle software upgrades and patches. ### Platform as a Service (PaaS) * It is a global computing model in which cloud vendors provide developers with a platform for building apps. * The developers basically rent everything they need to build an application. It depends upon a cloud provider for development tools (compilers, debugger etc), databases, infrastructure etc. ### Characteristics: * Provides a variety of services to assist with the development, testing and deployment of apps. * Resources can be easily scaled up or down as business changes. * Accessible to numerous users via the same development application. ### IaaS: Infrastructure as a Service * It is a form of cloud computing that provides virtualized computing resources over the internet (storage, memory, infrastructure etc). ### Characteristics: * Shared infrastructure * Web access to resources. * Pay-as-per-use * On-demand scalability ## Difference b/w SaaS, PaaS and IaaS |Feature |SaaS | PaaS | IaaS | |---|---|---|---| |What it provides |Provides web software and apps to complete business tasks as well as personal uses. |Provides virtual platforms and tools to create, test and deploy the apps. |Provides a virtual infrastructure in which resources are provided to the users but not physically. | |What it provides to the end-users |Provides software as a service to the end users. |Provides runtime environments and deployment tools for applications. |Provides access to such resources: such as virtual machines, virtual storage etc. | |Who uses it|It is used by end users. |It is used by developers. |It is used by network architects. | |What it provides |Provides infrastructure + software + platform |Provides infrastructure + platform |Provides infrastructure only | |Examples |Cisco WebEx, Google apps, Dropbox, Zen Desk, etc. |Force.com, Magento Commerce cloud, OpenShift, etc. |AWS, Rackspace, Cisco metacloud. | ## Underlying Principles of Parallel and Distributed Computing * **Serial Computation:** * Initially software has been written for serial computation. * Ie. to be run on a single computer having a single CPU. * In serial computation a problem is broken into a discrete series of instructions and instructions are executed one after another. * Only one instruction may execute at any moment in time. * **Problem with Serial Computation:** * Low transmission speed. * Limits to miniaturization. * Only one instruction at a time can execute so it is a time taking process. * **Requirements of Parallel Processing:** * Save time and / or money. * Solve larger / more complex problems. * Provides concurrency. * Takes advantages of non-local resources. * Makes better use of underlying parallel hardware * **Parallel Computing:** * Parallel computing involves the concurrent computation or simultaneous execution of processes or threads at the same time. * It basically consists of decomposing a problem into discrete parts that can be solved concurrently. * Decomposition of each part into a series of instructions. * Distributing the parts as tasks which are worked on by multiple processors simultaneously. * Coordinating work and communications of those processors or cores. * **Distributed Computing:** * In distributed computing, we have multiple autonomous computers which seem to the user a single system. * In distributed systems there is no shared memory and computers communicate with each other through message passing. * In distributed computing, a single task is divided among different computers. * **Difference b/w Parallel and Distributed Computing** |Feature |Parallel Computing | Distributed Computing | |---|---|---| |What it is |System components are located at different locations. |Many operations are performed simultaneously | |How many computers|Single computer is required |Uses multiple computers| |Processor use |Multiple processors performs multiple operations |Multiple computers performs multiple operations| |Memory |It may have shared or distributed memory. |If have only distributed memory. | |Communication |Processors communicate with each other through bus. |Computers communicate with each other through message passing. | |Performance|Improves the system performance. |Improves system scalability, fault tolerance and resource sharing capabilities. | |Examples|Weather forecasting, Movie special effects etc. |Telecommunication networks, aircraft control systems etc. | ## Deployment Models of Cloud Computing * In its general terms, deployment is the process of making software available and ready for use. * There are four types of deployment models: * **Public Cloud:** * It allows systems and services to be easily accessible to general public. * **Advantages:** * Flexible * Low Cost * Place Independence * **Disadvantages:** * Less secure * Less customization * **Examples:** Google Cloud, IBM's Blue cloud, Sun cloud etc. * **Private Cloud:** (Internal Cloud) * It allows systems and services to be accessible within an organization. * It may be managed internally by the organization itself or by a third party. * **Advantages:** * Highly private and secured. * Control oriented. * **Disadvantages:** * Costly * Restricted area of operation. * Limited area of operation. * Pricing is inflexible i.e. purchasing new hardware for ugradation is more costly. * **Examples:** HP data Centres, Microsoft, Elastra private cloud etc. * **Hybrid Cloud:** * It is a combination of public and private clouds. * Hybrid Cloud = Public Cloud + Private Cloud. * In hybrid cloud, non-critical activities are performed by public cloud and critical activities are performed by the private cloud. * A hybrid cloud is an infrastructure that includes links between one cloud managed by user and at least one cloud managed by a third party (public cloud). * **Advantages:** * Flexible and Secure * Cost-effective * Security * Risk-management * **Disadvantages:** * Network issues * Infrastructure compatibility required. * **Examples:** Amazon, Microsoft, Google, Cisco and NetApp, are the various hybrid cloud provider companies. * **Community Cloud:** * It is a cloud infrastructure that allows systems and services to be accessible by a group of several organizations to share information. * It is owned, managed and operated by one or more organizations in the community, a third party or a combination of them. * **Advantages:** * Cost-effective * Flexible and scalable. * Security * Sharing infrastructure * **Disadvantages:** * Sharing resources within organization is little difficult * Fixed amount of resources are shared b/w community members which reduces performance. * **Examples:** V.s based dedicated IBM SoftLayer cloud for federal agencies.