Evolution & Types of Cloud Computing: IaaS, PaaS, SaaS, Hybrid, Multi-Cloud, Omni-Cloud, Assignments of Network Technologies and TCP/IP

An overview of cloud computing, its history, and various types including Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), Hybrid Cloud, Multi-Cloud, and Omni-Cloud. It covers definitions, examples, and benefits.

Typology: Assignments

2019/2020

Uploaded on 07/26/2020

sachin-jayathilaka
sachin-jayathilaka 🇱🇰

1 document

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
cloud computing
D.S.M Jayathilaka
IT20758776
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Partial preview of the text

Download Evolution & Types of Cloud Computing: IaaS, PaaS, SaaS, Hybrid, Multi-Cloud, Omni-Cloud and more Assignments Network Technologies and TCP/IP in PDF only on Docsity!

cloud computing

D.S.M Jayathilaka

IT

Abstract

The term cloud computing is currently becoming very popular in the IT world. Behind this fancy phrase lies the true picture of the future of computing both from a technical perspective and a social perspective. Though the term Cloud Computing is recent, the idea of computation and storage in distributed data centres maintained by third-party companies is not new. Still, it came in a way back in the 1990s along with distributed computing approaches like grid computing. Cloud computing focused on providing IT as a service to the cloud users on-demand basis with greater flexibility, availability, reliability, and scalability with the utility computing model. This new side of computing has immense potential in it to use in various ways. This research focuses on cloud computing's history, characteristics, advantages and disadvantages, and emerging trends.

1. Introduction

1.1. Overview of the topic

Cloud computing is a recently developing model of distributed computing. Cloud computing is not an entirely new concept though it emerged recently. One of the giant steps towards cloud computing today was taken in the mid-1990s when grid computing allowed consumers to obtain computing power on demand. The origin of cloud computing can see as an evolution of grid computing technologies. Googles CEO Eric Schmidt was the first to use the term "cloud computing" in late 2006. So, the birth of cloud computing is a very recent phenomenon, although its roots belong to some old ideas with new business, technical and social perspectives. From the architectural point of view, the cloud is naturally built on an existing grid-based architecture and uses the grid services and adds some technologies like virtualization and some business models.

In brief, the cloud is essentially a bunch of commodity computers networked to gather in the same or different geographical locations, operating together to serve many customers with different needs and workload on-demand basis with the help of virtualization. Cloud services are provided to the users as utility services like water and electricity, using a pay-as- you-use business model. These utility services generally described as XaaS (X as a Service) or EaaS (Everything as a Service) where x can be such as Software or platform infrastructure. Cloud users use these services provided by the cloud providers and build their applications on the Internet and thus deliver them to their end-users. So, the cloud users do not have to worry about installing maintaining hardware and Software needed. Furthermore, they also can afford these services as they have to pay as much, they use. So, the cloud users can reduce their expenditure and effort in the field of IT using cloud services instead of establishing IT infrastructure themselves.

Large distributed data centres essentially provide cloud. These data centres often organized as a grid, and the cloud built on top of it. Cloud users provided with virtual images of the physical machines in the data centres. This virtualization is one of the vital concepts of cloud computing as it essentially builds the abstraction over the physical system. Many cloud applications are gaining popularity day by day for their availability, reliability, scalability, and utility model. These applications made the cloud provider itself handle distributed computing as easy as the critical aspects.

1.2. Purpose of the topic

The purpose of this topic is to learn about cloud computing and how it works. Learning about its various deployment models and different types of cloud computing. Also, learning about the architecture of cloud computing. Furthermore, to learn how cloud computing could change the future of the world.

to more users through time-sharing. They experimented with algorithms to optimize infrastructure platforms and applications to prioritize CPUs and increase efficiency.

2.1.2. The 2000s

Amazon created Amazon's subsidiary Web Services in August 2006 and introduced its elastic compute cloud (EC2). Google released the beta version of the google app engine in April 2008. NASA's OpenNebula, enhanced in the RESERVOIR European Commission- funded project, became the first open-source software to deploy private and hybrid clouds and for the federation of clouds. By mid 2008s Gartner saw an opportunity for cloud computing to shape the relationship among consumers of IT services, those who use IT services and those who sell them and observed that organizations are switching from company-owned hardware and software assets to per-use service-based models so that the projected shift to computing will result in dramatic growth in IT products in some areas and significant reductions in other areas.

In 2008 the US The National Science Foundation began the Cluster Exploratory program to fund academic research using Google-IBM cluster technology to analyze massive amounts of data.

2.1.3. The 2010s

