What are Containers and Cloud Hosting?

Difficulty: Beginner

Overview

We’re going to take a step back and look at the architecture of the nodes or “containers” that make up the building blocks of Reclaim Cloud. You may be looking at running your application on Reclaim Cloud and even perhaps tested out creating an environment or two, but it’s likely you weren’t completely sure how these various nodes were working together. Is it all on one server, are these all individual server? What’s virtual and what’s not?

But before we talk about Reclaim Cloud, let’s look at the more traditional hosting models that Reclaim Hosting (and many other hosts) offer today

Shared Hosting

In this model your hosting provider buys a server (they probably have more than one) and they install a stack of software that typically consists of a Linux operating system, Apache web server, MySQL database engine, an email server like Exim, and probably a control panel to manage it all like cPanel which we use at Reclaim Hosting. The server is setup in a way where you can have multiple accounts all sharing the same underlying server software, and this is very economical because a modest server can manage hundreds of accounts so you’ll often find the costs very inexpensive.

Sadly this comes with a lot of drawbacks though. As the customer you can’t change any of that server stack. If you want to run MongoDB for example, or Nginx, well you’re going to have to move to a different plan because in a shared system the only area you have control over is your application and the deployment of it.

Another drawback of shared hosting is that it doesn’t scale well. If you have a big project it likely won’t perform well on shared hosting because resources are limited to ensure fair performance for all customers. Your host may have a few different tiers with different amounts of resources, but any project at scale will outgrow even higher level plans.

Managed Hosting and VPS

Users who outgrow shared hosting often need their own server. Perhaps the project is big enough that they want to define their specifications for a server size and be the sole customer on that server. Perhaps they need a particular package installed that isn’t available on the standard shared hosting setup. With a virtual private server the customer has root access to do what they want and thus a lot more power. Reclaim Hosting provides managed services which give you a dedicated VPS but also still with cPanel and a higher level of support.

But this can get very expensive quickly. Where shared hosting is typically measured in dollars per month, managed hosting can be hundreds of dollars per month. If you have a large project that’s probably not a scary thing, but what if you are just starting out and not really sure what resources you need? What if you expect to grow over time and have different needs from one month to the next? Even a VPS is going to have limitations based on the specs you choose at the time of purchase and while the system being virtual does allow you to scale, it often requires shutting the server down, downtime, and again quite high costs.

Cloud Hosting

Perfect, so now let’s look at cloud hosting, and in particular Reclaim Cloud’s model. It starts with incredibly large infrastructure nodes. Think hundreds of gigabytes of RAM and terabytes worth of SSD storage space. Each of these infrastructure nodes is running a Linux operating system with software called Virtuozzo that builds in support for virtualization on the system. Next Reclaim Cloud clusters all of these nodes together with a control panel to manage your own virtualized instances using a piece of software called Jelastic. So when you login to Reclaim Cloud that’s what you’re seeing is the Jelastic platform and as you create new environments they are being created as virtual containers on one or more of those infrastructure nodes.

But what is a container and how is that different from a virtual server? That’s a great question! A virtual private server or VPS is similar in that providers like Digital Ocean buy large infrastructure nodes and run hypervisor software (like Virtuozzo) on top to provide virtual servers. But when you buy a VPS you are virtualizing an entire server which includes the operating system. That’s great when you need the flexibility of root access and the ability to install whatever you want, but it comes at a resource cost. Storage space, RAM, and CPU will all start to be used by the operating system before you’ve even installed your own software like Apache to get your app up and running.

Containers are different in that not only is the hardware underneath all containers shared, but the operating system Linux is as well. So now, instead of needing an entire server with operating system, hardware, etc we only need to setup a container for the software we will be using for our application like Apache, or Nginx and we only have to pay for those resources (which spoiler alert, is a lot less expensive!). And you can put just about anything in a container! Everything from popular load balancers like Nginx and Varnish, web server languages like PHP, Ruby, Node.js, and database and caching engines like MySQL, MongoDB, and Redis. You can build exactly the stack you need from containers without worrying about conflicts of one piece of software not being compatible with another. And these containers can scale because we can spin them up and shut them down as resource needs rise and fall.

Reclaim Cloud uses a type of container technology called Docker which may be a bit of a buzz word that you’ve heard before and that’s because it’s the most popular system for running containers. There’s a huge collection of containers at Docker Hub and you can search for these right within Reclaim Cloud. All of the nodes you build into your environment in Reclaim Cloud are at their core containers and thus virtualized instances of that particular software for that particular need without all the cost, conflicts, and overhead of anything else you might normally have to run to get your application online. We believe it’s a powerful new way to build scalable, cost-effective, projects for the web and this power technology combined with Reclaim Cloud’s Jelastic platform means you’ll find an easy interface for working with this stuff and a team of people ready to help you make sense of it all.