1 of 293

Unit – I �Computing Paradigms

2 of 293

Computing Paradigms

  • High performance computing
  • Parallel computing
  • Distributed computing
  • Cluster computing
  • Grid computing
  • Cloud computing

  • Bio computing
  • Mobile computing
  • Quantum computing
  • Optical computing
  • Nano computing

3 of 293

Introduction

  • The term paradigm conveys that there is a set of practices to be followed to accomplish a task.
  • In the domain of computing, there are many different standard practices being followed based on inventions and technological advancements.
  • In this chapter, we look into the various computing paradigms:- namely high-performance computing, cluster computing, grid computing, cloud computing, bio-computing, mobile computing, quantum computing, optical computing, nano-computing, and network computing. As computing systems become faster and more capable, it is required to note the features of modern computing in order to relate ourselves.

3

4 of 293

High Performance Computing

  • Introduced in the 1960s
  • Thousands of processors
  • Used for compute‐intensive problems
    • Days instead of Years!!!
  • High performance computing (HPC) is the ability to process data and perform complex calculations at high speeds. It can perform quadrillions of calculations per second
  • In high-performance computing systems, a pool of processors (processor machines or central processing units [CPUs]) connected (networked) with other resources like memory, storage, and input and output devices, and the deployed software is enabled to run in the entire system of connected components.

5 of 293

The need for High-performance computing (HPC)

In the modern world, As cutting-edge technologies like artificial intelligence (AI), machine learning (ML) and IoT evolve, they require huge amounts of data to improve high processing speeds, which can be critical for many kinds of computing operations, applications and workloads, It helps to lay the foundation for a reliable, fast IT infrastructure that can store, process and analyse massive amounts of data for various applications.

Example for HPC:

  • The algorithm required to operate a driverless vehicle is complicated, and it has to process many complex calculations like Accident simulations, obstacle detection, rapid and accurate response to senses are the key characteristics of driverless vehicles to navigate smartly and safely.

6 of 293

  • High-performance reduces the need for testing devices such as driverless cars in the real world.

Example:

7 of 293

How does HPC work?

The HPC workflow consists of the three components, they are:

  • Compute
  • Network
  • Storage

Here, we would like to list major points:

  • Compute: To build an efficient and high performance computing architecture servers are interconnected to compute large or complex operations. In this cluster, to compute software programs or algorithms are used to produce the effective outcome.
  • Network: Then the cluster will be networked together with servers and storage to produce the output. Each networking component should be able to deliver high speed data transportation between the computational servers and data storage devices.
  • Storage: . The storage component should be able to feed and inject the data from various network sources.

8 of 293

HPC systems can run different types of workloads. Two popular types are loosely  and tightly coupled workloads.

  • In loosely workloads, computational problems are divided into small, independent tasks that can run in loosely at very high speeds. Often, these workloads don't communicate with each other.
  • Examples of such workloads include risk simulations, logistics simulations, contextual search and molecular modelling.
  • When workloads are divided into smaller tasks and communicate continuously with each other as they perform their processing, they are said to be tightly coupled. This usually happens with workloads across different nodes in a cluster.
  • Some common examples of tightly coupled workloads are automobile collision emulations, geospatial simulations, weather forecast modelling and traffic management.

9 of 293

Benefits of HPC

HPC helps overcome numerous computational barriers that conventional PCs and processors typically face.

The benefits of HPC are many and include the following.

High speeds

HPC is mainly about lightning-fast processing, which means HPC systems can perform massive amounts of calculations very quickly. In comparison, regular processors and computing systems would take longer -- days, weeks or even months -- to perform these same calculations. HPC systems typically use the latest CPUs and GPUs, as well as low-latency networking fabrics and block storage devices, to improve processing speeds and computing performance.

Lower cost

Because an HPC system can process faster, applications can run faster and yield answers quickly, saving time or money. Moreover, many such systems are available in "pay as you go" modes and can scale up or down as needed, further improving their cost-effectiveness.

Reduced need for physical testing

Many modern-day applications require a lot of physical testing before they can be released for public or commercial use. Self-driven vehicles are one example. Application researchers, developers and testers can create powerful simulations using HPC systems, thus minimizing or even eliminating the need for expensive or repeated physical tests.

 

10 of 293

HPC use cases

Deployed on premises, at the edge, or in the cloud, HPC solutions are used for a variety of purposes across multiple industries. Examples include:

  • R. HPC is used to help scientists find sources of renewable energy, understand the evolution of our universe, predict and track storms, and create new materials.
  • M. HPC is used to edit feature films, render mind-blowing special effects, and stream live events around the world.
  • Oi. HPC is used to more accurately identify where to drill for new wells and to help boost production from existing wells.
  • Ar. HPC is used to detect credit card fraud, provide self-guided technical support, teach self-driving vehicles, and improve cancer screening techniques.
  • Fin. HPC is used to track real-time stock trends and automate trading.
  • Ma. To design, manufacture and test new products using simulations.
  • Me .  To predict and track storms and other unusual weather patterns.

11 of 293

Parallel Computing

12 of 293

13 of 293

14 of 293

15 of 293

16 of 293

17 of 293

18 of 293

19 of 293

20 of 293

21 of 293

Parallel computing use cases

Today, commercial applications are providing an equal or greater driving force in the development of faster computers. These applications require the processing of large amounts of data in sophisticated ways. Example applications include

  • parallel databases, data mining
  • oil exploration
  • web search engines, web based business services
  • computer-aided diagnosis in medicine
  • management of national and multi-national corporations
  • advanced graphics and virtual reality, particularly in the entertainment industry
  • weather and climate
  • chemical and nuclear reactions
  • biological, human genome
  • geological, seismic activity
  • mechanical devices - from prosthetics to spacecraft
  • electronic circuits manufacturing processes

22 of 293

Distributed computing

23 of 293

  • Distributed computing is also a computing system that consists of multiple computers or processor machines connected through a network, which can be homogeneous or heterogeneous, but run as a single system.
  • The connectivity can be such that the CPUs in a distributed system can be physically close together and connected by a local network, or they can be geographically distant and connected by a wide area network.
  • The heterogeneity in a distributed system supports any number of possible configurations in the processor machines, such as mainframes, PCs, workstations, and minicomputers. The goal of distributed computing is to make such a network work as a single computer.

24 of 293

How distributed computing works

There are four main types of distributed architecture.

  1. Client-server architecture

Client-server is the most common method of software organization on a distributed system. The functions are separated into two categories: clients and servers.

Clients

Clients have limited information and processing ability. Instead, they make requests to the servers, which manage most of the data and other resources. You can make requests to the client, and it communicates with the server on your behalf.

Servers

Server computers synchronize and manage access to resources. They respond to client requests with data or status information. Typically, one server can handle requests from several machines.

(2) Peer-to-peer architecture

Peer-to-peer distributed systems assign equal responsibilities to all networked computers. There is no separation between client and server computers, and any computer can perform all responsibilities. Peer-to-peer architecture has become popular for content sharing, file streaming, and blockchain networks.

 

25 of 293

 

(3) Three-tier architecture

In three-tier distributed systems, client machines remain as the first tier you access. Server machines, on the other hand, are further divided into two categories:

Application servers

Application servers act as the middle tier for communication. They contain the application logic or the core functions that you design the distributed system for.

Database servers

Database servers act as the third tier to store and manage the data. They are responsible for data retrieval and data consistency. By dividing server responsibility, three-tier distributed systems reduce communication bottlenecks and improve distributed computing performance.

 

(4) N-tier architecture

N-tier models include several different client-server systems communicating with each other to solve the same problem. Most modern distributed systems use an n-tier architecture with different enterprise applications working together as one system behind the scenes.

26 of 293

Benefits

  •  Scalability
  • Availability
  • Transparency
  • Efficiency

Use cases

  • Healthcare and life sciences
  • Engineering research 
  • Financial services 
  • Energy and environment 

27 of 293

Cluster Computing

28 of 293

29 of 293

30 of 293

31 of 293

32 of 293

33 of 293

  • High Performance clusters use computer clusters and supercomputers to solve advance computational problems.
  • They are designed to take benefit of the thousands of processors connected in a parallel .
  • Examples of HPC are Data mining and Weather Forecasting.

34 of 293

35 of 293

36 of 293

37 of 293

38 of 293

39 of 293

40 of 293

Grid Computing

41 of 293

  • Grid computing network might consist of several distributed computing systems.
  • Grid computing is a computing infrastructure that combines computer resources spread over different geographical locations to accomplish a joint task.
  • These tasks are compute-intensive and difficult for a single machine to handle.
  • So, Several machines on a network collaborate under a common protocol and work as a single virtual supercomputer to get complex tasks done.
  • Mainly used for Technical or Scientific that requires a great number of computer processing cycles or access to large amounts of data.

For example, meteorologists use grid computing for weather modeling. Weather modeling is a computation-intensive problem that requires complex data management and analysis. Processing massive amounts of weather data on a single computer is slow and time consuming. That’s why meteorologists run the analysis over geographically dispersed grid computing infrastructure and combine the results. 

42 of 293

43 of 293

Grid computing is more popular due to the following reasons:�• Its ability to make use of unused computing power, and thus, it is a cost-effective solution (reducing investments, only recurring costs)�• As a way to solve problems in line with any HPC-based application�• Enables heterogeneous resources of computers to work cooperatively and collaboratively to solve a scientific problem.�- Researchers associate the term grid to the way electricity is distributed in municipal areas for the common man.

How does grid computing work?

Grid nodes and middleware work together to perform the grid computing task. In grid operations, the three main types of grid nodes perform three different roles.

(1) User node

A user node is a computer that requests resources shared by other computers in grid computing. When the user node requires additional resources, the request goes through the middleware and is delivered to other nodes on the grid computing system.

44 of 293

(2) Control node/Server

A control node administers the network and manages the allocation of the grid computing resources. The middleware runs on the control node. When the user node requests a resource, the middleware checks for available resources and assigns the task to a specific provider node.

(3) Provider node/Grid node

A provider node is a computer that shares its resources for grid computing. When provider machines receive resource requests, they perform subtasks for the user nodes, such as forecasting stock prices for different markets. At the end of the process, the middleware collects and compiles all the results to obtain a global forecast.

45 of 293

What are the types of grid computing?

Grid computing is generally classified as follows.

Computational grid

A computational grid consists of high-performance computers. It allows researchers to use the combined computing power of the computers. Researchers use computational grid computing to perform resource-intensive tasks, such as mathematical simulations.  

Scavenging grid 

While similar to computational grids, CPU scavenging grids have many regular computers. The term scavenging describes the process of searching for available computing resources in a network of regular computers. While other network users access the computers for non-grid–related tasks, the grid software uses these nodes when they are free. The scavenging grid is also known as CPU scavenging or cycle scavenging.

Data grid

A data grid is a grid computing network that connects to multiple computers to provide large data storage capacity. You can access the stored data as if on your local machine without having to worry about the physical location of your data on the grid. 

46 of 293

Grid computing Benefits

Organizations use grid computing for several reasons.  

Efficiency 