Microsoft released Microsoft Azure in February 2010, and this announced in October

  1. Rackspace Hosting and NASA jointly launched a cloud-software initiative known as OpenStack in July 2010. The OpenStack project aimed to assist organizations that offer cloud computing services running on standard hardware. The early code came from both NASA's Nebula platform and Rackspace's Platform for cloud files. It has attracted attention by several key communities as an open-source offering and along with other open-source solutions such as CloudStack, Ganeti, and OpenNebula. Several studies aim to compare these offerings with open source based on a set of criteria.

IBM announced on 1 March 2011 the IBM SmartCloud framework to support Smarter Planet. Cloud computing is a critical part of the various components of the Smarter Computing Foundation. Oracle announced the Oracle Cloud on 7 June 2012. This cloud offering set to be the first to provide users with access to an integrated set of IT solutions, including the layers of Applications (SaaS), Platform (PaaS), and Infrastructure (IaaS).

Google Compute Engine was released in preview in May 2012, before being rolled out in December 2013 into General Availability. It revealed in 2019 that Linux is used the most on Microsoft Azure.

3. The architecture of cloud computing

Cloud architecture, the software systems architecture involved in cloud computing delivery, typically involves multiple cloud components communicating with each other over a loose coupling mechanism such as a messaging queue. Elastic provision implies intelligence as applied to mechanisms such as these and others in the use of tight or loose couplings.

The cloud providers do have physical data centres to provide their users with virtualized services via the Internet. The cloud providers often provide separation between applications and data. Figure 3.1 shows that scenario. The underlying physical machines usually arranged in grids and distributed geographically. In the cloud scenario, virtualization plays an important role. The host data centre provides the physical hardware that virtual machines reside on. Users can potentially use any OS that is supported by the used virtual machines.

Figure 3. 1 Basic Cloud Computing Architecture The operating systems have designed for software and specific hardware. It results in the lack of operating system and software portability from one machine to another that uses different set architecture for instructions. The concept of virtual machine solves this problem by acting as an interface between the hardware and the operating system called system VMs.

4. Characteristics of cloud computing

Cloud computing possesses the following key features

 Organizational agility may be improved, as cloud computing may increase the flexibility of users by re-provisioning, adding, or expanding resources for the technological infrastructure.  Cloud providers claim cost reductions. A public-cloud delivery model converts capital expenditure (e.g., buying servers) into operating expenditure. It allegedly reduces entry barriers as infrastructure typically provided by a third party and is not required to be purchased for one-time or rare intensive computing tasks. Pricing on a utility computing basis is "fine-grained," with billing options based on usage. Also, fewer in- house IT skills are needed to implement projects using cloud computing.  Device and location independence allow users to access web browser systems regardless of where they a located or what device they use (e.g., PC, mobile phone). Given that infrastructure is off-site (usually provided by a third party) and accessed via the Internet, users can connect from anywhere.  Multitenancy allows the sharing of resources and costs across a large pool of users so that: o Centralization of infrastructure at lower-cost locations (such as real estate and electricity.) o Increases in peak load capacity (users do not need to engineer and pay for resources and equipment to meet their maximum load levels) o Utilization and efficiency improvements for systems that are often only 10- 20% utilized.  Performance is monitored by service provider IT experts, and consistent and loosely coupled architectures built using web services as the system interface.  Productivity may increase when multiple users can work on the same data simultaneously, rather than waiting for it to be saved and emailed. Time may save as information does not need to re-enter when fields match, nor do users need to install application software upgrades to their computer.  With the use of multiple redundant sites, availability improves, which makes well- designed cloud computing suitable for business continuity and recovery from disasters.

 Scalability and elasticity through on-demand resource provision on a fine-grained, self-service basis in near-real-time, without users having to develop peak loads, This gives the ability to scale up when using needs increase or decrease if resources not used. Emerging approaches for managing elasticity include the use of machine learning techniques to put forward efficient models of elasticity.  Security can improve due to things such as data centralization, increased security- focused resources. However, concerns about loss of control over some sensitive data, and lack of security for stored kernels, may persist. Security is often as good or better than other traditional systems, partly because service providers can devote resources to solving security problems that many customers cannot afford to address or lack the technical skills they need to address. However, when data distributed over a wider area or a larger number of devices, and in multitenant systems shared by unrelated users, the complexity of security much increased. Additionally, it may be difficult or impossible for users to access security audit logs. Private cloud installations are motivated in part by the desire of users to retain control over the infrastructure and to avoid loss of control over information security.

The definition of cloud computing by the National Institute of Standards and Technology identifies' five essential features.

On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).Resource pooling. The provider's computing resources pool to serve multiple consumers using a multitenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time.Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type

5. Services models used by cloud computing

