Saturday, October 30, 2010

matahari -- no sir i am not a spy

story time...

Names John Ramboe not to be confused with the real Rambo (he doesn't carry a flash drive). I am a sysadmin at this company that likes pretty fluffy clouds(mrg). In this company I was given the wonderful task of managing several servers (maybe 5? depends on the trust I guess.). The responsibilities with this task involved some day to day items such as checking available memory, restarting services, installing packages, etc. The cool thing about these servers is that they are very flavorful where 2 of them run Windows Server, next 2 run RHEL (Red Hat Enterprise Linux), and lastly one little guy running Windows XP (He's stubborn I even offered him a cookie in exchange for upgrade).

This company has this piece of software that does a lot of ..stuff.. and at the end of the week a scheduled job to process this ..stuff. The silly thing is this software is spread across the world to about 1500 different locations. So every week these 1500 locations run a scheduled job and upload the data to a central processing hub where I managed to capture a cloud and harvest it for storing this data. Seems inefficient I know but it works and who am I to make changes when I still punch type the keyboard. But, I still make a suggestion because it makes me feel special and reassures the boss man I love it here.

This suggestion in all its glory would simplify and streamline the whole process of this "end of week gotta upload this data so it can be processed over the weekend". To do that we'd need some sort of worker bee in these locations to continuously wire data in a supar fast and secure manner.

In addition to my daily tasks and my continuous journey to turn a mass of water droplets (thanks wikipedia!) into a messaging like beast. I implemented some software that will allow all locations to play nicely through this mediator type mechanism. This mediator is commonly referred to as a broker (read AMQP).

At this point I've decided on the middleware basis to use for making sure these locations will successfully get data across the wire safely and most importantly, continuously. Since this middleware is clueless of why I summoned it to do my dirty deeds I'll need to write some agents that will handle this company's software needs (read QMF).

And what is the company's software do that requires it report in so frequently? Yep, I need to write an agent that will print load average and memory statistics. To try and get to a closure in this little story an agent was written to provide this functionality. That agent is apart of a much bigger revolution called matahari.

With matahari I was given all the tools needed to write and execute my agents. Provided was a matahari-broker which handled the messaging needs. The agent in question was a host-like set of routines that allow me to pull those load averages and memory statistics whenever needed. Since matahari itself is not very capable of reading my mind on what exactly it should execute we are provided with a tool that initiates a console like interface into my world of running agents (qpid-tool).

If this story interests you or is something that you can relate to then head on over to http://fedorahosted.org/matahari/ and get involved with the mailing list and development.

As a bonus Windows advocates need not fret because this puppy is cross platform leaving you to a single interface for performing the tasks required.

0 comments: