News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Daniel Cousineau' Blog:
A Lesson in Good Architecture
January 31, 2011 @ 11:14:40

In his latest post Daniel Cousineau talks about a good architecture decision (involving the Zend Framework) that allowed his company to stop on a dime and shift CDNs.

Only a few hours before our event and our CDN was failing probably 80% of the SSL handshakes for our requests to publish files. There is no need to name names as it was a difficult and obscure bug to diagnose in an extremely short amount of time. We needed to get it working, our CDN provider wasn't going to be able to resolve the problem in the extremely short timeframe we required, so the decision was clear: we needed to switch providers for the new content.

Normally such a switch would take quite a while (2 weeks by his estimate) but because of their use of a Zend Framework-based setup and the API libraries that they'd written for it, the switch over was as easy as creating a new FileStore abstraction for the new CDN and changing some configuration settings. Thanks to the implementation of the Adapter pattern, his company was able to make a big change in a matter of minutes, saving them and their content.

So let this be a lesson to us all. Abstraction and design patterns sometimes feel like an "enterprisey overcomplication" but they aren't there for everyday needs. [...] So suck it up, use them, and thank yourself when you find yourself in such a situation.
0 comments voice your opinion now!
designpattern zendframework api cdn architecture


blog comments powered by Disqus

Similar Posts

/Dev/Hell Podcast: Episode 44: Gorf Fever

Zend Developer Zone: Improved Test Assets for Zend_Tool Generated Projects in ZF 1.11.4

Zend Developer Zone: Zend_Log timestamp filter

Rob Allen's Blog: Back to zero bugs (Zend_Config)

PHPBuilder.com: Using the Factory Pattern in PHP Applications


Community Events





Don't see your event here?
Let us know!


threedevsandamaybe developer code install refactor list laravel interview introduction series configure framework release testing unittest opinion community language symfony2 podcast

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework