1 of 89

1/69

1st Slide Set: Introduction

2 of 89

2/69

Parallel Computers

Generation

Timeframe

Technological progress

0

until 1940

(Electro-)mechanical calculating machines

1

1940 – 1955

Elelectron tubes, relays, jack panels

2

1955 – 1965

Transistors, batch processing

3

1965 – 1980

Integrated circuits, time sharing

4

1980 – 2000

Very large-scale integration, Microprocessors, PCs/Workstations

5

2000 until ?

Distributed systems, the network is the computer, Virtualization

Quote from the magazine Popular Mechanics (1949)

„In the future, computers may weigh no more than 1.5 tonnes.“

3 of 89

3/69

Parallel Computers

5.Generation (2000 – ????)

Some keywords from the 5th generation:

The network is the computer

Distributed systems =Cluster-, Cloud-, Grid-, P2P-Computing

Multicore processors and parallel applications Virtualization =VMware, XEN, KVM, Docker. . . OpenSource =Linux, BSD,. . .

Communication everywhere =mobile systems, pervasive computing

New ways of working =e-Science, e-Learning, e-Business,. . . Services =Service-oriented architectures (SOA), Web Services Resources are requested and rent when needed =on demand Artificial Intelligence (AI)

Many topics of the 5th generation will by discussed in this course

Keywords for later generations:

Quantum computers (probably 7th or 8th generation)

4 of 89

Brave new World? Image Source: pixabay.com (CC0)

4/69

Brings the concept the network is the computer only benefits?

Who decides, which applications we are allowed to use in the future?

Who decides, which books we ware allowed to read in the future?

How much freedom and self-determination do we give up?

Some examples. . .

5 of 89

Apple iPhone Image Source: pixabay.com (CC0)

No free software allowed

Apple regulates which applications are allowed to run on the iPhone

All media files contain DRM technologies (digital rights management)

DRM-free formats like Ogg Vorbis or MP3 cannot be used

Reasons for the exclusion of applications is somtimes difficult to understand and always without warning

Apple can erase applications, which are installed on the devices

5/69

6 of 89

6/69

Parallel Computers

7 of 89

7/69

Parallel Computers

Google Android

8 of 89

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

8/69

Parallel Computers

9 of 89

9/69

Parallel Computers

Google Chrome OS

10 of 89

Amazon Kindle Image Source: pixabay.com (CC0)

10/69

Books can only be read with devices which are registered to a common Amazon account

Sharing books is impossible

Amazon can deny access to already purchased books

11 of 89

11/69

Parallel Computers

12 of 89

12/69

Parallel Computers

Image source: http://medium.com

Who decides in the future about censorship and freedom?

Politics? Industry?

Population (customers/citizens)?

13 of 89

Interesting Article about this Topic: Parental Computing

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

13/69

14 of 89

14/69

Parallel Computers

Client-Server

A client-server system includes:

one or more clients which use the services of the server and accesses data, stored at the server (=consumers)

a server, which provides services and/or data (=producer)

The connection establishment is initiated by the clients Communication works according to a protocol

A client sends a request to the server responds with a reply

The client-server architecture consists of 2 layers and is called two-tier model

(tier = layer)

15 of 89

15/69

Parallel Computers

For a distributed application, that is based on the client-server architecture, 5 tasks can be separated from each other:

Display (graphical) user interface Calculation of the (graphical) user interface Data processing

Data management Data storage

The distribution of the tasks to clients and server determines the client types

According to their areas of responsibility, 4 types of clients exist:

1

2

3

4

Text-/X-Terminals Thin/Zero Clients Applet Clients

Fat Clients

16 of 89

16/69

Parallel Computers

X-Terminal or Text-Terminal

Only display the (graphical) user interface and transfer the user interaction to the server

Calculation of the (graphical) user interface, data processing and data storage, data management are tasks of the server

Thin Clients or Zero Clients

Calculate and display the graphical user interface

Applet Clients or Network Computers

Calculate and display the graphical user interface and do a part of the data processing

The clients process the applications (applets) themselves

Fat Clients

Only data management and data storage are located on the (file or database) server

17 of 89

17/69

Parallel Computers

Image source:

Google image search

18 of 89

18/69

Parallel Computers

19 of 89

Network Computer: SUN JavaStation (1996 – 2000)

19/69

Image source:

Google image search

20 of 89

20/69

Parallel Computers

Fat Clients: Available everywhere

Image source: Google image search

21 of 89

21/69

Parallel Computers

Thin Clients

Image source: HP

22 of 89

22/69

Parallel Computers

More Thin Clients

23 of 89

Advantages and Drawbacks of Thin Clients over Desktops

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

23/69

Advantages of Thin Clients

Low acquisition costs (approx 500)

Reduced power consumption (a few watts) =reduced operating costs Reduced footprint (little space consumption)

