Chronophage.net Blog

Cloudy With a Chance of Productivity…

by on Oct.11, 2011, under Administration, Cloud, E-Mail, Hardware, News, Software, UNIX 101, Virtualization

I’ve been waiting, and working.

I’ve been waiting for my work to release a its new product. I’ve been waiting, politely, for my boss to blog about it. I’ve been waiting to show off this new product.

I’ve been working on provisioning, and working with customers on beta testing the new product. I’ve been working on templates, and auto install media, to make everyone’s life easier. I’ve been working on documentation for customers.

I’ve been waiting for, and working on, a VMware vCloud Director based product known as vmForge VDC.

This is cool stuff!

It combines the power of co-location with the flexibility of virtualization and the ease of cloud based resource management. It’s reliable, consistent, and powerful.

It’s also straight forward. Virtual machines are organized into “vApps” which are logical containers that can be used to start, stop, isolate and template groups of VMs.

To test things out, I’ve decided to move Chronophage’s services into a virtual data center. Unfortunately, I can’t use up one of our virtual domains on our physical firewalls (that is a little too expensive of a comp for an employee) so I’m routing down a /28 to a /30 on a pfSense virtual machine that’s acting as my firewall, router and loadbalancer. I set it up, templated it, and filed it into my VDC’s catalog just in case I need to re-deploy it. I’m running pfSense 2.1-Development because I want access to ipv6.

The loadbalancing is fairly simple in pfSense, round robin style (or fail over) with monitoring. But it works natively for ipv6 (in 2.1) and it has some limited persistence, which it calls “sticky”. If there are any open states between an outside ip A, and an internal ip B, it’ll send further traffic for loadbalanced services from A to B

The first thing I decided to deploy was a webcluster. Right now, this consists of two front end machines running php via fcgid and a backend server running nfs and mysql. Using fcgi + suexec (custom), every site has its own user, so I set up NIS on the internal network to keep everything in sync. I set up vsftpd on the nfs/db server, so that the files can be updated by each user.

After verifying everything was working (with some telnet love) I set up a virtual ip for loadbalancing, and cut over DNS. Everything was flying! I then added a ipv6 block, set up a virtual ip for ipv6 pointing to the servers ipv6 addresses, and now I have native ipv6 from end to end!

Next up will be mail, which is a little trickier to “clusterize” because there is much more writing involved. I plan to have two front end machines and a backend machine, plus a shell machine for people who want to have a unix environment, file storage and local mail.

Now, not to bring pricing into this, but this setup would cost me around $450/month, including bandwidth, if I weren’t getting it compensated. That’s right around the price for the *space* needed to run all of those servers (barely) in most data centers, not counting the bandwidth, power, and the cost of purchasing the physical servers.

The best thing about this, I built it all from my desk, in a few hours. And most of that was trial and error while working on a few things that I wasn’t very familiar with. Now, you’re reading this on my web cluster!

Co-location is dead, the cloud is confusing, but this, this is dead simple!

I like dead simple.

Someday I’ll tell you about implementing other cloud solutions. Not so simple icon wink Cloudy With a Chance of Productivity...


:, , , , , , , , , , , ,

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...