With grid computing, you can break down an enormous, complex task into multiple subtasks. Multiple computers can work on the subtasks concurrently, making grid computing an efficient computational solution. 

Cost 

Grid computing works with existing hardware, which means you can reuse existing computers. You can save costs while accessing your excess computational resources. You can also cost-effectively access resources from the cloud.

Flexibility

Grid computing is not constrained to a specific building or location. You can set up a grid computing network that spans several regions. This allows researchers in different countries to work collaboratively with the same supercomputing power. 

47 of 293

Use cases of grid computing

Gaming

The gaming industry uses grid computing to provide additional computational resources for game developers. The grid computing system splits large tasks, such as creating in-game designs, and allocates them to multiple machines. This results in a faster turnaround for the game developers. 

Entertainment

Some movies have complex special effects that require a powerful computer to create. The special effects designers use grid computing to speed up the production timeline. They have grid-supported software that shares computational resources to render the special-effect graphics.

Engineering

Engineers use grid computing to perform simulations, create models, and analyze designs. They run specialized applications concurrently on multiple machines to process massive amounts of data. For example, engineers use grid computing to reduce the duration of a Monte Carlo simulation, a software process that uses past data to make future predictions. 

48 of 293

Cloud Computing

49 of 293

What is a Cloud?

  • It’s a cluster!
  • It’s a supercomputer!
  • It’s a datastore!

  • None of the above
  • All of the above

  • Cloud = Lots of storage + compute cycles nearby

49

50 of 293

51 of 293

What is a Cloud?

  • A single-site cloud ( “Datacenter”) consists of
    • Compute nodes (grouped into racks) (2)
    • Switches, connecting the racks
    • A network topology, e.g., hierarchical
    • Storage (backend) nodes connected to the network (3)
    • Front-end for submitting jobs and receiving client requests (1)
    • (1-3: Often called “three-tier architecture”)
    • Software Services

51

52 of 293

  • Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.
  • Instead of buying, owning, and maintaining physical data centers and servers ,They approached the cloud computing providers.
  • Some of the cloud providers are Amazon Web Services (AWS),Google Cloud, Microsoft Azure and so on

CLOUD COMPUTING

53 of 293

54 of 293

55 of 293

(b) Four Cloud Deployment Models

 Deployment models describe the ways with which the cloud services can be deployed or made available to its customers, depending on the organizational structure and the provisioning location. One can understand it in this manner too: cloud (Internet)-based computing resources—that is, the locations where data and services are acquired and provisioned to its customers—can take various forms. Four deployment models are usually distinguished, namely,

  1. Public
  2. Private
  3. Community, and
  4. Hybrid cloud service usage

56 of 293

57 of 293

58 of 293

59 of 293

60 of 293

61 of 293

62 of 293

63 of 293

64 of 293

Bio Computing

65 of 293

66 of 293

67 of 293

68 of 293

69 of 293

70 of 293

In the above Diagram, the molecules A,T,G,C are nothing but bits as classical computers. Here they are performing calculations in Parallel as well as Multiple also.

Example here we have to perform A=B+C+D+E and A= B-C-D-E then as per the above diagram in first strands Addition is performing and in the second strands the subtraction calculation is done.

71 of 293

72 of 293

73 of 293

74 of 293

75 of 293

76 of 293

77 of 293

78 of 293

79 of 293

80 of 293

81 of 293

82 of 293

83 of 293

Mobile Computing

84 of 293

  • A mobile phone, cellular phone, cell phone, or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone that can make and receive calls over a radio frequency link while the user is moving within a telephone

service area.

  • The radio frequency link establishes a connection to the switching

systems of a mobile phone operator, which provides access to

the public switched telephone network (PSTN).

Mobile

85 of 293

86 of 293

87 of 293

  • Mobiles
  • Phones
  • Tablets
  • Laptops
  • Mobile Components

88 of 293

89 of 293

90 of 293

91 of 293

92 of 293

93 of 293

MOBILE COMMUNICATION

  • Mobile Communication is the use of technology that allows us to communicate with

others in different locations without the use of any physical connection (wires or

cables).

  • It uses full duplex two way radio telecommunication over a cellular network of base stations and uses multiplexing to send information. Multiplexing is a method to combine multiple digital or analog signals into one signal over the data channel.

94 of 293

These are the types of multiplexing options available to communication channels −

  • FDM (Frequency Division Multiplexing) − Here each user is assigned a different frequency from the complete spectrum. All the frequencies can then simultaneously travel on the data channel.
  • TDM (Time Division Multiplexing) − A single radio frequency is divided into multiple slots and each slot is assigned to a different user. So multiple users can be supported simultaneously.
  • CDMA (Code Division Multiplexing) − Here several users share the same frequency spectrum simultaneously. They are differentiated by assigning unique codes to them. The receiver has the unique key to identify the individual calls.

95 of 293

96 of 293

Mobile communication framework can be divided in the following four types:

 

  1. Fixed and Wired
  2. Fixed and Wireless
  3. Mobile and Wired
  4. Mobile and Wireless

97 of 293

Fixed and Wired: In Fixed and Wired configuration, the devices are fixed at a position, and they are connected through a physical link to communicate with other devices.

For Example, Desktop Computer.

Fixed and Wireless: In Fixed and Wireless configuration, the devices are fixed at a position, and they are connected through a wireless link to make communication with other devices.

For Example, Communication Towers, WiFi router

Mobile and Wired: In Mobile and Wired configuration, some devices are wired, and some are mobile. They altogether make communication with other devices.

For Example, Laptops.

Mobile and Wireless: In Mobile and Wireless configuration, the devices can communicate with each other irrespective of their position. They can also connect to any network without the use of any wired device.

For Example, WiFi Dongle.

 

98 of 293

Mobile Communication Protocols:

  • Some of the Protocols are GSM,CDMA,WLL,GPRS

GSM:

  • GSM stands for Global System for Mobile communications. GSM is one of the most widely used digital wireless telephony system. It was developed in Europe in 1980s and is now international standard in Europe, Australia, Asia and Africa.
  • Any GSM handset with a SIM (Subscriber Identity Module) card can be used in any country that uses this standard. Every SIM card has a unique identification number. It has memory to store applications and data like phone numbers, processor to carry out its functions and software to send and receive messages
  • GSM technology uses TDMA (Time Division Multiple Access) to support up to eight calls simultaneously. It also uses encryption to make the data more secure.
  • The frequencies used by the international standard is 900 MHz to 1800 MHz However, GSM phones used in the US use 1900 MHz frequency and hence are not compatible with the international system

99 of 293

CDMA

  • CDMA stands for Code Division Multiple Access. It was first used by the British military during World War II. After the war its use spread to civilian areas due to high service quality.
  • As each user gets the entire spectrum all the time, voice quality is very high. Also, it is automatically encrypted and hence provides high security against signal interception and eavesdropping.

WLL

  • WLL stands for Wireless in Local Loop. It is a wireless local telephone service that can be provided in homes or offices. The subscribers connect to their local exchange instead of the central exchange wirelessly. Using wireless link eliminates last mile or first mile construction of network connection, thereby reducing cost and set up time. As data is transferred over very short range, it is more secure than wired networks.
  • WLL system consists of user handsets and a base station. The base station is connected to the central exchange as well as an antenna. The antenna transmits to and receives calls from users through terrestrial microwave links. Each base station can support multiple handsets depending on its capacity.

100 of 293

GPRS

GPRS stands for General Packet Radio Services. It is a packet based wireless communication technology that charges users based on the volume of data they send rather than the time duration for which they are using the service. This is possible because GPRS sends data over the network in packets and its throughput depends on network traffic. As traffic increases, service quality may go down due to congestion, hence it is logical to charge the users as per data volume transmitted.

GPRS is the mobile communication protocol used by second (2G) and third generation (3G) of mobile telephony. It pledges a speed of 56 kbps to 114 kbps, however the actual speed may vary depending on network load.

101 of 293

APPLICATIONS OF MOBILE COMPUTING

102 of 293

103 of 293

104 of 293

Quantum Computing

105 of 293

106 of 293

107 of 293

108 of 293

109 of 293

110 of 293

111 of 293

112 of 293

113 of 293

114 of 293

115 of 293

116 of 293

117 of 293

How Hard Is It to Build a Quantum Computer?

Building a quantum computer takes a long time and is vastly expensive. Google has been working on building a quantum computer for years and has spent billions of dollars. It expects to have its quantum computer ready by 2029. IBM hopes to have a 1,000-qubit quantum computer in place by 2023.

 

How Much Does a Quantum Computer Cost?

A quantum computer cost billions to build. However, China-based Shenzhen SpinQ Technology plans to sell a $5,000 desktop quantum computer to consumers for schools and colleges. Last year, it started selling a quantum computer for $50,000.

 

How Fast Is a Quantum Computer?

A quantum computer is many times faster than a classical computer or a supercomputer. Google’s quantum computer in development, Sycamore, is said to have performed a calculation in 200 seconds, compared to the 10,000 years that one of the world’s fastest computers, IBM's Summit, would take to solve it. IBM disputed Google's claim, saying its supercomputer could solve the calculation in 2.5 days. Even so, that's 1,000 times slower than Google's quantum machine.

118 of 293

119 of 293

120 of 293

121 of 293

122 of 293

Optical Computing

123 of 293

Optical Computing

124 of 293

125 of 293

  • The central processing unit's (CPU) ability to retrieve and execute instructions depends on the processor clock speed of the computer. The processor clock speed of a computer is also called the computation speed of the computer. The computation speed is a function of the rate of transmission, processing, and calculation of the input data.
  • Optical computing makes use of photons to utilize the wave interference pattern as well as wave propagation to identify outputs. By this method, optical computing enables immediate, error-free calculating. As the data is transferred, it gets processed. Processing does not require stopping movement or information flow, revolutionizing the computer industry.

126 of 293

127 of 293

128 of 293

129 of 293

What Are The Major Components Used In Optical Computers?

The following are the primary optical components necessary for computation in an optical computer:

 

1. VCSEL (Vertical Cavity Surface Emitting Micro Laser)

The VCSEL is a surface-emitting semiconductor Micro Laser Diode that produces light in a vertical direction. It essentially transforms an electrical signal into an optical signal. It is the ideal illustration of a single-dimensional photonic crystal.

 

2. Spatial Light Modulators

Both the optical beam's intensity and phase can be modulated by spatial light modulators. Due to the fact that they convert the data into a laser beam, they are employed in holographic data storage systems.

 

3. Optical Logical Gates

In essence, an optical switch that manages light beams is what makes up an optical logic gate. When a gadget transmits light, it is said to be "ON," and when a device blocks light, it is said to be "OFF."

 

4. Smart Pixels

High-level electronic signal processing optical systems are assisted by smart pixels.

130 of 293

131 of 293

132 of 293

133 of 293

134 of 293

135 of 293

Nano Computing

136 of 293

Nano Computing

  • What is Nano Computing
  • Types of nano Computing
  • Moore’s Law
  • How Nano Computing works
  • Advantages
  • The future of Nano Computing
  • Disadvantages
  • conclusion

137 of 293