Reduced noise, because no hard drive and sometimes fanless

Central storage of data is more efficient and more secure

Reduced resource consumption because of virtualization on the server Reduced effort (cost) for administration

Drawbacks of Thin Clients

No 3D graphics performance Limited extensibility

Users fear storing their data outside of their PC (outside of their own sphere of influence)

Server is a single point of failure and eventually a bottleneck

24 of 89

Linux and Windows CE with 3 Watt (flush-mounted)

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

24/69

Image source: Google image search and www.instant-axess.co.uk

25 of 89

25/69

Parallel Computers

Company X runs 500 computer workplaces

What are the electricity costs per year (including the leap year) for 24/7 operation when the electricity price is 0,32 /kWh?

Scenario 1: Fat clients (PC)

Electrical power rating per PC: 450 watts Electrical power rating per screen: 80 watts

Electricity costs per year for 500 PCs with screens:

0.53 kW 24 h 365.25 Day 0.32

Day Year

kWh

500 = 743,356.8

Year

26 of 89

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

26/69

Parallel Computers

Scenario 2: Thin clients (PC)

Electrical power rating per thin client: 30 watts Electrical power rating per screen: 80 watts Electrical power rating per server blade: 600 watts

Each server blade has enough resources to interact with 30 thin clients

Electricity costs per year (including the leap year) for 500 thin cliens with screens:

0.11 kW 24 h 365.25 Day 0.32

Day Year

kWh

500 = 154, 281.6

Year

17 server blades are required to run the 500 computer workplaces. Electricity costs per year (including the leap year) for 17 server blades.

0.6 kW 24 h 365.25 Day 0.32

Day Year

kWh

17 28, 612.23

Year

Electricity costs per year for the thin clients, screens and server blades.

154, 281.6

Year

+ 28, 612.23

Year

182,893.83

Year

27 of 89

Summary about the Clients Image Source: Google

27/69

The era of X-Terminals and Text-Terminals is over

Applet Clients did fail in the 1990s but their populularity may grow in the next years

=Google Chrome OS

Fat Clients are standard today

Thin/Zero Clients are rarely used today

Things change slowly in the industry

Thin Clients are a hot topic again because of rising energy costs Keyword: Green IT

28 of 89

Evolution of the Clients at the Client-Server Model

28/69

In the early days of the client-server era, clients were pure terminals

With the increasing computing power, the clients became more and more powerful and more and more tasks have been outsourced to them

But computing power is a resource of which there is never enough available

Do you know the 3 options to reduce the time, which is required to solve computation-intensive tasks?

29 of 89

29/69

Parallel Computers

Analysis of the 3 Options

1

2

Optimization of the algorithms used

Algorithms cannot be optimized infinitely

Increased compute performance with faster CPUs

The compute power of a computer cannot be increased infinitely

Symmetric multiprocessing (SMP) has limitations

The memory bus becomes a bottleneck =Von Neumann bottleneck (see slide 36)

Each additional CPU decreases the relative performance gain

Reason: The storage subsystems can not deliver the data fast enough to fully utilize all available CPUs

3

Using more than just a single computer system to increase the performance

The possible performance enhancement is potentially unlimited and it is

only limited by these factors:

Performance of the nodes

Transfer rate of the network technology used

Maintenance and administration effort for the connected systems

30 of 89

30/69

Parallel Computers

Moore’s Law

Image Source: Intel

Published in 1965 by Gordon Moore Not a natural law

Rule, which is based of empirical observation

Moore originally meant the electronic components on of integrated circuit double every 12 months

Today, the number of transistors on an integrated circuit, or the number of transistors per area unit is taken into account

Since the late 1970s, the packing density only doubles every 24 months

If we extrapolate the present increase rate, in approx. 2020, a transistor would consist only of a single atom

31 of 89

31/69

Parallel Computers

32 of 89

32/69

Parallel Computers

The data and control bus is increasingly becoming a bottleneck between the CPU and memory

The main memory and the bus system are key factors for the

performance of a computer

The Von Neumann Architecture describes the structure of the general-purpose computer, which is not limited to a fixed program and has input and output devices

Main difference to modern systems: A single Bus to connect I/O devices directly with the CPU, is impossible today

33 of 89

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

33/69

Parallel Computers

Main memory is usually DRAM

DRAM = Dynamic Random Access Memory

The access time („cycle time“) of DDR-400 SDRAM is 5 ns (/= CL value)

This corresponds to a frequency of just 200 MHz

1 Hz = 1

s

1 = 1 = 1 109 Hz = 0.2 109 Hz = 2 108 Hz = 200 MHz

5 ns 5 109 s 5

The access time of DDR3-2400 SDRAM is 0.833 ns =1200 MHz The access time of DDR4-4800 SDRAM is 0.417 ns =2400 MHz Caches reduce the bottleneck impact (=see memory hierarchy) Cache is SRAM and its access speed is close to the CPU speed