Although service-oriented architecture advocates "Everything as a service," cloud computing providers offer their "services" according to different models, the three standard models per NIST being Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), respectively. These models offer increasing abstraction; thus, they often depict as layers in a stack: infrastructure, platform, and software-as-a-service, but they need not be related. For example, SaaS implemented on physical machines (bare metal) can be provided without the use of underlying PaaS or IaaS layers, and Conversely, a program can be run and accessed directly on IaaS, without wrapping it as SaaS.

5.1. Function as a service (FaaS)

Function as a service (FaaS) is a service-hosted remote procedure call that leverages serverless computing to enable the deployment of individual functions in the cloud running in response to events. FaaS include under the broader term serverless computing, but the terms may also use interchangeably.

5.2. Infrastructure as a service (IaaS)

"Infrastructure as a service" (IaaS) refers to online services providing high-level APIs used to abstract various low-level details of the underlying network infrastructure, such as physical computing resources, location, data partitioning, scaling, security, backup. The virtual machines are run as guests by a hypervisor. Hypervisor pools within the cloud operating system can support large numbers of virtual machines and the ability to scale up and down services according to the varying demands of customers. Linux containers run directly on the physical hardware in isolated partitions of a single kernel running Linux. Linux cgroups and namespaces are the underlying technologies used in the Linux kernel to isolate, secure, and

Figure 5. 3 Cloud Service stack

5.3. Mobile "backend" as a service (MBaaS)

The mobile "backend" as a service model, also known as backend as a service ( BaaS), provides Web app developers and mobile app developers with a way to link their applications to cloud storage and cloud computing services with application programming interfaces ( APIs) that expose to their applications and custom software development kits (SDKs). Services include user management, push notifications, social networking integration, and more. It is a relatively recent model in cloud computing, with most BaaS startups dating back to 2011 or later. However, trends indicate that these services are gaining considerable mainstream traction with business consumers.

5.4. Platform as a service (PaaS)

PaaS vendors offer application developers an environment for development. Typically, the provider develops toolkits and development standards and distribution and payment channels. Cloud providers supply a computing platform in the PaaS models, typically including the operating system, programming-language execution environment, database, and web server. Application developers develop and run their software on a cloud platform, rather than buying and managing the underlying layers of hardware and Software directly. With some PaaS, the underlying computer and storage resources automatically scale to meet application demand so that the cloud user does not need to allocate resources manually. Some integration and data management providers also use PaaS specialist apps as data delivery models. Examples include iPaaS (Service Integration Platform) and dPaaS (Service Data Platform). iPaaS allows the development, execution, and management of integration flow for customers. Under the iPaaS integration model, customers drive integration development and deployment, without any hardware or middleware being installed or managed. DPaaS delivers product integration and data management product as a fully managed service. The PaaS provider, and not the customer, manages the development and execution of programs under the dPaaS model by building customer data applications. DPaaS users access data via data visualization tools. Platform as a Service (PaaS) consumers do not manage or control the underlying cloud infrastructure, including network, server, operating system, or storage, but have control over deployed applications and possibly application-hosting configuration settings.

NIST's definition of cloud computing defines a platform as a Service as: -

"The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including network, servers, operating systems, or storage, but has to control over the deployed applications and possibly configuration settings for the application-hosting environment."

5.5. Software as a Service (SaaS)

Users get access to application software and databases in the Software as a service (SaaS) model. Cloud Providers manage the applications running infrastructure and platforms. SaaS is sometimes called "on-demand software" and is usually priced on a pay-per-use basis or using subscription fees. Cloud providers in the SaaS model install and operate application software from cloud clients in the cloud and cloud users that access the Software. Cloud users are not managing the cloud infrastructure and platform in which the application is running. It eliminates the need to install and run the application on the cloud user's computers, making maintenance and support simplified. Cloud applications differ in their scalability from other applications, which can be accomplished at runtime by cloning tasks on multiple virtual machines to meet changing work requirements. Load balancers distribute work across a set of virtual machines. This process is transparent to the cloud user, who only sees a single point of access. Cloud applications can be multitenant to accommodate a large number of cloud users, which means that any machine can serve more than one cloud-user organization.

Typically, the pricing model for SaaS applications is a monthly or annual flat fee per user so that prices become scalable and adjustable when users are added or removed at any point. It can also be free. Proponents claim that SaaS offers a business the potential to reduce IT operating costs by outsourcing the cloud provider with hardware and software maintenance and support. It allows the business to reallocate costs of IT operations away from expenditure on hardware/software and personnel expenditure towards other goals. Additionally, updates can release with centrally hosted applications without the need for users to install new software. One drawback of SaaS is to store data of the users on the server of the cloud provider. Therefore, access to the data could be unauthorized. The games and productivity software such as Google Docs and Word Online are examples of applications offered as SaaS. SaaS apps may be integrated with cloud storage or file hosting services, as is