I usually come across stuff on the web and just post it to my twitter account, but i was browsing the other day and came across a fantastic article by Ben Rockwood (@Benr) which he gave a title of “Devops: The Re-emergance of Systems Engineering as a Discipline”, Let’s quote some words of wisdom from this article:

The people that I met that seems to “get” the devops culture are devs. But not that kind… You see, they profess years in administration or ops, but they more excited by JSON and AMQP than they are by the next release of their favorite OS or chip architecture. These people no longer see computers as autonomous entities, rather they see the protocols to link them. They are more excited by NoSQL databases that can house metrics than they are in the commands and interfaces they can get them from. Spending time learning every little feature of an OS isn’t exciting, but optimizing inter-system communication is.

That’s interestingly true !, When NoSQL was trending, i saw it on the UNIX/Sysadmins blogs more than on the developers blogs, some of us just like to follow the new/alternative to the software models we have been using in operations because we already experienced the bottle necks of performance for the old systems and kept inventing workarounds to get those systems up and running in production efficiently.

What I’m driving at is that the most interesting artifact of the “devops” movement is that its bringing a new generation of Systems Engineers out of the closet. They are devs in an ops world. Not dev for dev sake… not ops for ops sake… but rather dev for the sake of ops.

Take a look at the new tools in our market:

  • Configuration Management -> created by Sysadmins turned Developers for the sake of managing the configuration of a large amount of systems

  • Servers Orchestration/ Command & Control -> Also created by Ops sick of SSHing into each server and doing the same thing over and over again, therefor they created frameworks for orchestrating their servers.

  • Examples here are simply endless ! ….

But making a culture change like this in a job that most of it is based around routine processes (Monitoring, Provisioning, Deploying the same stuff over and over again) is not that easy, Especially for people who entered the Systems world seeking a “stable” job, those guys must think again about their jobs, one day they may be in an “Evolve or Die” situation:

As the good news of “devops” spreads it first enlightens, then brings excitement, then dread. If your one of those “specialists”, you can easily feel that your now out-dated. Consider that there is now pride within the devops elite that CIO’s are now talking about having a “devops strategy”. Some even suggest a (I’m paraphrasing) “evolve or die” scenario for operations teams. If your a sysadmin who uses Borne or Korn shell instead of Ruby, look out! I don’t think that’s fair, nor do I think its true for all. Instead, it all makes more sense when you see it as three camps instead of two, with a the culture over the three… that is, applications developers (traditional “dev”), system administrators (traditional “ops”), with a new role in the middle of Systems Engineers that helps glue the camps together. Some of your Systems Engineers will emerge from the dev side, some from the ops side, always having hidden their secret urges to do both. And, as with any emergent role, many will aspire to it but simply not be cut out for it.

And that’s all folks ! :), I see this as a real enlightenment for the Systems Engineer, Our jobs are almost being redefined right now.

You can read the whole article that Ben wrote on his blog: Devops: The Re-emergance of Systems Engineering as a Discipline

So i write a lot of puppet code these days to automate infrastructure stuff that i do, and it came to me that every time i have to make an addition/change to my puppet code i always run syntax checking with the “puppet apply” command, so why not automate this procedure and use the beautiful Growl notifications on my Mac in order to get instant desktop notification with the output of puppet manifests syntax checking ;-)

Introducing Puppet-growl

  • Puppet-growl is a ruby script that watches if there is any changes to your puppet manifests (by monitoring .pp files) and sends notifications to your desktop if the puppet manifest you just created/edited passes the syntax checks or not.

  • It aims to facilitate the development of puppet code by sending instant notifications to your OS X desktop.

  • puppet-growl uses eventmachine, em-dir-watcher and ruby-growl

For installation/configuration, please visit the puppet-growl on github: http://github.com/AhmedElGamil/puppet-growl

I would love to see someone hack the script to add libnotify support for the Linux desktop.

Thanks for Mohammed Safwat and Karim Allah Ahmed for hacking around the code with me.



Seriously, Why do we have a lot of arrogant personalities in our IT industry ?, you see a guy who knows bits of this and a bits of that and BAM, he’s like the king of the island.

Don’t you think this is the appropriate time to finally realize that we are working on one of the most advanced/quick-changing-sciences in the whole world !, watching the amount of code being pushed daily at github.com is convincing enough for us to understand that.

Plus, once you start being arrogant, be warned that this is the end of your advancement, being passionate about your code/systems/graphics shouldn’t make you exaggerate all of what you do, you are always learning even if you are at the top your field/career, be proud of achievements but to the limit that doesn’t make you an arrogant person.

Listen to Imam Ahmad Ibn Hanbal when he was asked: “Until when will you carry that ink pot.” He said : “With the ink-pot to the grave.” – once we understand that, we will never be arrogant, Ever!

Assalamu Alykom Everybody,

I know that this blog has almost been dead and you can only see my twitter updates laying around (seen this line before ?! well, it is the most famous line that bloggers write when they stop writing for some time, – Back to the topic chatty !! –)

So i have been working in the Egyptian market for quite some time now in the field of UNIX-like/Linux Systems administration, dealt with a lot of technologies like: web operations/scalability, Infrastructure management, web farms,VoIP, Security systems and whole bunch of stuff, which gave me some idea on how do sysadmins (or systems engineers whatever you like :-) ) do and achieve their goals.

The point is, I DON’T LIKE IT, WE ARE BEING KILLED BY OUR JOBS, Systems are evolving and we are not ?! ..

Virtualization and Cloud Computing brought a whole lot of machines, and we still manage them using “almost” the same technologies ?! ..

If you are like me and have been searching for a solution for the past year or two, You will see around the internet that people are talking about “Agile Systems Administration”, “Infrastructure As Code” , “Command and Control”, “Configuration Management”, “Server Orchestration” and “DevOps”.

So I started asking people working on our industry, and there is almost NOBODY individually or an enterprise in Egypt that started working with those technologies, just some tiny trials and i just cannot stand the time/power we are wasting on managing our servers “Old School”. (If your Enterprise is using some of the technologies mentioned above, please tell us in the comments or mail me personally, I would love to have a chat about that.)

So within the next days isA, i will start doing some steps to get us out of the misery :-), may be creating some collaboration channels, contacting key professionals on that topic, who knows may be even making and event/sessions about it ..

But first I need your trusty comments, What do you think of the technologies mentioned ? Do you see it applicable at your employer ? Did you start using it ?