SRAM = Static Random Access Memory

If multiple CPUs (or cores) share the main memory and thus share the memory bus =impact of the Von Neumann bottleneck grows

34 of 89

Amdahl’s Law Image source: archive.computerhistory.org

34/69

Published in 1967

Named after Gene Myron Amdahl

Calculates the maximum expected acceleration of programs by parallel execution on multiple CPUs

According to Amdahl, the performance gain is limited mainly by the sequential part of the problem

A program can never be fully executed in parallel

Program components such as process initialization and memory allocation only run once on a single CPU

=Those parts of the program cannot be executed in parallel Some parts of the program depend on the sequence of events, input-output and of intermediate results

35 of 89

35/69

Parallel Computers

The sequential and parallel executable parts of the program are identified

P is the parallel portion and (1 P) is the sequential portion Total runtime of the program:

1 = (1 P) + P

Example: A program requires 20 hours CPU time with a single CPU

For a single hour, the process runs sequentially

The remaining 19 hours are 95% of the total effort and can be distributed to any number of CPUs

But the total computation time can never fall under a single hour

Not even with an infinite number of CPUs

Therefore, the maximum acceleration (SpeedUp) in theory is factor 20

36 of 89

Amdahl’s Law – Principle (2/3) Image source: Wikipedia

Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019

36/69

N = number of CPUs

(1 P) = sequential portion

(P/N) = accelerated parallel portion

S = SpeedUp (acceleration)

S =

1

P

(1 P) + N

1

(1 P)

With an rising number of CPUs, the acceleration depends more and more of the sequential part

The graph does converge to 1/(1 P)

Bad news: This is too much optimistic. In practice, thing are much worse!

37 of 89

37/69

Parallel Computers

The load caused by communication and synchronization rises with a growing number of CPUs

For this reason, the inequality is extended by factor o(N), which grows when N grows

S =

1

P

(1 P) + o(N) + N

1

(1 P)

Because of o(N), the graph does not converge to 1/(1 P) any longer The graph reaches a maximum and then declines when additional CPUs are used

=see slides 49, 53 and 56

38 of 89

Cloud Computing:

Cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change.

39 of 89

Benefits of cloud computing:

Cost

Cloud computing eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters—the racks of servers, the round-the-clock electricity for power and cooling, the IT experts for managing the infrastructure. It adds up fast.

Speed

Most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of flexibility and taking the pressure off capacity planning.

Global scale

The benefits of cloud computing services include the ability to scale elastically. In cloud speak, that means delivering the right amount of IT resources—for example, more or less computing power, storage, bandwidth—right when it is needed and from the right geographic location.

40 of 89

Productivity:

On-site datacenters typically require a lot of “racking and stacking”—hardware setup, software patching, and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals.

Performance

The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and efficient computing hardware. This offers several benefits over a single corporate datacenter, including reduced network latency for applications and greater economies of scale.

41 of 89

Reliability

Cloud computing makes data backup, disaster recovery and business continuity easier and less expensive because data can be mirrored at multiple redundant sites on the cloud provider’s network.

Security

Many cloud providers offer a broad set of policies, technologies and controls that strengthen your security posture overall, helping protect your data, apps and infrastructure from potential threats.

42 of 89

Traditional Computing

Cloud Computing

1

Data storage on local Internal / hard drive

Data storage in the cloud or external server

2

Extra storage – pay for hardware, no unlimited storage

Unlimited storage – no extra hardware required

3

For hardware configuration, you may hire expert

No need to do hardware configuration – dynamic resources

4

Pay for power, electricity, AC cooling etc.

No expense on power, electricity, AC cooling etc.

5

If you need to add new server it will take few days and more charges apply.

Pay for use, dynamic resources allocation.

6

Fixed charges – installation, hardware used.

If resources are use less, then pay less

7

Lack of isolation – high risk of security and poor performance.

No need to worry about security / loss of data.

8

Backup and recovery take risky.

Backup and recovery very easy.

9

Extra pay for software installation & upgrade.

Automatic software upgrade available

10

Pay for extra hardware & other resources

On demand resources

43 of 89

AWS (Amazon Web Services) Case Studies

1. Netflix — Streaming Platform

Challenge:

  • Needed global scalability for millions of users.
  • High availability and performance for video streaming.

AWS IaaS Solution:

  • Uses EC2 virtual servers for streaming infrastructure.
  • S3 storage for video content.
  • Auto-scaling to handle traffic spikes.

Results:

  • Reliable global streaming.
  • Reduced infrastructure maintenance cost.
  • Ability to scale instantly.

👉 Key Learning: IaaS enables elastic infrastructure for large-scale media delivery.

2. Airbnb — Online Marketplace

Challenge:

  • Rapid growth and unpredictable demand.
  • Need for reliable backend infrastructure.

