Ben Merriman
Ben did some work experience with @UK this summer, and has now returned during his Christmas Holiday and plans to come back again at Easter.
The following is Ben's view of working @UK.
I have now been working at @UK for just over a month. I was fortunate enough to be given the opportunity to do some work experience for the company and it has proven to be a most rewarding experience, giving me an insight into the computing industry. The systems used by the company are beyond anything I have previously experienced. I am currently in the third year of higher education and the technology in place at @UK is considerably more advanced and I believe years ahead of that used at my university.
I began my university education studying a BSc Physics degree before changing, after completing one year, to a BSc Computer Science degree. I have therefore had an opportunity to study within two departments of a leading university that make use of intensive computational power. The servers in the Physics department are powerful computationally while the servers in the Computer Science department seem more geared towards storage. Having had a chance to work on the servers at @UK it is clear that they serve both purposes, computational and storage.
Furthermore, the technology in the @UK servers is far more advanced than the computers I have worked with at the University. For example, I recently installed several 220GB PCIe SSD’s into the servers, each one rated at 600MB/s. The University computers still rely upon conventional HDD’s. Similarly, the amount of storage available at @UK surpasses that of my university’s; each student is limited to 245MB of storage each with no central (shared) storage location available to them. Sharing files easily is only accessible to members of staff, consequently when performing group projects I have had to rely on third-party applications. @UK uses a Drobo, connected via gigabit Ethernet, to store, share and backup it’s data. With nearly 18TB of storage space simply for one office, this far exceeds my university. Nor does this value take into account the storage available on all the office computers or the servers themselves.
An area which surprises me is how quickly the software, and to a certain extent the hardware, is kept up-to-date. As soon as a kernel update is available for the Linux machines it is checked for compatibility and subsequently applied. The same goes for every other update to the software on the Linux boxes with which I have worked; they are currently running the latest 3.0 revision kernel. My university, as of the time of writing, still resides on the much earlier 2.6 kernel revision, as well as relying on the LTS version of Ubuntu, rather than the most up-to-date one.
As indicated above the hardware at @UK is kept as up to date as possible; the computer I use has the latest Sandy Bridge series i5-2500 processor in it, as well as a SSD. To draw comparison with my university once again, they are still using the old Core 2 Duo processors, which while perfectly usable, are now two generations old. As previously mentioned they also still rely on HDD’s, these appear to be of rather small size as well, with the server allocating 100GB to all the students over the entire department. 30GB is allocated for each root file system, which is inaccessible to a student.
@UK also utilise btrfs partitions on some of their hard drives, which is widely regarded as still being an experimental file system with many major Linux distributions supporting it, but not offering it as their primary file system of choice. This illustrates perfectly the extent to which @UK are at the cutting edge of innovation. My university still relies on the default ext4 file system for all its hard drives.
From what I have seen while working there, the company uses a distributed file system called Ceph; advertised as capable of managing petabytes (million GB) of storage. This is controlled using an automated administrative engine called Puppet. This combination allows their infrastructure to grow easily, as once you connect a new computer into the network, you set it up with Puppet and configure it using the webpage managed interface, and the computer begins synchronizing with the rest of the network, expanding available storage quickly and simply. Indeed Ceph can be expanded effortlessly by simply adding a new OSD or storage node on a device. Ceph is also clever enough to distribute the stored data evenly, not creating so called ‘data hotspots’ on old drives while new drives stand empty and idle. Ceph is better than a normal RAID array in that it you don’t have one vital hard disk that is a basically a RAID rebuild device, not used until it is needed. Ceph can recover from multiple hard disk failures and redistribute data in parallel, with multiple disks copying to multiple disks. Puppet allows this system to work very well; as if a computer ever fails it is simply a matter of getting a new computer, giving it a hostname on the network and starting Puppet.
During the course of my work experience, I have seen virtualization taken to a new level. I have experimented in running virtual machines in my spare time, but the sheer scale again dwarfs my previous experiences. All the Company Formation machines run the latest Ubuntu that then run virtual machines, which themselves are running Windows 7. The KVM system is very impressive, allowing dual screen monitors and access to all the external hardware inputs (USB, DVD-ROM) from inside the virtual machine. It is, to all appearances a Windows 7 computer, the only giveaway is a small auto-hiding toolbar at the top of the screen, but otherwise the virtual machine is entirely transparent, as a perfect virtual machine should be. This allows @UK to continue using Microsoft products that require a Windows machine while also running Linux based packages underneath, e.g. Puppet and Ceph.
I have spent a significant amount of my time in assisting the system administrator with setting up the firewall system. There are several firewalls in place, protecting the core network from any unauthorised intrusion, as well as firewalls between the Internal DMZ, External DMZ, N3 Network, Office Network, Database Network and the London Link. Each firewall has a duplicate backup system so that if one ever fails the other can take over instantly. Each firewall combination is synchronised across a separate connection, and isolated from the other system’s firewalls by running on Virtual LAN ports on the switch. This synchronisation and backup is managed by two carp interfaces running over each physical network port. The firewall rules themselves are synchronised using a pfsync interface that keeps the pf.conf files (where the firewall rules are stored) identical on each firewall in a set. Data is forwarded between the sets of firewalls, and thus has multiple points where checks can be run to confirm authorised traffic. All these firewalls are running the latest release of OpenBSD (version 4.9) universally regarded as the most secure OS possible. Indeed famously the OpenBSD website features the slogan “Only two remote holes in the default install, in a heck of long time!” More precisely that “heck of a long time” will be fifteen years this October. @UK’s servers thus utilise arguably the best OS for the situation.
I have also been working on helping to make the entire network more efficient by adding a new network interface into the existing computers, allowing the Ceph file-system to operate in isolation from the internet and intranet connection, freeing up bandwidth for the entire infrastructure. Previously there were a group of computers sharing a single connection with another group, which caused some bandwidth to be wasted keeping Ceph synchronised.
The newly networked computers have now been distributed throughout the office so that everyone is running the same hardware, allowing fixes for one computer to be applied to the others without too much modification.
The organisation of the network has recently been improved, with the introduction of a colour co-ordinated system, thereby allowing quicker resolution of network problems. Each network switch in the server room now has a colour associated with it, and the network sockets around the office are marked with the corresponding colour. For example a socket marked with a yellow dot will correspond to SW3: the switch connected with yellow cables. This system will integrate with the migration of the firewalls onto the new hardware, again allowing an easier understanding of the network.
Finally I have been tasked with keeping the @UK internal Wiki up-to-date, migrating pages from the Old Wiki and adding pages explaining any newly added systems. The colour co-ordination, for example, is described via a colour-coded table, explaining the system in a simpler way than writing about it.
To conclude, I have thoroughly enjoyed working at @UK. I have been made to feel welcome by all members of staff, for which I am very grateful. My time with the company has without doubt taught me invaluable lessons about the computer industry, e-commerce in general, and significantly how different academia is from actual business. I am very encouraged by the fact that this experience has confirmed that this is the career path I wish to pursue.
Ben Merriman