Keywords

1 Introduction

Cloud computing emerged as engine of enterprise technology innovation for delivering and hosting services on the internet. The end users of a cloud computing network usually have no idea where the servers are physically located, they just spin up their application and start working. One of the main advantage of cloud computing is that it allows anyone to deploy their services within few minutes and provides a service worldwide [1]. Cloud computing is considered as global network metaphor, previously telephone networks were considered as cloud but now cloud used in reference to represent the internet as a whole [2]. In short cloud computing is known as delivery model for often virtualized computing resources of various servers, applications, data and other resources that are integrated with each other and provided as a service on the Internet.

Major Uses of Cloud Computing:

Cloud computing has reshaped business models to gain benefit from this new IT paradigm. Indeed, cloud computing provides several compelling features that make it attractive to businesses. Probably everyone using cloud computing right now, even if they don’t realize that. Using an online facility to send or receive emails, editing of online documents, watching television or movies online, listening online music, playing games on internet or storing pictures and other files on online drives, is likely made possible by cloud computing behind the scenes. The first ever cloud computing facilities are barely more than a decade old [3]. Cloud computing may be attributed being a recent research topic. Research on cloud structures, processes and qualification of businesses employees to govern cloud services is at infancy [4]. But already a variety of firms from tiny start-ups to global corporate, government organizations to non-profits are implementing the technology for all sorts of reasons. Here are a few of the uses of cloud computing (Fig. 1):

Fig. 1.
figure 1

Logical explanation of cloud computing

  • Hosting websites and blogs

  • Creation of new apps and services

  • Streaming audio and video content

  • Storing, backing up and recovering data

  • Delivering software on demand services

  • Analyses of data patterns to make predictions

Web-hosting is the process of acquiring remote servers that allows to post a website or web page on the Internet. A web host is a business responsible to provide the technologies and services required for the website to be viewed onto Internet. Traditional web-hosting provides cost efficient solution to host the website low-cost maintenance. But, along with these advantages, it also has downsides of performance degradation and single point of failure etc. Currently, cloud based web hosting is the most innovative hosting technology available to businesses that allows the website to be hosted on multiple virtual machines that act as one system [5].

2 Services Architecture

Cloud Computing services are generally divided into three broader categories which is also known as cloud computing stack, because these services are built on top of one another: (1) infrastructure as a service (IaaS), (2) platform as a service (PaaS) and (3) software as a service (SaaS). With the advantage of these three types of services, a cloud platform can provide highly scalable services for end-users.

Infrastructure-as-a-service (IaaS):

IaaS is known as most basic building block of cloud computing services stack. Infrastructure-as-a-service is a form of hosting which includes routing services, network access, and storage. With IaaS, user rent IT infrastructure servers and virtual machines (VMs), storage, networks, operating systems from a cloud provider on a pay-as-you-go basis [6] Examples: Microsoft Azure, GoGrid.

Platform-as-a-service (PaaS):

PaaS provide cloud computing services in an on-demand environment for developing, testing, delivering and managing software applications and for that it is also known as cloud-ware. Platform-as-a-Service is designed for developers to quickly and easily create web or mobile applications, without worrying about tedious process of installing or managing the software needed for development application. Normally developers select PaaS platforms to host their applications for administration and management tasks [7] Examples: Google App Engine, ForceCom.

Software-as-a-service (SaaS):

SaaS is a method which referred to deliver software applications on demand and typically on a subscription basis over the Internet. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their smartphone, tablet or PC [8] Examples: SalesForce, RackSpace (Fig. 2).

Fig. 2.
figure 2

Cloud services stack layers

In this paper we will discuss about IaaS platform and the transformation of traditional web hosting solution to IaaS based hosting solution.

In a traditional web hosting environment host have to manage and take care of on-premise software and hardware services like Networking, Storage, Servers, Virtualization, Operating system, Middleware, Data and Application. The creation of hosting services on a virtual rather a physical version of a computing resources which include server hardware, operating system(OS), storage devices and so forth is known as Virtual Web-Hosting. While using Infrastructure as a service(IaaS) model of cloud computing host can get rid of hardware infrastructure requirement and have to only mange soft services like Operating System, Middleware, Data and Application etc. See Table 1.

Table 1. Traditional Vs hosting on IaaS

3 Characteristics and Benefits

Microsoft Azure, Amazon S3 and Google Cloud are leading Cloud Service Providers(CSP) which offers different types of services for storage (For Example: blob, block, file, etc.) with different prices for at least two classes of storage services: Standard Storage (SS) and Reduced Redundancy Storage (RSS) [9]. Web-hosting on IaaS model of Cloud Computing have several salient feature and essential characteristics which are different from traditional hosting environments [10]: (1) on-demand self-service, (2) broad network access, (3) shared resource pooling, (4) rapid elasticity, and (5) measured service (Table 2).

Table 2. CSP pricing in US $

Benefits of Hosting on IaaS:

  • IaaS circumvents up-front investment of setting and maintaining an on-site datacenter.

  • Hosting on IaaS provides much more flexibility than traditional web-hosting.

  • Services hosted on IaaS are generally web-based. Therefore, they can be easily accessible through any smart device with Internet connection.

  • With IaaS there is no need to worry about hardware failure, troubleshooting hardware problems or any system updates.

  • IaaS allows to decoupling and separation of the business service from the IT infrastructure.

  • IaaS normally use Geo-distribution and ubiquitous network access which eliminates single point of failure.

  • Resources can be allocated or de-allocate easily so service providers can acquire resources only as per current demand.

  • IaaS hosting operationally efficient, and allow more rapid deployment of new services which eventually reduce cost.

4 State of the Art Implementation and Challenges

