Which hosting to choose and why? A simple guide for a complex problem!
THIS IS NOT PAID PROMOTION, THIS IS JUST MY OPINION ON WHICH HOSTING TO CHOOSE.
Today I am going to write about hosting and the questions that you may encounter while choosing the best option for your next project. It may look like a simple task but that is where you are wrong. It is quite a difficult one! There are thousands of hosting companies and each of them will have something different regarding their offer. Suddenly your choice is not easy anymore!
Before we get into deciding which hosting to choose, we need some sort of criteria in order to compare hosting services, right? And here is a list of things that we will consider with each hosting!
- Ease of use
I will divide hostings into two groups:
- Hosting that DOESN'T requires server experience.
- Hosting that DOES require server experience
So, let's begin with hosting providers that you can easily use without any previous experience.
Hosting that DOESN'T require server experience
If you have none or little experience with Linux these hosting providers might be the best option. These providers usually offer 'out-of-the-box' experience. That goes something like this:
- You register for hosting
- Choose a plan
- Usually, there is a free 1-year domain included
- Once your payment is processed your website is live
- Optionally you will get WordPress pre-installed
- You are ready to go!
Here are couple of providers that I used and here is my experience with it:
I am currently hosting a couple of WordPress website there and I can't be more satisfied. They are providing me with an option to choose PHP version for each of my domains pointed to their hosting. Isn't that great? Also when it comes to their support team, I must say they "WOW". Honestly, nice job people! I had a couple of support tickets and each ticket would be resolved within the next hour. You can choose one of their unlimited packages and use cPanel, the same as you would use it on any other hosting.
- Flexible PHP version for each domain
- Unlimited bandwidth
- Great support
- Easy to get started an easy to use
- Ability to use free "Let's Encrypt" SSL with one click
- SSH access (they had it in 2012)
- Fixed pricing
- Currently none.
This is one of the largest hosting providers in the world (as far as I know) and they do offer a great service! But there are some drawbacks for sure.
One of the first things that I have noticed when I was using GoDaddy is that everything is (let's call it like this) "too commercial". Here is an example:
One of my websites needed to use 3rd party SMTP service - Mandrill for sending transactional emails. The entire project was tested in the local environment and everything was working properly. But once deployed, emails weren't coming through. After some time spent with their support team, I found out that you CAN'T use SMTP to send emails from their shared hosting. That was fun ha? Don't trust me, here is the link. So they offered me to buy an extra option that would allow me to send emails - on which I said "Thanks, but no thanks!. I have already paid for hosting and I expect to use it the same was I am using any other hosting.
After some time I have decided that I want to use my SMTP on GoDaddy shared hosting. And I came up with a pretty creative solution. It wasn't anything illegal or something. It was a simple MailJet SMTP that worked using cUrl. And in the end, it was working fine! I needed to prove that I can find my way around that. Here is the link for Mailjet and its sending API. https://dev.mailjet.com/email/guides/send-api-v31/
To be honest, it may have been my mistake because I didn't do proper research. But why would I? Other hosting were allowing usage o SMTP services it and it never crossed my mind that GoDaddy isn't allowing it.
But in their defense - their support was great! And they were quite helpful! In other words - they did an amazing job!
- Great support
- Unlimited bandwidth
- Fixed pricing
- Inability to use 3rd party SMTP service
- Inability to use "Let's Encrypt" SSL
- Confusing interface
Hosting that DOES require server experience
If you are familiar with Linux you may skip on "out of the box solutions" that come prepacked with cPanel and pre-installed WordPress. Maybe the best choice for you is to get your own cloud server where you can install Ubuntu yourself and have full control over it.
AWS - Amazon Web Services
Where to start. AWS is one of the largest cloud-based provides out there. And they are serious about it! One of my previous clients used AWS for hosting its online store and to be honest - they are great!
But there are more things than Linux experience itself that you will need in order to use their services. AWS has unlimited options and therefore pricing can become really messy. You really have to keep an eye on everything. And I do mean everything.
Their pricing model is great, there is no doubt about it. It is based on
USED SERVICE / HOUR. Where used service can be storage (S3), computing (EC2), or any other service.
With their model, you can customize your experience quite easily. They have a lot of safety mechanisms regarding your spending limit that you can easily control.
But besides that, they provide you with all the options that you can possibly imagine. Imagine this: everything is a brick and now you have multiple bricks where each brick does a different thing. Let's say: S3 will provide you with storage for your app, EC2 will provide you with computing power for your app. Route 53 will provide you with DNS service. And the list could go on trust me!
So, if you are up for some learning AWS is the great place for you!
- Highly scalable
- Unlimited possibilities
- Ability to scale your expanses
- Great infrastructure
- Many courses that can help you with getting started
- It can become too complex and quite hard to use if you are not skilled properly
- There is a learning curve to it
- Complex pricing
DigitalOcean is quite easy to use, and it offers you some of the options that you can get with AWS. That is why it is much easier to use. I have started using it about three years ago and I couldn't be more satisfied.
It provides you with anything that you need to kickstart your app! Setting up is pretty straight-forward. You sign up, choose a droplet, and its location and you are ready to go! You now have your server which you can access using SSH. The only thing that you need now is to connect your domain and deploy your app. Therefore, you would need to install everything that your servers need before deploying your app! And that is why I find it great! When I started using DigitalOcean it took me about 20 minutes to set everything up and my app was ready to run!
Of course, DigitalOcean is constantly growing and adding new services! They offer quite a few things I must say. Like: Load-balancers, Kubernetes and many others. I recommend you check them up!
One the good sides as well is a bit easier pricing model.
DROPLET / MONTH (that includes some bandwidth)
+ additional bandwidth
- Quite easy to get started with
- Very flexible and highly scalable
- The price that can easily be calculated
- Great community (you have probably used their community if you a web developer)
- Not many options as AWS
In conclusion - I know that this may sound like much, but trust me - you are going to need it. Just take a look at my first hosting experience and you will see why!
If you are not familiar with Linux and need a simple WordPress I would suggest you go with GeekStorage.
However, if you are familiar with Linux and don't mind spending some time setting up your own server I recommend you go with a DigitalOcean.
As I said at the beginning of this post - this is not a paid post it is just my experience and opinion! Do you agree with me? Or do you think I may be wrong? I would definitely like to hear your comments regarding this theme.
As always, #keepCoding and #stayInside