Skip to main content

On Virtualization

Back then, datacenters has been filled with racks and racks of servers serving different functions. Most datacenters today are still setup in such a way that for different services such as mail, web, file storage are kept in separate physical boxes.

The problem with this scenario is, primarily, the infrastructure cost. If you're a small company tight on budget, its a pretty big investment to follow this setup. Imagine buying a mail server, a web server, file server, app server, test development server, redundancies.. The list goes on. Also, it is a headache to maintain.. What if you need more RAM in your app server and your web server is underutilizing its resources? Are you going to pull down the server and transfer memory modules from one physical server to another?

Power consumption is also a problem. Servers, by nature are power hogs. They suck up huge amounts of electricity and maintaining a 1 rack data center would be a big pain in the wallet.

The good thing about technology today is the popularity of virtualization. In a nutshell, virtualization is putting all those servers in one box. Spawning a server wouldnt take 5 minutes, installing operating systems wouldnt require you to get up from your seat and stand in front of the console.

Ever since I started taking care of server class machines, the first thing I tried is to install a virtual machine manager. Ive picked VMware ESXi, its a free but limited version with its big brother called VMWare ESX. I currently use a Dell PowerEdge server with several Windows and Linux machines. There are other virtualization managers out in the market, Microsoft has its Hyper-V and theres the other free alternative called XEN. I opted for ESXi because of its simplicity in setting up and managing. Sadly, there is no web based option to manage your servers and the client is only Windows based. A good bargain nonetheless since it provides pretty ample features which could help you manage multiple servers in one box.

ESX is a bare metal installation. This means that ESX is the only thing installed in your server.

Image courtesy of vmware.com

Bare metal installation removes the need for a host OS, a host OS is supposedly the one acting as the mother of all the virtual OSes or called guest OSes. An example of a host-guest type of virtualization is running Windows on top of your Mac OS using Parallels or VMWare Fusion. The problem with this scenario is the resource allocation to the guest OS is sometimes secondary. Priority still goes to the host OS which drives all the guest OSes.

A bare metal hypervisor (the virtualization manager) removes all this biases. The VMWare ESXi hypervisor could be installed from a CD and takes up so little space. Once the ESXi has been installed and booted, all you can see in your machine is some instructions and a link on where you could get the client. Thats about it. No fancy graphics, no unnecessary applications hogging the resources.

Once you obtain the client, you will be greeted with a login page in which you will need to input your server IP or host address and login credentials.


After you login, you will see a nicely laid out control center where you do all your magic. Information about your servers are listed on a tree on the left and particulars are on the huge window on the right. Some of the controls are above and a quick event log is located at the bottom.


For starters, if you havent setup any servers yet, spawning new virtual servers is like a walk in the park. Theres a wizard to help you with that or you could always select custom to fine tune your virtual OS.


Then you can pop out a console view of the console which is what you are supposed to see when you're in front of the computer. You can even set BIOS settings from the console window if you like.


The most appealing feature of ESX/i I liked was the ability to monitor the health and performance of your servers. From CPU, to memory, to network even down to the hardware status. You could monitor if one of your power supplies are not getting power.. Its like a glorified control center for all of your servers.




The advantage of a virtualized setup lies in its ability to easily create virtual servers. Lets say you need a quick test server to infect with ugly viruses to evaluate a certain anti-virus application.. Or you need a repository server for a 2 month project.. Or if you need to test a new operating system.. The list goes on.

The most useful feature of a virtualized environment is the ability to create snapshots. Snapshots, well based from the word, is like a picture of your current OS. Imagine accidentally messing up a servers configuration and you've pretty much misconfigured everything to such a huge mess. One would normally reinstall and reconfigure, but if you take a snapshot, you could always revert back to that snapshot if things go wrong.

Virtualization is a blessing to all those people working in the datacenters. Not to mention how much power and you would save by running just 1 box instead of 5.

Comments

Popular posts from this blog

Self Signed SSL Certificates

Ever wondered how to enable SSL or HTTPS on your site? If you dont want to pay for commercial SSL certificates, you could create self signed certificates for your site by following the instructions here: https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-12-04 The instructions in the site above will make your default site HTTPS enabled. If you prefer having a commercial SSL, save your certificate files and key files in your server and edit the location on the /etc/apache2/sites-enabled/default to point to the directory where you stored those files.

Moving to a New Linux Web Based Torrent Client

For years, I have been using TorrentFlux (url here) as my primary torrent client situated in my Ubuntu download server. But as time went on, the developers completely abandoned the development of TorrentFlux which led to several forks which I think is still insufficient for my needs. Main GUI of TorrentFlux Ive checked several options which runs on a GUI-less environment. Since my Ubuntu server is just running on command line to save precious memory, I needed something bare, simple and is packed with features. Installing uTorrent Server is pretty straight forward. Download. Uncompress. Run. This is better than the approach of TorrentFlux which you need to setup LAMP server and create a database. More often than not, it happens to me that some of the data in the DB gets corrupted. I normally just reinstall the whole thing again. Main GUI of uTorrent Server To further elaborate on the setup process, I've gotten an excerpt from this thread which, quite simply discusses ho

Modernizing Qwtlys Database Part 1

Its been years since I have last updated Qwtly and I was given the opportunity to play around and modernize the database for my application. I wanted to try the cloud offering of MongoDB called Atlas being that its free for a small database.  With this in mind and considering that Qwtly doesn't get traffic after I have disabled the add, edit and delete quote function along with the login, I don't see the application getting to that limit of 5GB anyway. Well, that is considering if I can even get this to work.  The first order of business was to see if we can import the MySQL export painlessly to MongoDB Atlas. I have searched for MongoDB tools, external tools, scripts, only to find old abandoned projects which would not be ideal given my situation. I have considered writing a PHP script to do it but that too would cost time. I was looking for something that consists of using existing tools or features I am familiar with along with some manual eyballing and checking. Luckily, I