In this section we will discuss dominant commercial competitors and state of the art implementation of virtual web hosting on infrastructure as a service (IaaS) with research challenges:

4.1 Commercial Competitors

Currently there are three major competitors in the cloud computing market such as Windows Azure, App Engine and Amazon.

  1. A.

    Windows Azure Cloud Platform by Microsoft:

Microsoft Windows Azure is a comprehensive set of cloud computing services that IT professionals and developers use to build, deploy and manage applications through Microsoft network of global datacenters [11]. Microsoft Windows Azure have integrated tools, DevOps and an Azure marketplace which support IT professionals and developers in efficiently building web-scale solutions. Microsoft window azure provides a consistent and unique platform across clouds which can be further divided into four layers in terms of End-user experience, Unified Application Model, Services and Cloud Infrastructure [12].

Microsoft’s Window Azure platform comprises of three major components and each component is responsible to provides a specific set of cloud services to users. Microsoft Azure offers a Windows based environment for running cloud based applications and storing application data on servers in global datacenters; Azure SQL offers cloud based data services on SQL Server. Distributed infrastructure services to cloud-based and local applications provided by .Net.

Azure cloud platform can be used by both applications on the cloud and applications on local systems. Fabric Controller Software is used to monitored all of the physical resources, Virtual Machines and applications in the datacenter. The users upload a configuration file with each of its application that provides an XML-based description of what the application needs. Fabric controller decides where new applications should run, choosing physical servers to optimize hardware utilization based on that XML configuration file [13].

  1. B.

    App Engine Cloud Platform by Google:

Google App Engine is a fully managed cloud platform that completely abstracts away infrastructure requirement and usually used for traditional web based applications in google managed data centers. Google App-engine allows developers to build modern mobile and web applications on an open cloud platform managed by google, it allows users to bring their own language runtimes, third-party libraries and frameworks. Google App Engine goes out of the box to supports multiple languages including Node.js, Java, C#, Ruby, Go, Python, and PHP. Programmers from these languages can be immediately productive in a familiar environment [14].

Google App-Engine provide automatic scaling for web applications as the number of requests increases for an application, App-Engine automatically assigns more resources for that application to knob the additional demand [15]. Google app engine provide state of the art advantages like Automatic Scaling, Quickly Start and build faster, Automatic Security Scanning for applications hosted on Google Cloud datacenters.

  1. C.

    AWS Cloud Platform by Amazon:

AWS (Amazon Web Services) is a platform which provides on-demand cloud computing services to end-users i.e. individuals and organizations. Amazon Web Services also own its own marketplace which offer free and paid software products that run on AWS tier [16]. Amazon Web Services (AWS) Cloud provides broad range of infrastructure services, such as compute power, storage services, networking and databases which are delivered as a utility: on-demand, available in seconds, with pay-as-you-go pricing model. From Directories to content delivery, data warehousing to deployment tools, around ninety AWS services are available to end-users.

AWS services can be provisioned quickly, without upfront expense. This allows enterprises, start-ups, businesses, and public sector customers to access the building blocks they need to meet business requirements [17]. Amazon Elastic Compute Cloud (aka: Amazon EC2) is a web based cloud service designed for developers to make web-scale computing easier. EC2 provides secure and resizable compute capacity in the cloud. AWS (Amazon Web Services) batch job dynamically provision optimal quantity and type of compute resources (e.g., CPU or memory-optimized instances) based on volume and specific resource requirements (Table 3).

Table 3. Representative commercial products comparison

4.2 Implementation

In this section we will discuss state of the art implementation of Virtual Web-Hosting on Infrastructure as a Service model of Microsoft Windows Azure Cloud.

Infrastructure:

For running virtual web-hosting over Infrastructure as a Service(IaaS) model of Microsoft Windows Azure Cloud we need create a virtual machine on Azure Portal [18]. Microsoft offers wide range of Virtual Machine sizes with variety of feature. The virtual machine we use for this paper have the specifications mentioned in below table (Table 4):

Table 4. Virtual machine configurations with parameters

After successful creation of virtual machine with above parameters we install Ubuntu [19] 14.04 LTS Operating System(OS) on our virtual machine. For running successful web hosting on VM we need to install different software such as HTTP server and Web-Hosting control panel. Details of software installed with their version is given below (Fig. 3 and Table 5):

Fig. 3.
figure 3

Virtual web-hosting business model

Table 5. Software description

Tools:

For installation of above mentioned software’s to successfully implement virtual web hosting business model with respect to a Computer System(PC) [25] following tools are used.

  • Putty SSH [26]

  • WinSCP [27]

  • FileZilla [28]

  • Adobe Photoshop CS6 [29]

  • NetBeans [30]

Challenges:

IaaS is widely adopted in IT industry. But still there are some key challenges need to be addressed for Virtual web hosting on IaaS. Data security on IaaS is an important research topic along with novel architecture, Automated Provision of Services, Migration of Virtual Machine, Server Consolidation, Traffic analysis and management.

5 Conclusion

As per comparative analysis between traditional web hosting systems and IaaS based virtual web hosting systems we found that IaaS based virtual web hosting systems are more effective than traditional web hosting systems as for starting web- hosting business there is no up-front investment required. Virtual web hosting on IaaS is highly scalable as compared to traditional web hosting systems. The Operating cost of IaaS based virtual web hosting systems are around 30% less comparing to traditional web hosting systems as IaaS allows resources to be allocated and deallocated as per requirement and there is no need to spend extra money on training staff to manage traditional on premises hosting systems and also there is huge saving on electricity bills and network charges as well. However, despite the fact virtual web hosting offered significant benefits, the current technologies are not matured enough to realize its full potential. Key challenges like Data Security and resource provisioning got high attentions from research community and a lot of research work is going on in these domains.