Unit 4
Introduction to Cloud
Cloud computing is Internet-based computing with shared resources, software, and information which are provided to computers and other devices on demand same as the electricity grid.
Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet and it involves over-the-Internet provision of dynamically scalable and virtualized resources. This number of times takes the form of web-based tools or applications that users can access and use through a web browser as it is a program installed locally on their own computer.
Cloud computing providers deliver common business application online that are accessed from other Web service or software like a web browser until the software and data are stored on servers.
The main purpose of cloud computing is customization and the creation of a user-defined experience. Cloud computing is a term used to describe both a platform and type of application.
The National Institute of Standards and Technology’s (NIST) Information Technology Laboratory recognizes that cloud computing is an “evolving paradigm.” According to NIST Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources for e.g., networks, servers, storage, applications, and services. It can be rapidly provisioned and released with minimum management effort or service provider interaction. This cloud model promotes availability and is composed of five characteristics, three service models, and four deployment models.
Cloud computing is a highly needed service or helpfulness because the advantages of high computing power, cheap cost of services, high performance, scalability, availability and convenience. Some cloud vendors are experiencing growth rates of 50% per year, but being still in a stage of early life. It has pitfall that needs to be addressed to make cloud computing services more trustworthy and easy to use.
Cloud Computing Origin
The origin of cloud computing is unclear. The word "cloud" is commonly used in science to describe a significant grouping of objects that visually resemble from a horizon like a cloud and explains set of things whose details are not more over inspected in a given context.
The cloud symbol was used to specify networks of computing equipment at the beginning of Arpanet by early 1977, and the CSNET by 1981both predecessors to the Internet itself.
Figure 4.1(I) Cloud Computing Architecture
Cloud computing is the result of the evolving and adoption of existing technologies and paradigms. Figure shows the architecture of cloud with the different service model. The purpose of cloud computing is to let users take benefit from all of these technologies, without the need for in-depth learning about or expertise with each one of them.
The Five Essential Characteristics
1) 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’s provider.
2) Broad Network Access
This capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms such as mobile phones, laptops, and PDAs.
3) Resource Pooling
Multi-tenancy aspects of cloud give way for multiple users to be shared from same physical hardware. Users from different class are assigned virtual resources that run on top of the physical resources.
There is a feeling of area freedom in that the client does not have control over the most of the part or information over the correct area of the give assets, however, might have the capacity to indicate area at a more elevated amount of deliberation e.g. Nation, state or datacenter. Cases of assets incorporate stockpiling, preparing, memory and system transmission capacity.
4) Rapid Elasticity
Resources can be provisioned quickly and elastically. Cloud resource can be immediately scaled up or down based on demand. Scaling options like horizontal scaling and vertical scaling make the task easier by allowing them to set conditions.
Users can scale their applications to scale up and down, based on application-specific metrics such as transaction per, CPU clocks per cycles, number of simultaneous users, and request latency.
5) Measured Service
Resources are provided to a user based upon their demand and charges done on specific metrics such as the number of CPU cycles used, amount of storage space used, some networks I/O requests, etc. are used to calculate the usage charges for the cloud resources.
There are several multi-tenant implementations that are similar to cloud computing. The models are similar and for once, can confuse the related concepts. A clear understanding of the following terms will help you in distinguishing these from Cloud computing.
1)Application Service Provider(ASP)
Jostein Eikeland the founder of Tele-computing coined the term ASP n 1996.An ASP was defined as an organization that hosts and manages one or more applications and its underlying infrastructure. Customers could use these applications over the internet and would be billed for the amount of utilization.
2) Autonomic computing
It is refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes while hiding intrinsic complexity to operators and users. It is initiated by IBM in 2001, this initiative aimed to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that complexity poses to further growth.
3) Cluster
A cluster is a set of loosely or tightly connected computers that work together so that, in many aspects they can be viewed as a single system. Same as the grid computers the computer clusters have each node set to perform the same task, controlled and scheduled by software.
4) Distributed computing
It is a model in which components of a software system are shared among multiple computers to improve efficiency and performance. According to the definitions, distributed computing is limited to programs with components which shared among computers within a limited geographic area.
5) High-performance computing (HPC)
It is the ability to process data and perform complex calculations at high speeds. To put it into perspective, a laptop or desktop with a 3 GHz processor can perform around 3 billion calculations per second. While that is much faster than any human can achieve, it pales in comparison to HPC solutions that can perform quadrillions of calculations per second.
One of the best-known types of HPC solutions is the supercomputer. A supercomputer contains thousands of compute nodes that work together to complete one or more tasks. This is called parallel processing. It’s similar to having thousands of PCs networked together, combining compute power to complete tasks faster.
The basic components of cloud computing in a simple topology are divided into 3 parts, namely clients, datacenter, and distributed servers. These components have specific goals and roles in running cloud computing operations. The concept of the three components can be described as follows:
1) Clients
Clients on cloud computing architecture are said to be the exact same things that are plain, old, everyday local area networks (LANs). These are the computers that just sit on your desk but they have also laptops, tablet computers, mobile phones, or PDAs - all drivers for cloud computing because of their mobility. Clients are interacting with to manage their information on the cloud.
2)Datacenter
It is collection of servers where the application to which you subscribe is housed. It may be a large room in the basement of your building full of servers on the other side of the world that you access through the Internet. A growing approach in the IT world is virtualizing servers. That is, software can be installed allowing multiple instances of virtual servers to be used. In this way, you can have multiple virtual servers running on one physical server.
3) Distributed Servers
It is a server placement in a different location. But the servers don't have to be placed in the same location. Often, servers are in geographically disparate locations. In cloud subscribers, these servers act as if they're humming away right next to each other.
Another component of cloud computing is Cloud Applications cloud computing in terms of software architecture. So that the user does not need to install and run applications using a computer. Cloud Platform is a service in the form of a computing platform which contains hardware infrastructure and software. It have certain business applications and use services PaaS as its business application infrastructure. Cloud Storage involves processes delivering data storage as a service. Cloud Infrastructure is the same as delivery of computing infrastructure as a service.
Figure 4.3(I) shows components in cloud Computing.
Cloud Computing services have multiple components such as
- Cloud Clients
A computer or software mainly designed for the use of cloud computing based services. For example Mobile are Windows Mobile, Symbian, Thin Client such as Windows Terminal Service, CherryPal and Thick Client such as Internet Explorer, FireFox, Chrome.
b. Cloud Services
Different cloud services such as products, services and solutions that are used and delivered real-time via internet media. For example identity services are OpenID, OAuth, etc. integration services is Amazon Simple Queue Service. Payment services are PayPal, Google Checkout and Maps are Google Maps, Yahoo! Maps.
c. Cloud Applications,
The applications those use Cloud Computing in software architecture so that users don't need to install but they can use the application using a computer.
Example: Peer-to-peer applications such as BitTorrent, SETI, and others. Web Application are Facebook and SaaS applications are Google Apps, SalesForce.com, and others.
d. Cloud Platform
This service is in the form of a computing platform which contains infrastructure hardware and software. It has an application certain businesses and use PaaS services as application infrastructure his business
Example: Web Application Frameworks contains Python Django, Rubyon Rails, .NET
Web Hosting
e. Cloud Storage
It contains the process of storing data as a service.
Example: Database consist of Google Big Table, Amazon SimpleDB and Network Attached Storage are Nirvanix CloudNAS, MobileMe iDisk.
Following services are also components of cloud computing
Storage-as-a-service
This refers to the disk space used when we lack a storage platform and therefore request it as a service.
Database-as-a-service
This component acts as a database directly from a remote server where its functionality and other features work when physical DB is present on the local machine.
Information-as-a-service
Information which can be accessed remotely from anywhere called Information-as-a-Service. Highlight the flexibility of accessing information remotely
Process-as-a-service
Same as other components, this component combines various resources such as data and services. This is mainly used for business processes where various key services and information are combined to form a process.
Application-as-a-service (AaaS)
As the name indicates, this is a complete package for accessing and using applications. This is made to connect end users to the internet and end users use browsers and the internet to access this service. This component provides main role to front-end for end users.
Platform-as-a-service (PaaS)
In PaaS the full application development process takes place including creating, implementing, storing, and testing the database.
Integration-as-a-service
It is related to application components that have been built but must be integrated with other applications. This helps in mediating between remote servers and local machines.
Security-as-a-service
Most people expect security in the cloud, this is one of the most needed components. There are three-dimensional security principles present on cloud platforms.
Figure 4.4(I) Cloud Computing Service Model
Even though service-oriented architecture says “everything as a service” cloud-computing providers offer their best “services” according to different models, of which the three standard as per NIST are, Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS) which is shown in Figure.
These are models offer increasing abstraction; they are thus often portraying as layers in a stack, infrastructure-, platform- and software-as-a-service, but these need not be related. For example, one can provide SaaS performed on physical machines without using first PaaS or IaaS layers, and on the contrary, one can execute a program on IaaS and access it directly, without wrapping it as SaaS. Cloud computing service models arranged as layers in a stack. The NIST's definition of cloud computing defines the service models as follows:
1) Infrastructure as a Service
The capability provided to the consumer is to provision processing power, hard disk storage, networks, and separate fundamental computing resources where the consumer can deploy and run the random software, which can include operating systems and applications.
The consumer does not maintain or control the cloud infrastructure but has control over operating systems, storage, and deployed applications in the server side and possibly limited control of select networking components for e.g., host firewalls.
Infrastructure as a service refers to online of services that complex the user from the details of infrastructure like physical computing resources, geographical location, data partitioning, scaling, security, backup, etc. A hypervisor, such as Xen, Oracle Virtual Box, Oracle VM, KVM, VMware ESX/ESXi, or Hyper-V, runs the virtual machines as guests.
Pools of hypervisors within the cloud operating system can support large numbers of virtual tools and the capability to scale services up and down according to the customers' varying needs. Linux containers run in only barriers of a single Linux kernel running directly on the physical hardware device.
Linux groups are the underlying Linux kernel technologies used to separate, secure and manage the containers. Containerizations offer higher performance than virtualization because there is no hypervisor overhead. Also, container capacity auto-scales dynamically with computing load, which eliminates the problem of over-provisioning and enables usage-based billing.
IaaS clouds often offer additional resources such as a virtual-machine disk-image library or cloud storage, remote firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles. IaaS-cloud providers supply the resources on-demand from their large pools of equipment installed in remote data centers. For broad-area of connectivity, customers can use either the Internet or carrier clouds (dedicated virtual private networks).
To deploy their applications, end users can install their operating-system software and their application software on the cloud infrastructure without getting any license.
In this model, the cloud user patches the operating systems and application software. Cloud providers usually bill IaaS services on a business computing basis: cost indicates the number of resources allocated and consumed. IaaS examples are Amazon EC2, Google Compute Engine, Azure VMs.
Amazon Elastic Compute Cloud is an infrastructure as a service offering from amazon.com. It provides computing capacity in the form of virtual machines that are launched in Amazon's cloud computing environment. Amazon EC2 allows users to launch instances on demand using a simple web-based interface.
Amazon provides pre-configured Amazon machine images which are templates for cloud instances. Users can also create their own AMIs with custom applications, libraries and data. Instances can be launched with a variety of operating systems. End users can load their applications on running instances rapidly and efficiently increase or decrease capacity to meet the dynamic application performance requirements.
Google Compute Engine is an IaaS offering from Google which provides virtual machines of various computing capacities ranging from small instances (e.g., one virtual core with 1.38 GCE unit and 1.7GB memory) to high memory machine type (e.g., eight virtual cores with 22GCE units and 52GB memory).
2) Platform as a Service
The capability provided to the end user is to deploy onto the cloud infrastructure consumer-created or obtained applications created using programming languages, libraries, services, and tools supported by the provider.
The consumer does not handle or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
A software developer can develop their software without any cost and complexity of buying and controlling the underlying hardware and software. Paas service providers like Microsoft Azure and Google App Engine, the underlying computer and storage resources balance automatically to match application demand so that user does not have to allocate resource manually by configuring the system. Even more precise application types can be provided via PaaS, such as media encoding as presented by services similar bitcodin.com or media.io.
Google App Engine (GAE) is a platform-as-a-Service (PaaS) offering from google. Google App Engine is cloud-based web service for hosting web applications and storing data. It allows users to build scalable and reliable applications that run on the same systems that power goggle’s applications. GAE provides a software development kit (SDK) for developing web applications software that can be deployed on GAE.
3) Software as a Service
In Software as a service, the user directly uses the application as the ready-made model. The applications are open from various customer gadgets through either a thin customer interface, for example, a web program (e.g., electronic mail), or a program interface.
The user does not oversee or control the basic cloud framework including system, servers, working frameworks, memory storage, or even individual application abilities, with the conceivable exemption of restricted client particular application design settings. Example for software as a service is sales force, which is shown in Figure.
The accounting model for SaaS applications is usually a month to month or yearly level charge per client, so costs end up noticeably adaptable and customizable if clients are included or removed anytime. Provider guarantee that SaaS gives a business the possibility to decrease IT operational expenses by outsourcing equipment and programming upkeep and support to the cloud provider.
It empowers the business to reallocate IT operations costs far from equipment/programming spending and faculty costs, towards meeting different objectives. Likewise, with applications facilitated midway, updates can be discharged without the requirement for clients to put in new programming.
Sales force sales cloud is a cloud-based customer relationship management (CRM) Software-as-a-Service (Saas) offering. Users can access CRM application from anywhere through Internet-enabled devices such as workstations, laptops, tablets, and Smartphone’s. Sales cloud allows sales representatives to manage customer profiles, track opportunities, optimize campaigns from lead to close and monitor the impact of campaigns.
Sales force Marketing Cloud is cloud-based social marketing SaaS Marketing cloud allows companies to identify sales leads from social media, discover advocates, and identifies the most trending information on any topic. Marketing cloud allows companies to pro-actively engage with customers, manage social listening, create and deploy social content, manage and execute optimized social advertisement campaigns and track the performance of social campaigns.
4) Data as a Service
In computing, data as a service (or DaaS) is a cousin of software as a service (SaaS). Like all members of the "as a service" (aaS) family, DaaS builds on the concept that the product (data in this case) can be provided on demand to the user regardless of geographic or organizational separation of provider and consumer.
Additionally, the emergence of service oriented architecture (SOA) has also rendered the actual platform on which the data resides irrelevant. This development has enabled the emergence of the relatively new concept of DaaS. Data provided as a service is primary in Web mashups, but as of 2015 is being increasingly employed both commercially and - less commonly - within organisations such as the UN.
From the early day, many companies have followed the approach of storing data in the self-contained repository, for which software was explicitly made to gain access and present the data in a human-understandable form. The primary goal of this model is to bundle both data and software needed to be packed into single, sold as a consumer product. As the number of bundled software/data packages proliferated and required interaction among one another, another layer of an interface was required.
Types of Cloud
Cloud computing is an Internet-based computing in which shared the pool of resources are available over a broad network access, these resources can be provisioned or released with minimum management efforts and service provider interaction. There are four types of cloud such as
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
A. Public cloud
A cloud is known as a public cloud when the services are rendered over a system that is open for public use. Public cloud services are free which is shown in Figure.
Actually there might be practically no contrast amongst public and private cloud design, be that as it may, security thought might be generously extraordinary for different services (applications, storage, and other resources) that are made available by a service provider for a public audience and when communication is effected over a non-trusted network.
Generally, public cloud service providers like Amazon Web Services (AWS), Microsoft and Google own and operate the infrastructure at their data center and access is generally via the Internet.
Cloud provider's offers services with various dimensions for billing purpose on a monthly, quarterly, yearly or leased manner. Primary providers like AWS offer direct connect services called AWS Direct Connect, and Microsoft's Azure gives service in the name "Azure Express Route.
Figure 4.4(II) Public cloud
B. Private Cloud
Private cloud infrastructure is operated mainly for security purpose when a user decides that his or her data should not be available to the public. It is mainly operated by a single organization where the hosting activity takes place either internally or externally. A great deal of feasibility study should be done, when a company decides to set up the private cloud and requires the organization to reevaluate decisions about existing resources.
When a private cloud was set up, it can improve the business turn over in term of millions or billions based the annual turnover of that organization. However, a company should address all sorts of security vulnerabilities before transferring all kinds of data (sensitive data like account number, medical records, password kind of things, etc.) to the private cloud. Self-styled data center are capital intensive but it as significant cloud-based in allocating physical space, hardware and environmental control.
Figure 4.4 (III) private cloud
The advantages of using a private cloud are:
- Customer information protection
In private cloud security concerns are less since customer data and other sensitive information does not flow out of a private infrastructure.
Ii. Infrastructure ensuring SLAs
Private cloud provides some operations such as appropriate clustering, data replication, system monitoring and maintenance, and disaster recovery, and other uptime services.
Iii. Compliance with standard procedures and operations
Specific procedures have to be put in place when deploying and executing applications according to third-party compliance standards but this is not possible in case of public cloud.
C. Hybrid cloud
Hybrid cloud is a heterogeneous distributed system formed by combining facilities of public cloud and private cloud. For this reason they are also called heterogeneous clouds.
A major drawback of private deployments is the inability to scale on demand and to efficiently address peak loads. Here public clouds are needed. Therefore, a hybrid cloud takes advantages of both public and private cloud.
Figure 4.4(IV) Hybrid cloud
D. Community cloud
Community cloud shares infrastructure between a few organizations from a particular group with basic concerns (security, consistency, ward, and so forth.), regardless of whether overseen inside or by an outsider, and either facilitated inside or remotely.
Community clouds are designed for businesses and organizations working on same projects, applications, or research, which requires a central cloud computing facility for building, managing and executing such projects, regardless of the solution rented.
Consider example the Department of Defense and intelligence agencies have launched data center improvement initiatives using a community cloud. This enables them to easily share data with other agencies in the community cloud, while keeping it secure and controlled.
Figure 4.4(V) Community cloud
Sectors that use community clouds are:
i. Media industry:
In this industry companies are looking for quick, simple, low-cost way for increasing efficiency of content generation. Most media productions take a part in extended ecosystem of partners. The creation of digital content is the outcome of a collaborative process that includes movement of large data, massive compute-intensive rendering tasks, and complex workflow executions.
Ii. Healthcare industry:
In healthcare industry community clouds are used to share information and knowledge on the global level with sensitive data in the private infrastructure.
Iii. Energy and core industry:
In these sectors, the community cloud is used to cluster set of solution which collectively addresses management, deployment, and orchestration of services and operations.
Iv. Scientific research:
In this organization with common interests of science share large distributed infrastructure for scientific computing.
Reference Book
1. Cloud Computing Black Book- Jayaswal, Kallakurchi, Houde, Shah, Dreamtech Press.
2. Cloud Computing: Principles and Paradigms – Buyya, Broburg, Goscinski.
Reference link
1. Https://www.geeksforgeeks.org/types-of-cloud/