For this article, I will talk about two different hosting solutions, a standard one suitable for a simple site (e.g. in PHP) and another one cloud-oriented PaaS (Platform as a Service) for a more complex application (e.g. in Java). My point is not to make a market analysis by comparing all existing offers, but to introduce two solutions that I use today and meet my expectations.
1&1, standard hosting
This blog is hosted on 1&1 for several years (3 years). At the beginning, I was using Free (a French Internet Provider) which was… free, but their hosting service was limited and quite slow. The triggering factor was when Free decided to remove my blog for reasons that are still unknown. I then decided to choose a more reliable and professional solution that will allow me to create my own domain and get rid of the “free.fr”.
The 1&1 solution works well and is not so expensive (about 30 euros per year or the price of a monthly coffee). I took a look at the competitors including OVH, I finally choose 1&1 because of a promotional offer on the first year. About the availability, the plugin Jetpack Monitor constantly monitors CarmaBlog and alerts me when a downtime is detected. I must say that it happens from time to time (2-3 times a month) for small periods of time, no more than 5 minutes in general. For a blog like mine, that’s enough, I do not need to have an availability rate closed to 100%.
The 1&1 pack provides a default domain name, the one you have chosen (in my case, www.fabianpiau.com), but you also have the ability to create sub-domains. I have created sub-domains for:
- The contact form: contact.fabianpiau.com (redirection).
- The blog itself: blog.fabianpiau.com (web space).
- And also my resume: cv.fabianpiau.com (web space).
You have access to the following set of tools and technologies:
- A MySQL database. Limited to 1GB which is more than enough, unless you store entire files. With nearly 80 posts, I may be using max 10MB.
- A FTP server access. I’m not sure there is any size limit, but I do not store movies or music.
- An email account matching your domain. I do not directly use the webmail, I prefer set up a redirection to my personal email address.
You can configure all of these from a dashboard.
You can access your database only via an online web interface phpMyAdmin. To be honest, WordPress and Piwik are doing very well by themselves so I let them manage the database. Fortunately, you can use a FTP client like FileZilla to transfer files to your FTP server.
Note that 1&1 provides ready-made solutions to help you create your website more efficiently. For example, there is a dedicated pack for WordPress, slightly more expensive than the Basic pack. 1&1 also provides a turnkey solution to help you create your website 1&1 MyWebsite even if you don’t have any technical or programming skills.
In my case, I know the technology and make a blog from scratch by installing WordPress on my own was the natural way (and also the cheapest!).
Heroku, Cloud hosting
The application Updapy is hosted on Heroku. I’m very satisfied because it cost me 0 euro per year (difficult to do better, I think). I have bought a domain name through 1&1, because the default URL http://updapy.herokuapp.com/ was not sexy enough. The domain name on 1&1 is about 12 euros per year, 1 euro per month, I should be ok… I took the easiest solution as I was already a 1&1 customer so I did not look for another domain name registrar.
I chose the popular Heroku mainly because of the number of users and the large community behind. Moreover, the documentation is very well written. In particular, this tutorial to build and deploy a Java application was very helpful. I hesitated with CloudBees which was also another good option. Finally, I had the chance to choose Heroku because CloudBees has decided to focus on the Jenkins business and abandoned its cloud offers a few days ago. There are also other solutions such as Clever Cloud (French hosting) or Cloud Foundry to name only the best known. I cannot make any comparison here, as I end up with Heroku, but feel free to try these other platforms.
Heroku provides many add-ons to cover the needs that an application can have: sending email, SMS, monitoring, JMS queues, caching, NoSQL, the list is too long to mention all here. The principle is usually the same, when you want a feature, you add the extension to your application via the dashboard or with the command line tool. Then you adapt your code to use these new features (again, the documentation for each add-on is very helpful).
Many of the add-ons available are following the same business plan, you have different options:
- A free basic version with limitations. This is perfect for small applications or for evaluation purposes.
- Advanced versions with fewer limitations, but they come with monthly fees.
- Expert versions so more expensive. To use only if you are managing a large traffic site.
The availability with Heroku seems very good. I will see after few months of usage, but the monitoring add-on I use alerts me of an unavailability of 3 minutes in 3 months. I got few other downtimes, but it was my fault…
As you can see on the dashboard above, I managed to take only add-ons in their basic version with their limitations. So I “pay” $0.00 each month, I’m not sure I can afford it…
- The SendGrid basic extension allows me to send 200 emails max a day.
- The PostgreSQL basic extension allows me to have a database on a shared instance on Amazon, with tables that can contain up to 10,000 rows.
These are examples of limitations, you can take a look at this page to know the main limitations. For a small application like mine, it’s enough, but as soon as your application grows and you can turn it into a business, it is normal that you have to pay the Heroku team. You can read the list of add-ons available on this page, there is a lot!
With Heroku, the cloud makes sense. You do not care about the infrastructure, you just adapt the resources to suit your needs (scalability) and the cost per month is updated on the fly (be careful, because it goes up very fast). You can manage and focus only on things that matter to you: the business and the code of your application. When deploying a new version, you simply push your changes to the git repo provided by Heroku and the application is automatically deployed into production. It’s pretty magical and stunning.
I hope I give you some ideas especially if you are thinking to start your own blog or launch an application on the cloud.