What is Nano Computing ???

  • Nanocomputing describe computing that uses extremely small, or nanoscale, devices. This state-of-art electronic devices could be small as about 100nm,which is about the same size as a virus.
  • Nano computer is the logical name for a computer smaller than microcomputer .
  • Fundamental parts are no bigger than a few nanometers.

138 of 293

  • Nanotechnology, or nanotech as it is sometimes abbreviated, is the utilization of matter at the atomic, molecular, and supramolecular scales for commercial applications.
  • The first, the most popular definition of nanotechnology spoke of the specific technological objective of finely controlling atoms and molecules in order to produce macroscale goods.
  • Nanotechnology, as defined by size, encompasses a variety of scientific disciplines, including surface science, organic chemistry, molecular biology, semiconductor physics, energy storage, engineering, and molecular engineering.

139 of 293

History of Nanotechnology:��In 1959, renowned physicist Richard Feynman first outlined the ideas that would eventually give rise to nanotechnology in his lecture There's Plenty of Room at the Bottom.��In this discussion, he described the prospect of synthesis by the direct manipulation of atoms. Norio Taniguchi coined the phrase "nano-technology" for the first time in 1974, albeit it was not widely used at the time.��In his 1986 book Engines of Creation: The Coming Era of Nanotechnology, K. Eric Drexler coined the word "nanotechnology" and advocated the idea of a nanoscale "assembler" that would be able to construct a replica of itself and of other items of arbitrary complexity with atomic control.

140 of 293

Moore’s law

  • According to Moore’s law .the no of transistors that will fir on a silicon chip doubles every 18 months.

- Already microprocessors have more 5 billions of transistors.

- By the year 2020 or later the trend line of Moore’s law states that there should be a 1 nanometer feature size…

141 of 293

Types of nano computers

Types of Nanotechnology?��Top-down or bottom-up processes and dry or wet working environments are used to categorize the many forms of nanotechnology:

  • Descending (top-down): Mechanisms and structures are miniaturized at the nanometer scale - from one to 100 nanometers - this is the most frequent trend, especially in the electronic field.
  • Ascending (bottom-up): By mounting or self-assembling a nanometric structure, you form a larger mechanism than what you started with.
  • Dry Nanotechnology: Dry Nanotechnology: It does not require humidity to manufacture structures made from coal, silicon, inorganic materials, metals, and semiconductors.
  • Wet Nanotechnology: This technology utilizes biological systems that exist in aqueous environments, including genetic material, membranes, enzymes, and other aspects of the cell.

142 of 293

Nanotechnology Applications:

Various industrial sectors can benefit from nanotechnology and nanomaterials. The following areas are usually where nanomaterials and nanotechnologies are found:

  • Nanotechnology in Electronics: There is a strong likelihood that carbon nanotubes will replace silicon for microchips, devices, and quantum nanowires in a material that is smaller, faster, and more efficient. Flexible touchscreens can be made with graphene due to their unique properties.
  • Nanotechnology in Energy: Solar panels can now be manufactured with a semiconductor developed by Kyoto University that doubles the amount of electricity they produce from sunlight. As a result of nanotechnology, wind turbines are stronger, lighter, and more energy-efficient, and some nano components are thermally insulated, which can lead to increased efficiency and a decrease in costs.
  • Nanotechnology in Biomedicine: Nanomaterials have a number of properties that make them ideal for diagnosing and treating neurodegenerative diseases and cancer at an early stage. These agents are able to selectively attack cancer cells without harming healthy ones. Pharmaceutical products such as sunscreen can also be enhanced with nanoparticles.

143 of 293

  • Nanotechnology in Environment: Nanofiltration systems for heavy metals, water purification through nanobubbles, and air purification with ions are some of the environmentally friendly applications of nanotechnology. Chemical reactions can also be made more efficient and less polluting by using nanocatalysts.
  • Nanotechnology in Food: Nano biosensors and nanocomposites might be used to detect pathogens in food or to increase the thermal and mechanical resistance and decrease oxygen transfer in packaged foods, respectively.
  • Nanotechnology in Textile: As a result of nanotechnology, smart fabrics that won't stain or wrinkle can be produced, as well as lighter, stronger, and more durable materials for sports equipment or motorcycle helmets.

144 of 293

145 of 293

Advantages

  • High computing performance.
  • Low power computing.
  • Easily portable flexible.
  • Faster processing.
  • Lighter and small computer devices.
  • Noisy immunity.

146 of 293

Disadvantages

  • It is very expensive and developing it can cost you a lot of money
  • It is also pretty difficult to manufacture.
  • These particles are very small ,problems can actually arise from the inhalation of these minute particles.

147 of 293

Nano Mission (Mission on Nano Science and Technology):

  • The government of India initiated the Nano mission in 2007. This program is an "umbrella capacity-building program".
  • All institutions, businesses, and scientists in the nation will be the focus of the Mission's programs.
  • Encouraging fundamental research, the growth of human resources, the development of research infrastructure, and international partnerships, among other things, will also increase efforts in nanoscience and technology.
  • The Department of Science and Technology will serve as its focal point, and a renowned scientist will serve as the council's chair.

Results of the Nano Mission and its Importance:

  • India is currently among the top five nations in the world for scientific publications in nanoscience and technology because of the efforts made possible by the Nano Mission (moving from 4th to the 3rd position).
  • About 5000 research articles and 900 PhDs have been produced as a result of the Nano Mission, along with some practical goods like eye drops made of nano hydrogel, water filters that remove fluoride and arsenic, and water filters that remove pesticides, etc.
  • Thus, the Nano Mission has aided in the development of a favourable environment in the nation for the pursuit of cutting-edge basic research as well as the seeding and nurturing of R&D that is application-oriented and centered on practical technologies and goods.

148 of 293

149 of 293

Unit – 2�Cloud Computing Fundamentals�

150 of 293

Cloud Computing Fundamentals

(1)Motivation for cloud computing

(2) Need for Cloud

(3) Defining the Cloud computing

(4) Principles of cloud

(5) Five Essential characteristics

(6) Four Deployment Models

151 of 293

Motivation for Cloud Computing

 

  • The users who are in need of computing are expected to invest more money on computing resources such as hardware, software, networking, and storage; this investment naturally costs a bulk currency to buy these computing resources, all these tasks would add cost huge expenditure to the classical academics and individuals.
  •  On the other hand, it is easy and handy to get the required computing power and resources from some provider (or supplier) as and when it is needed and pay only for that usage. This would cost only a reasonable investment or spending, compared to the huge investment when buying the entire computing infrastructure. This phenomenon can be viewed as capital expenditure versus operational expenditure.
  • As one can easily assess the huge lump sum or smaller lump sum required for the hiring or getting the computing infrastructure only to the tune of required time, and rest of the time free from that.

152 of 293

  • Cloud computing is a mechanism of bringing–hiring or getting the services of the computing power or infrastructure to an organizational or individual level to the extent required and paying only for the consumed services.

Example : Electricity in our homes or offices

Some of the reasons to go for Cloud computing are :

  • Cloud computing is very Economical and saves a lot of money.
  • A blind benefit of this computing is that even if we lose our laptop or due to some crisis our personal computer—and the desktop system—gets damaged, still our data and files will stay safe and secured as these are not in our local machine (but remotely located at the provider’s place—machine).
  • It is a fast solution growing in popularity because of storage especially among individuals and small- and medium-sized companies (SMEs).
  • Thus, cloud computing comes into focus and much needed subscription based or pay-per-use service model of offering computing to end users or customers over the Internet and thereby extending the IT’s existing capabilities.

153 of 293

  • In Diagram shows several cloud computing applications cloud represents the Internet-based computing resources, and the accessibility is through some secure support of connectivity.

154 of 293

NIST Definition of Cloud Computing

 The formal definition of cloud computing comes from the National Institute of Standards and Technology (NIST): “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.

155 of 293

Principles of Cloud computing

 The 5-4-3 principles put forth by NIST describe :

(a) Five essential characteristic features that promote cloud computing

(b) Four deployment models that are used to narrate the cloud computing opportunities for Customers while looking at architectural models.

(c) Three important and basic service offering models of cloud computing

156 of 293

(a)Five Essential Characteristics

Cloud computing has five essential characteristics, which are shown in Figure 2.2. Readers can note the word essential, which means that if any of these characteristics is missing, then it is not cloud computing:

157 of 293

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: 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, laptops, and personal digital assistants [PDAs])

3. Elastic resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multitenant 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 the location at a higher level of abstraction (e.g., country, state, or data center ). Examples of resources include storage, processing, memory, and network bandwidth.

158 of 293

4. Rapid elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

5. Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing , bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

159 of 293

(b) Four Cloud Deployment Models

 Deployment models also called as types of models. These deployment models describe the ways with which the cloud services can be deployed or made available to its customers, depending on the organizational structure and the provisioning location. One can understand it in this manner too: cloud (Internet)-based computing resources—that is, the locations where data and services are acquired and provisioned to its customers—can take various forms. Four deployment models are usually distinguished, namely,

  1. Public
  2. Private
  3. Community, and
  4. Hybrid cloud service usage

160 of 293

(1)Public Cloud

  • Public clouds are managed by third parties which provide cloud services over the internet to the public, these services are available as pay-as-you-go billing models. 
  • They offer solutions for minimizing IT infrastructure costs and become a good option for handling peak loads on the local infrastructure.
  • Public clouds are the go-to option for small enterprises, which can start their businesses without large upfront investments by completely relying on public infrastructure for their IT needs. 
  • The fundamental characteristics of public clouds are multitenancy. A public cloud is meant to serve multiple users, not a single customer. A user requires a virtual computing environment that is separated, and most likely isolated, from other users. 

 

161 of 293

Advantages of using a Public  cloud are: 

  • High Scalability
  • Cost Reduction
  • Reliability and flexibility
  • Disaster Recovery

Disadvantages of using a Public  cloud are: 

  • Loss of control over data
  • Data security and privacy
  • Limited Visibility
  • Unpredictable cost

162 of 293

(2)Private cloud

Private clouds are distributed systems that work on private infrastructure and provide the users with dynamic provisioning of computing resources. Instead of a pay-as-you-go model in private clouds, there could be other schemes that manage the usage of the cloud and proportionally billing of the different departments or sections of an enterprise. Private cloud providers are HP Datacentres', Ubuntu, Elastic-Private cloud, Microsoft, etc.

163 of 293

The advantages of using a private cloud are as follows: 

  • Customer information protection: In the private cloud security concerns are less since customer data and other sensitive information do not flow out of private infrastructure.
  • Infrastructure ensuring SLAs: Private cloud provides specific operations such as appropriate clustering, data replication, system monitoring, and maintenance, disaster recovery, and other uptime services.
  • 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. This is not possible in the case of the public cloud.

Disadvantages of using a private cloud are: 

  • The restricted area of operations: Private cloud is accessible within a particular area. So the area of accessibility is restricted.
  • Expertise requires:  In the private cloud security concerns are less since customer data and other sensitive information do not flow out of private infrastructure. Hence skilled people are required to manage & operate cloud services.

 

164 of 293

(3)Community cloud

Community clouds are distributed systems created by integrating the services of different clouds to address the specific needs of an industry, a community, or a business sector. But sharing responsibilities among the organizations is difficult.

