Cloud Computing Tutorial for Beginners:
What is & Architecture
What is Cloud Computing?
Cloud Computing is defined as storing and accessing of data and computing services over
the internet. It doesn't store any data on your personal computer. It is the on-demand
availability of computer services like servers, data storage, networking, databases, etc. The
main purpose of cloud computing is to give access to data centers to many users. Users can
also access data from a remote server.
Examples of Cloud Computing Services:
AWS, Azure, Google Cloud
Let’s learn Cloud Computing basics with an example -
Whenever you travel through a bus or train, you take a ticket for your destination and hold
back to your seat till you reach your destination. Likewise other passengers also takes ticket
and travel in the same bus with you and it hardly bothers you where they go. When your stop
comes you get off the bus thanking the driver. Cloud computing is just like that bus, carrying
data and information for different users and allows to use its service with minimal cost.
In this Cloud Computing tutorial, you will learn
• Types of Clouds
• Cloud Computing Services
• Cloud Computing Architecture
• Virtualization and Cloud Computing:
• Grid Computing Vs Cloud Computing
• Grid Computing and Utility Computing
• Security concerns and proposed security model for future cloud computing
• Privacy Concern
• Case-Study of Cloud Computing- Royal Mail
Why the Name Cloud?
The term “Cloud” came from a network design that was used by network engineers to
represent the location of various network devices and there inter-connection. The shape of
this network design was like a cloud.
Why Cloud Computing?
With increase in computer and Mobile user’s, data storage has become a priority in all fields.
Large and small scale businesses today thrive on their data & they spent a huge amount of
money to maintain this data. It requires a strong IT support and a storage hub. Not all
businesses can afford high cost of in-house IT infrastructure and back up support services.
For them Cloud Computing is a cheaper solution. Perhaps its efficiency in storing data,
computation and less maintenance cost has succeeded to attract even bigger businesses as
well.
Cloud computing decreases the hardware and software demand from the user’s side. The only
thing that user must be able to run is the cloud computing systems interface software, which
can be as simple as Web browser, and the Cloud network takes care of the rest. We all have
experienced cloud computing at some instant of time, some of the popular cloud services we
have used or we are still using are mail services like gmail, hotmail or yahoo etc.
While accessing e-mail service our data is stored on cloud server and not on our computer.
The technology and infrastructure behind the cloud is invisible. It is less important whether
cloud services are based on HTTP, XML, Ruby, PHP or other specific technologies as far as
it is user friendly and functional. An individual user can connect to cloud system from his/her
own devices like desktop, laptop or mobile.
Cloud computing harnesses small business effectively having limited resources, it gives small
businesses access to the technologies that previously were out of their reach. Cloud
computing helps small businesses to convert their maintenance cost into profit. Let’s see
how?
In an in-house IT server, you have to pay a lot of attention and ensure that there are no flaws
into the system so that it runs smoothly. And in case of any technical glitch you are
completely responsible; it will seek a lot of attention, time and money for repair. Whereas, in
cloud computing, the service provider takes the complete responsibility of the complication
and the technical faults.
Benefits of Cloud Computing
The potential for cost saving is the major reason of cloud services adoption by many
organizations. Cloud computing gives the freedom to use services as per the requirement and
pay only for what you use. Due to cloud computing it has become possible to run IT
operations as a outsourced unit without much in-house resources.
Now in this Cloud Computing tutorial, we will learn the benefits of Cloud Computing.
Following are the benefits of cloud computing:
1. Lower IT infrastructure and computer costs for users
2. Improved performance
3. Fewer Maintenance issues
4. Instant software updates
5. Improved compatibility between Operating systems
6. Backup and recovery
7. Performance and Scalability
8. Increased storage capacity
9. Increase data safety
Types of Clouds
There are four different cloud models that you can subscribe according to business needs.
Following are the different Types of Clouds:
Types of Clouds
1. Private Cloud: Here, computing resources are deployed for one particular
organization. This method is more used for intra-business interactions. Where the
computing resources can be governed, owned and operated by the same organization.
2. Community Cloud: Here, computing resources are provided for a community and
organizations.
3. Public Cloud: This type of cloud is used usually for B2C (Business to Consumer)
type interactions. Here the computing resource is owned, governed and operated by
government, an academic or business organization.
4. Hybrid Cloud: This type of cloud can be used for both type of interactions - B2B
(Business to Business) or B2C ( Business to Consumer). This deployment method is
called hybrid cloud as the computing resources are bound together by different
clouds.
Cloud Computing Services
The three major Cloud Computing Offerings are
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS)
Different business use some or all of these components according to their requirement.
SaaS (Software as a Service)
SaaS or software as a service is a software distribution model in which applications are
hosted by a vendor or service provider and made available to customers over a network
(internet). SaaS is becoming an increasingly prevalent delivery model as underlying
technologies that supports Service Oriented Architecture (SOA) or Web Services.
Through internet this service is available to users anywhere in the world.
Traditionaly, software application needed to be purchased upfront &then installed it onto
your computer. SaaS users on the other hand, instead of purchasing the software subscribes to
it, usually on monthly basisvia internet.
Anyone who needs an access to a particular piece of software can be subscribe as a user,
whether it is one or two people or every thousands of employees in a corporation. SaaS is
compatible with all internet enabled devices.
Many important tasks like accounting, sales, invoicing and planning all can be performed
using SaaS.
PaaS (Platform as a Service)
Platform as a service, is referred as PaaS, it provides a platform and environment to allow
developers to build applications and services. This service is hosted in the cloud and accessed
by the users via internet.
To understand in a simple terms, let compare this with painting a picture, where you are
provided with paint colors, different paint brushes and paper by your school teacher and you
just have to draw a beautiful picture using those tools.
PaaS services are constantly updated & new features added. Software developers, web
developers and business can benefit from PaaS. It provides platform to support application
development. It includes software support and management services, storage, networking,
deploying, testing, collaborating, hosting and maintaining applications.
IaaS (Infrastructure as a Service)
IaaS (Infrastructure As A Service) is one of the fundamental service model of cloud
computing alongside PaaS( Platform as a Service). It provides access to computing resources
in a virtualized environment “the cloud” on internet. It provides computing infrastructure
like virtual server space, network connections, bandwidth, load balancers and IP addresses.
The pool of hardware resource is extracted from multiple servers and networks usually
distributed across numerous data centers. This provides redundancy and reliability to IaaS.
IaaS(Infrastructure as a service) is a complete package for computing. For small scale
businesses who are looking for cutting cost on IT infrastructure, IaaS is one of the solutions.
Annually a lot of money is spent in maintenance and buying new components like hard-
drives, network connections, external storage device etc. which a business owner could have
saved for other expenses by using IaaS.
What is Cloud Computing Architecture?
Cloud Computing Architecture is a combination of components required for a Cloud
Computing service. A Cloud computing architecture consists of several components like a
front-end platform, a back-end platform or servers, a network or internet service, and a cloud
based delivery service.
Let’s have a look into Cloud Computing and see what Cloud Computing is made of. Cloud
computing comprises of two components front end and back end. Front end consist client
part of cloud computing system. It comprise of interfaces and applications that are required to
access the Cloud Computing or Cloud Programming platform.
Cloud Computing Architecture
While back end refers to the cloud itself, it comprises of the resources that are required for
cloud computing services. It consists of virtual machines, servers, data storage, security
mechanism etc. It is under providers control.
Cloud computing distributes the file system that spreads over multiple hard disks and
machines. Data is never stored in one place only and in case one unit fails the other will take
over automatically. The user disk space is allocated on the distributed file system, while
another important component is algorithm for resource allocation. Cloud computing is a
strong distributed environment and it heavily depends upon strong algorithm.
Virtualization and Cloud Computing
The main enabling technology for Cloud Computing is Virtualization. Virtualization is a
partitioning of single physical server into multiple logical servers. Once the physical server
is divided, each logical server behaves like a physical server and can run an operating system
and applications independently. Many popular companies’s like VmWare and Microsoft
provide virtualization services, where instead of using your personal PC for storage and
computation, you use their virtual server. They are fast, cost-effective and less time
consuming.
For software developers and testers virtualization comes very handy, as it allows developer to
write code that runs in many different environments and more importantly to test that code.
Virtualization is mainly used for three main purposes 1) Network Virtualization 2) Server
Virtualization 3) Storage Virtualization
Network Virtualization: It is a method of combining the available resources in a network by
splitting up the available bandwidth into channels, each of which is independent from the
others and each channel is independent of others and can be assigned to a specific server or
device in real time.
Storage Virtualization: It is the pooling of physical storage from multiple network storage
devices into what appears to be a single storage device that is managed from a central
console. Storage virtualization is commonly used in storage area networks (SANs).
Server Virtualization: Server virtualization is the masking of server resources like processors,
RAM, operating system etc, from server users. The intention of server virtualization is to
increase the resource sharing and reduce the burden and complexity of computation from
users.
Virtualization is the key to unlock the Cloud system, what makes virtualization so important
for the cloud is that it decouples the software from the hardware. For example, PC’s can use
virtual memory to borrow extra memory from the hard disk. Usually hard disk has a lot more
space than memory. Although virtual disks are slower than real memory, if managed properly
the substitution works perfectly. Likewise, there is software which can imitate an entire
computer, which means 1 computer can perform the functions equals to 20 computers.
Grid Computing Vs Cloud Computing
When we switch on the fan or any electric device, we are less concern about the power
supply from where it comes and how it is generated. The power supply or electricity that we
receives at our home travels through a chain of network, which includes power stations,
transformers, power lines and transmission stations. These components together make a
‘Power Grid’. Likewise, ‘Grid Computing’ is an infrastructure that links computing resources
such as PCs, servers, workstations and storage elements and provides the mechanism required
to access them.
Grid Computing is a middle ware to co-ordinate disparate IT resources across a network,
allowing them to function as whole. It is more often used in scientific research and in
universities for educational purpose. For example, a group of architect students working on a
different project requires a specific designing tool and a software for designing purpose but
only couple of them got access to this designing tool, the problem is how they can make this
tool available to rest of the students. To make available for other students they will put this
designing tool on campus network, now the grid will connect all these computers in campus
network and allow student to use designing tool required for their project from anywhere.
Cloud computing and Grid computing is often confused, though there functions are almost
similar there approach for their functionality is different. Let see how they operate-
Cloud Computing Grid Computing
• Grid computing uses the available
• Cloud computing works more as a
resource and interconnected computer
service provider for utilizing
systems to accomplish a common
computer resource
goal
• Grid computing is a decentralized
• Cloud computing is a centralized model, where the computation could
model occur over many administrative
model
• A grid is a collection of computers
• Cloud is a collection of computers which is owned by a multiple parties
usually owned by a single party. in multiple locations and connected
• together so that users can share the
combined power of resources
• Cloud offers more services all most
all the services like web hosting, DB • Grid provides limited services
(Data Base) support and much more
• Cloud computing is typically • Grid computing federates the
provided within a single organization resources located within different
(eg : Amazon) organization.
Utility Computing Vs Cloud Computing
In our previous conversation in “Grid Computing” we have seen how electricity is supplied to
our house, also we do know that to keep electricity supply we have to pay the bill. Utility
Computing is just like that, we use electricity at home as per our requirement and pay the bill
accordingly likewise you will use the services for the computing and pay as per the use this is
known as ‘Utility computing’. Utility computing is a good source for small scale usage, it can
be done in any server environment and requires Cloud Computing.
Utility computing is the process of providing service through an on-demand, pay per use
billing method. The customer or client has access to a virtually unlimited supply of
computing solutions over a virtual private network or over the internet, which can be sourced
and used whenever it’s required. Based on the concept of utility computing , grid computing,
cloud computing and managed IT services are based.
Through utility computing small businesses with limited budget can easily use software like
CRM (Customer Relationship Management) without investing heavily on infrastructure to
maintain their clientele base.
Utility Computing Cloud Computing
• Cloud Computing also works like
utility computing, you pay only for
• Utility computing refers to the ability
what you use but Cloud Computing
to charge the offered services, and
might be cheaper, as such, Cloud
charge customers for exact usage
based app can be up and running in
days or weeks.
• Utility computing users want to be in • In cloud computing, provider is in
control of the geographical location complete control of cloud computing
of the infrastructure services and infrastructure
• Utility computing is more favorable • Cloud computing is great and easy to
when performance and selection use when the selection infrastructure
infrastructure is critical and performance is not critical
• Utility computing is a good choice for • Cloud computing is a good choice for
less resource demanding high resource demanding
• Utility computing refers to a business • Cloud computing refers to the
model underlying IT architecture
Security concerns for Cloud Computing
While using cloud computing, the major issue that concerns the users is about its security.
One concern is that cloud providers themselves may have access to customer’s unencrypted
data- whether it’s on disk, in memory or transmitted over the network.
Some countries government may decide to search through data without necessarily notifying
the data owner, depending on where the data resides, which is not appreciated and is
considered as a privacy breach (Example Prism Program by USA).
To provide security for systems, networks and data cloud computing service providers have
joined hands with TCG ( Trusted Computing Group) which is non-profit organization which
regularly releases a set of specifications to secure hardware, create self-encrypting drives and
improve network security. It protects the data from root kits and malware.
As computing has expanded to different devices like hard disk drives and mobile phones,
TCG has extended the security measures to include these devices. It provides ability to create
a unified data protection policy across all clouds.
Some of the trusted cloud services are Amazon, Box.net, Gmail and many others.
Privacy Concern & Cloud Computing
Privacy present a strong barrier for users to adapt into Cloud Computing systems
There are certain measures which can improve privacy in cloud computing.
1. The administrative staff of the cloud computing service could theoretically monitor
the data moving in memory before it is stored in disk.To keep the confidentiality of a
data, administrative and legal controls should prevent this from happening.
2. The other way for increasing the privacy is to keep the data encrypted at the cloud
storage site, preventing unauthorized access through the internet; even cloud vendor
can’t access the data either.
Case-Study of Cloud Computing- Royal Mail
• Subject of Case-Study:Using Cloud Computing for effective communication among
staff.
• Reason for using Cloud Computing:Reducing the cost made after communication
for 28,000 employees and to provide advance features and interface of e-mail services
to their employees.
Royal mail group, a postal service in U.K, is the only government organization in U.K that
serves over 24 million customers through its 12000 post offices and 3000 separate processing
sites. Its logistics systems and parcel-force worldwide handles around 404 million parcel a
year. And to do this they need an effective communicative medium. They have recognized
the advantage of Cloud Computing and implemented it to their system. It has shown an
outstanding performance in inter-communication.
Before moving on to Cloud system, the organization was struggling with the out-of-date
software, and due to which the operational efficiency was getting compromised. As soon as
the organization switched on to Cloud System, 28000 employees were supplied with their
new collaboration suite, giving them access to tools such as instant messaging and presence
awareness. The employees got more storage place than on local server. The employees
became much more productive.
Looking to the success of Cloud Computing in e-mail services and communication .The
second strategic move of Royal Mail Group, was to migrating from physical servers to virtual
servers, upto 400 servers to create a private cloud based on Microsoft hyper V. This would
give a fresh look and additional space to their employees desktop and also provides latest
modern exchange environment.
The hyper V project by RMG’s (Royal Mail Group) is estimated to save around 1.8 million
pound for them in future and will increase the efficiency of the organization’s internal IT
system.