CSCE 120 Learning to Code: Hosting & Cloud Systems
Hosting & Cloud Systems
Source: youtube.com
Hosting, in the context of the 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 applications so that their 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 types of applications are known as static applications or sites.
However, often web applications are not static. The content of pages changes 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 belong to User B, and vice versa. These types of applications have code that runs on special servers to query user-specific information.
These types of applications are known as dynamic applications.
Select a Hosting Platform
Step 2
Based on the type of 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 etc.
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 is 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. It may not be very reliable.
Shared Hosting is where one physical server is hosting many web applications. You may be sharing the resources 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 availability applications, but it may be cost-prohibitive.
Cloud Hosting utilizes multiple virtual servers to work together. Arguably the most reliable and 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 separately aquire a domain, 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 hosting 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.
Host My Own Website
You can also host your own website. Purchase a server, get a dedicated internet line, configure your server, then go through steps 1-5 (above)
Cloud Systems
Cloud services, also known as cloud computing, provides 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 everything. Microsoft Office 365 is a good example of SaaS.
Platform as a Service (PaaS)
PaaS provides an 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. You rent servers, storage, networks, operating systems, (maybe more) instead of purchasing.
Some of the networking models may be prebuilt 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