RSS | Archive | Random

About

I'm Diego Fernández and I work as a web developer at Simplelogica instead of design games sitting on my sailboat.

Stuff

18 August 08

Enhancing the IT infraestructure for dummies

I’m real fan of development tools, IT infrastructures and all those nerd things that are made to make your life easier when making software. Nowadays we live in a wonderland-gummy-chocolate-world where, most of the time, you could find really neat applications for free, thanks to the open source community. Seems like the knowledge and the skills are becoming more precious than technology. Who knows.

Anyway, last month in simplelogica we moved to a bigger and “windowed” office, and decide that, cool boys as we are, we needed to pimp our IT stuff (or at least, get a little more serious about it). I’ve got no “real” experience planning and deploying things that are related with sysadmin work more than with the programing side which I’m currently being paid for.

Coincidence, destiny, karma or my annoying habit of telling my colleagues “how ashamed we should be about no having whatever”, last weeks I’ve been working in some stuff as foundation for our IT thing. Always cheered up by my comrades telling me to “shut up and do something about, you little annoying bastard”.

Summing up this what we have right know up a running:

  • Backup system.

Our needs were to provide backups of every single machine (server or workstation) every day, so we always have one week back of work, plus one copy one month backwards. We were using rsnapshot and quite a bit of custom scripts. Obviously, we were having problems. We needed to run the backup application on a server, and have it to centralize and organize the backups of every machine in the office. And that’s what Bacula is all about.

I knew it was a solution a little bit complex but, once working, it provides a robust, scalable and easy to mantain enviroment. A knew a couple of places where they were using it, and we have to thank Luis (from the cocktail) for tour on a real Bacula installation.

  • Shared space.

Here we choose a solution based on NFS and sftp, which could be used independently. What we want, and what we have, was just a shared space mounted automatically and transparently on each machine: as long as we have experience it’s quicker, simpler and easier that send files by IM, email, ….

  • Centralized password storage and access.

Who has the root access to deploy some app? Which was the password to access some place on this site? How can I access my office mate computer to steal his twitter account and make it funny with poo jokes and stuff…? No more. Say hello to pwsafe in all its command line glory. It stores authentication data (like user name, password, group, …) on an encrypted file. With a little bit of tweaking and some scripts to  make life easier to everybody, you could ssh a machine to ask for every password work related you may need, and only have to remember one.

  • Piped music.

Following the mantra “my music taste is better than yours”, we have a music player daemon (mpd) running on one of the servers (the one with the speakers attached, of course) and everybody could dj using a web frontend (phpMp).

  • Wiki.

That was already running thanks to demimismo. Now we are more strict about the documentation of each thing we do (and it’s not like the documentation you used to do for college: this is actually useful! Go figure). I have to say that, if the place you work does not have a wiki or similar knowledge repository, you suck big time.

  • Version control repositories.

We are using git, or trying at least, on a basis day work, but we have an inherited centralized infrastructure based on SVN. The glue is git-svn, of course.

In some way, we’re using git againts one of its deepest principles because of this, but I’m not really sure we change entirely the centralize repository system in a short term. By the way if you’re not using a distributed  control system, you suck, just a little bit, but you suck.

  • Project management.

Basecamp, enough said: External service. 0 problems and very good.

There’s still a lot to do a lot of thing to polish. We have to automatized continuous integration, finish the migration to git, compose a pop song, etc.

Tags: it sysadmin
blog comments powered by Disqus
Themed by Hunson. Originally by Josh