Migrating to a Private Cloud

“Cloud” has been a buzzword for years. What does it actually mean? A half-joking definition might be simply “someone else’s computer”. You click a link and you’re magically connected over the internet to a server and software housed in a data center…somewhere. The big names, like Amazon, Google, eBay, etc, have data centers all over the world in order to provide improved performance by locating closer to the originating client, but also for redundancy in case of a disaster or outage in one particular area. For the most part, you don’t have to worry about any of that. You just go about your business or pleasure utilizing the application, API, or other hosted services.

Here at Metrics, we’ve been going through a concerted effort to remove our dependence on commercial cloud solutions. We’re moving many of our applications to a private cloud. Examples include our git repositories, groupware solutions, and ERP.

“Why?” you might ask. The simplest answer…control.

Essentially, moving to a private cloud means we can offer and make use of similar (or in many cases, identical) software and services as commercial offerings, but retain complete control over aspects like provisioning (how much hardware or other resources to commit to a particular solution), authentication and authorizations (how you log and what features you have access to), security standards, performance, and many other aspects. An added bonus, although not fruitful in some instances, is cost savings that come from not having to pay a vendor for a software or service that we can provide for ourselves.

As with anything, there’s no “one-size-fits-all” solution here. It may make perfect sense for a company to pay for infrastructure or software “as a service”. In fact, many, large enterprises have been doing the exact opposite by moving their internally-hosted applications and infrastructure into the public cloud. The level of savings they’ve experienced is debatable, depending on the specific metrics you use to evaluate the effort. They may certainly spend less on hardware and systems or support personnel by outsourcing to a vendor, but other costs, like subscription and other fees, offset that to some degree.

So, what is involved in moving to a private cloud? For us, it involves the following…

First, network infrastructure. We upgraded our entire network to take advantage of improvements in hardware and software, get better performance, and to improve security. 

Second, hardware. We purchased server racks, servers, drives, and other bits and pieces to tie it all together. In most cases, our hardware was pre-owned and therefore purchased at a serious discount from new, retail prices.

Third, applications. We’re big believers in open-source software, so the vast majority of our applications are free, in terms of cost and liberty. Nextcloud, Gitlab, SQL-Ledger are all in use, along with other, server-based components like Apache web servers, MySQL and PostgreSQL databases, and Node.js. We also stand up client-facing applications for development, testing, and, in some cases, production instances, e.g. Magento.

There’s another aspect to migrating to an internal cloud environment that, as a consulting company, we get significant value from. That’s training. It takes specific knowledge and extensive experience to recommend software applications or to design, deploy, and support solutions. We can much of that knowledge and experience by scratching our own itch. We take what we learn from our successes, and more importantly our failures, and bring that to bear on our client projects.