In the community cloud, the infrastructure is shared between organizations that have shared concerns or tasks. An organization or a third party may manage the cloud. 

165 of 293

Advantages of using Community cloud are:

  • Because the entire cloud is shared by numerous enterprises or a community, community clouds are cost-effective.
  • Because it works with every user, the community cloud is adaptable and scalable. Users can alter the documents according to their needs and requirements.
  • Public cloud is less secure than the community cloud, which is more secure than private cloud.
  • Thanks to community clouds, we may share cloud resources, infrastructure, and other capabilities between different enterprises.

Disadvantages of using Community cloud are:

  • Not all businesses should choose community cloud.
  • gradual adoption of data
  • It’s challenging for corporations to share duties.

166 of 293

(4) Hybrid cloud: 

A hybrid cloud is a heterogeneous distributed system formed by combining facilities of the 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 efficiently address peak loads. Here public clouds are needed. Hence, a hybrid cloud takes advantage of both public and private clouds. 

 

167 of 293

Disadvantages of using a Hybrid cloud are: 

  • It’s possible that businesses lack the internal knowledge necessary to create such a hybrid environment. Managing security may also be more challenging. Different access levels and security considerations may apply in each environment.
  • Managing a hybrid cloud may be more difficult. With all of the alternatives and choices available today, not to mention the new PaaS components and technologies that will be released every day going forward, public cloud and migration to public cloud are already complicated enough. It could just feel like a step too far to include hybrid.

168 of 293

(c) Three Service Offering Models

169 of 293

Infrastructure as a Service (IaaS)

  • IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure managed over the internet. The main advantage of using IaaS is that it helps users to avoid the cost and complexity of purchasing and managing the physical servers.

Characteristics of IaaS

There are the following characteristics of IaaS -

  • Resources are available as a service
  • Services are highly scalable
  • Dynamic and flexible
  • GUI and API-based access
  • Automated administrative tasks

Companies providing IAAS are DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE)

Example: AWS provides full control of virtualized hardware, memory, and storage. Servers, firewalls, and routers are provided, and a network topology can be configured by the tenant.,

170 of 293

Platform as a Service (PaaS)

  • PaaS cloud computing platform is created for the programmer to develop, test, run, and manage the applications.

Characteristics of PaaS

There are the following characteristics of PaaS -

  • Accessible to various users via the same development application.
  • Integrates with web services and databases.
  • Builds on virtualization technology, so resources can easily be scaled up or down as per the organization's need.
  • Support multiple languages and frameworks.
  • Provides an ability to "Auto-scale".

Companies offering PaaS are AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift

171 of 293

Example of PaaS is The World Wide Web (WWW)

  • It can be considered as the operating system for all our Internet-based applications. However, one has to understand that we will always need a local operating system in our computer to access web based applications.
  • The basic meaning of the term platform is that it is the support on which applications run or give results to the users.
  • For example, Microsoft Windows is a platform. But, a platform does not have to be an operating system. Java is a platform even though it is not an operating system.
  • Through cloud computing, the web is becoming a platform. With trends (applications) such as Office 2.0, more and more applications that were originally available on desktop computers are now being converted into web–cloud applications.
  • Word processors like Buzzword and office suites like Google Docs are now available in the cloud as their desktop counter parts. All these kinds of trends in providing applications via the cloud are turning cloud computing into a platform or to act as a platform.

172 of 293

Software as a Service (SaaS)

  • SaaS is also known as "on-demand software". It is a software in which the applications are hosted by a cloud service provider. Users can access these applications with the help of internet connection and web browser.

Characteristics of SaaS

There are the following characteristics of SaaS -

  • Managed from a central location
  • Hosted on a remote server
  • Accessible over the internet
  • Users are not responsible for hardware and software updates. Updates are applied automatically
  • The services are purchased on the pay-as-per-use basis

Companies providing SaaS are BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk, Slack, and GoToMeeting.

173 of 293

Example of SaaS is The simplest thing that any computer does is allow us to store and retrieve information. We can store our family photographs, our favourite songs, or even save movies on it, which is also the most basic service offered by cloud computing.

Let us look at the example of a popular application called Flickr to illustrate the meaning of this section. 

While Flickr started with an emphasis on sharing photos and images, it has emerged as a great place to store those images. In many ways, it is superior to storing the images on your computer:

1. First, Flickr allows us to easily access our images no matter where we are or what type of device we are using. While we might upload the photos of our vacation from our home computer, later, we can easily access them from our laptop at the office.

2. Second, Flickr lets us share the images. There is no need to burn them to a CD or save them on a flash drive. We can just send someone our Flickr address to share these photos or images.

3. Third, Flickr provides data security. By uploading the images to Flickr, we are providing ourselves with data security by creating a backup on the web. And, while it is always best to keep a local copy either on a computer, a CD, or a flash drive—the truth is that we are far more likely to lose the images that we store locally than Flickr is of losing our images.

174 of 293

Difference between IaaS, PaaS, and SaaS

IaaS

Paas

SaaS

It provides a virtual data center to store information and create platforms for app development, testing, and deployment.

It provides virtual platforms and tools to create, test, and deploy apps.

It provides web software and apps to complete business tasks.

It provides access to resources such as virtual machines, virtual storage, etc.

It provides runtime environments and deployment tools for applications.

It provides software as a service to the end- users.

It is used by network architects.

It is used by developers.

It is used by end users.

IaaS provides only Infrastructure.

PaaS provides Infrastructure+Platform.

SaaS provides Infrastructure+Platform

+Software.

175 of 293

176 of 293

Unit 3 � Cloud computing Architecture and Management

177 of 293

  • As we know, cloud computing technology is used by both small and large organizations to store the information in cloud and access it from anywhere at anytime using the internet connection.
  • There are several processes and components of cloud computing that need to be discussed. One of the topics of such prime importance is architecture.
  • Architecture is the hierarchical view of components over which the existing technology is built and the components that are dependent on the technology.
  • Another topic that is related to architecture is anatomy. Anatomy describes the core structure of the cloud.

Introduction

178 of 293

Cloud Architecture

  • Any technological model consists of an architecture based on which the model functions, and has a hierarchical view of describing the technology.
  • The cloud also has an architecture that describes its working mechanism. It includes the dependencies on which it works and the components that work over it.
  • The cloud is a recent technology that is completely dependent on the Internet for its functioning
  • Architecture can be divided into four layers based on the access of the cloud by the user. They are as follows.

179 of 293

Layer 1 (User/Client Layer)

  • This layer is the lowest layer in the cloud architecture, All the users or client belong to this layer.
  • This is the place where the client/user initiates the thick client, or thin client i.e,mobile or any handheld device that would support basic functionalities to access a web application.
  • The thin client here refers to a device that is completely dependent on some other system for its complete functionality. In simple terms, they have very low processing capability. Everyday examples of thin clients include Yahoo Messenger, Office 365, Microsoft Outlook.
  • Similarly, thick clients are general computers that have adequate processing capability. They have sufficient capability for independent work. Everyday examples of thick clients include desktop PCs or laptops running Windows or MacOS
  • Usually, a cloud application can be accessed in the same way as a web application. But internally, the properties of cloud applications are significantly different. Thus, this layer consists of client devices.

180 of 293

Layer 2 (Network Layer)

  • This layer allows the users to connect to the cloud.
  • The whole cloud infrastructure is dependent on this connection where the services are offered to the customers.
  • The public cloud usually exists in a specific location and the user would not know the location as it is abstract. And, the public cloud can be accessed all over the world. In the case of a private cloud, the connectivity may be provided by a local area network (LAN).
  • Even in this case, the cloud completely depends on the network that is used. Usually, when accessing the public or private cloud, the users require minimum bandwidth, which is sometimes defined by the cloud providers.
  • This layer does not come under the purview of service-level agreements (SLAs), that is, SLAs do not take into account the Internet connection between the user and cloud for quality of service (QoS).

181 of 293

Layer 3 (Cloud Management Layer)

  • This layer consists of software's that are used in managing the cloud. The software’s can be a cloud operating system (OS), a software that acts as an interface between the data center and the user, or a management software that allows managing resources.
  • These software usually allow

- Resource management like scheduling, provisioning

- Optimization like server consolidation, storage workload consolidation and

- Internal cloud governance.

  • This layer comes under the purview of SLAs and also called as infrastructure of cloud. that is, the operations taking place in this layer would affect the SLAs that are being decided upon between the users and the service providers.
  • Any delay in processing or any discrepancy in service provisioning may lead to an SLA violation. As per rules, any SLA violation would result in a penalty to be given by the service provider. These SLAs are for both private and public clouds Popular service providers are Amazon Web Services (AWS) and Microsoft Azure for public cloud. Similarly, OpenStack and Eucalyptus allow private cloud creation, deployment, and management.

182 of 293

Layer 4 (Hardware Resource Layer)

  • Layer 4 consists of provisions for actual hardware resources.
  • Usually, in the case of a public cloud, a data center is used in the back end. Similarly, in a private cloud, it can be a data center, which is a huge collection of hardware resources interconnected to each other that is present in a specific location or a high configuration system.
  • This layer comes under the purview of SLAs. This is the most important layer that governs the SLAs. This layer affects the SLAs most in the case of data centers.
  • Whenever a user accesses the cloud, it should be available to the users as quickly as possible and should be within the time that is defined by the SLAs. As mentioned, if there is any discrepancy in provisioning the resources or application, the service provider has to pay the penalty.
  • Hence, the data center consists of a high-speed network connection and a highly efficient algorithm to transfer the data from the data center to the manager. There can be a number of data centers for a cloud, and similarly, a number of clouds can share a data center.

183 of 293

Anatomy of the Cloud

  • Cloud anatomy can be simply defined as the structure of the cloud. Cloud anatomy cannot be considered the same as cloud architecture. It may not include any dependency on which or over which the technology works , whereas architecture wholly defines and describes the technology over which it is working.
  • Architecture is a hierarchical structural view that defines the technology as well as the technology over which it is dependent or/and the technology that are dependent on it. Thus, anatomy can be considered as a part of architecture.

184 of 293

There are basically five components of the cloud:

1. Application: The upper layer is the application layer. In this layer, any applications are executed.

2. Platform: This component consists of platforms that are responsible for the execution of the

application. This platform is between the infrastructure and the application.

3. Infrastructure: The infrastructure consists of resources over which the other components work. This

provides computational capability to the user.

4. Virtualization: Virtualization is the process of making logical components of resources over the

existing physical resources. The logical components are isolated and independent, which form the

infrastructure.

5. Physical hardware: The physical hardware is provided by server and storage units.

185 of 293

Managing the Cloud

Cloud management is aimed at efficiently managing the cloud so as to maintain the QoS. It is one of the prime jobs to be considered. The whole cloud is dependent on the way it is managed. Cloud management can be divided into two parts:

1. Managing the infrastructure of the cloud

2. Managing the cloud application

(1) Managing the Cloud Infrastructure

  • The infrastructure of the cloud is considered to be the backbone of the cloud. Mainly the infrastructure consists of Resource management, load consolidation and Internal cloud governance.

