Introduction —Servers — a look at requests and response
The internet resolves around accessing of information by users from around the world with a client computer like using a browser from a phone or laptop in accessing these information. So when a request for a website is made, how does the user get access to the website? Steps in 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, 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, DreamHost.
Pros of Shared Hosting
- Relative low cost of hosting a website on a shared host.
- Flexibility in upgrading of the plans, should you require more computing resources for your website.
- cPanel, makes it easy to manage your website, meaning you don’t have to bother about much technical expertise.
Cons of Shared Hosting
- Slow load time of your website
- Over-usage of the server’s resources by the other websites, will lead to a decline in the website’s performance
- Shared hosting is not suitable for websites that gets lots of hits, as it also affect performance.
2. Dedicated Hosting
Unlike the 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, operating system, rest upon the client. What’s more, dedicated servers are usually housed in a data center.
If you run a website 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 un-managed dedicated hosting servers.
Managed dedicated hosting
In a managed dedicated hosting plan, the host provider usually handles the monitoring, setting up, configuration, software installation and updates of the server, on behalf of the client — website owner.
Un-managed dedicated hosting
In an un-managed dedicated hosting, the client is in charge of the server. The host provider doesn’t bother about setting up, and configuration of the server. The client is expected to have a highly technical personnel skilled in server administration.
Some examples of dedicated hosting providers are Bluehost, HostGator.
Pros of dedicated servers hosting
- High performance of the web application as it is the only website hosted on the server.
- High security — absolute control of the server by the client means there is an effective monitoring of the installed software and programs on the server.
- Absolute control of server resources — makes it easy for scaling, as there is no restriction on the usage of the server’s resources.
- Fast response time.
Cons of dedicated servers hosting
- High cost of renting of a dedicated over over shared server.
- Skilled personnel in server administration
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 — modelled like the consumption of utility like electricity. 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 — The network of servers connected and providing the hosting, means there is optimal reliability as a single server’s resource is not over-stretched.
- Flexible pricing — Clients pay for the resources they consume
- Scaling — Connected help to ensure that increase in demand, for example traffic, is handled effectively.
- Load balancing
Cons of Cloud hosting
- High technical expertise — Setting up web apps on a cloud host requires some technical expertise.
- Security — a network of servers over the internet is still prone to security breaches and/or attacks.
- Downtime — should there be any challenge with internet, which cloud host relies on, there is a possibility of downtime.
- Pricing is not fixed. It varies and is highly dependent on usage — client can pay higher if they consume lot of the server’s resources or pay lower, if they consume less resources.
- Restriction in the control of the server as the cloud infrastructure is owned by the cloud hosting provider.
RunCloud at the intersection of Cloud Hosting and Management of your web applications
Deploying web apps in the cloud is amazing, as pointed above! But one of the biggest challenges of cloud hosting, is the time and efforts which developers spend in 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 info-graphic below will give you a clear picture of how RunCloud fasten up your productivity as a developer.