Recently I switched to Linux after 3 years on Windows. On windows I wrote code on the Java and .Net platforms, with some amount of build scripts in Ant, Nant and PowerShell. Now I am doing a DevOps role on Ubuntu Linux. It has been a humbling experience to say the least. The last I worked on something close to Linux was Sun Solaris (wasn’t Oracle then), with Apache and Tomcat. The deployment wasn’t automated (read primitive), so all I needed to know was Putty, vi, cp and chmod. Now after waking up (like Neo in the Matrix), I find that the Linux world has moved on drastically. We use Puppet for configuration management; Ganglia and Nagios for monitoring; SSH as a remote shell; Apache is not cool any more, Enter Nginx;Upstart for managing services;Amazon EC2 and Vmware Vcloud for infrastructure on the cloud (not to mention the restful API for provisioning machines); Graylog and Logstash for log management. The list doesn’t end here. All the above tools use other Linux packages for which we use Debian Package Management. Puppet runs on Ruby which has it’s own package management system called RubyGems. On Windows I just used IIS, some PowerShell for scripting and the good old Event Viewer for looking at logs. Automation is a luxury at best in the Windows world. In the Linux world, it has become the norm. I have experienced the two contrasting philosophies of the Windows and the Linux/OSS world first hand now. While windows is Monolithic (There is only one way and that is the Redmond way), slow and of course point and click (a legacy from it’s desktop genes), the Linux world is heterogeneous (every problem is divided into smaller parts and there is more than one way of solving a problem), fast moving (there is a new version of a library every month) and completely automated (a legacy from the command line shell and shell scripting). Its been more than a month on Linux for me and everyday is a catching up game. Switching platforms and way of thinking is something like Cold Turkey, but I guess I will eventually get used to it. Change gives you a different perspective of the world.