This component is mainly responsible for the QoS factor. If the infrastructure is not properly managed, then the whole cloud can fail and QoS would be adversely affected. The core of cloud management is resource management.

186 of 293

(a) Resource management:

  • A cloud infrastructure is a very complex system that consists of a lot of resources. It involves several internal tasks such as resource scheduling, provisioning, and load balancing. These tasks are mainly managed by the cloud service provider’s such as the cloud OS that is responsible for providing services to the cloud and that internally controls the cloud.
  • Poor resource management may lead to several inefficiencies in terms of performance, functionality, and cost.
  • Performance is the most important aspect of the cloud, because everything in the cloud is dependent on the SLAs and the SLAs can be satisfied only if performance is good.
  • Functionality of the cloud should always be provided and considered,even if there is a small discrepancy in providing the functionality, the whole purpose of maintaining is futile. A partially functional cloud would not satisfy the SLAs.

187 of 293

SLA’S

188 of 293

  • Cost is a very important criterion as far as the business prospects of the cloud are concerned . On the part of the service providers, if they incur less cost for managing the cloud, then they would try to reduce the cost so as to get a strong user base.
  • Hence, a lot of users would use the services, improving their profit margin. Similarly, if the cost of resource management is high, then definitely the cost of accessing the resources would be high and there is never a lossy business from any organization and so the service provider would not bear the cost and hence the users have to pay more.
  • Similarly, this would prove costly for service providers as they have a high chance of losing a wide user base, leading to only a marginal growth in the industry.
  • And, competing with its industry rivals would become a big issue. Hence, efficient management with less cost is required.

189 of 293

  • At a higher level, other than Performance , Functionality, cost issues, there are few more issues that depend on resource management.
  • These are power consumption and optimization of multiple objectives to further reduce the cost. To accomplish these tasks, there are several approaches followed, namely, Cloud optimization and consolidation of server and storage workloads.
  • Cloud optimization is the process of correctly selecting and assigning the right resources to a workload or application. That is process of eliminating cloud resource waste by selecting, provisioning, and right-sizing the resources you spend on specific cloud features.
  • Consolidation would reduce the energy consumption and in some cases would increase the performance of the cloud. According to Margaret Rouse [5], server consolidation by definition is an approach to the efficient usage of computer server resources in order to reduce the total number of servers or server locations that an organization requires.

190 of 293

(2) Load Balancing :

  • The previously discussed prospects are mostly suitable for IaaS. Each of the type has its own way of management. Load fluctuation is the point where the workload of the system changes continuously.
  • This is one of the important criteria and issues that should be considered for cloud applications.
  • Load fluctuation can be divided into two types: predictable and unpredictable.

- Predictable load fluctuations are easy to handle. The cloud can be preconfigured for handling

such kind of fluctuations.

- Unpredictable load fluctuations are difficult to handle, ironically this is one of the reasons why

cloud is preferred by several users.

191 of 293

(3) Cloud governance :

  • It is another topic that is closely related to cloud management.
  • Cloud governance is different from cloud management. Governance in general is a term in the corporate world that generally involves the process of creating value to an organization by creating strategic objectives that will lead to the growth of the company and would maintain a certain level of control over the company. Similar to that, here cloud organization is involved.
  • There are several aspects of cloud governance out of which SLAs are one of the important aspects.
  • SLAs are the set of rules that are defined between the user and cloud service provider that decide upon the QoS factor. If SLAs are not followed, then the defaulter has to pay the penalty.
  • The whole cloud is governed by keeping these SLAs in mind

192 of 293

(2) Managing the Cloud Application

  • Business companies are increasingly looking to move or build their corporate applications on cloud platforms to improve agility or to meet dynamic requirements that exist in the globalization of businesses and responsiveness to market demands.
  • But, this shift or moving the applications to the cloud environment brings new complexities.
  • Applications become more composite and complex, which requires leveraging not only capabilities like storage and database offered by the cloud providers but also third-party SaaS capabilities like e-mail and messaging.
  • So, understanding the availability of an application requires inspecting the infrastructure, the services it consumes, and the upkeep of the application.
  • The composite nature of cloud applications requires visibility into all the services to determine the overall availability and uptime.

193 of 293

  • Cloud application management is to address these issues and propose solutions to make it possible to have insight into the application that runs in the cloud as well as governance and auditing the environment management while the application is deployed in the cloud.
  • These cloud-based monitoring and management services can collect a multitude of events, analyze them, and identify critical information that requires additional remedial actions like adjusting capacity or provisioning new services.
  • Additionally application management has to be supported with tools and processes required for managing other environments that might coexist, enabling efficient operations.

194 of 293

Migrating Application to Cloud

  • Cloud migration encompasses moving one or more enterprise applications and their IT environments from the traditional hosting type to the cloud environment, either public, private, or hybrid.
  • Cloud migration presents an opportunity to significantly reduce costs incurred on applications.
  • This activity comprises of different strategies like 6 R’s and phases like evaluation, migration strategy, prototyping, provisioning, and testing.

195 of 293

(a) Cloud Migration Strategies

The type of data and applications the enterprise transfers, and the location are shifted to, significantly impact the migration strategy designed and implemented. There are six main cloud migration strategies—rehosting (lift and shift), re-platforming, repurchasing, refactoring, retiring, and retaining(re-visiting).

196 of 293

1. Rehosting (lift-and-shift)

  • The most general path is rehosting (or lift-and-shift), which implements as it sounds.
  • It holds our application and then drops it into our new hosting platform without changing the architecture and code of the app.
  • Also, it is a general way for enterprises unfamiliar with cloud computing, who profit from the deployment speed without having to waste money or time on planning for enlargement.
  • Besides, by migrating our existing infrastructure, we are applying a cloud just like other data centers. It pays for making good use of various cloud services present for a few enterprises.
  • For example, adding scalable functions to our application to develop the experience for an improving segment of many users.

197 of 293

2. Re-platforming:

  • Replatforming is the second option. This is where we modify “lift and shift” into something more complicated but better suited to the new cloud environment.
  • Replatforming is a process that optimizes the application during the migration phase. This requires some programming knowledge and input.
  • You might move from your own database system to a managed DB hosted on a cloud provider.
  • In this type of migration, you stick with similar underlying technology but modify the business model and have cloud resilience as a huge bonus.

3. Re-factoring

It means to rebuild our applications from leverage to scratch cloud-native abilities because it could not perform serverless computing or auto-scaling.

A potential disadvantage is vendor lock-in as we are re-creating on the cloud infrastructure. It is the most expensive and time-consuming route as we may expect.

But, it is also future-proof for enterprises that wish to take benefit from more standard cloud features.

198 of 293

4. Re-purchasing:

  • Sometimes referred to as “drop and shop,” this cloud migration strategy comprises a full switch to another product. It means replacing our existing applications along with a new SaaS-based and cloud-native platform (such as a homegrown CRM using Salesforce).
  • The complexity is losing the existing training and code's familiarity with our team over a new platform. However, the profit is ignoring the cost of the development.
  • However, it may be one that does not have modern code or one that cannot be transported from one provider to the next. When transferring to a new product or using a proprietary platform, the “repurpose” strategy is used.

199 of 293

5. Retiring

When we don't find an application useful and then simply turn off these applications. The consequencing savings may boost our business situation for application migration if we are accessible for making the move.

6. Re-visiting

Re-visiting may be all or some of our applications must reside in the house. For example, applications that have unique sensitivity or handle internal processes to an enterprise. Don't be scared for revisiting cloud computing at any later date. We must migrate only what makes effects to the business.

200 of 293

(b) Process and Phases of Cloud Migration

There are various ways to go about a cloud migration based on the type of strategy you choose or the size of your organization.

1. Evaluation: Evaluation is carried out for all the components like current infrastructure and application architecture, environment in terms of compute, storage, monitoring, and management, SLAs, operational processes, financial considerations, risk, security, compliance, and licensing needs are identified to build a business case for moving to the cloud.

2. Migration strategy: Based on the evaluation, a migration strategy is drawn—a hot plug strategy is used where the applications and their data and interface dependencies are isolated and these applications can be operationalzed all at once. A fusion strategy is used where the applications can be partially migrated; but for a portion of it, there are dependencies based on existing licenses, specialized server requirements like mainframes, or extensive interconnections with other applications.

201 of 293

3. Prototyping: Migration activity is preceded by a prototyping activity to validate and ensure that a small portion of the applications are tested on the cloud environment with test data setup.

4. Provisioning: Premigration optimizations identified are implemented. Cloud servers are provisioned for all the identified environments, necessary platform softwares and applications are deployed, configurations are tuned to match the new environment sizing, and databases and files are replicated. All internal and external integration points are properly configured. Web services, batch jobs, and operation and management software are set up in the new environments.

202 of 293

(3) Benefits of cloud migration

  • Flexibility: No organization facilitating experiences a similar demand level by a similar number of users every time. If our apps face fluctuations in traffic, then cloud infrastructure permits us to scale down and up to meet the demand. Hence, we can apply only those resources we require.
  • Scalability: The analytics grow as the organization grows with databases, and other escalates workloads. The cloud facilitates the ability to enhance existing infrastructure. Therefore, applications have space to raise without impacting work.

203 of 293

  • Agility: The part of the development is remaining elastic enough for responding to rapid modifications within the technology resources. Cloud adoption offers this by decreasing the time drastically it takes for procuring new storage and inventory.
  • Productivity: Our cloud provider could handle the complexities of our infrastructure so we can concentrate on productivity. Furthermore, the remote accessibility and simplicity of most of the cloud solutions define that our team can concentrate on what matters such as growing our business.
  • Security: The cloud facilitates security than various others data centers by centrally storing data. Also, most of the cloud providers give some built-in aspects including cross-enterprise visibility, periodic updates, and security analytics.
  • Profitability: The cloud pursues a pay-per-use technique. There is no requirement to pay for extra charges or to invest continually in training on, maintaining, making, and updating space for various physical servers.

204 of 293

Unit -IV�CLOUD SERVICE MODELS

205 of 293

INTRODUCTION

  • Cloud computing is one of the most popular buzzwords used these days.
  • It is the upcoming technology provisioning resources to the consumers in the form of different services like software, infrastructure, platform, and security.
  • Services are made available to users on demand via the Internet from a cloud computing provider’s servers as opposed to being provided from a company’s own on-premise servers.
  • Cloud services are designed to provide easy, scalable access to applications, resources, and services and are fully managed by a cloud service provider. A cloud service can dynamically scale to meet the needs of its users, and because the service provider supplies the hardware and software necessary for the service, there is no need for a company to provision or deploy its own resources or allocate information technology (IT) staff to manage the service.

206 of 293

  • Examples of cloud services include online data storage and backup solutions, web-based e-mail services, hosted office suites and document collaboration services, database processing, and managed technical support services.
  • The National Institute of Standards and Technology (NIST) defines three basic service models, namely, IaaS, PaaS, and SaaS, as shown in Figure 5.1.

207 of 293

208 of 293

  • With growing technologies, many more services are emerging in this field, such as

Security as a Service (SeaaS), Knowledge as a Service, and Data Analytics as a

