Software applications and hardware go hand in hand. This statement stands true for websites and mobile applications more than you know.
You can hire an awesome agency (we're pretty awesome), design a great UI & Ux for your website, ensure that all your code is valid and integrate a powerful, well architected backend but without the right hosting, your website will be slow. Period! The same is the case with any mobile application that uses a backend and web services. Websites and mobile applications in any production environment need to have a perfect marriage of application & hardware. Your website or application needs to be built well, which is the first half of the battle but your choice of hosting for the website or backend needs to ensure that all those precious lines of code aren't wasted because of a bad last mile delivery. Slow is bad and users today don't do slow. Its that simple.
The primary options available to clients till a few years ago were shared hosting (where you’re one of the clients hosted amongst 100s on a server), Virtual Private Servers (or VPS where you’re still on in a shared resource environment but you’re sharing with fewer websites than on a shared server) and finally, dedicated servers (you, on your machine, that’s it).
In recent years though, the web hosting industry has made a significant shift to cloud hosting. Cloud hosting uses an approach where instead of your website or web server being physically hosted on a single server, you can take advantage of virtualized resources such as disk space, cpu, ram or storage from multiple physical servers thereby giving you the advantage of quick recovery, scalability, redundancy and better uptime.
We had published a blog on choosing the right host and performance tuning your website but today, we wanted to discuss some very specific cloud hosting options, namely - Amazon Web Services (AWS), Google Cloud and Digital Ocean.
AWS has been around for awhile. Some of the top players in the internet space are hosted with them and their servers are second to none. With a range of different service flavours ranging from web servers(EC2) to databases(RDS), DNS management(Route53) and Storage(EBS and S3) - this is just the basics. AWS additionally provide a range of services that addresses almost every aspect of infrastructure requirements.
Google’s cloud hosting services are a more recent offering when compared to AWS but they have quite a lineup on their platter offering competitive products for web servers, databases, networking and storage plus more. Just like AWS, Google Cloud is available at multiple locations world over though not at as many locations as AWS.
Digital Ocean is the new guy here but still worth considering for your hosting solution especially if you’re not looking at too much segregation of services. Digital Ocean servers or droplets as they call them, are more straightforward ‘one server for everything’ setups. While their offering is not as elaborate as AWS or Google Cloud, Digital Ocean is an up-and-comer especially among developers because of the ease of use of their platform.
Ok, so we just went over 3 options for cloud hosting and a lot of it had terms and concepts that may not make sense to everyone but here’s the bottom line. all 3 providers have great cloud hosting solutions at varied price ranges depending on the server size. We found Digital Ocean to be the cheapest of the 3 but between the 3 providers, you could get a server for your website up and running for anything between $15-50 a month. What is important to note is that all 3 solutions are completely ‘Unmanaged’ and that brings us to the next part of this blog.
Managed hosting is when your hosting provider handles everything. If you need a server setup, you simply log in, provide some basic details such as the domain name (www.yoursite.com) and you’re done. Run into an issue where something isn’t working and the hosting provider will fix it for you. Unable to reach your server? Log a support ticket and they’ll do the rest. Managed hosting is essentially a great solution for anyone who doesn’t have an in-house server admin to manage their server and would rather focus on their website and business while allowing the web hosting provider to take care of everything
Unmanaged hosting is at the other end of the spectrum. With unmanaged hosting, besides a limited interface to deploy servers, everything else like getting your database up, setting up FTP users, troubleshooting downtime or server issues is your onus. This is a nightmare for someone who isn’t familiar with shell access or server administration.
In some cases, your agency will manage the servers for you but this is almost always at an additional cost. What ends up happening is that clients go with low end managed hosting services simply because they do not want the overhead of handling the servers themselves. Downside though is that you end up missing out on some great cloud hosting in the process and end up settling for a server that is either shared or less performant than some of the options that we have highlighted above.
Now that is the question and the sole purpose of the article.
Enter, the solution and options.
The first step is to identify the type of solution you really need and your agency is probably the best source to guide you on this.
If your application or website requires a distributed architecture where you need to maintain multiple web servers with independant database servers and mounted file storages, then you would need to hire a reputed managed services company that would setup and secure a solid, scalable infrastructure. There are complete business built on such managed services. If AWS is what you’re looking at roll out your infrastructure (and you should, they have great latency due to multiple locations world over, great servers with very little downtime and lastly, a solid reputation of trust amongst tech products world over).
Our choice, hands down, would be MediaTemple. MediaTemple currently only supports Amazon Web Services. We’ve worked with them on multiple projects and their expertise and knowhow are fantastic. Since MediaTemple’s service is fully bespoke, they can pretty much set up any sort of infrastructure or application you need, as long as the service will be supported by AWS. MediaTemple has been around for awhile and they’ve really earned a great reputation over the years.
MediaTemple’s Managed Amazon Cloud service is broken into two parts - a one time setup fee and a recurring fee for ongoing support. We strongly recommend MediaTemple to any client that would like to build medium to large scalable architectures and take advantage of Amazon’s different server types. The setup costs can vary between $3000 - $5000 as a one time fee with a monthly retainer of $500 - $1000. The costs payable to AWS here would be independant and would depend on the final servers deployed
Website : https://mediatemple.net/managedcloud/
Now, on the other hand, an advanced multi-server setup may not be needed by everyone. If your application or website does not need a multi server setup where you’re going to be just fine hosting the web server, database and other services on a single server but you would still like the flexibility of upsizing your server at any point of time, this option is for you.
In the recent months, we have started working with Cloudways.com. Cloudways offers managed services on a range of different hosting providers including AWS, Google Cloud, Digital Ocean and other providers. They offer one click server setups with a range of server applications (PHP, Laravel, Magento, Wordpress etc), customisable server sizes and locations.
While their offering is primarily single server setups, they do provide instant scaling options which work really well and the biggest differentiator is that though their service is managed (they have quite a capable support team), you pay no setup cost and the managed service overhead is an approximate 10% markup over and above what you would pay if you bought the hosting through the end provider directly.
Website : http://www.cloudways.com/en/
So as you can see, it is very much possible to use these top end hosting services and take advantage of high performance, redundant cloud hosting without necessarily setting up an 'in-house' resource to manage your servers.
We hope this article was helpful and we would love to hear your feedback on it
Good luck with your cloud!