A beginner description of the different components in webhosting.
Another noob guide for noob readers. If you’re new to webhosting basics and don’t understand what [things] you have to sign up for..and why, this is for you!
What it takes to run a (simple) webhosting service…
Running a webhosting service requires many things.
While you may pay just one price, say GoDaddy at $15/month, for a webhosting service. It’s not like you’re paying $15/month for one magical box that does everything. You’re paying for a hundred micro-services all conveniently bundled and configured working together into one “simple” panel interface from one login. This convenience is why many first-time website owners buy all their hosting from one place.
Webhosting requires many servers, each offering many [different] services.
- Domain registration – simply holds a record of who owns the domain name
- DNS service – servers that point visitors (typing in your URL) to your web server (IP).
- WEB server – servers that hold your website files and database, then process incoming website requests and returns the desired webpage and information to visitors.
- EMAIL server – servers that send, receive, and store emails.
So again…for this reason, many first time users prefer to go the convenient route and just pay for a service that offers everything in one place. It’s easier, simpler, and you don’t have to have so many logins…and more importantly, don’t have to learn so many technical things. You can get straight to the fun part…which is building your website.
So why do intermediate users sign-up for (separated) hosting services?
Because it’s better to purchase different hosting services from specialized providers!
Do you think a master chef buys all his ingredients from one supermarket?
- Of course not!
- Maybe he/she buys the meat from a local ranch/butcher. Then the cheese from a French cheese store. Pasta from an Italian pasta store. Herbs/seasoning from a neighbor’s garden. Fruits and vegetables from his/her own backyard.
Do you think a car enthusiast buys all his car parts from the local Autozone or department store?
- Of course not!
- He’ll get the body kit from one place, brakes from another, engine stuff from another, tinted windows from a tint shop, tires from a tire shop, wheels/rims from somewhere else. Etc and etc.
So experienced website owners will also split their webhosting needs across different providers:
- Domain registration – from a specialized domain registrar that offers many domain TLD options (com, net, org, etc), low pricing, and good privacy (so you don’t get spammed or stalked).
- DNS service – to easily manage their own DNS from one place, configuring multiple service providers into each domain. Essential for working with modern webhosts that don’t provide their own DNS service. Also specialized DNS services have faster routing, along with performance and security features.
- Website hosting – from a specialized webhost that offers better performance, better support, more resources, or configuration freedom.
- Email hosting – from a specialized email host that offers more features or resources, higher deliverability rates (to reach customer inboxes instead of spamboxes), better spam protection.
Most people don’t get any more separated than this. But in reality…you really go to the next level…like what the “experts” do.
How do the “pros” separate their hosting needs?
Pros practically build their own hosting infrastructure from scratch.
They do this for various reasons:
- Save money – only noticeable when you’re doing it at scale. Otherwise, the complexity (obviously) wouldn’t be worth the effort.
- Features – they want their own configurations and features. And/or need something better or different from what exists in the market.
- Sell their own service – doing their own thing to resell it to clients.
This can be as simple as combining different 3rd-party services, or as complex as configuring their own clusters for each service.
Examples of server cluster configurations:
- Domain registration – ok, almost nobody builds their own registrar. They will use an existing one. I like Whois.com or Cloudflare (which is a DNS service provider but now also does domain registrations).
- DNS service – if building your own…you’ll need at least two DNS servers in case one goes down, so there’s always a name server available to resolve visitor requests to your url to your web server. And then maybe even some POP servers if you want to build your own CDN service.
- Web hosting cluster – at the very least, you’ll need one dedicated box for this. 20 years ago, some people had the NGINX-Apache hybrid approach where NGINX was the (cache) reverse proxy sitting in front of the Apache (backend PHP) web server. But nowadays you can get real crazy complex-clustering…splitting PHP service, file storage and database storage…all onto separate servers. Then you might even have backup servers. Some are actually live copies of the others, whereas some are just backup storage servers. Probably also a load balancer (server that sits in front of all the rest) to redistribute traffic to your less-busy servers.
- Email hosting cluster – bare minimum, you’ll probably want inbound email server, outgoing email server, and email storage server.
Jesus…is this literally what the pros do?
Yes and no…
In the old days, yes. It was cheaper to configure all this in-house. Build a server-rack in your company’s back office, and spend a whole weekend setting up everything.
But today’s world is so much better and cheaper. You can pay for these services all granularly from various cloud service providers (like Digital Ocean for dedicated servers, Cloudflare for DNS, MXroute for email, etc). Or you go to the giant cloud service providers (like Amazon AWS, stands for “Amazon Web Services”) where you can rent separate servers/services for virtually every component of your entire webhosting infrastructure cluster.
- To handle your own DNS – you get Amazon’s Route53 DNS service. Or you can purchase raw dedicated servers from Digital Ocean, install Linux and configure your own DNS service. Or you can literally buy physical servers, set them in your home or office, and then install Linux and configure your own DNS service.
- Then for webhosting – you purchase dedicated servers from Amazon’s EC2, or from Digital Ocean. Or again…put physical servers in your home or office.
- Then for email – you can just purchase a solid email service, like MXroute or G-Suite. Or setup your own email hosting on a dedicated server, then split up your outbound emails to use your email hosting for regular emails…but then route through Amazon’s SES or SendGrid/MailGun for transactional emails, and then MailChimp or MailerLite for marketing emails.
Anyway…my point is…shit can get pretty granular and broken down to the most smallest of components if you know what you’re doing (and if it matters to your business).
I hope you learned something. I hope you’ve some clarity or at least a less-blurry vision of what your company’s future cloud technology needs may be. If this all seems too technical for you…please don’t worry, as your business grows…you’ll naturally take notice of services that align with your needs. I learned all this shit from necessity over the years…not from a blog. (And you can, too!)