Introduction — Servers: A Look At Requests and Responses
The internet resolves around accessing information by users from around the world with a client computer that uses a browser from a phone or laptop in accessing information. When a request for a website is made, how does the user get access to the website? In steps a server!
At the most basic level, a server is a computer connected to the internet, on a location like a data center, which gives back responds — serves — to the requests made by the client. When we build web applications as developers, it is with the intention of having users visit the website or perhaps, make use of the services — or buy products from the website — which forms the core of our responsibility. It implies that a developer is faced with the option of making a choice about where to host their website(s).
What options do web developers have when it comes to hosting their web applications on a server? We explore three options — and look at their pros and cons.
1. Shared Hosting
Shared hosting entails the usage of a single server by multiple websites. Often time, the computing resources like RAM and CPU are shared by different subscribers, and the usage of these resources is capped by the plans purchased by the subscriber, in this case, a web developer or a business.
A shared hosting plan usually comes with a cPanel — a graphical user interface application resident on top of the server — that gives website owners (or developers) the ability to manage their web applications on the server.
Examples of shared hosting providers are GoDaddy, HostGator, and DreamHost.
Pros of Shared Hosting
- Relatively low cost of hosting a website on a shared host
- Flexibility upgrading of the plans, should you require more computing resources for your website
- cPanel makes it easy to manage your website and not too much technical knowledge is required
Cons of Shared Hosting
- Slow load time of your website
- Over-usage of the server’s resources by the other websites, which may lead to a decline in the website’s performance or suspension of the website
- Shared hosting is not suitable for websites that gets lots of traffic, as it can also affect performance
2. Dedicated Hosting
Unlike shared hosting, dedicated server hosting entails the usage of a server’s resources by a single website or web owner. Absolute control of the server’s resources like hardware, software, and operating system rest upon the primary client. What’s more, dedicated servers are usually housed in a data center.
If you run a website that gets a lot of traffic or you are rendering a service (or selling a product), then you should consider subscribing to a dedicated web hosting plan.
Classification of Dedicated Hosting
Dedicated hosting can be classified into two types — Managed dedicated hosting servers and unmanaged dedicated hosting servers.
- Managed Dedicated hosting: the hosting provider usually handles the monitoring, setting up, configuration, software installation and updates of the server, on behalf of the client — website owner.
- Unmanaged dedicated hosting: in unmanaged dedicated hosting, the client is completely in charge of the server with no help or support of set up or configuration of the server. The client is expected to have a highly technical personnel skillset in server administration.
Some examples of Dedicated Hosting providers are Bluehost, HostGator, and Vultr.
Pros of Dedicated Server Hosting
- High performance of web application(s)
- High security — effective monitoring of the installed software and programs on the server
- Control of server resources — scaling, as there is no restriction on the usage of the server’s resources.
- Fast server response time
Cons of Dedicated Server Hosting
- High cost of renting of a Dedicated server
- Knowledge about server administration necessary
3. Cloud Hosting
Cloud hosting entails the hosting of applications on virtual servers powered by cloud hosting providers — the sum of their computing resources coming from a network of physical machines, usually housed in data centers in different locations or regions.
One of the big wins for cloud hosting is the delivery model — pricing — modeled for the consumption of utility usage. Clients only pay for utilizing the servers’ resources, on an on-demand basis.
The servers hosting the web app (or data or services), is distributed across multiple servers — leading to a reduction downtime, should any of the servers go down.
Pros of Cloud Hosting
- Reliability — network of connected servers that are backed up often
- Flexible pricing — pay as you go for resource consumption
- Scaling — whether an increase in demand for more resources such as memory, disk space, or bandwidth, it is handled effectively
- Load balancing—distribution of resource consumption across multiple networks
Cons of Cloud Hosting
- High technical expertise — setting up web apps on a cloud host requires some technical knowledge
- Security — a network of servers over the internet is still prone to security breaches and/or attacks.
- Downtime — should there be any challenges, which the cloud host relies on and there is a possibility of downtime.
- Pricing is not fixed and is highly dependent on usage — the client may pay higher if the consumption exceeds allotted resources
- Restriction of full control of the server as the cloud infrastructure is owned by the cloud hosting provider
RunCloud For Cloud Hosting and Management Of Web Applications
Deploying web apps in the cloud is amazing, as pointed out above! But one of the biggest challenges of cloud hosting is the time and efforts which developers spend configuring, setting up, managing, and monitoring their web applications in the cloud.
If you have find yourself struggling with setting up your web apps on a cloud host, worry no more. RunCloud, helps you increase your productivity as a developer, by helping you manage your web apps on a cloud hosting platform of your choice.
The infographic below will give you a clear picture of how RunCloud fasten up your productivity as a developer.