AWS IaaS Usage:

  • Compute instances for application hosting.
  • Cloud databases and storage services.
  • Monitoring tools for performance.

Impact:

  • Faster deployment cycles.
  • Improved user experience.
  • Cost-effective scaling.

Case studies: Companies using IaaS

44 of 89

Microsoft Azure Case Studies

3. Adobe — Digital Media Services

Challenge:

  • Transition from packaged s/w to cloud services.
  • Large data processing requirements.

Azure IaaS Implementation:

  • Virtual machines for hosting applications.
  • Cloud storage for customer content.
  • Data analytics infrastructure.

Outcome:

  • Faster software delivery.
  • Flexible resource allocation.

BMW — Automotive Industry

Challenge:

  • Massive IoT data from connected vehicles.
  • Need real-time analytics.

Azure Infrastructure Role:

  • Scalable compute resources.
  • Cloud data storage and analytics.
  • AI-driven predictive maintenance.

Benefits:

  • Improved vehicle insights.
  • Enhanced customer services.
  • Better operational efficiency.

Google Cloud Platform (GCP) Case Studies

5. Spotify — Music Streaming

Challenge:

  • Managing huge volumes of streaming data.
  • Need for advanced analytics.

Google Cloud IaaS Use:

  • Compute Engine virtual machines.
  • BigQuery analytics platform.
  • Global infrastructure for low latency.

Results:

  • Faster data analysis.
  • Improved recommendation algorithms.
  • Better scalability.

6. NASA — Scientific Research

Challenge:

  • Massive datasets from space missions.
  • Need for collaborative research.

Google Cloud Usage:

  • High-performance computing infrastructure.
  • Cloud storage for satellite data.
  • Data sharing platforms.

Outcome:

  • Faster scientific discoveries.
  • Global research collaboration.
  • Reduced infrastructure cost.

Case studies: Companies using IaaS (contd.)

45 of 89

Case studies: Companies using PaaS

1. Netflix — Using AWS PaaS Services

Platform: Amazon Web Services (AWS Elastic Beanstalk, AWS Lambda)

Challenge

  • Rapid global expansion of streaming services.
  • Need for fast deployment of applications.

PaaS Solution

  • AWS Elastic Beanstalk handles application deployment.
  • Serverless functions automate processes.
  • Managed databases and analytics services.

Results

  • Faster development cycles.
  • Reduced infrastructure management.
  • High scalability for global users.

Uber — Hybrid PaaS Approach

Platforms: Multiple PaaS tools including Google Cloud & container platforms.

Challenge

  • Real-time ride matching globally.
  • Huge data processing needs.

PaaS Usage

  • Container orchestration platforms.
  • Managed data processing services.
  • Application hosting environments.

Results

  • Rapid feature deployment.
  • Efficient scaling during peak demand.

Salesforce — Force.com Platform

Platform: Salesforce PaaS (Force.com)

Challenge

  • Deliver customizable CRM solutions.
  • Enable rapid enterprise app development.

PaaS Usage

  • Developers build CRM extensions on platform.
  • Integrated databases and APIs.
  • Automatic scaling.

Results

  • Faster enterprise app development.
  • Large ecosystem of third-party apps.

46 of 89

Case studies: Companies using SaaS

Airbnb — SaaS Collaboration & Operations

Challenge

  • Global team coordination.
  • Customer relationship management.

SaaS Platforms Used

  • Salesforce for CRM.
  • Cloud collaboration tools (e.g., workspace platforms).

Impact

  • Efficient host–guest communication.
  • Improved support services.
  • Better operational scalability.

👉 Lesson: SaaS simplifies global collaboration.

Amazon — SaaS for Enterprise Operations

Challenge

  • Large-scale workforce coordination.

SaaS Usage

  • HR platforms like Workday.
  • Collaboration SaaS tools.

Results

  • Efficient employee management.
  • Improved enterprise productivity.

👉 Lesson: SaaS enhances enterprise operational efficiency.

Zoom Video Communications — SaaS Video Platform

Challenge

  • Remote communication during global pandemic.

SaaS Service

  • Cloud-hosted video conferencing platform.

Impact

  • Massive global adoption.
  • Enabled remote work, education, telehealth.

👉 Lesson: SaaS enables scalable digital communication.

47 of 89

Cloud Computing architecture:

Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can broadly divide the cloud architecture into two parts:

Front End

Back End

Each of the ends is connected through a network, usually Internet.

Front End

The front end refers to the client part of cloud computing system. It consists of interfaces and applications that are required to access the cloud computing platforms, Example - Web Browser.

Back End

The back End refers to the cloud itself. It consists of all the resources required to provide cloud computing services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers, etc.

48 of 89

Cloud infrastructure consists of servers, storage devices, network, cloud management software, deployment software, and platform virtualization.

49 of 89

