From Edison to Google – The rise of Utility Computing

Posted June 25th, 2011 in Cloud, Self by James

Popular in recent news is the rise of cloud computing services and although products such as Apple’s iCloud have received a large amount of criticism, most will agree that a great deal of the leading trends in the computing industry can be associated to one model, that of computing distributed as a utility.

The most compelling and thought inspiring comparison I have read on the issue is in a book called The Big Switch. In his book, Nicholas Carr takes us through the electricity generation and the evolution from power generation to mass power distribution. In the 19th century, any business wishing to power their plant would need to purchase and run a personal electricity generator built using Edison’s dynamos. Thomas Edison realised late in the century that electricity could be outsourced to power plants, which were able to supply an entire block with life giving power.

Edison however, never saw beyond this and believed he could profit by manufacturing and distributing the components for his power plant dynamos. It took a man named Samuel Insull to realise the potential of electrical power distributed as a utility. He discovered that power could be created and distributed in large quantities much more efficiently and at a fraction of the cost of Edison’s Dynamos. In a very short time he was powering the majority of the businesses in Chicago from one huge power plant.
These companies had realised that by avoiding the purchase of expensive equipment, they were able to reduce their own fi xed costs and not have to worry about maintenance or obsolescence. Electricity as a utility had triumphed over the private power plant.

Present-day, we can see the same process taking place in the computing industry. The personal computer era facilitated by Microsoft saw the rise of the Client-Server model of computing. Through office based data-centres, workers on personal computers are able to access the network, files, printers or other services. Although this model became hugely popular it also made the entire process massively inefficient.
This is largely due to the lack of industry standards, meaning that hardware and software companies constantly compete by selling products that do not interact well with their competitors versions. This results in machines dedicated to single purposes, such as databases or web-servers and in order to host a new application or service a company must purchase another machine to dedicate to it. Furthermore, in a stable system, these computers need the capability to reach peak demands, and their available resources must reflect this even if the peak is rarely reached.
My most recent employer was suffering from this in a bad way, a recent review estimating that under 40% of the total processing power was in use over 90% of the time.
In short, client-server computing has destroyed the conservation of energy and processing power that had been present in previous generations.

Obviously clear similarities can be made from this to the electricity era, the self contained data-centres businesses construct being just as wasteful and expensive as Edison’s private dynamos.
From this comparison it is easy to wonder why computing as a utility was not at the forefront of the computing generation. However, it had always been limited by a lack of sufficient bandwidth in the same way that electrical power was limited by DC. Now that network speeds are sky-rocketing and becoming cheaper, the power of computers can be delivered to users from a great distance, ushering in the age of utility computing.

From this description it’s difficult to see how Apple’s new service fits into the cloud computing model. By that I mean the fact that when using their iCloud service you get nothing more than online storage for your music. In order to listen you are still required to download your tracks to a physical device. Essentially they are providing outsourced storage, but hard drives are as cheap as they have ever been, and storage is now the most inexpensive part of computing. However, Microsoft and other manufacturers have also been following this same, seemingly unprofitable business model.

I believe it’s plain to see the future lies in outsourcing the whole deal, or more importantly, the processing element of a system. This is already happening, but we have obviously not crossed over to this model yet and due to current mind-sets I don’t think we are quite ready to leave the client-server model behind. This said, I don’t think it will be long before our home PC’s consist of barely more than a monitor, accessing the cloud for any service we require, we just need a large corporation to give the industry a shake. Google have already attempted proper cloud computing like this with their new OS and it has also been experimented with on a few other platforms.

However, large companies such as Apple and Microsoft are doing nothing to facilitate this jump. Personally I see these companies as the Edison of the digital world. They came up with a good idea, but are unwilling to push it onto the next logical step, and their concern with the potential obsolescence of their current products (such as Windows or iTunes) is holding the industry back and costing us all money.

Setting up a DNS – Start to finish.

Posted March 11th, 2011 in Linux, Self by James

Last week my domain name expired with my provider, so I decided to switch my domain registrar to Xilo, so that all my services would be together. However Xilo don’t provide an entry on their Nameserver, so you have to provide your own if you actually want the domain to point to anywhere. A bit annoying, but I had been meaning to set up my own on my VPS anyway, and what a great opportunity, right?!

So I sent a request off to one.com to cancel my existing account, to which they helpfully complied. Unhelpfully however they sent a confirmation email to my @ivings.org.uk address, the one they had just cancelled. Nice one guys! Due to this undersight I wasn’t aware of my account termination until 2 days after.

My situation so far; No website, no forwarding email address. To me this means that all of my emails were getting kicked back to the sender, frustrating to say the least!

Moving on… setting up the DNS.

Changing the domain DNS records
First thing to do is change the records on the domain. This is fairly simple but note;
If you want to host the DNS on the same system as your website like me, then you also need to set Glue Records which protect from circular dependencies:

Nameserver 1 : ns1.ivings.org.uk
Nameserver 2 : ns2.ivings.org.uk
Glue : 95.172.245.87

The Glue record specifies the IP of my VPS, where the DNS will be hosted.

Configuring the DNS
First install bind:

apt-get install bind9

Next create the Zone that will represent your domain:

$ nano /etc/bind/zones/ivings.org.uk.db

SOA ivings.org.uk. admin.ivings.org.uk. (
// Do not change these
2007031001
28800
3600
604800
38400
)


ivings.org.uk. IN NS ns1.ivings.org.uk.
ivings.org.uk. IN MX 10 mail.ivings.org.uk.

www IN A 172.0.0.1
ns1 IN A 172.0.0.1
mail IN A 172.0.0.1

As you can see I’ve set up my nameserver and mailserver (more on mail later) as well as some A records. You can find more information Zone files here. As you can see the A records are directing to localhost, as the DNS is set up on the same system as the site is hosted.

Next create a reverse DNS zone file, this is used for reverse DNS lookups, and occasionally by mail server authentication. It is generally recommended and should look something like this;


$ nano rev.0.168.192.in-addr.arpa

7200
@ IN SOA ns1.ivings.org.uk. admin.ivings.org.uk. (
2007031001;
28800;
604800;
604800;
86400
)

IN NS ns1.ivings.org.uk.
1 IN PTR ivings.org.uk.

Finally you will want to add these Zones to you named.conf.local file;


$ nano /etc/bind/named.conf.local

# For reverse DNS
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
};

zone "ivings.org.uk" {
type master;
file "/etc/bind/zones/ivings.org.uk.db";
};

And start the bind service;


$ service bind9 start

* Starting domain name service... bind9 [ OK ]

You can test your new DNS by replacing ivings.org.uk with your domain and following this link: http://freedns.afraid.org/domain/dnstrace.php?domain=ivings.org.uk

Congrats, your DNS is up and running!

If you want to make changes then be sure to reload the configuration files as well as restart bind:


$ sudo rndc reconfig
$ sudo rndc reload

server reload successful

$ service bind9 restart

* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [ OK ]

If you restart without reloading the files then the server will use cached versions, and the changes wont take effect.