Hosting, in the context of web, is the process of taking an application from the local
machine and putting it on a host which is a computer that is connected to the internet. These types of host are often called servers.
Servers are computers with special capabilities like serving a webpage or storing files or emails.
Web hosting is a service that allows organizations and individuals to host their web application so that the applications can be accessed over the Internet.
Steps to Host your Web Application
Build A Web Application
Step 1
Web Applications that are built with only HTML, CSS and JavaScript will run on virtually all web servers because these type of applications are known as static applications or sites.
However, often web applications are not static. The content of pages change based on user criteria.
For example, an e-commerce site will display the order page to all users but the users will see orders that only belong to them.
User A will not see the orders that belongs to User B, and vice versa. These type of application have code that run on special servers to query user specific information.
These type of applications are known as dynamic applications.
Select A Hosting Platform
Step 2
Based on the type of your application, you will select a hosting provider that can host and serve your application.
Windows Platform is good for running applications that are written in Microfost stack: .NET, MS SQL elc.
Linux Platform is good for running applications that are written in non-Microfost stack: .PHP, Perl, Python etc.
Java applications will technically run on either platform. The only requirement is JVM. Example: JSP pages on Tomcat application server will run on Windows or Linux platform.
Select A Web Hosting Plan
Step 3
There are a wide range of services available for web hosting. We will only cover a few them.
Free: It is free, but watch out for hidden fees. May not be very reliable.
Shared Hosting is where one physicall server is hosting many web applications. You may be sharing the resouces with other website owners.
Dedicated Hosting offers an entire server to your application. Good for security aware applications.
VPS Hosting (Virtual Private Server Hosting) is great for high performance and high available applications but it may be cost prohibitive.
Cloud Hosting is utilizes multiple virtual servers to work together. Arguablly the most reliable, cost effective.
Get and Change Your DNS Address
Step 4
You will need to have a domain (i.e google.com) for people to locate your site online.
If you are going to host your site on a cloud system you may do all these steps on your cloud portal,
however if you are going to seperately aquire a doamin, then go over to one of those sites ((i.e. GoDaddy.com) to purchase a domain
All web hosting providers have a portal for managing domains. Once you have your domain, you will go to your web hostig provider's site and follow their instructions on how to change Name Server of your domain.
Publish / Upload Your Website
Step 5
Typically your web hosting provider will supply you with the instructions on how to publish your site. It could be as easy as FTP (or SFTP).
Some cloud systems may allow direct publishing from your development environment.
Do my own hosting
You can also do your own hosting. Purchase a server, get a dedicated internet line, configure your server, then go through steps 1-5 (above)
Cloud Systems
Cloud services also knows as cloud computing provide hosting and many others services.
Cloud services are, generally, packaged into four categories
Software as a service (SaaS)
Platform as a service (PaaS)
Infrastructure as a service (IaaS)
Software as a service (SaaS)
SaaS enables software developers to deliver software applications over the internet, typically on a subscription basis.
With SaaS, the software porvider hosts and manages everthing. Microsoft Office 365 is a good example of SaaS.
Platform as a service (PaaS)
PaaS provides on-demand environment for developing, testing, delivering, and managing software applications.
PaaS makes it easier for developers to quickly create web or mobile applications, without worrying about setting up or managing the needed underlying infrastructure of servers, storage, network, and databases.
Infrastructure as a service (IaaS)
IaaS provides IT infrastructure. Basically, you rent servers, storage, networks, operating systems, (maybe more) instead of purchasing.
Some of the networking models may be prebulit however you have complete access to reconfigure for your own personal or business need.
Note:
The software that is not using any cloud services, and installed in your machine or in the same private network (or building) that your machine is part of, is known as On-Premise software