[nycphp-talk] What OS support helps most?
Paul A Houle
paul at devonianfarm.com
Sat Jan 31 15:45:10 EST 2009
Leam Hall wrote:
> What could you tell the OS/hardware/infrastructure support folks that
> would help make you more productive?
> As great as PHP and Joomla are, there tends to be a divide in the
> folks who build the applications and those who support the servers the
> applications run on. My paid work is at the server level (Red
> Hat/Solaris) and I'm betting there are things my side could do better.
> What would help you be more productive? What could keep things clear
> and clean so we all get to spend the weekends with family? How can the
> server teams contribute to environment sustainability?
You've got to be systematic about how applications are installed and
Wordpress is a great example of what NOT to do. It's easy to
install and has a great user interface, but it's a bitch to maintain.
The Wordpress developers are always complaining that Wordpress users
are slow to update Wordpress, but Wordpress lacks the ability to easily
test changes of configuration. I'm not talking about that unit testing
cult, I'm talking about having the ability to ~move~ a wordpress blog
by changing just a few lines of code. For instance, I should be able
install Wordpress 2.7 and check that it works with my templates and
plug-ins. Wordpress stores a large number of absolute urls that makes
it difficult to do this: yes, you can migrate a Wordpress instance by
doing a search-and-replace of all urls in the database, but it's not a
simple, standard and supported procedure, which is should be.
In most cases there are three things you need to reconfigure to
create a new instance of an application:
(1) database connection information
(2) the url where the application is on the web, and
(3) the place in the filesystem where the application is stored
If you can copy the db and the files, then edit those three things
in a single configuration file, you can copy most applications in
minutes. Each developer can have his own copy of the system, and you
can have a place to stage changes. You can move the system to a new
server easily when the time comes.
Lots of people are turning to server virtualization to get (some of)
these benefits, but they can be had much more easily by being just a
little systematic -- while saving computer resources that would be
wasted on multiple disk and ram copies of an operating system, not to
mention the cpu overhead of having to schedule everything twice.
More information about the talk