Hypervisor:

Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It allows to share the single physical instance of cloud resources between several tenants.

Management Software:

It helps to maintain and configure the infrastructure.

Deployment Software:

It helps to deploy and integrate the application on the cloud.

Network:

It is the key component of cloud infrastructure. It allows to connect cloud services over the Internet. It is also possible to deliver network as a utility over the Internet, which means, the customer can customize the network route and protocol.

50 of 89

Server:

The server helps to compute the resource sharing and offers other services such as resource allocation and de-allocation, monitoring the resources, providing security etc.

Storage:

Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can be extracted from another one, which makes cloud computing more reliable.

51 of 89

52 of 89

Infrastructural Constraints:

Fundamental constraints that cloud infrastructure should implement are shown in the following diagram:

53 of 89

Cluster Computing:

Cluster computing or High-Performance computing frameworks is a form of computing in which bunch of computers (often called nodes) that are connected through a LAN (local area network) so that, they behave like a single machine. A computer cluster help to solve complex operations more efficiently with much faster processing speed, better data integrity than a single computer and they only used for mission-critical applications.

Some of the critical Applications of Cluster Computers are Google Search Engine, Petroleum Reservoir Simulation, Earthquake Simulation, Weather Forecasting.

54 of 89

Types of Cluster computing:

1. Load-balancing clusters: As the name implies, This system is used to distribute workload across multiple computers. That system distributes the processing load as possible across a cluster of computers.  �2. High availability (HA) clusters: A high availability clusters (HA cluster) are the bunch of computers that can reliably utilise for redundant operations in the event of nodes failure in Cluster computing.�3. High performance (HP) clusters: This computer networking methodology use supercomputers and Cluster computing to solve advanced computation problems.

55 of 89

Advantages of using Cluster computing

1. Cost efficiency: In a Cluster computing Cost efficiency is the ratio of cost to output, that is the connecting group of the computer as computer cluster much cheaper as compared to mainframe computers.�2. Processing speed: The Processing speed of computer cluster is the same as a mainframe computer.�3. Expandability: The best benefit of Cluster Computing is that it can be expanded easily by adding the additional desktop workstation to the system.�4. High availability of resources: If any node fails in a computer cluster, another node within the cluster continue to provide uninterrupted processing. When a mainframe system fails, the entire system fails.

56 of 89

Grid Computing:

Grid computing is the practice of leveraging multiple computers, often geographically distributed but connected by networks, to work together to accomplish joint tasks. It is typically run on a “data grid” a set of computers that directly interact with each other to coordinate jobs.

How Does Grid Computing Work?

Grid computing works by running specialized software on every computer that participates in the data grid. The software acts as the manager of the entire system and coordinates various tasks across the grid. Specifically, the software assigns subtasks to each computer so they can work simultaneously on their respective subtasks. After the completion of subtasks, the outputs are gathered and aggregated to complete a larger-scale task. The software lets each computer communicate over the network with the other computers so they can share information on what portion of the subtasks each computer is running, and how to consolidate and deliver outputs.

57 of 89

In a basic grid computing system, every computer can access the resources of every other computer belonging to the network.

58 of 89

Grid computing is distinguished from the cluster computing, because in Grid computing each node has heterogeneous and geographical dispersed (such as WAN) and its own resource manager and perform a different task, but in cluster computing resources are managed in a single location. Grid computing is a way of using resources optimally inside an organization.

TYPES OF GRID:-�There are many types of grid like:-

1) COMPUTATIONAL GRID:- It acts as the resource of many computers in a network to a single problem at a time.

2) DATA GRID:- It deals with the controlled sharing and management of distributed data of large amount.

3) COLLABORATIVE GRID:- It is the grid which solves collaborative problems.

4) MANUSCRIPT GRID:- This grid works well when things are presenting in large continuous blocks of text or images.

5) MODULAR GRID:- This grid works well when columns alone don’t offer enough flexibility for complex problems.

59 of 89

ADVANTAGES OF GRID COMPUTING:-�1) It can solve more complex problems in a very short span of time.�2) It can easily combine with other organization.�3) It can make better use of existing hardware.

Distributed Computing:

Distributed computing is a computing concept that, in its most general sense, refers to multiple computer systems working on a single problem. In distributed computing, a single problem is divided into many parts, and each part is solved by different computers. As long as the computers are networked, they can communicate with each other to solve the problem. If done properly, the computers perform like a single entity.

The ultimate goal of distributed computing is to maximize performance by connecting users and IT resources in a cost-effective, transparent and reliable manner. It also ensures fault tolerance and enables resource accessibility in the event that one of the components fails.

60 of 89

