Module-1 Notes
Module-1 Notes
Module I
Cloud Computing: History of Cloud Computing - Cloud Computing definition, private, public and
hybrid cloud. Cloud types : IaaS, PaaS, SaaS - Cloud Architecture - Cloud Storage - Why Cloud
Computing Matters - Advantages of Cloud Computing - Benefits and challenges of cloud computing,
public vs private clouds, role of virtualization in enabling the cloud - Disadvantages of Cloud
Computing - Benefits and challenges to Cloud architecture. Companies in the Cloud Today - Cloud
Services - Next generation Cloud Applications.
Cloud computing has been defined differently by many users and designers. For example, IBM, a
major player in cloud computing, has defined it as follows: “A cloud is a pool of virtualized
computer resources. A cloud can host a variety of different workloads, including batch-style
backend jobs and interactive and user-facing applications.” Based on this definition, a cloud allows
workloads to be deployed and scaled out quickly through rapid provisioning of virtual or physical
machines. The cloud supports redundant, self-recovering, highly scalable programming models that
allow workloads to recover from many unavoidable hardware/software failures. Finally, the cloud
system should be able to monitor resource use in real time to enable rebalancing of allocations
when needed.
Internet Clouds- Cloud computing applies a virtualized platform with elastic resources on demand
by provisioning hardware, software, and data sets dynamically as in the Figure. The idea is to move
desktop computing to a service-oriented platform using server clusters and huge databases at data
centers. Cloud computing leverages its low cost and simplicity to benefit both users and providers.
Machine virtualization has enabled such cost-effectiveness. Cloud computing intends to satisfy
many user applications simultaneously. The cloud ecosystem must be designed to be secure,
trustworthy, and dependable. Some computer users think of the cloud as a centralized resource
pool. Others consider the cloud to be a server cluster which practices distributed computing over all
If a single user wants to access specific data or run a program, he/she need to connect to the server and then gain
appropriate access, and then he/she can do his/her business.
Then after, distributed computing came into picture, where all the computers are networked together and share
their resources when needed.On the basis of above computing, there was emerged of cloud computing concepts
that later implemented.
At around in 1961, John MacCharty suggested in a speech at MIT that computing can be sold like a utility, just
like a water or electricity. It was a brilliant idea, but like all brilliant ideas, it was ahead if its time, as for the next
few decades, despite interest in the model, the technology simply was not ready for it.
In 1999, Salesforce.com started delivering of applications to users using a simple website. The applications were
delivered to enterprises over the Internet, and this way the dream of computing sold as utility were true.
In 2002, Amazon started Amazon Web Services, providing services like storage, computation and even human
intelligence. However, only starting with the launch of the Elastic Compute Cloud in 2006 a truly commercial
service open to everybody existed.
In 2009, Google Apps also started to provide cloud computing enterprise applications.
All the big players are present in the cloud computing evolution, some were earlier, some were later. In
2009, Microsoft launched Windows Azure, and companies like Oracle and HP have all joined the game. This
proves that today, cloud computing has become mainstream.
Small as well as large IT companies, follow the traditional methods to provide the IT infrastructure. That
means for any IT company, we need a Server Room that is the basic need of IT companies.
In that server room, there should be a database server, mail server, networking, firewalls, routers, modem,
switches, QPS (Query Per Second means how much queries or load will be handled by the server), configurable
system, high net speed, and the maintenance engineers.
To establish such IT infrastructure, we need to spend lots of money. To overcome all these problems and to reduce
the IT infrastructure cost, Cloud Computing comes into existence.
1) Agility
The cloud works in a distributed computing environment. It shares resources among users and works very fast.
The availability of servers is high and more reliable because the chances of infrastructure failure are minimum.
3) High Scalability
Cloud offers "on-demand" provisioning of resources on a large scale, without having engineers for peak loads.
4) Multi-Sharing
With the help of cloud computing, multiple users and applications can work more efficiently with cost
reductions by sharing common infrastructure.
6) Maintenance
Maintenance of cloud computing applications is easier, since they do not need to be installed on each user's
computer and can be accessed from different places. So, it reduces the cost also.
7) Low Cost
By using cloud computing, the cost will be reduced because to take the services of cloud computing, IT company
need not to set its own infrastructure and pay-as-per usage of resources.
Application Programming Interfaces (APIs) are provided to the users so that they can access services on the
cloud by using these APIs and pay the charges as per the usage of services.
Once the data is stored in the cloud, it is easier to get back-up and restore that data using the cloud.
2) Improved collaboration
Cloud applications improve collaboration by allowing groups of people to quickly and easily share information in
the cloud via shared storage.
3) Excellent accessibility
Cloud allows us to quickly and easily access store information anywhere, anytime in the whole world, using an
internet connection. An internet cloud infrastructure increases organization productivity and efficiency by ensuring
that our data is always accessible.
Cloud computing reduces both hardware and software maintenance costs for organizations.
5) Mobility
Cloud computing allows us to easily access all cloud data via mobile.
Cloud computing offers Application Programming Interfaces (APIs) to the users for access services on the cloud
and pays the charges as per the usage of service.
Cloud offers us a huge amount of storing capacity for storing our important data such as documents, images,
audio, video, etc. in one place.
8) Data security
Data security is one of the biggest advantages of cloud computing. Cloud offers many advanced features related to
security and ensures that data is securely stored and handled.
1) Internet Connectivity
As you know, in cloud computing, every data (image, audio, video, etc.) is stored on the cloud, and we access
these data through the cloud by using the internet connection. If you do not have good internet connectivity, you
cannot access these data. However, we have no any other way to access data from the cloud.
2) Vendor lock-in
Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may face problems when
transferring their services from one vendor to another. As different vendors provide different platforms, that can
cause difficulty moving from one cloud to another.
3) Limited Control
As we know, cloud infrastructure is completely owned, managed, and monitored by the service provider, so the
cloud users have less control over the function and execution of services within a cloud infrastructure.
4) Security
Although cloud service providers implement the best security standards to store important information. But, before
adopting cloud technology, you should be aware that you will be sending all your organization's sensitive
information to a third party, i.e., a cloud computing service provider. While sending the data on the cloud, there
may be a chance that your organization's information is hacked by Hackers.
o Front End
o Back End
The front end is used by the client. It contains client-side interfaces and applications that are required to access the
cloud computing platforms. The front end includes web servers (including Chrome, Firefox, internet explorer,
etc.), thin & fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to provide cloud
computing services. It includes a huge amount of data storage, security mechanism, virtual machines, deploying
models, servers, traffic control mechanisms, etc.
1. Client Infrastructure- Client Infrastructure is a Front end component. It provides GUI (Graphical User
Interface) to interact with the cloud.
2. Application- The application may be any software or platform that a client wants to access.
3. Service- A Cloud Services manages that which type of service you access according to the client’s requirement.
i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS applications run
directly through the web browser means we do not require to download and install these applications. Some
important example of SaaS is given below –
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar to SaaS, but the
difference is that PaaS provides a platform for software creation, but using SaaS, we can access software over the
internet without the need of any platform.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is responsible for
managing applications data, middleware, and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco Metapod.
4. Runtime Cloud-Runtime Cloud provides the execution and runtime environment to the virtual machines.
5. Storage-Storage is one of the most important components of cloud computing. It provides a huge amount of
storage capacity in the cloud to store and manage data.
6. Infrastructure-It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network devices, virtualization
software, and other storage resources that are needed to support the cloud computing model.
7. Management-Management is used to manage components such as application, service, runtime cloud, storage,
infrastructure, and other security issues in the backend and establish coordination between them.
8. Security-Security is an in-built back end component of cloud computing. It implements a security mechanism
in the back end.
9. Internet-The Internet is medium through which front end and back end can interact and communicate with each
other.
But, there may be an alternative for executives like you. So, instead of installing a suite of software for each
computer, you just need to load one application. That application will allow the employees to log-in into a Web-
based service which hosts all the programs for the user that is required for his/her job. Remote servers owned by
another company and that will run everything from e-mail to word processing to complex data analysis programs.
It is called cloud computing, and it could change the entire computer industry.
In a cloud computing system, there is a significant workload shift. Local computers have no longer to do all the
heavy lifting when it comes to run applications. But cloud computing can handle that much heavy load easily and
automatically. Hardware and software demands on the user's side decrease. The only thing the user's computer
requires to be able to run is the cloud computing interface software of the system, which can be as simple as a
Web browser and the cloud's network takes care of the rest.
The most widely used cloud computing applications are given below -
1. Art Applications
Cloud computing offers various art applications for quickly and easily design attractive cards,
booklets, and images. Some most commonly used cloud art applications are given below:
i . Moo
Moo is one of the best cloud art applications. It is used for designing and printing business cards, postcards, and
mini cards.
ii. Vistaprint
Vistaprint allows us to easily design various printed marketing products such as business cards, Postcards,
Booklets, and wedding invitations cards.
Adobe creative cloud is made for designers, artists, filmmakers, and other creative professionals. It is a suite of
apps which includes PhotoShop image editing programming, Illustrator, InDesign, TypeKit, Dreamweaver, XD,
and Audition.
2. Business Applications
Business applications are based on cloud service providers. Today, every organization requires the cloud business
application to grow their business. It also ensures that business applications are 24*7 available to users.
i. MailChimp
MailChimp is an email publishing platform which provides various options to design, send, and save templates
for emails.
iii. Salesforce
Salesforce platform provides tools for sales, service, marketing, e-commerce, and more. It also provides a cloud
development platform.
iv. Chatter
Chatter helps us to share important information about the organization in real time.
v. Bitrix24
Bitrix24 is a collaboration platform which provides communication, management, and social collaboration tools.
vi. Paypal
Paypal offers the simplest and easiest online payment mode using a secure internet account. Paypal accepts the
payment through debit cards, credit cards, and also from Paypal account holders.
vii. Slack
Slack stands for Searchable Log of all Conversation and Knowledge. It provides a user-friendly interface that
helps us to create public and private channels for communication.
viii. Quickbooks
Quickbooks works on the terminology "Run Enterprise anytime, anywhere, on any device." It provides online
accounting solutions for the business. It allows more than 20 users to work simultaneously on the same system.
Cloud computing allows us to store information (data, files, images, audios, and videos) on the cloud and access
this information using an internet connection. As the cloud provider is responsible for providing security, so they
offer various backup recovery application for retrieving the lost data.
A list of data storage and backup applications in the cloud are given below -
i. Box.com
Box provides an online environment for secure content management, workflow, and collaboration. It allows us
to store different files such as Excel, Word, PDF, and images on the cloud. The main advantage of using box is
that it provides drag & drop service for files and easily integrates with Office 365, G Suite, Salesforce, and more
than 1400 tools.
ii. Mozy
Mozy provides powerful online backup solutions for our personal and business data. It schedules automatically
back up for each day at a specific time.
iii. Joukuu
Joukuu provides the simplest way to share and track cloud-based backup files. Many users use joukuu to search
files, folders, and collaborate on documents.
Google G Suite is one of the best cloud storage and backup application. It includes Google Calendar, Docs,
Forms, Google+, Hangouts, as well as cloud storage and tools for managing cloud apps. The most popular app in
the Google G Suite is Gmail. Gmail offers free email services to users.
4. Education Applications
Cloud computing in the education sector becomes very popular. It offers various online distance learning
platforms and student information portals to the students. The advantage of using cloud in the field of
education is that it offers strong virtual classroom environments, Ease of accessibility, secure data storage,
scalability, greater reach for the students, and minimal hardware requirements for the applications.
Google Apps for Education is the most widely used platform for free web-based email, calendar, documents, and
collaborative study.
Chromebook for Education is one of the most important Google's projects. It is designed for the purpose that it
enhances education innovation.
It allows educators to quickly implement the latest technology solutions into the classroom and make it available
to their students.
AWS cloud provides an education-friendly environment to universities, community colleges, and schools.
5. Entertainment Applications
Entertainment industries use a multi-cloud strategy to interact with the target audience. Cloud computing offers
various entertainment applications such as online games and video conferencing.
i. Online games
Today, cloud gaming becomes one of the most important entertainment media. It offers various online games that
run remotely from the cloud. The best cloud gaming services are Shaow, GeForce Now, Vortex, Project xCloud,
and PlayStation Now.
Video conferencing apps provides a simple and instant connected experience. It allows us to communicate with
our business partners, friends, and relatives using a cloud-based video conferencing. The benefits of using video
conferencing are that it reduces cost, increases efficiency, and removes interoperability.
6. Management Applications
Cloud computing offers various cloud management tools which help admins to manage all types of cloud
activities, such as resource deployment, data integration, and disaster recovery. These management tools also
provide administrative control over the platforms, applications, and infrastructure.
i. Toggl
Toggl helps users to track allocated time period for a particular project.
ii. Evernote
Evernote allows you to sync and save your recorded notes, typed notes, and other notes in one convenient place. It
is available for both free as well as a paid version.
It uses platforms like Windows, macOS, Android, iOS, Browser, and Unix.
iii. Outright
Outright is used by management users for the purpose of accounts. It helps to track income, expenses, profits, and
losses in real-time environment.
iv. GoToMeeting
GoToMeeting provides Video Conferencing and online meeting apps, which allows you to start a meeting with
your business partners from anytime, anywhere using mobile phones or tablets. Using GoToMeeting app, you can
perform the tasks related to the management such as join meetings in seconds, view presentations on the shared
screen, get alerts for upcoming meetings, etc.
7. Social Applications
Social cloud applications allow a large number of users to connect with each other using social networking
applications such as Facebook, Twitter, Linkedln, etc.
i. Facebook
Facebook is a social networking website which allows active users to share files, photos, videos, status, more to
their friends, relatives, and business partners using the cloud storage system. On Facebook, we will always get
notifications when our friends like and comment on the posts.
ii. Twitter
Twitter is a social networking site. It is a microblogging system. It allows users to follow high profile celebrities,
friends, relatives, and receive news. It sends and receives short posts called tweets.
iii. Yammer
Yammer is the best team collaboration tool that allows a team of employees to chat, share images, documents,
and videos.
iv. LinkedIn
Some most common Security Risks of Cloud Computing are given below-
Data Loss
Data loss is the most common cloud security risks of cloud computing. It is also known as data leakage. Data loss
is the process in which data is being deleted, corrupted, and unreadable by a user, software, or application. In a
cloud computing environment, data loss occurs when our sensitive data is somebody else's hands, one or more
data elements can not be utilized by the data owner, hard disk is not working properly, and software is not
updated.
As we all know, cloud computing is completely depends on Internet, so it is compulsory to protect interfaces and
APIs that are used by external users. APIs are the easiest way to communicate with most of the cloud services. In
cloud computing, few services are available in the public domain. These services can be accessed by third parties,
so there may be a chance that these services easily harmed and hacked by hackers.
Data Breach
Data Breach is the process in which the confidential data is viewed, accessed, or stolen by the third party without
any authorization, so organization's data is hacked by the hackers.
Vendor lock-in
Vendor lock-in is the of the biggest security risks in cloud computing. Organizations may face problems when
transferring their services from one vendor to another. As different vendors provide different platforms, that can
cause difficulty moving one cloud to another.
Migrating, integrating, and operating the cloud services is complex for the IT staff. IT staff must require the extra
capability and skills to manage, integrate, and maintain the data to the cloud.
Spectre & Meltdown allows programs to view and steal data which is currently processed on computer. It can run
on personal computers, mobile devices, and in the cloud. It can store the password, your personal information such
as images, emails, and business documents in the memory of other running programs.
Denial of service (DoS) attacks occur when the system receives too much traffic to buffer the server. Mostly, DoS
attackers target web servers of large organizations such as banking sectors, media companies, and government
organizations. To recover the lost data, DoS attackers charge a great deal of time and money to handle the data.
Account hijacking
Account hijacking is a serious security risk in cloud computing. It is the process in which individual user's or
organization's cloud account (bank account, e-mail account, and social media account) is stolen by hackers. The
hackers use the stolen account to perform unauthorized activities.
Types of Cloud
There are the following 4 types of cloud that you can deploy according to the organization's needs-
o Public Cloud
o Private Cloud
o Hybrid Cloud
o Community Cloud
Public Cloud
o Public Cloud provides a shared platform that is accessible to the general public through an Internet
connection.
o Public cloud operated on the pay-as-per-use model and administrated by the third party, i.e., Cloud
service provider.
o In the Public cloud, the same storage is being used by multiple users at the same time.
o Public cloud is owned, managed, and operated by businesses, universities, government organizations, or
a combination of them.
o Amazon Elastic Compute Cloud (EC2), Microsoft Azure, IBM's Blue Cloud, Sun Cloud, and Google
Cloud are examples of the public cloud.
Advantages of Public Cloud
1) Low Cost
Public cloud has a lower cost than private, or hybrid cloud, as it shares the same resources with a large number of
consumers.
2) Location Independent
Public cloud is location independent because its services are offered through the internet.
3) Save Time
In Public cloud, the cloud service provider is responsible for the manage and maintain data centers in which data is
stored, so the cloud user can save their time to establish connectivity, deploying new products, release product
updates, configure, and assemble servers.
Organizations can easily buy public cloud on the internet and deployed and configured it remotely through the
cloud service provider within a few hours.
5) Business Agility
Public cloud provides an ability to elastically re-size computer resources based on the organization's requirements.
Public cloud offers scalable (easy to add and remove) and reliable (24*7 available) services to the users at an
affordable cost.
2) Performance
In the public cloud, performance depends upon the speed of internet connectivity.
3) Less customizable
Private Cloud
o Private cloud is also known as an internal cloud or corporate cloud.
o Private cloud provides computing services to a private internal network (within the
organization) and selected users instead of the general public.
o Private cloud provides a high level of security and privacy to data through firewalls and internal hosting.
It also ensures that operational and sensitive data are not accessible to third-party providers.
o HP Data Centers, Microsoft, Elastra-private cloud, and Ubuntu are the example of a private cloud.
1) More Control
Private clouds have more control over their resources and hardware than public clouds because it is only accessed
by selected users.
2) Security & privacy
Security & privacy are one of the big advantages of cloud computing. Private cloud improved the security level as
compared to the public cloud.
3) Improved performance
Private cloud offers better performance with improved speed and space capacity.
1) High cost
The cost is higher than a public cloud because set up and maintain hardware resources are costly.
As we know, private cloud is accessible within the organization, so the area of operations is limited.
3) Limited scalability
Private clouds are scaled only within the capacity of internal hosted resources.
4) Skilled people
Hybrid Cloud
o Hybrid cloud is a combination of public and private clouds.
Hybrid cloud = public cloud + private cloud
o The main aim to combine these cloud (Public and Private) is to create a unified, automated, and well-
managed computing environment.
o In the Hybrid cloud, non-critical activities are performed by the public cloud and critical activities are
performed by the private cloud.
o Mainly, a hybrid cloud is used in finance, healthcare, and Universities.
o The best hybrid cloud provider companies are Amazon, Microsoft, Google, Cisco, and NetApp.
Advantages of Hybrid Cloud
It provides flexible resources because of the public cloud and secure resources because of the private cloud.
2) Cost effective
Hybrid cloud costs less than the private cloud. It helps organizations to save costs for both infrastructure and
application support.
3) Cost effective
It offers the features of both the public as well as the private cloud. A hybrid cloud is capable of adapting to the
demands that each company needs for space, memory, and system.
4) Security
Hybrid cloud is secure because critical activities are performed by the private cloud.
5) Risk Management
Hybrid cloud provides an excellent way for companies to manage the risk.
1) Networking issues
In the Hybrid Cloud, networking becomes complex because of the private and the public cloud.
2) Infrastructure Compatibility
Infrastructure compatibility is the major issue in a hybrid cloud. With dual-levels of infrastructure, a private cloud
controls the company, and a public cloud does not, so there is a possibility that they are running in separate stacks.
3) Reliability
Community Cloud
Community cloud is a cloud infrastructure that allows systems and services to be accessible by a group of several
organizations to share the information. It is owned, managed, and operated by one or more organizations in the
community, a third party, or a combination of them.
Example: Our government organization within India may share computing infrastructure in the cloud to manage
data.
Cost effective
Community cloud is cost effective because the whole cloud is shared between several organizations or a
community.
The community cloud is flexible and scalable because it is compatible with every user. It allows the users to
modify the documents as per their needs and requirement.
Security
Community cloud is more secure than the public cloud but less secure than the private cloud.
Sharing infrastructure
Community cloud allows us to share cloud resources, infrastructure, and other capabilities among various
organizations.
Difference between public cloud, private cloud, hybrid cloud, and community cloud -
The below table shows the difference between public cloud, private cloud, hybrid cloud, and community cloud.
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud computing platform. It
allows customers to outsource their IT infrastructures such as servers, networking, processing, storage, virtual
machines, and other resources. Customers access these resources on the Internet using a pay-as-per use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time, with pre-determined
hardware configuration. The client paid for the configuration and time, regardless of the actual use. With the help
of the IaaS cloud computing platform layer, clients can dynamically scale the configuration to meet changing
requirements and are billed only for the services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that the infrastructure
resides at the customer-premise. In the case of public cloud, it is located at the cloud computing platform vendor's
data center, and the hybrid cloud is a combination of the two in which the customer selects the best of both public
cloud or private cloud.
1. Compute: Computing as a Service includes virtual central processing units and virtual main memory for
the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as routers, switches, and
bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Advantages of IaaS cloud computing layer
1. Shared infrastructure- IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources- Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model- IaaS providers provide services based on the pay-as-per-use basis. The users are
required to pay for what they have used.
4. Focus on the core business- IaaS providers focus on the organization's core business rather than on IT
infrastructure.
5. On-demand scalability- On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do
not worry about to upgrade software and troubleshoot the issues related to hardware components.
1. Security- Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide 100%
security.
2. Maintenance & Upgrade- Although IaaS service providers maintain the software, but they do not upgrade the
software for some organizations.
3. Interoperability issues- It is difficult to migrate VM from one IaaS provider to the other, so the customers
might face problem related to vendor lock-in.
IaaS cloud computing platform cannot replace the traditional hosting method, but it provides more than that, and
each resource which are used are predictable as per the usage.
IaaS cloud computing platform may not eliminate the need for an in-house IT department. It will be needed to
monitor or control the IaaS setup. IT salary expenditure might not reduce significantly, but other IT expenses can
be reduced.
Breakdowns at the IaaS cloud computing platform vendor's can bring your business to the halt stage. Assess the
IaaS cloud computing platform vendor's stability and finances. Make sure that SLAs (i.e., Service Level
Agreement) provide backups for data, hardware, network, and application failures. Image portability and third-
party support is a plus point.
The IaaS cloud computing platform vendor can get access to your sensitive data. So, engage with credible
companies or organizations. Study their security policies and precautions.
Top Iaas Providers who are providing IaaS cloud computing platform
Amazon Web Elastic, Elastic Compute The cloud computing platform pioneer,
Services Cloud (EC2) Amazon offers auto scaling, cloud
MapReduce, Route 53, monitoring, and load balancing features
Virtual Private Cloud, as part of its portfolio.
etc.
Platform as a Service (PaaS): This model enables the user to deploy user-built applications onto a
virtualized cloud platform. PaaS includes middleware, databases, development tools, and some runtime
support such as Web 2.0 and Java. The platform includes both hardware and software integrated with
specific programming interfaces. The provider supplies the API and software tools (e.g., Java, Python,
Web 2.0, .NET). The user is freed from managing the cloud infrastructure.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware, development tools,
database management systems, business intelligence, and more) to support the web application life cycle.
PaaS providers provide the Programming languages, Application frameworks, Databases, and Other tools:
1. Programming languages
PaaS providers provide various programming languages for the developers to develop the applications. Some
popular programming languages provided by PaaS providers are Java, PHP, Ruby, Perl, and Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand the application development. Some popular
application frameworks provided by PaaS providers are Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack,
and Zend.
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to communicate
with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the applications.
Advantages of PaaS
1) Simplified Development
PaaS allows developers to focus on development and innovation without worrying about infrastructure
management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only need a PC and an internet connection
to start building applications.
Some PaaS vendors also provide already defined business functionality so that users can avoid building everything
from very scratch and hence can directly start the projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get the ideas to share experiences
and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes to the applications.
Disadvantages of PaaS cloud computing layer
1) Vendor lock-in
One has to write the applications according to the platform provided by the PaaS vendor, so the migration of an
application to another PaaS vendor would be a problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not located within the walls of the
company, there can be a risk in terms of privacy of data.
It may happen that some applications are local, and some are in the cloud. So there will be chances of increased
complexity when we want to use data which in the cloud with the local data.
The below table shows some popular PaaS providers and services that are provided by them -
Providers Services
Google App Engine App Identity, URL Fetch, Cloud storage client library,
(GAE) Logservice
Software as a Service (SaaS) This refers to browser-initiated application software over thousands of paid
cloud customers. The SaaS model applies to business processes, industry applications, consumer
relationship management (CRM), enterprise resources planning (ERP), human resources (HR), and
collaborative applications. On the customer side, there is no upfront investment in servers or software
licensing. On the provider side, costs are rather low, compared with conventional hosting of user
applications.
Business Services - SaaS Provider provides various business services to start-up the business. The SaaS business
services include ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), billing,
and sales.
Document Management - SaaS document management is a software application offered by a third party (SaaS
providers) to create, manage, and track electronic documents.
Social Networks - As we all know, social networking sites are used by the general public, so social networking
service providers use SaaS for their convenience and handle the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-mail providers
offering their services using SaaS.
Advantages of SaaS cloud computing layer
1) SaaS is easy to buy
SaaS pricing is based on a monthly fee or annual fee subscription, so it allows organizations to access business
functionality at a low cost, which is less than licensed applications.
Unlike traditional software, which is sold as a licensed based with an up-front cost (and often an optional ongoing
support fee), SaaS providers are generally pricing the applications using a subscription fee, most commonly a
monthly or annually fee.
2. One to Many- SaaS services are offered as a one-to-many model means a single instance of the application is
shared by multiple users.
3. Less hardware required for SaaS- The software is hosted remotely, so organizations do not need to invest in
additional hardware.
4. Low maintenance required for SaaS- Software as a service removes the need for installation, set-up, and daily
maintenance for the organizations. The initial set-up cost for SaaS is typically less than the enterprise software.
SaaS vendors are pricing their applications based on some usage parameters, such as a number of users using the
application. So SaaS does easy to monitor and automatic updates.
5. No special software or hardware versions required- All users will have the same version of the software and
typically access it through the web browser. SaaS reduces IT support costs by outsourcing hardware and software
maintenance and support to the IaaS provider.
6. Multidevice support- SaaS services can be accessed from any device such as desktops, laptops, tablets, phones,
and thin clients.
7. API Integration- SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation- SaaS services are accessed directly from the service provider using the internet
connection, so do not need to require any software installation.
Disadvantages of SaaS cloud computing layer
1) Security
Actually, data is stored in the cloud, so security may be an issue for some users. However, cloud computing is not
more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-user, there is a possibility
that there may be greater latency when interacting with the application compared to local deployment. Therefore,
the SaaS model is not suitable for applications whose demand response time is in milliseconds.
Switching SaaS vendors involves the difficult and slow task of transferring the very large data files over the
internet and then converting and importing them into another SaaS also.
The below table shows some popular SaaS providers and services that are provided by them -
Provider Services
The concept of Virtualization in cloud computing increases the use of virtual machines. A virtual machine is a
software computer or software program that not only works as a physical computer but can also function as a
physical machine and perform tasks such as running applications or programs as per the user's demand.
Virtualization software allows multiple operating systems and applications to run on the same server at the same
time, and, as a result, lowers costs and increases efficiency of a company’s existing hardware. It’s a fundamental
technology that powers Everything-as-a-Service model of computing.
Virtualization primarily refers to sharing all hardware resources while running several operating systems on a
single machine. Additionally, it aids in providing a pool of IT resources that we may share for mutually beneficial
business outcomes. Cloud computing is built on the virtualization technique, making it possible to use actual
computer hardware more effectively.
Through software, virtualization can divide the hardware components of a single computer, such as its processors,
memory, storage, and other components, into several virtual computers, also known as virtual machines (VMs).
Despite only using a small percentage of the underlying computer hardware, each virtual machine (VM) runs its
operating system (OS) and functions as a separate computer. As a result, virtualization allows for a more
significant return on an organization’s hardware investment and more effective use of physical computer systems.
Today, enterprise IT architecture uses virtualization as a best practise. The economics of cloud computing are
likewise based on this technology. Cloud users can buy only the computing resources they require at the time they
need them, and they can scale those resources affordably as their workloads increase thanks to virtualization,
which enables cloud providers to provide services using their existing physical computer hardware.
A single user of a personal computer can access all of the data and computing power of the device. In contrast,
cloud computing involves many users engaging with resources that may be found on a single physical server.
The primary function of virtualization technology is to give standard versions of applications to cloud users; if the
next version of that application is released, the cloud provider must give those users the most recent version,
which is technically feasible because it is more expensive.
To solve this issue, virtualization technology is being used. With virtualization, all servers and software programs
needed by other cloud providers are maintained by outside parties, who are paid monthly or annually by the cloud
providers.
Cloud providers employ virtualization to create environments that can fulfill each user’s unique needs. Cloud
providers can spin up more virtual instances to meet demand as more users come in. Virtualization is an efficient
way of managing computing resources, maximizing utilization, and minimizing downtime.