I am a SysAdmin who likes to code. I would say I know a fair amount of web developing, but do not understand it like a web developer uunderstands it. I think the reverse is true as well – web developers know how to set up a LAMP/LAMP stack, but they do not understand it as well as SysAdmin might understand it.
To be a successful SysAdmin, you need to relearn your field every 3-5 years. New versions of software come out, new OSes, new features, new methods, and new ideas come out every several months. It takes somebody dedicated to read news blogs, mailing lists, and following the appropriate people on social media to keep up with the rapid trends. Web developers do not have that time to dedicate to operations work. They only need infrastructure to work for their project and it doesn’t matter how well tuned the software is – if it works, that is all they need. Below are some common pitfalls I see with web developers.
1. Using Apache with mod_fastcgi
While this is the only option for php-fpm in Apache 2.2, Apache 2.4 brings along the better, high performing mod_proxy_fcgi. This method should be the standard in deploying an application in Apache. Using nginx with reverse proxy is also an alternative.
2. Not befriending a SysAdmin.
Contrary to popular belief, SysAdmins are not the preventers of productivity. Some Web Developers would benefit from being nice to a SysAdmin, speaking to them, and interacting more often. SysAdmins like to tell their “server stories” of how their application, server, or network equipment is actually performing in production.
3. Using maximum power on their dev machine’s VM
Most dev VMs I see are over 2 vCPU and 4GB RAM. This brings an unreliable view of how the application will perform in production. A better way would be to create a 1 vCPU with 512 RAM and test on that. The smaller server footprint your application needs, the easier, faster, and cheaper we can scale it.