A distributed computing architecture consists of a number of client machines with very lightweight software agents installed with one or more dedicated distributed computing management servers. The agents running on the client machines usually detect when the machine is idle and send a notification to the management server that the machine is not in use and available for a processing job. The agents then requests an application package. When the client machine receives this application package from the management server to process, it runs the application software when it has free CPU cycles and sends the result back to the management server. When the user returns and requires the resources again, the management server returns the resources was using to perform different tasks in the user's absence.

61 of 89

62 of 89

Grid can be thought as a distributed system with non interactive workload that involve a large number of files.

Utility Computing:

Utility computing is the process of providing computing service through an on-demand, pay-per-use billing method. Utility computing is a computing business model in which the provider owns, operates and manages the computing infrastructure and resources, and the subscribers accesses it as and when required on a rental or metered basis.

63 of 89

Utility computing is one of the most popular IT service models, primarily because of the flexibility and economy it provides. This model is based on that used by conventional utilities such as telephone services, electricity and gas. The principle behind utility computing is simple. The consumer has access to a virtually unlimited supply of computing solutions over the Internet or a virtual private network, which can be sourced and used whenever it's required. The back-end infrastructure and computing resources management and delivery is governed by the provider.

Utility computing solutions can include virtual servers, virtual storage, virtual software, backup and most IT solutions.

64 of 89

Pros and Cons of Cloud computing:

Pros:

No cost on infrastructure: Cloud computing is divided into three major categories as per the services: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).

In all these categories, one thing is common that you don’t need to invest in hardware or any infrastructure. In general, every organization has to spend a lot on their IT infrastructure to set up and hire a specialized team.

Servers, network devices, ISP connections, storage, and software – these are the major things on which you need to invest if we talk about general IT infrastructure.

But if you move to cloud computing services, then you don’t need to invest in these. You simply go to a cloud services provider and buy a cloud service.

65 of 89

Minimum management and cost: By selecting the cloud, you save cost in many ways:

--Zero investment in infrastructure.

--Since you don’t own the infrastructure, you spend nothing on its management or staff to manage it.

--Cloud works on pay as you go model, so you spend only on resources that you need. Nothing more!

When you opt for the cloud, the management of its infrastructure is the sole responsibility of the cloud provider and not of the user.

66 of 89

Forget about administrative or management hassles: Whenever there is a purchase or up-gradation of hardware, a lot of time is wasted looking for best vendors, inviting quotations, negotiating rates, taking approvals, generating POs and waiting for delivery and then in setting up the infrastructure.

This whole process includes lots of administrative/managerial tasks that waste a lot of time.

With cloud services, you just need to compare the best cloud service providers and their plans and buy from the one that matches your requirements. And this whole process doesn’t take much time and saves you a lot of efforts. Your system maintenance tasks are also eliminated in the cloud.

67 of 89

Accessibility and pay per use: Cloud resources are easily accessible from around the globe – anytime, anywhere and from any device and you have complete access to your resources.

This decides your billing also -you only pay for what you use and how much you use. It’s like your phone or electricity bill. But with other IT infrastructure, one spends the complete amount in one go and it is very very rare that those resources are used optimally and thus, the investment goes waste.

68 of 89

Reliability: Your infrastructure in the cloud increases the reliability and availability of applications and services. Cloud services run on pooled and redundant infrastructure which provides you with a higher availability of IT services.

Data control: Another primary advantage of the cloud is that it centralizes all the data from multiple projects and branch offices to a single location. You gain complete control over the data without visiting individual places for checking the information.

Data backup & recovery: Loss of data can significantly impact your business. You might lose critical information which can cost you a huge sum of money, waste your valuable time and adversely impact your brand image.

To prevent it, you can automatically backup all the data to the cloud on a regular basis. This helps you to recover any data in case of accidental deletion, loss because of natural calamity or if the hard drive crashes.

69 of 89

Huge cloud storage: Most cloud services provide you a free, secure and huge storage space to store all your valuable information.

Although most cloud storage services like OneDrive offer you a good amount of free storage, if you use it all, you can always go for buying more secure storage in the cloud.

Automatic software updates: Updating a system every now and then can be a frustrating task for enterprises. The IT department needs to update the system for every individual which not only wastes time but affects productivity.

But if you are using cloud-based applications, they will get automatically updated, without any involvement from the users.

70 of 89

Cons of cloud computing:

Requires good speed internet with good bandwidth: To access your cloud services, you need to have a good internet connection always with good bandwidth to upload or download files to/from the cloud

Downtime: Since the cloud requires high internet speed and good bandwidth, there is always a possibility of service outage, which can result in business downtime. Today, no business can afford revenue or business loss due to downtime or slow down from an interruption in critical business processes.

Limited control of infrastructure: Since you are not the owner of the infrastructure of the cloud, hence you don’t have any control or have limited access to the cloud infra.

71 of 89

 Restricted or limited flexibility: The cloud provides a huge list of services, but consuming them comes with a lot of restrictions and limited flexibility for your applications or developments. Also, platform dependency or ‘vendor lock-in’ can sometimes make it difficult for you to migrate from one provider to another.

Ongoing costs: Although you save your cost of spending on whole infrastructure and its management, on the cloud, you need to keep paying for services as long as you use them. But in traditional methods, you only need to invest once.

 Security: Security of data is a big concern for everyone. Since the public cloud utilizes the internet, your data may become vulnerable.

In the case of a public cloud,  it depends on the cloud provider to take care of your data. So, before opting for cloud services, it is required that you find a provider who follows maximum compliance policies for data security.

For complete security of data on the cloud, one needs to consider a somewhat costlier private cloud option or the hybrid cloud option, where generic data can be on the public cloud and business-critical data is kept on the private cloud.

72 of 89

 Vendor Lock-in: Although the cloud service providers assure you that they will allow you to switch or migrate to any other service provider whenever you want, it is a very difficult process.

You will find it complex to migrate all the cloud services from one service provider to another. During migration, you might end up facing compatibility, interoperability and support issues. To avoid these issues, many customers choose not to change the vendor.

 Technical issues: Even if you are a tech whiz, the technical issues can occur, and everything can’t be resolved in-house. To avoid interruptions, you will need to contact your service provider for support. However, not every vendor provides 24/7 support to their clients.

73 of 89

Advantages of Cloud

Disadvantages of Cloud

No cost of infrastructure

Good internet connection & bandwidth required

Minimum management and cost

Downtime

No administrative or management hassles

Limited control of infrastructure

Easy accessibility

Restricted or limited flexibility

Pay per use

Ongoing costs

Reliability

Security

Data control

Vendor lock-in

Data backup and recovery

Technical Issues

Huge cloud storage

NA

A list of advantages and disadvantages of cloud computing:

74 of 89

Benefits of cloud computing

Cloud computing offers your business many benefits. It allows you to set up what is essentially a virtual office to give you the flexibility of connecting to your business anywhere, any time. With the growing number of web-enabled devices used in today's business environment (e.g. smartphones, tablets), access to your data is even easier.

There are many benefits to moving your business to the cloud:

Reduced IT costs

Moving to cloud computing may reduce the cost of managing and maintaining your IT systems. Rather than purchasing expensive systems and equipment for your business, you can reduce your costs by using the resources of your cloud computing service provider. You may be able to reduce your operating costs because:

the cost of system upgrades, new hardware and software may be included in your contract

you no longer need to pay wages for expert staff

your energy consumption costs may be reduced

there are fewer time delays.

75 of 89

Scalability

Your business can scale up or scale down your operation and storage needs quickly to suit your situation, allowing flexibility as your needs change. Rather than purchasing and installing expensive upgrades yourself, your cloud computer service provider can handle this for you. Using the cloud frees up your time so you can get on with running your business.

Business continuity

Protecting your data and systems is an important part of business continuity planning. Whether you experience a natural disaster, power failure or other crisis, having your data stored in the cloud ensures it is backed up and protected in a secure and safe location. Being able to access your data again quickly allows you to conduct business as usual, minimizing any downtime and loss of productivity.

76 of 89

Collaboration efficiency

Collaboration in a cloud environment gives your business the ability to communicate and share more easily outside of the traditional methods. If you are working on a project across different locations, you could use cloud computing to give employees, contractors and third parties access to the same files. You could also choose a cloud computing model that makes it easy for you to share your records with your advisers (e.g. a quick and secure way to share accounting records with your accountant or financial adviser).

77 of 89

Flexibility of work practices

Cloud computing allows employees to be more flexible in their work practices. For example, you have the ability to access data from home, on holiday, or via the commute to and from work (providing you have an internet connection). If you need access to your data while you are off-site, you can connect to your virtual office, quickly and easily.

Access to automatic updates

Access to automatic updates for your IT requirements may be included in your service fee. Depending on your cloud computing service provider, your system will regularly be updated with the latest technology. This could include up-to-date versions of software, as well as upgrades to servers and computer processing power.

78 of 89

Evolution of Cloud Computing:

Cloud computing is all about renting computing services. This idea first came in the 1950s. In making cloud computing what it is today, five technologies played a vital role. These are distributed systems and its peripherals, virtualization, web 2.0, service orientation, and utility computing.

79 of 89

80 of 89

Distributed Systems:

It is a composition of multiple independent systems but all of them are depicted as a single entity to the users. The purpose of distributed systems is to share resources and also use them effectively and efficiently. Distributed systems possess characteristics such as scalability, concurrency, continuous availability, heterogeneity, and independence in failures. But the main problem with this system was that all the systems were required to be present at the same geographical location. Thus to solve this problem, distributed computing led to three more types of computing and they were-Mainframe computing, cluster computing, and grid computing.

81 of 89

Mainframe computing:�Mainframes which first came into existence in 1951 are highly powerful and reliable computing machines. These are responsible for handling large data such as massive input-output operations. Even today these are used for bulk processing tasks such as online transactions etc. These systems have almost no downtime with high fault tolerance. After distributed computing, these increased the processing capabilities of the system. But these were very expensive. To reduce this cost, cluster computing came as an alternative to mainframe technology.

Cluster computing:�In 1980s, cluster computing came as an alternative to mainframe computing. Each machine in the cluster was connected to each other by a network with high bandwidth. These were way cheaper than those mainframe systems. These were equally capable of high computations. Also, new nodes could easily be added to the cluster if it was required. Thus, the problem of the cost was solved to some extent but the problem related to geographical restrictions still pertained. To solve this, the concept of grid computing was introduced.

82 of 89

Grid computing:

In 1990s, the concept of grid computing was introduced. It means that different systems were placed at entirely different geographical locations and these all were connected via the internet. These systems belonged to different organizations and thus the grid consisted of heterogeneous nodes. Although it solved some problems but new problems emerged as the distance between the nodes increased. The main problem which was encountered was the low availability of high bandwidth connectivity and with it other network associated issues. Thus. cloud computing is often referred to as “Successor of grid computing”.

83 of 89

Virtualization:

It was introduced nearly 40 years back. It refers to the process of creating a virtual layer over the hardware which allows the user to run multiple instances simultaneously on the hardware. It is a key technology used in cloud computing. It is the base on which major cloud computing services such as Amazon EC2, VMware vCloud, etc work on. Hardware virtualization is still one of the most common types of virtualization.

Web 2.0:

�It is the interface through which the cloud computing services interact with the clients. It is because of Web 2.0 that we have interactive and dynamic web pages. It also increases flexibility among web pages. Popular examples of web 2.0 include Google Maps, Facebook, Twitter, etc. Needless to say, social media is possible because of this technology only. In gained major popularity in 2004.

84 of 89

Service orientation:

�It acts as a reference model for cloud computing. It supports low-cost, flexible, and evolvable applications. Two important concepts were introduced in this computing model. These were Quality of Service (QoS) which also includes the SLA (Service Level Agreement) and Software as a Service (SaaS).

Utility computing:

�It is a computing model that defines service provisioning techniques for services such as compute services along with other major services such as storage, infrastructure, etc which are provisioned on a pay-per-use basis.

Thus, the above technologies contributed to the making of cloud computing.

85 of 89

Business drivers for adopting cloud computing:

Business Hike:

Analyzing your moves gives fabricated results. Thus, if you view a certain range of hike in your business, it might be one of the cloud drivers. The growth in business is one of the major obligations, that any organization could ever rate.

Therefore, based on the steps of the plan for driving the cloud services, it is prominent to boil out the business strategy by the consideration of cloud adoption.

Balanced Cost Structure:

This is one of the most recognized factors, acting as a driver for cloud adoption. The number of organizations has witnessed that employing the cloud bolsters in cutting the cost, resulting in turning down of license for legacy systems.

Depending on the cloud for acquiring cloud storage services, reduction in office space and attaining the quality, domes as the driver for cloud adoption.

86 of 89

Improvised Productivity:

When the organizations are adopting the means of fabricated technology, it is believed to view tremendous change in the range of productivity.

Productivity is the factor, often considered as a driver of cloud adoption. If the cloud is structured at a significant rate, it could produce imitable results, in favour of an organization.

Efficiency:

Improved Efficiency, with minimal errors, is one of the key drivers, propagating the reasons for adoption of the cloud.

When the organization adopts any newer means of technology, it always has an underlying motive to access the medium for fulfilling the business requirement, with a hike in business and optimized cloud solutions. At its core, efficiency is about removing unnecessary steps to streamline processes in order to increase productivity or deliver on customer requirements faster

87 of 89

Scalability:

The scalable service of the cloud is one the biggest key driver, acting in the favor of organizations. The cloud-enabled services are swaddled in such a manner that one can scale the range of services as per its requirement.

One can add on more number of services with customized features if the organization feels ready to step up. Also, the organization can step down in terms of services, if it finds it as the far-reaching target.

88 of 89

NIST Model:

NIST is part of the U.S. Department of Commerce and works to promote the economy and public welfare by providing technical leadership for measurement and standards infrastructure.

From the NIST definition of cloud computing, “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interactive.” NIST provides the following definitions of the essential characteristics and service and deployment models for cloud computing.

89 of 89

Essential Cloud Computing Characteristics:

On-demand self-service: consumers can unilaterally provision computing capabilities as needed automatically without requiring human interaction with each service provider.

Broad network access: capabilities are available over the network and accessed through standard mechanism that promote use by heterogeneous thin or thick client platforms.

Resources pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand

Rapid elasticity: capabilities can be elastically provisioned and released to scale rapidly outward and inward commensurate with demand.

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.