1/69
1st Slide Set: Introduction
2/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Generations of Computer Systems
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/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)
Brave new World? Image Source: pixabay.com (CC0)
4/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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. . .
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
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
6/69
Parallel Computers
7/69
Parallel Computers
Google Android
Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019
8/69
Parallel Computers
9/69
Parallel Computers
Google Chrome OS
Amazon Kindle Image Source: pixabay.com (CC0)
10/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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/69
Parallel Computers
12/69
Parallel Computers
Image source: http://medium.com
Who decides in the future about censorship and freedom?
Politics? Industry?
Population (customers/citizens)?
Interesting Article about this Topic: Parental Computing
Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019
13/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Tasks in the Client-Server Model
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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Four Types of Clients in the Client-Server Model
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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
(Text-)Terminal: WYSE WY-50 (early 1990s)
Image source:
Google image search
18/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
(X-)Terminal: NCD 88K (mid-1990s)
Image source: http://en.wikipedia.org/wiki/X_terminal and
http://www.geekdot.com/uploads/images/m88k/NCD17c/NCD88k_KDE.jpg
Network Computer: SUN JavaStation (1996 – 2000)
19/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
Image source:
Google image search
20/69
Parallel Computers
Fat Clients: Available everywhere
Image source: Google image search
21/69
Parallel Computers
Thin Clients
Image source: HP
22/69
Parallel Computers
More Thin Clients
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
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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
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
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
Image source: Google image search and www.instant-axess.co.uk
25/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Different Client-Server Scenarios (1/2)
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
Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019
26/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Different Client-Server Scenarios (1/2)
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
Summary about the Clients Image Source: Google
27/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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
Evolution of the Clients at the Client-Server Model
28/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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/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/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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Transistor Count and Moore’s Law
32/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Von Neumann Bottleneck (1/2)
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
Prof. Dr. Christian Baun – 1st Slide Set Cloud Computing – Frankfurt University of Applied Sciences – SS2019
33/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Von Neumann Bottleneck (2/2)
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 ∗ 10−9 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
Amdahl’s Law Image source: archive.computerhistory.org
34/69
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Amdahl’s Law – Principle (1/3)
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
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
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations Parallel Computers
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/69
Parallel Computers
Organisational Information Brave new World? Client-Server Fundamentals, Laws and Limitations
Amdahl’s Law – Principle (3/3)
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
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.
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.
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.
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.
| 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 |
AWS (Amazon Web Services) Case Studies
1. Netflix — Streaming Platform
Challenge:
AWS IaaS Solution:
Results:
👉 Key Learning: IaaS enables elastic infrastructure for large-scale media delivery.
2. Airbnb — Online Marketplace
Challenge:
AWS IaaS Usage:
Impact:
Case studies: Companies using IaaS
Microsoft Azure Case Studies
3. Adobe — Digital Media Services
Challenge:
Azure IaaS Implementation:
Outcome:
BMW — Automotive Industry
Challenge:
Azure Infrastructure Role:
Benefits:
Google Cloud Platform (GCP) Case Studies
5. Spotify — Music Streaming
Challenge:
Google Cloud IaaS Use:
Results:
6. NASA — Scientific Research
Challenge:
Google Cloud Usage:
Outcome:
Case studies: Companies using IaaS (contd.)
Case studies: Companies using PaaS
1. Netflix — Using AWS PaaS Services
Platform: Amazon Web Services (AWS Elastic Beanstalk, AWS Lambda)
Challenge
PaaS Solution
Results
Uber — Hybrid PaaS Approach
Platforms: Multiple PaaS tools including Google Cloud & container platforms.
Challenge
PaaS Usage
Results
Salesforce — Force.com Platform
Platform: Salesforce PaaS (Force.com)
Challenge
PaaS Usage
Results
Case studies: Companies using SaaS
Airbnb — SaaS Collaboration & Operations
Challenge
SaaS Platforms Used
Impact
👉 Lesson: SaaS simplifies global collaboration.
Amazon — SaaS for Enterprise Operations
Challenge
SaaS Usage
Results
👉 Lesson: SaaS enhances enterprise operational efficiency.
Zoom Video Communications — SaaS Video Platform
Challenge
SaaS Service
Impact
👉 Lesson: SaaS enables scalable digital communication.
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.
Cloud infrastructure consists of servers, storage devices, network, cloud management software, deployment software, and platform virtualization.
�
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.
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.
Infrastructural Constraints:
Fundamental constraints that cloud infrastructure should implement are shown in the following diagram:
�
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.
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.
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.
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.
In a basic grid computing system, every computer can access the resources of every other computer belonging to the network.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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).
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.
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.
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.
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.
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”.
�
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.
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.
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.
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
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.
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.
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.