Service.

  • Many companies have come forward to adapt the cloud environment and ensure

that the users as well as the companies benefit from this. Most popular companies

providing cloud services are

Amazon, Microsoft, Google, Yahoo, EMC, Salesforce, Oracle, IBM, and many more

209 of 293

Infrastructure as a service

  • IaaS changes the way of compute, storage, and networking resources are consumed.
  • In traditional data centers, the computing power is consumed by having physical access to the infrastructure. IaaS changes the computing from a physical infrastructure to a virtual infrastructure.
  • IaaS provides virtual computing, storage, and network resources by abstracting the physical resources. All the virtualization resources are given to the virtual machines (VMs) that are configured by the service provider.
  • The end users or IT architects will use the infrastructure resources in the form of VMs as
  • shown in Figure 5.4.

210 of 293

  • The IT architect can design virtual infrastructure,network, load balancers, etc., based on their needs.
  • The IT architects need not maintain the physical servers as it is maintained by the service providers.
  • Thus, it eliminates or hides the complexity of maintaining the physical infrastructure from the IT architects.

211 of 293

A typical IaaS provider may provide the following services as shown in Figure

1. Compute: Computing as a Service includes virtual central processing units (CPUs) and virtual main memory for the VMs that are provisioned to the end users.

212 of 293

  • 2. Storage: STaaS provides back-end storage for the VM images. Some of the IaaS providers also provide the back end for storing files.
  • 3. Network: Network as a Service (NaaS) provides virtual networking components such as virtual router, switch, and bridge for the VMs.
  • 4. Load balancers: Load Balancing as a Service may provide load balancing capability at the infrastructure layer.

A typical IaaS provider may provide the following services as shown in Figure(Contd..)

213 of 293

Characteristics Of IaaS

IaaS providers offer virtual computing resources to the consumers on a pay-as-you-go basis.

1. Web access to the resources: The IaaS model enables the IT users to access infrastructure resources over the Internet. When accessing a huge computing power, the IT user need not get physical access to the servers , through any web browsers or management console, the users can access the required infrastructure by IaaS easily..

2. Centralized management: Even though the physical resources are distributed, the management will be from a single place. The resources distributed across different parts can be controlled from any management console. This ensures effective resource management and effective resource utilization.

214 of 293

3. Elasticity and dynamic scaling: IaaS provides elastic services where the usage of resources can be increased or decreased according to the requirements. The infrastructure need depends on the load on the application. According to the load, IaaS services can provide the resources. The load on any application is dynamic and IaaS services are capable of proving the required services dynamically.

4. Shared infrastructure: IaaS follows a one-to-many delivery model and allows multiple IT users to share the same physical infrastructure. The different IT users will be given different VMs. IaaS ensures high resource utilization.

Characteristics Of IaaS(Contd..)

215 of 293

Characteristics Of IaaS(Contd..)

5. Preconfigured VMs: IaaS providers offer preconfigured VMs with operating systems (OSs), network configuration, etc. The IT users can select any kind of VMs of their choice. The IT users are free to configure VMs from scratch. The users can directly start using the VMs as soon as they subscribed to the services.

6. Metered services: IaaS allows the IT users to rent the computing resources instead of buying it. The services consumed by the IT user will be measured, and the users will be charged by the IaaS providers based on the amount of usage.

216 of 293

Suitability of IaaS

IaaS reduces the total cost of ownership (TCO) and increases the return on investment (ROI) for start-up companies that cannot invest more in buying infrastructure. IaaS can be used in the following situations:

1. Unpredictable spikes in usage: When there is a significant spike in usage of computing resources, IaaS is the best option for IT industries. When demand is very volatile, we cannot predict the spikes and troughs in terms of demand of the infrastructure.

  • In this situation, we cannot add or remove infrastructure immediately according to the demand in a traditional infrastructure. If there is an unpredictable demand of infrastructure, then it is recommended to use IaaS services.

217 of 293

Suitability of IaaS(Contd..)

2. Limited capital investment: New start-up companies cannot invest more on buying infrastructure for their business needs. And so by using IaaS, start-up companies can reduce the capital investment on hardware. IaaS is the suitable option for start-up companies with less capital investment on hardware.

3. Infrastructure on demand: Some organizations may require large infrastructure for a short period of time. For this purpose, an organization cannot afford to buy more on-premise resources. Instead, they can rent the required infrastructure for a specific period of time. IaaS best suits the organizations that look for infrastructure on demand or for a short time period.

218 of 293

Pros and Cons of IaaS

Being one of the important service models of cloud computing, IaaS provides lot of benefits to the IT users. The following are the benefits provided by IaaS:

1. Pay-as-you-use model: The IaaS services are provided to the customers on a pay-per-use

basis. This ensures that the customers are required to pay for what they have used. This

model eliminates the unnecessary spending on buying hardware.

2. Reduced TCO: Since IaaS providers allow the IT users to rent the computing resources, they need not buy physical hardware for running their business. The IT users can rent the IT infrastructure rather than buy it by spending large amount. IaaS reduces the need for buying hardware resources and thus reduces the TCO.

219 of 293

3. Elastic resources: IaaS provides resources based on the current needs. IT users can scale up or scale

down the resources whenever they want. This dynamic scaling is done automatically using some load

balancers. This load balancer transfers the additional resource request to the new server and

improves application efficiency.

4. Better resource utilization: Resource utilization is the most important criteria to succeed in the IT

business. The purchased infrastructure should be utilized properly to increase the ROI. IaaS ensures

better resource utilization and provides high ROI for IaaS providers.

5. Supports Green IT: In traditional IT infrastructure, dedicated servers are used for different business

needs. Since many servers are used, the power consumption will be high. This does not result in

Green IT. In IaaS, the need of buying dedicated servers is eliminated as single infrastructure is shared

between multiple customers, thus reducing the number of servers to be purchased and hence the

power consumption that results in Green IT.

220 of 293

Drawbacks of IaaS

1. Security issues: Since IaaS uses virtualization as the enabling technology, hypervisors play an important role. There are many attacks that target the hypervisors to compromise it. If hypervisors get compromised, then any VMs can be attacked easily. Most of the IaaS providers are not able to provide 100% security to the VMs and the data stored on the VMs.

2. Interoperability issues: There are no common standards followed among the different IaaS providers. It is very difficult to migrate any VM from one IaaS provider to the other. Sometimes, the customers might face the vendor lock-in problem.

3. Performance issues: IaaS is nothing but the consolidation of available resources from the distributed cloud servers. Here, all the distributed servers are connected over the network. Latency of the network plays an important role in deciding the performance. Because of latency issues, sometimes the VM contains issues with its performance.

221 of 293

Summary Of IaaS Providers

  • There are many public and private IaaS providers in the market who provides infrastructure services to the end users. Table 5 provides the summary of popular infrastructure providers.
  • In the table, the popular IaaS providers are classified based on the license, deployment model, and supported host OS, guest OS, and hypervisors. The end user may choose any IaaS provider that matches their needs.
  • Generally, public IaaS consumers need not consider the host OS as it is maintained by the service provider.
  • In managing the private cloud, the users should see the supported host OS. However, most of the private IaaS supports popular guest OS, fully depending on the hypervisor that the IaaS providers are supporting.

222 of 293

223 of 293

Platform as a Service(PaaS)

  • PaaS changes the way that the software is developed and deployed. In traditional application development, the application will be developed locally and will be hosted in the central location.
  • Most of the applications developed by traditional development platforms result in a licensing-based software, whereas PaaS changes the application development from local machine to online.
  • PaaS providers provide the development PaaS from the data center. The developers can consume the services over the Internet as shown in Figure 5.6.

224 of 293

  • PaaS allows the developers to develop their application online and also allows them to deploy immediately on the online platform.
  • PaaS consumers or developers can consume language runtimes, application frameworks, databases, message queues, testing tools, and deployment tools as a service over the Internet.
  • Thus, it reduces the complexity of buying and maintaining different tools for developing an application

225 of 293

  • Typical PaaS providers may provide programming languages, application frameworks, databases, and testing tools as shown in Figure 5.7.

1.Programming languages: PaaS providers provide a wide variety of programming languages for the developers to develop applications. Some of the popular programming languages provided by PaaS vendors are Java, Perl, PHP, Python, Ruby, Scala, Clojure and so on.

226 of 293

2. Application frameworks: PaaS vendors provide application frameworks that simplify the application development. Some of the popular application development frameworks provided by a PaaS provider include Node.js, Rails, Drupal, Joomla, WordPress, Django, EE6, Spring, Play, Sinatra, Rack, and Zend.

3.Database: Since every application needs to communicate with the databases, it becomes a must-have tool for every application. PaaS providers are providing databases also with their PaaS platforms. The popular databases provided by the popular PaaS vendors are ClearDB, PostgreSQL, Cloudant , Membase , MongoDB, and Redis.

4.Other tools: PaaS providers provide all the tools that are required to develop, test, and deploy an application.

227 of 293

Characteristics of PaaS

PaaS development platforms are different from the traditional application development platforms. The following are the essential characteristics that make PaaS unique from traditional development :

1. All in one: Most of the PaaS providers offer services to develop, test, deploy, host, and maintain applications in the same IDE. Additionally, many service providers provide all the programming languages, frameworks, databases, and other development-related services that make developers choose from a wide variety of development platforms.

2. Web access to the development platform: A typical development platform uses any IDEs for developing applications. Typically, the IDE will be installed in the developer’s machines. But, PaaS provides web access to the development platform. Using web UI, any developer can get access to the development platform. The web-based UI helps the developers create, modify, test, and deploy different applications on the same platform.

228 of 293

3. Offline access: A developer may not be able to connect to the Internet for a whole day to access the PaaS services. When there is no Internet connectivity, the developers should be allowed to work offline. To enable offline development, some of the PaaS providers allow the developer to synchronize their local IDE with the PaaS services. The developers can develop an application locally and deploy it online whenever they are connected to the Internet.

4. Built-in scalability: Scalability is an important requirement for the new-generation web or SaaS applications. It is very difficult to enable the dynamic scalability for any application developed using traditional development platforms. But, PaaS services provide built-in scalability to an application that is developed using any particular PaaS. This ensures that the application is capable of handling varying loads efficiently.

229 of 293

5. Collaborative platform: Nowadays, the development team consists of developers who are working from different places. There is a need for a common platform where the developers can collaboratively work together on the same project. Most of the PaaS services provide support for collaborative development. To enable collaboration among developers, most of the PaaS providers provide tools for project planning and communication.

6. Diverse client tools: To make the development easier, PaaS providers provide a wide variety of client tools to help the developer. The client tools include CLI, web CLI, web UI, REST API, and IDE. The developers can choose any tools of their choice. These client tools are also capable of handling billing and subscription management.

230 of 293

Suitability of PaaS

1. Collaborative development: To increase the time to market and development efficiency, there is a need for a common place where the development team and other stakeholders of the application can collaborate with each other. Since PaaS services provide a collaborative development environment.

2. Automated testing and deployment: Automated testing and building of an application are very useful while developing applications at a very short time frame. Most of the PaaS services offer automated testing and deployment capabilities. The development team needs to concentrate more on development rather than testing and deployment. Thus, PaaS services are the best option where there is a need for automated testing and deployment of the applications.

