Created
March 21, 2012 16:55
-
-
Save chrisl8888/2149496 to your computer and use it in GitHub Desktop.
Drupalcon Denver 2012 - Larry Garfield Fast Friendly Architecture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Drupalcon Denver 2012 - Larry Garfield Fast Friendly Architecture | |
Consider example of classic car | |
* axles had issues | |
* turning had dependancies | |
Right vs. wrong | |
* Finding balance | |
* Architectural choices are not good or bad | |
* Architectural choices actually appropriate or not appropriate | |
Must determine priorities | |
* Fast vs. good vs. cheap | |
* Not all three are possible | |
* project management triad | |
* must determine priorities tradeoffs and sacrifices must be made | |
Architecture must pass several axes | |
* engineering | |
* qa | |
* human | |
Axes of Good - Using an example Drupal engineering examples | |
* Performance | |
* drupal has large arrays - larger memory requirements | |
* extensibility | |
* Not really modifiable - cannot take out functionality | |
Human axes example - command line | |
* expensive overhead | |
* understandability is difficult | |
* expediency - how easy it is to get job done | |
* learnability is low | |
QA Axes | |
* Testability - nuclear | |
Why should we care? | |
* client - project length issues | |
* boss - overtime to fix bugs | |
* you in six months | |
drupal site examples | |
* Church vs. major media network | |
* Problems and priorities are different | |
Example case - should i care about mobile? | |
* use browser stats or what the world cares about | |
* responsive design takes more work | |
* review trends of mobile | |
* overhead exists with responsive design | |
* answer is not always yes. your answer lies on your existing needs | |
* Refer to Use cases! | |
Extensibility issues | |
* preprocessor example | |
* ability to adding hooks is great | |
* drawback - hard to test | |
Complimentary Design | |
* testability and modifiability require abstraction | |
* testable code depends or modularity | |
* drupal modules example of extensibility | |
* extensibility => modularity | |
* modifiability => expediancy (easier to change later) | |
* performance => scalability (most times) | |
* use xhprof - for testing. GO USE xhprof! | |
Find balance! | |
---------------- | |
Questions asked | |
---------------- | |
Why symfony why is it expedient? | |
* drupal doesn't assume rest - built on assumptions of page | |
* drupal needs to deliver just more than just an html tag | |
* spent a lot of time modifying drupal to figure out how to do that | |
* depends on managing http system | |
Varnish | |
* reverse proxy server | |
* expect a lot of anonymous traffic - let varnish handle it | |
* more performant than db cache | |
* php slow or db slow ? | |
How to manage changes that are produced ad hoc ? | |
prepare for it. invest in being more extensible |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment