Home » What is Hosting? Everything you need to know!

What is Hosting? Everything you need to know!

by Hồng Yến

Until you start exploring web development, you may have never heard of the term “web hosting”. Or if you have, you might not know what it has to do with hosting a website or application. It’s an underrated part of how the Internet works.

Everything you access on the internet – from your favorite podcasts to the funny memes you saw last week – exists on a server or multiple servers that a company or individual pays for so you can access this content.

Once you get past this simple description, web hosting can get complicated. There are many types of web hosting and ways to host web applications.

Set the scene

To understand why web hosting is important, imagine that you’ve just developed a web application. After all, that’s what Web Developers do. Suppose it’s an application that allows users to save code snippets along with related data to create flashcards that other users can use to teach themselves coding.

Everything in your application runs well locally. You have a great user interface using React or some other modern user interface framework. You also have a very interesting backend service.

But there’s a problem with your application. It currently exists on your computer, so you’re the only one who can access it and you want to share it with everyone in the world. You can’t let the public access your computer to check out your shiny new application. (Well, you could, but that would be risky and unsafe.)

What is web hosting?

This brings us to web hosting. Instead of hosting your application on your own computer and server, it’s much safer to deploy that application to another server owned by a company that specializes in this, known as a web hosting provider.

Like most people, you might not want to go out and buy a bunch of servers, connect them yourself, and handle the network setup and everything else related. It would be easier to rent a server from someone who has done all the hard work for you, wouldn’t it?

A web server or hosting provider is a business that provides all the services that Web Developers need to run their applications on the internet. When someone wants to view your website, all they have to do is enter its domain into their browser, and the servers provided by your web host will serve it.

Some hosting providers will require you to have your own domain to host your website. Others will provide you with a subdomain that they own. If you need a domain, most web hosting providers will help you purchase one.

An important part of web hosting is making sure you choose the right type of web hosting for your project. If you’re creating a web application with a user interface, backend, and database, you’ll need a different type of web hosting service than a static website.

Once you find the right server, it’s important to allocate the right amount of resources to your application so that it doesn’t time out when there’s traffic to it. For hobby applications, you rarely have to worry about this. However, if your application receives thousands of visitors per hour, you’ll need to plan to have more resources available when you need them

Types of web hosting

A few decades ago, there were only a few types of web hosting providers to choose from. But technology has changed, and now there are more options.

The type of web server you choose depends on what you want to do and your technical skills. Some types of hosting services require you to know a lot about the technology involved in delivering your web application to users. Other web servers require little knowledge beyond navigating around a user interface.

Website builder

Web builders are online platforms that allow you to quickly build a website in your browser. They often have a drag-and-drop interface that you can use to arrange elements on your page and select pre-built themes that you can apply to your entire website with just one click.

Some web building tools you may have heard of include Wix and Squarespace. Hosted content management systems like WordPress.com can also be considered web building tools because you don’t have to handle all the technical details when deploying or installing WordPress.

You can choose from hundreds of themes and thousands of plugins to install from the browser to customize your website. You can also add new posts and blog pages stored somewhere in a database that you never have to worry about.

Many small businesses use web building tools like Wix to build their online presence. It’s simple and easy to build a basic website without technical knowledge and is a great choice when you don’t have to update your website regularly. However, most of your content is static. You can add effects and other features, but each change requires you to log back in and arrange everything manually.

Web building tools supported by content management systems like WordPress.com have an advantage over other web building tools because you can add new content much faster. You don’t have to create an entirely new page on your website for each new piece of content you add. All you have to do is create a new post or page, stored in a database, and that post will be dynamically displayed using the theme and plugins you’ve installed.

Another type of web builder is a static page builder. This type of web builder creates complete static HTML pages based on the markup files you edit.

Static page builders support custom themes that you create yourself or find online. When you run the build command, the static page builder will use your markup files and theme to create your website.

While static page builders don’t host, some web hosting options, like GitHub Pages, only support static hosting and use a static page builder to build your website.

Web builders are not suitable for deploying custom code. Some will allow you to use JavaScript or CSS, but that’s all. They are mainly designed to put your content into a beautiful theme that you can modify with their interface. They are a good choice for your blog or portfolio page but not to show off your custom code

Some popular website builders include:

  • GitHub Pages: GitHub Pages provides you with the Jekyll static site generator to publish your website and will host it on one of their subdomains or use your own.
  • Wix: You can build your website using Wix’s online interface with drag-and-drop elements and a wide selection of themes.
  • WordPress.com: Here you have all the power of WordPress themes and plugins to build your website, and you don’t have to worry about configuring a server or installing WordPress.

Shared web hosting

Shared hosting is a step up from web building tools. With this type of hosting, your application shares the same server with many other users, and the hosting provider takes care of all the server configurations.

Shared hosting providers have other services like email and databases also hosted on servers shared by other users. Typically, you can purchase a monthly subscription package that provides these services at a price.

If you’ve ever had a roommate, then you know what this type of web hosting is like. Just replace the roommate with an application that someone else has built.

When you use a shared hosting package, you’re sharing the server with others. So, essentially, you’re getting a portion of the resources that the machine provides. Like having a roommate, this makes the rent cheaper but you have to share evenly. If another user’s application starts consuming a lot of resources, your application’s performance will be affected.

There can be many disadvantages to using shared web hosting services. Your web application’s performance will depend on the type of applications also hosted on the same server.

Sometimes you get lucky and all your shared hosting neighbors get very little traffic. Other times, you’re not so lucky and one of the other users sharing your server hogs all the resources and your website takes a while to load.

Other disadvantages of shared hosting include:

  • Vulnerable to security issues. If a website on the server is hacked, your application is at risk. If the server is hacked, every website on the application will stop working.
  • There are limits to what you can install. If you are building an application using PHP and MySQL then shared hosting will be right for you. However, if you want to use Python, Node.js, C#, Java, or another programming language for your application, your options may be limited.
  • You don’t have root access so you don’t know how the hosting provider configured the server and can’t customize it.
  • You get what you pay for, so the support you get when you run into problems will be limited.

Most shared hosting providers also offer dedicated hosting.

Dedicated web hosting

Dedicated web hosting has many advantages over shared hosting.

Dedicated web hosting is a hosting option where you rent an entire physical server from a hosting provider. No one will share your resources. You will have full control over your server and can install any software it supports. You also have root access, so you can configure the server any way you want.

When ordering a dedicated server, you will choose between having an unmanaged server for you to handle all necessary changes on the server or a managed server, where the staff of the hosting provider will manage the server.

When you order a dedicated server, it’s important to know what kind of server you need first because you’re ordering a real physical machine. You can usually choose the operating system the server will use, the physical RAM capacity, the type of CPU, the physical memory capacity, and other options.

In the past, many companies started with shared hosting and switched to dedicated hosting as their traffic increased. If the traffic increases so much that a dedicated server is not enough, they will have to configure a load balancer and add more servers to handle the load. Although this is still an option, many companies have chosen to use cloud hosting services, providing you with this kind of scalability without manual setup.

  • HostGator: HostGator offers a variety of shared and dedicated hosting plans.
  • GoDaddy : GoDaddy will sell you the domain name and provide both shared and dedicated hosting.
  • InMotion: InMotion offers shared, dedicated, and WordPress-specific hosting.

Note that there are also virtual private servers (VPS). VPS functionality falls somewhere between shared and dedicated web hosting. In general, they are more affordable than the latter and more reliable and safe than the former. They also give users root access, and they are often used for game development.

Cloud storage

Cloud hosting providers have data centers globally. All the services they provide are virtual, meaning even the “hardware” you rent is software that can be configured, scaled, and backed up quickly.

Servers around the world allow you to distribute your applications and data across multiple interconnected servers. This allows your users to access them from a server closer to them with lower latency. Because cloud servers can scale flexibly, you always have enough resources at hand

Infrastructure as a Service (IaaS)

With IaaS, or Infrastructure as a Service, your cloud provider supplies your infrastructure over the internet. This means that all the network, storage, servers, memory, and CPUs you use are virtualized and highly scalable. You’ll still need to configure and maintain these resources, but you won’t have to worry about the underlying physical infrastructure.

Since everything is virtual, you can perform all this maintenance and configuration through a browser or via command line, and make changes to your infrastructure almost in real time.

Popular IaaS providers include:

  • Digital Ocean: An IaaS cloud provider that is easier to use than the three major cloud providers also on this list.
  • Amazon Web  Services : The first and most popular cloud service provider.
  • Google Cloud Platform: Google’s answer to IaaS.
  • Microsoft Azure: Microsoft’s IaaS solution.

Platform as a Service (PaaS)

With PaaS, or Platform as a Service, the cloud server provides a framework for developers to build their applications on. Instead of worrying about setting up servers and properly configuring virtual machines, you just create your application and the cloud provider takes care of the rest.

However, because you’re using a specialized framework when using PaaS, you’ll have to write your application code according to the rules of the framework.

Popular PaaS providers include:

  • Render: Render is a cloud hosting provider that can run a variety of applications, including static websites, dynamic web applications, scheduled cron jobs, and more. It actually supports many popular programming languages, like Node.js, Python, and Ruby. In our Deploy with Render course, you’ll learn how to build, deploy, and monitor web applications with Render.
  • Heroku: Heroku makes it easy to deploy Node.js, Ruby, Java, PHP, Python, Go, Scala, and Clojure applications with just a few commands.
  • Google App Engine: Google App Engine allows you to build highly scalable applications on a fully managed serverless platform.

Function as a Service (FaaS)

With FaaS, or Function as a Service, you don’t deploy services to the cloud hosting provider, you just operate. This means you don’t have to worry about configuring servers or setting up resources. You just choose the runtime you will write code in and write functions to return the data you need.

When you use FaaS, the physical hardware, virtual machine operating system, and web server software are all handled by your cloud service provider.

Popular FaaS providers include:

  • Amazon Lambda : Amazon Lambda is the most popular FaaS provider.
  • Azure Functions: Azure also offers FaaS.
  • Cloud Functions: This is a FaaS offering from Google Cloud Platform.

Suggested hosting solutions for beginners

We just covered a lot, and you may feel a little overwhelmed, but we have a few suggestions if you’re just beginning with web development. The following web hosting providers should give you what you need to get started.

When choosing a web hosting provider, experiment with simple demo projects and see what works for you and what doesn’t. Always make sure you evaluate your options against what you’re trying to build.

Remember that at the end of the day, all of these are just tools you can use. There’s no one-size-fits-all solution, so you might use some of these, you might use none, or you might use a mixture of all three — or even other solutions.

GitHub Pages (static site generator)

GitHub Pages uses the Git version control system and a static website generator called Jekyll to publish websites for its users, and it’s free. Because you can only publish static pages, you won’t be able to deploy your web applications here, but it’s good for blogs, your portfolio site, or possibly a compiled version of a React application that doesn’t require back-end code.

Our How to Deploy a Website course will teach you how to deploy a website to GitHub Pages.

Render (PaaS)

Render is a popular cloud-based software that handles building and deploying code and provides the necessary resources to host applications and services. Learn to build, deploy, and monitor an app in our course Deploying with Render.

Digital Ocean (IaaS)

If you want to scale your application and Render doesn’t fit your needs, Digital Ocean is a good option. Especially if you want to use an IaaS cloud provider but don’t want to deal with all the complexity that comes with some of the bigger providers. It’s easy to build your applications on Digital Ocean, and they have a lot of resources to help beginners get started.

Learning more about web development

If you want to show your shiny new app to the rest of the world, you need web hosting. There are plenty of options, from website builders to cloud hosting. It all depends on what type of website or application you want to deploy.

For blogs and sites that are mainly content, a website builder may be enough. If you want to deploy an actual web application that’ll execute server-side code, you’ll need to go with either a shared host, a dedicated host, or a cloud hosting provider.

If you don’t have a web application to deploy yet, we can show you how to build one with our courses. Our Front-End Engineer Career Path will teach you how to use JavaScript, HTML, CSS, and React to build the part of the application that runs in the browser. Our Back-End Engineer Career Path will show you how to write server-side code using Node.js. To learn how to work on both front-end and back-end code, check out our Full-Stack Engineer Career Path.

And if you just want to jump right into building a website from scratch, try Build a Website with HTML, CSS, and GitHub Pages.

You may also like

Leave a Comment

Registration complete !

Show

Reset your password

Please enter your email address. You will receive a link to create a new password.

Check your e-mail for the confirmation link.

Close