231 of 293

3.Time to market: The PaaS services follow the iterative and incremental development methodologies that ensure that the application is in the market as per the time frame given. For example, the PaaS services are the best option for application development that uses agile development methodologies. If the software vendor wants their application to be in the market as soon as possible, then the PaaS services are the best option for the development.

232 of 293

Pros and Cons of PaaS

1. Quick development and deployment: PaaS provides all the required development and testing tools to develop, test, and deploy the software in one place. Most of the PaaS services automate the testing and deployment process as soon as the developer completes the development. This speeds up application development and deployment than traditional development platforms.

  • 2. Reduces TCO: The developers need not buy licensed development and testing tools if PaaS services are selected. Most of the traditional development platforms requires high-end infrastructure for its working, which increases the TCO of the application development company. But, PaaS allows the developers to rent the software, development platforms, and testing tools to develop, build, and deploy the application.

233 of 293

  • 3. Supports agile software development: Nowadays, most of the new-generation applications are developed using agile methodologies. Many ISVs and SaaS development companies started adopting agile methodologies for application development. PaaS services support agile methodologies that the ISVs and other development companies are looking for.
  • 4. Different teams can work together: The traditional development platform does not have extensive support for collaborative development. PaaS services support developers from different places to work together on the same project. This is possible because of the online common development platform provided by PaaS providers.

234 of 293

  • 5. Ease of use: Some developers may not be familiar with the interfaces provided by the application development platform. This makes the development job a little bit difficult. But, PaaS provides a wide variety of client tools such as CLI, web CLI, web UI, APIs, and IDEs. The developers are free to choose any client tools of their choice. Especially, the web UI–based PaaS services increase the usability of the development platform for all types of developers.
  • 6. Less maintenance overhead: In on-premise applications, the development company or software vendor is responsible for maintaining the underlying hardware. They need to recruit skilled administrators to maintain the servers. This overhead is eliminated by the PaaS services as the underlying infrastructure is maintained by the infrastructure providers. This gives freedom to developers to work on the application development.

235 of 293

Drawbacks of PaaS

  • PaaS provides a lot of benefits to developers when compared to the traditional development environment. On the other hand, it contains drawbacks, which are described in the following:
  • 1. Vendor lock-in: The major drawback with PaaS providers are vendor lock-in. The main reason for vendor lock-in is lack of standards. There are no common standards followed among the different PaaS providers. The other reason for vendor lock-in is proprietary technologies used by PaaS providers. Most of the PaaS vendors use the proprietary technologies that are not compatible with the other PaaS providers. The vendor lock-in problem of PaaS services does not allow the applications to be migrated from one PaaS provider to the other.

236 of 293

  • 2. Security issues: Like in the other cloud services, security is one of the major issues in PaaS services. Since data are stored in off-premise third-party servers, many developers are afraid to go for PaaS services. Of course, many PaaS providers provide mechanisms to protect the user data, and it is not sufficient to feel the safety of on-premise deployment. When selecting the PaaS provider, the developer should review the regulatory, compliance, and security policies of the PaaS provider with their own security requirements. If not properly reviewed, the developers or users are at the risk of data security breach.

237 of 293

  • 3. Less flexibility: PaaS providers do not give much freedom for the developers to define their own application stack. Most of the PaaS providers provide many programming languages, databases, and other development tools. But, it is not extensive and does not satisfy all developer needs. Only some of the PaaS providers allow developers to extend the PaaS tools with the custom or new programming languages. Still most of the PaaS providers do not provide flexibility to the developers.
  • 4. Depends on Internet connection: Since the PaaS services are delivered over the Internet, the developers should depend on Internet connectivity for developing the application. Even though some of the providers allow offline access, most of the PaaS providers do not allow offline access. With slow Internet connection, the usability and efficiency of the PaaS platform do not satisfy the developer requirements.

238 of 293

Summary of PaaS Providers

  • PaaS providers are more in the IT market for public as well as the private clouds. Table 5 gives a summary of popular private and public PaaS providers.

239 of 293

240 of 293

241 of 293

Software as a Service(SaaS)

  • SaaS changes the way the software is delivered to the customers. In the traditional software model, the software is delivered as a license-based product that needs to be installed in the end user device.
  • Since SaaS is delivered as an on-demand service over the Internet, there is no need to install the software to the end user’s devices. SaaS services can be accessed or disconnected at any time based on the end user’s needs.
  • SaaS services can be accessed from any lightweight web browsers on any devices such as laptops, tablets, and smartphones. Some of the SaaS services can be accessed from a thin client that does not contain much storage space and cannot run much software like the traditional desktop PCs.
  • The important benefits of using thin clients for accessing the SaaS application are as follows: it is less vulnerable to attack, has a longer life cycle, consumes less power, and is less expensive.

242 of 293

  • SaaS provider may provide business services, social networks, document management, and mail services as shown in Figure 5.8:

243 of 293

1. Business services: Most of the SaaS providers started providing a variety of business services that attract start-up companies. The business SaaS services include ERP, CRM, billing, sales, and human resources.

2. Social networks: Since social networking sites are extensively used by the general public, many social networking service providers adopted SaaS for their sustainability. Since the number of users of the social networking sites is increasing exponentially, cloud computing is the perfect match for handling the variable load.

3. Document management: Since most of the enterprises extensively use electronic documents, most of the SaaS providers started providing services that are used to create, manage, and track electronic documents.

4. Mail services: E-mail services are currently used by many people. The future growth in e-mail usage is unpredictable.

244 of 293

� �Characteristics of SaaS:

The following are the essential characteristics of SaaS services that make it unique from traditional software:

  • 1. One to many: SaaS services are delivered as a one-to-many model where a single instance of the application can be shared by multiple tenants or customers.
  • 2. Web access: SaaS services provide web access to the software. It allows the end user to access the application from any location if the device is connected to the Internet.
  • 3. Centralized management: Since SaaS services are hosted and managed from the central location, management of the SaaS application becomes easier. Normally, the SaaS providers will perform the automatic updates that ensure that each tenant is accessing the most recent version of the application without any user-side updates.

245 of 293

  • 4. Multidevice support: SaaS services can be accessed from any end user devices such as desktops, laptops, tablets, smartphones, and thin clients.
  • 5. Better scalability: Since most of the SaaS services leverage PaaS and IaaS for its development and deployment, it ensures a better scalability than the traditional software. The dynamic scaling of underlying cloud resources makes SaaS applications work efficiently even with varying loads.
  • 6. High availability: SaaS services ensure the 99.99% availability of user data as proper backup and recovery mechanisms are implemented at the back end.
  • 7. API integration: SaaS services have the capability of integrating with other software or service through standard APIs.

246 of 293

Suitability of SaaS

  • SaaS is popular among individuals and start-up companies because of the benefits it provides. SaaS applications are the best option for the following:
  • 1. On-demand software: The licensing-based software model requires buying full packaged software and increases the spending on buying software. Some of the occasionally used software does not give any ROI. Because of this, many end users are looking for a software that they can use as and when they needed,then the SaaS model is the best option.
  • 2. Software for start-up companies: When using any traditional software, the end user should buy devices with minimum requirements specified by the software vendor. This increases the investment on buying hardware for start-up companies. Since SaaS services do not require high-end infrastructure for accessing, it is a suitable option for start-up companies that can reduce the initial expenditure on buying high-end hardware

247 of 293

  • 3. Software compatible with multiple devices: Some of the applications like word processors or mail services need better accessibility from different devices. The SaaS applications are adaptable with almost all the devices.
  • 4. Software with varying loads: We cannot predict the load on popular applications such as social networking sites. The user may connect or disconnect from applications anytime. It is very difficult to handle varying loads with the traditional infrastructure. With the dynamic scaling capabilities, SaaS applications can handle varying loads efficiently without disrupting the normal behavior of the application.

248 of 293

� Pros and Cons of SaaS

  • SaaS applications are used by a wide range of individuals and start-up industries for its cost-related benefits. Apart from the cost-related benefits, SaaS services provide the following benefits:
  • 1. No client-side installation: SaaS services do not require client-side installation of the software. The end users can access the services directly from the service provider data center without any installation. There is no need of high-end hardware to consume SaaS services. It can be accessed from thin clients or any handheld devices, thus reducing the initial expenditure on buying high-end hardware.
  • 2. Cost savings: Since SaaS services follow the utility-based billing or pay-as-you-go billing, it demands the end users to pay for what they have used. Most of the SaaS providers offer different subscription plans to benefit different customers. Sometimes, the generic SaaS services such as word processors are given for free to the end users.

249 of 293

  • 3. Less maintenance: SaaS services eliminate the additional overhead of maintaining the software from the client side. For example, in the traditional software, the end user is responsible for performing bulk updates. But in SaaS, the service provider itself maintains the automatic updates, monitoring, and other maintenance activities of the applications.
  • 4. Ease of access: SaaS services can be accessed from any devices if it is connected to the Internet. Accessibility of SaaS services is not restricted to any particular devices. It is adaptable to all the devices as it uses the responsive web UI.

250 of 293

  • 5. Dynamic scaling: SaaS services are popularly known for elastic dynamic scaling. It is very difficult for on-premise software to provide dynamic scaling capability as it requires additional hardware. Since the SaaS services leverage elastic resources provided by cloud computing, it can handle any type of varying loads without disrupting the normal behavior of the application.
  • 6. Disaster recovery: With proper backup and recovery mechanisms, replicas are maintained for every SaaS services. The replicas are distributed across many servers. If any server fails, the end user can access the SaaS from other servers. It eliminates the problem of single point of failure. It also ensures the high availability of the application.
  • 7. Multitenancy: Multitenancy is the ability given to the end users to share a single instance of the application. Multitenancy increases resource utilization from the service provider side.

251 of 293

Drawbacks of SaaS

  • 1. Security: Security is the major concern in migrating to SaaS application. Since the SaaS application is shared between many end users, there is a possibility of data leakage. Here, the data are stored in the service provider data center.
  • 2. Connectivity requirements: SaaS applications require Internet connectivity for accessing it. Sometimes, the end user’s Internet connectivity might be very slow. In such situations, the user cannot access the services with ease. The dependency on high-speed Internet connection is a major problem in SaaS applications.
  • 3. Loss of control: Since the data are stored in a third-party and off-premise location, the end user does not have any control over the data. The degree of control over the SaaS application and data is lesser than the on-premise application.

252 of 293

Summary of SaaS Providers

  • There are many SaaS providers who provide SaaS services such as ERP,�CRM, billing, document management, and mail services. Table 5.3 gives a�summary of popular SaaS vendors in the market

253 of 293

254 of 293

�Other Cloud Service Models

  • The basic cloud services such as IaaS, PaaS, and SaaS are widely used by many individual and start-up companies.
  • Now, the end users’ expectation changed, and they are expecting the individual services to be offered by service providers.
  • This makes most of the service providers to think about the separate services that meet end user requirements. Many service providers already started offering separate services such as network, desktop, database, and storage on demand as given in the following:

255 of 293

  • NaaS is an ability given to the end users to access virtual network services that are provided by the service provider. In on-premise data center, the IT industries spent a lot of money to buy network hardware to manage in-house networks. But, cloud computing changes networking services into a utility-based service.
  • NaaS allows network architects to create virtual networks, virtual network interface cards (NICs), virtual routers, virtual switches, and other networking components.
  • Additionally, it allows the network architect to deploy custom routing protocols and enables the design of efficient in-network services, such as data aggregation, stream processing, and caching.
  • Some of the popular services provided by NaaS include virtual private network (VPN), bandwidth on demand (BoD), and mobile network virtualization.

NaaS(Network as a Service)

256 of 293

DEaaS(Desktop as a Service):

  • It is an ability given to the end users to use desktop virtualization without buying and managing their own infrastructure.
  • DEaaS is a pay-per-use cloud service delivery model in which the service provider manages the back-end responsibilities of data storage, backup, security, and upgrades.
  • The end users are responsible for managing their own desktop images, applications, and security. Accessing the virtual desktop provided by the DEaaS provider is device, location, and network independent.
  • DEaaS services are simple to deploy, are highly secure, and produce better experience on almost all devices.

257 of 293

STaaS (Storage as a Service):It is an ability given to the end users to store the data on the storage services provided by the service provider. STaaS allows the end users to access the files at any time from any place. The STaaS provider provides the virtual storage that is abstracted from the physical storage of any cloud data center. STaaS is also a cloud business model that is delivered as a utility. Here, the customers can rent the storage from the STaaS provider. STaaS is commonly used as a backup storage for efficient disaster recovery.

258 of 293

DBaaS(Database as a Service)

It is an ability given to the end users to access the database service without the need to install and maintain it. The service provider is responsible for installing and maintaining the databases. The end users can directly access the services and can pay according to their usage. DBaaS automates the database administration process. The end users can access the database services through any API or web UIs provided by the service provider. The DBaaS eases the database administration process. Popular examples of DBaaS include SimpleDB, DynamoDB, MongoDB as a Service, GAE datastore, and ScaleDB.

259 of 293

Data as a Service (DaaS)

  • It is an ability given to the end users to access the data that are provided by the service provider over the Internet. DaaS provides data on demand. The data may include text, images, sounds, and videos. DaaS is closely related to other cloud service models such as SaaS and STaaS. DaaS can be easily integrated with SaaS or STaaS for providing the composite service. DaaS is highly used in geography data services and financial data services. The advantages of DaaS include agility, cost effectiveness, and data quality.

260 of 293

SECaaS(Security as a Service)

  • It is an ability given to the end user to access the security service provided by the service provider on a pay-per-use basis. In SECaaS, the service provider integrates their security services to benefit the end users. Generally, the SECaaS includes authentication, antivirus, antimalware/spyware, intrusion detection, and security event management. The security services provided by the SECaaS providers are typically used for securing the on-premise or in-house infrastructure and applications. Some of the SECaaS providers include Cisco, McAfee, Panda Software, Symantec, Trend Micro, and VeriSign.

261 of 293

  • Now, cloud computing moves to the scenario where everything can be given as a service. This can be termed as Everything as a Service (XaaS). In the future, we expect many new service models to achieve the goal of XaaS. XaaS may include

- Backup as a Service (BaaS),

- Communication as a Service (CaaS),

- Hadoop as a Service (HaaS),

- Disaster Recovery as a Service (DRaaS),

- Testing as a Service (TaaS),

- Firewall as a Service (FWaaS),

- Virtual Private Network as a Service (VPNaaS),

- Load Balancers as a Service (LBaaS),

- Message Queue as a Service (MQaaS),

- Monitoring as a Service (MaaS).

262 of 293

Unit V�Cloud Service Providers

263 of 293

Learning Objectives

  • Know about different companies that support cloud computing
  • Understand open source/proprietary tools offered by the companies
  • Know cloud services offered by the companies
  • Understand the features and available architectu

264 of 293

Preamble

  • This chapter provides an overview of cloud services offered by various companies.
  • We begin with the introduction to cloud services. Subsequent sections talk about companies like Amazon, Microsoft, Google, EMC, Salesforce, and IBM that provide various tools and services in order to give cloud support.
  • After reading this chapter, the reader will be able to distinguish different services provided by various companies and make appropriate choices as per the requirement.

265 of 293

Introduction

  • Cloud computing is one of the most popular buzzwords used these days. It  is the upcoming technology provisioning resources to the consumers in the form of different services like software, infrastructure, platform, and security.
  • Many companies have come forward to adapt the cloud environment and ensure that the users as well as the companies benefit from this. Amazon, Microsoft, Google, Yahoo, EMC, Salesforce, Oracle, IBM, and many more companies provide various tools and services in order to give cloud support for their customers.

266 of 293

EMC

  • EMC is one of the leading global enterprises that require dynamic scalability and infrastructure agility to meet changing applications as well as business needs.
  • EMC chose cloud computing as the ideal solution to reduce the complexity and optimize the infrastructure.
  • Offering Information Technology as a Service (ITaaS) reduces the energy consumption through resource sharing.

267 of 293

EMC IT

  • Virtualization is the main concept behind the success of EMC IT.�EMC  IT  provides its business process units with IaaS, PaaS, and SaaS. Figure  11.1 gives an overview of the services offered by EMC, which are explained in the following:
  • 1. Infrastructure as a Service (IaaS)
  • 2. Platform as a Service (PaaS)
  • 3. Software as a Service (SaaS)
  • 4. User Interface as a Service (UIaaS)

268 of 293

269 of 293

EMC: Captiva Cloud Toolkit

  • EMC offers a tool called Captiva Cloud Toolkit to help in the development of softwares. �EMC Captiva Cloud Toolkit is a Software Development Kit (SDK) comprised of modules:
  • 1. Scan
  • 2. Multi Directory Watch (MDW)
  • 3. Image Enhancement (IE)
  • 4. Index
  • 5. Export
  • 6. Multi

270 of 293

Google

  • Google is one among the leading cloud providers that offer secure storage of user’s data.
  • It provides cloud platform, app engine, cloud print, cloud connect, and many more features that are scalable, reliable, as well as secure.
  • Google offers many of these services for free or at a minimum cost making it user friendly.

271 of 293

Google

  • Google Cloud Platform
  • Cloud Storage
  • Google Cloud Connect
  • Google Cloud Print
  • Google App Engine

272 of 293

273 of 293

AWS

  • Amazon Web Services�Amazon Web Services (AWS) is a collection of remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by Amazon.com.
  • The most central and well known of these services are Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Queue Service (Amazon SQS), and Amazon S3 as shown in Figure 11.3.

274 of 293

AWS

275 of 293

AWS

  • Amazon Elastic Compute Cloud (EC2):
  • Amazon Machine Images (AMI)
  • Amazon VPC
  • Elastic load balancing (ELB)
  • Elastic Block Storage (EBS)
  • Amazon Simple Storage Service (S3)

276 of 293

AWS

  • Amazon Simple Storage Service�Amazon Simple Queue Service

277 of 293

Microsoft

  • Windows Azure:
  • Migration Assessment Tool (MAT)
  • Microsoft Assessment and Planning Toolkit (MAP)
  • SharePoint

278 of 293

IBM

  • Cloud Models
  • IBM SmartCloud

279 of 293

IBM

  • IBM offers five different cloud provision models:
  • 1. Private cloud, owned and operated by the customer
  • 2. Private cloud, owned by the customer but operated by IBM (or another provider)
  • 3. Private cloud, owned and operated by IBM (or another provider)
  • 4. Virtual private cloud services, based on multitenant support for individual enterprises
  • 5. Public cloud services, based on the provision of functions to individuals

280 of 293

281 of 293

SAP Labs

  • SAP Labs makes enterprise software to manage business operations and customer relations.
  • The company’s best-known software products are its enterprise resource planning application systems and management (SAP ERP), its enterprise data warehouse product—SAP Business Warehouse (SAP BW), SAP Business Objects software, and most recently, Sybase mobile products and in-memory computing appliance SAP HANA. SAP is one of the largest software companies in the world.

282 of 293

SAP Labs

  • SAP HANA Cloud Platform: SAP HANA Cloud Platform is an open-standard, Eclipse-based, modular PaaS.
  • The main features of SAP HANA Cloud Platform are as follows:
  • Enterprise platform built for developers
  • Native integration with SAP and non-SAP software
  • In-memory persistence
  • Secure data platform
  • Lightweight, modular runtime container for applications

283 of 293

SAP Labs

  • Virtualization Services Provided by SAP:
  • ERP virtualization
  • A joint service from SAP and Vmware

284 of 293

Salesforce

  • Salesforce�Salesforce.com is a cloud computing and social enterprise SaaS provider based in San Francisco.
  • Of its cloud platforms and applications, the company is best known for its Salesforce CRM product, which is composed of Sales Cloud, Service Cloud, Marketing Cloud, Force.com, Chatter, and Work.com

285 of 293

Salesforce Chatter

286 of 293

Salesforce

  • Sales Cloud
  • Service Cloud: Knowledge as a Service

287 of 293

Rackspace

  • Rackspace Cloud, a part of Rackspace, is another player in the cloud computing market.
  • Offering IaaS to clients, it has been used by a large number of enterprises.
  • Rackspace Cloud offers three cloud computing solutions—Cloud Servers, Cloud Files, and Cloud Sites.

288 of 293

VMware

  • Vmware, a leader in virtualization technology, has come up with enterprise cloud computing solutions. �Vmware is currently providing a range of products for the development of private and public clouds.
  • For leveraging the services offered by both as a hybrid cloud, such as Vmware vCloud Director, Vmware vCloud Datacenter Services, Vmware vSphere, and Vmware vShield to name a few.

289 of 293

Manjrasoft

  • Manjrasoft is one of the nonmajor providers of cloud services. But it has come up with a platform called Aneka that provides a set of services that help the development of applications in an easier way.�Manjrasoft develops marketoriented cloud computing platforms that allow one to build, accelerate, and manage the applications ultimately saving one’s time and money, leading to enhanced business productivity and profit.

290 of 293

Manjrasoft

  • Aneka Platform
  • Aneka provides a set of services that make enterprise cloud construction and development of applications as easy as possible without sacrificing flexibility, scalability, reliability, and extensibility.
  • Figure 11.5 gives an overview of the Aneka platform. The key features supported by Aneka are as follows:

291 of 293

Manjrasoft

  • 1. A configurable and flexible execution platform (container) enabling pluggable services and security implementations. �2. Multiple persistence options including Relational Database Management System (RDBMS), Structured Query Language (SQL) Express, MySQL, and flat files.
  • 3. Software development kit (SDK) supporting multiple programming models including object-oriented thread model, task model for legacy applications, and MapReduce model for data-intensive applications.
  • 4. Custom tools such as Design Explorer for parameter sweep studies.
  • 5. Easy to use management tool for SLA and Quality of Service (QoS) negotiation and dynamic resource allocation.
  • 6. Supports deployment of applications on private or public clouds in addition to their seamless integration.

292 of 293

293 of 293

Summary