Your SlideShare is downloading. ×
0
Drupal Efficiency  Coding Deployment Scaling  <ul><ul><li>Scott Mattoon </li></ul></ul><ul><ul><li>Sun Microsystems, Inc. ...
NetBeans for PHP <ul><li>Run and Debug project action – break points, watches </li></ul><ul><li>Run single file, Debug sin...
DEMO Session ID
SAMP
The S in SAMP stands for Solaris <ul><li>Solaris Zones  </li></ul><ul><ul><li>Free, lightweight and easy virtualization </...
The S in SAMP stands for Solaris <ul><li>CoolStack 1.3 </li></ul><ul><ul><li>* Apache  2.2.8  </li></ul></ul><ul><ul><li>*...
<ul><li>CoolStack 1.3 </li></ul><ul><ul><li>* Python 2.5.2 </li></ul></ul><ul><ul><li>* nginx 0.6.31 </li></ul></ul><ul><u...
Solaris – Linux Benchmark
RESPONSE TIME
THROUGHPUT & ERROR RATE
Need Efficiency & Control? <ul><li>one server </li></ul><ul><li>host (2) Dev, Test, Production environments  </li></ul><ul...
/opt/coolstack -ro -ro     /opt/coolstack' ./apache -ro ./mysql -ro ./php -rw /data/drupal-6.4 -rw -ro -ro   /data/drupal-...
Solaris Zones for Efficiency & Control ... MySQL MySQL Apache PHP Apache PHP Apache PHP Apache PHP Apache PHP
Security  <ul><li>RBAC </li></ul><ul><ul><li>Grant users the privileges they need </li></ul></ul><ul><li>Process Rights Ma...
The S in SAMP stands for Solaris MySQL # svcadm -v enable mysql # svcadm refresh mysql # svcadm restart mysql # svcadm dis...
“ DTrace is one of those tools that makes you wonder how you did anything without it before you'd heard of it. Why is it b...
Performance Tuning - DEMO Which functions are being called by Drupal? # dtrace -n function-entry'{printf(&quot;called %s()...
Resource Management & Isolation Projects # projadd -c &quot;Apache-PHP&quot; -U webservd httpd.php # projmod -sK &quot;pro...
Versioning & Protecting Data $ zfs snapshot /data/site@31Oct  $ zfs snapshot  /data/site@01Nov - - - WHOOPS - - - $ cp .zf...
Drupal and Java <ul><li>Requires Resin and Quercus  </li></ul><ul><li>Gives you: </li></ul><ul><ul><li>Database connection...
Project Caroline - DEMO Your  Service Code Resource Types + Internet ●●● Cloud Computing in a Grid Launch service using mu...
For More Information <ul><li>SMF & Security </li></ul><ul><ul><li>http://blogs.sun.com/downstream/tags/smf   </li></ul></u...
For More Information <ul><li>ZFS </li></ul><ul><ul><li>http://opensolaris.org/os/community/zfs/   </li></ul></ul><ul><ul><...
Q&A <ul><li>Scott Mattoon </li></ul><ul><li>Sun Microsystems, Inc. </li></ul>
Ian Murdock: What's a Linux Guy Doing at Sun? <ul><ul><ul><li>Sun Fire T2000: Sun's Eco-friendly Server Tears It Up </li><...
Network Services Identity Management Java Enterprise System Communications Composite Application Platform Application Plat...
<ul><li>Constant innovation </li></ul><ul><li>Free </li></ul><ul><li>Open source </li></ul><ul><li>Incredible performance ...
<ul><ul><li>Get Solaris sun.com/solaris/get </li></ul></ul><ul><ul><li>Get Data Sheets and White Papers sun.com/solaris/re...
Sun's Connection with Drupal <ul><ul><li>AFH founded in 1999 </li></ul></ul><ul><ul><li>100's of affiliates </li></ul></ul...
The Participation Age Matters Many Diverse Objects Collaborative Process <ul><li>Hand sketches </li></ul><ul><li>Photos </...
<ul><li>In the first year </li></ul><ul><li>1,000+ Projects  </li></ul><ul><li>10,000+ Members </li></ul><ul><li>7 Creativ...
<ul><li>7 Creative Commons Licenses </li></ul><ul><li>Drupal 4.7 + new OAN modules  </li></ul><ul><li>X64 tuned SAMP Cools...
Creative Commons Licenses
Sample of Sun Drupal Sites <ul><li>Open Architecture Network & AFH </li></ul><ul><li>http://www.openarchitecturenetwork.or...
Upcoming SlideShare
Loading in...5
×

Drupal Efficiency using open source technologies from Sun

2,160

Published on

Technologies and techniques for improving efficiency of Drupal development, deployment, operation. Featuring open source technologies from Sun.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,160
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
48
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Transcript of "Drupal Efficiency using open source technologies from Sun"

    1. 1. Drupal Efficiency Coding Deployment Scaling <ul><ul><li>Scott Mattoon </li></ul></ul><ul><ul><li>Sun Microsystems, Inc. </li></ul></ul>Session ID
    2. 2. NetBeans for PHP <ul><li>Run and Debug project action – break points, watches </li></ul><ul><li>Run single file, Debug single file, Run in command line </li></ul><ul><li>Wizard for creating new php and phtml files </li></ul><ul><li>Editing - Syntactic and Semantic coloring </li></ul><ul><li>CodeCompletion </li></ul><ul><li>File system code completion for include/require </li></ul><ul><li>Bracket Matching </li></ul><ul><li>Automatic Insertions (brackets, braces, parens, quotes) </li></ul><ul><li>Code Navigation - Go to Declaration/Type, Hyperlinking </li></ul><ul><li>Refactoring - Instant Rename </li></ul>http://wiki.netbeans.org/FeatureListEAPHP
    3. 3. DEMO Session ID
    4. 4. SAMP
    5. 5. The S in SAMP stands for Solaris <ul><li>Solaris Zones </li></ul><ul><ul><li>Free, lightweight and easy virtualization </li></ul></ul><ul><li>Dtrace </li></ul><ul><ul><li>Find bottlenecks in PHP code </li></ul></ul><ul><li>RBAC, Process Rights Management </li></ul><ul><ul><li>Don't give privileges that aren't needed </li></ul></ul><ul><li>ZFS </li></ul><ul><ul><li>Simplify admin, max. integrity, massive scale </li></ul></ul>Solaris – Apache – MySQL - PHP/Perl/Python
    6. 6. The S in SAMP stands for Solaris <ul><li>CoolStack 1.3 </li></ul><ul><ul><li>* Apache 2.2.8 </li></ul></ul><ul><ul><li>* Tomcat 5.5.26 </li></ul></ul><ul><ul><li>* php 5.2.6 </li></ul></ul><ul><ul><li>* mysql 5.1.24 </li></ul></ul><ul><ul><li>* squid 3.0 </li></ul></ul><ul><ul><li>* apc 3.0.16 </li></ul></ul><ul><ul><li>* mod_perl 2.0.4 </li></ul></ul><ul><ul><li>* rails 2.0.2 </li></ul></ul><ul><ul><li>* libevent 1.3e </li></ul></ul><ul><ul><li>* memcached 1.2.5 </li></ul></ul><ul><ul><li>* mod_jk 1.2.26 </li></ul></ul><ul><ul><li>* lighttpd 1.4.19 </li></ul></ul><ul><ul><li>* ruby 1.8.6p114 </li></ul></ul><ul><ul><ul><li>* libiconv 1.11.1 </li></ul></ul></ul><ul><ul><ul><li>* curl 7.18.1 </li></ul></ul></ul><ul><ul><ul><li>* libxml2 2.6.32 </li></ul></ul></ul><ul><ul><ul><li>* gettext 0.17 </li></ul></ul></ul><ul><ul><ul><li>* gmp 4.2.2 </li></ul></ul></ul><ul><ul><ul><li>* pcre 7.7 </li></ul></ul></ul><ul><ul><ul><li>* ncurses 5.6 </li></ul></ul></ul><ul><ul><ul><li>* imap 2007a1 </li></ul></ul></ul><ul><ul><ul><li>* freetype 2.3.5 </li></ul></ul></ul><ul><ul><ul><li>* gd 2.0.35 </li></ul></ul></ul><ul><ul><ul><li>* openldap 2.3.41 </li></ul></ul></ul><ul><ul><ul><li>* suhosin php ext. 0.9.24 </li></ul></ul></ul><ul><ul><ul><li>* rubygems 1.1.1 </li></ul></ul></ul><ul><ul><ul><li>* postgres ruby gem 0.7.1 </li></ul></ul></ul>Solaris – Apache – MySQL – PHP
    7. 7. <ul><li>CoolStack 1.3 </li></ul><ul><ul><li>* Python 2.5.2 </li></ul></ul><ul><ul><li>* nginx 0.6.31 </li></ul></ul><ul><ul><li>* libxslt 1.1.22 </li></ul></ul><ul><ul><li>* fontconfig 2.4.2 </li></ul></ul><ul><ul><li>* mod_security apache 2.5.3 </li></ul></ul><ul><ul><li>* mod_python 3.3.1 </li></ul></ul><ul><ul><li>* mod_ruby 1.2.6 </li></ul></ul><ul><ul><li>* mod_dtrace 0.3a </li></ul></ul><ul><ul><ul><li>* memcache php extension 2.2.3 </li></ul></ul></ul><ul><ul><ul><li>* xdebug php extension 2.0.3 </li></ul></ul></ul><ul><ul><ul><li>* tcpwrap php extension 1.0 </li></ul></ul></ul><ul><ul><ul><li>* perl Compress::Zlib </li></ul></ul></ul><ul><ul><ul><li>* mysql ruby gems 2.7 </li></ul></ul></ul>The S in SAMP stands for Solaris Solaris – Apache – MySQL – PHP
    8. 8. Solaris – Linux Benchmark
    9. 9. RESPONSE TIME
    10. 10. THROUGHPUT & ERROR RATE
    11. 11. Need Efficiency & Control? <ul><li>one server </li></ul><ul><li>host (2) Dev, Test, Production environments </li></ul><ul><li>maximize sharing, minimize redundancy </li></ul><ul><li>prevent misconfig, grant least privilege </li></ul><ul><li>guarantee max. resources for production </li></ul><ul><li>maximize efficiency & consistency btw. envs. </li></ul><ul><li>recover quickly from failed deployments </li></ul>Hypothetical Requirements & Constraints
    12. 12. /opt/coolstack -ro -ro /opt/coolstack' ./apache -ro ./mysql -ro ./php -rw /data/drupal-6.4 -rw -ro -ro /data/drupal-5.10 ./misc -ro -ro ./modules -ro -ro ./scripts -ro -ro ./sites -ro -ro ./themes -rw -ro ./files -ro -ro Solaris Zones for Efficiency & Control ...
    13. 13. Solaris Zones for Efficiency & Control ... MySQL MySQL Apache PHP Apache PHP Apache PHP Apache PHP Apache PHP
    14. 14. Security <ul><li>RBAC </li></ul><ul><ul><li>Grant users the privileges they need </li></ul></ul><ul><li>Process Rights Management </li></ul><ul><ul><li>Run with least privileges </li></ul></ul><ul><ul><li>E.g., not root, nosuid, noexec </li></ul></ul>
    15. 15. The S in SAMP stands for Solaris MySQL # svcadm -v enable mysql # svcadm refresh mysql # svcadm restart mysql # svcadm disable mysql Apache # svcadm -v enable apache22 # svcadm refresh mysql # svcadm restart mysql # svcadm disable mysql SMF for MySQL & Apache
    16. 16. “ DTrace is one of those tools that makes you wonder how you did anything without it before you'd heard of it. Why is it better than strace and similar tools? It's non-invasive, fast, scriptable and extensible.” - Wez Furlong Find Hampster Wheels with DTrace Dtrace provider for PHP
    17. 17. Performance Tuning - DEMO Which functions are being called by Drupal? # dtrace -n function-entry'{printf(&quot;called %s() in %s at line %d &quot;,copyinstr(arg0), copyinstr(arg1), arg2)}' -q How many times is a function called? # dtrace -n function-entry'{@[copyinstr(arg0)] = count()}' What's the file name and line number count: # dtrace -n function-entry'{@[copyinstr(arg1)] = lquantize(arg2, 0, 5000)}' Dtrace provider for PHP
    18. 18. Resource Management & Isolation Projects # projadd -c &quot;Apache-PHP&quot; -U webservd httpd.php # projmod -sK &quot;project.max-sem-ids=(privileged,256,deny)&quot; httpd.php # svccfg -s http:CSKapache2 setprop start/project = astring: httpd.php # svcadm -v enable CSKapache2 CPU Shares global# zonecfg -z zone1 zonecfg:zone1> add rctl zonecfg:zone1:rctl> set name=zone.cpu-shares zonecfg:zone1:rctl> add value (priv=privileged,limit=15,action=none) zonecfg:zone1:rctl> end zonecfg:zone1> exit Zones: data, configuration
    19. 19. Versioning & Protecting Data $ zfs snapshot /data/site@31Oct $ zfs snapshot /data/site@01Nov - - - WHOOPS - - - $ cp .zfs/snapshot/@01Nov/Drupal_5.2/themes/mysite ./Drupal_5.2/themes ZFS snapshots
    20. 20. Drupal and Java <ul><li>Requires Resin and Quercus </li></ul><ul><li>Gives you: </li></ul><ul><ul><li>Database connection pooling </li></ul></ul><ul><ul><li>JIT Compiler </li></ul></ul><ul><ul><li>Clustering with Terracotta </li></ul></ul><ul><ul><li>Easy deployment from NetBeans </li></ul></ul><ul><li>NetBeans has a nice PHP plugin </li></ul>PHP apps, Glassfish, NetBeans
    21. 21. Project Caroline - DEMO Your Service Code Resource Types + Internet ●●● Cloud Computing in a Grid Launch service using multiple load-balanced processes, connected to a backend database. Flex processes to match demand.
    22. 22. For More Information <ul><li>SMF & Security </li></ul><ul><ul><li>http://blogs.sun.com/downstream/tags/smf </li></ul></ul><ul><ul><li>http://www.opensolaris.org/os/community/smf/ </li></ul></ul><ul><ul><li>http://www.sun.com/software/solaris/howtoguides/s10securityhowto.jsp </li></ul></ul><ul><li>Dtrace </li></ul><ul><ul><li>http://blogs.sun.com/bmc/entry/dtrace_and_php_demonstrated </li></ul></ul><ul><ul><li>http://blogs.sun.com/shanti/entry/debugging_amp </li></ul></ul><ul><li>NetBeans </li></ul><ul><ul><li>http://www.netbeans.org/ </li></ul></ul><ul><li>Glassfish </li></ul><ul><ul><li>http://glassfish.java.net/ </li></ul></ul>
    23. 23. For More Information <ul><li>ZFS </li></ul><ul><ul><li>http://opensolaris.org/os/community/zfs/ </li></ul></ul><ul><ul><li>http://tinyurl.com/235vxe </li></ul></ul><ul><li>RBAC </li></ul><ul><ul><li>http://blogs.sun.com/darren/tags/rbac </li></ul></ul><ul><li>Project Caroline </li></ul><ul><ul><li>https://www.projectcaroline.net/ </li></ul></ul><ul><li>VBox – Free Virtualization software </li></ul><ul><ul><li>http://www.virtualbox.org/ </li></ul></ul>
    24. 24. Q&A <ul><li>Scott Mattoon </li></ul><ul><li>Sun Microsystems, Inc. </li></ul>
    25. 25. Ian Murdock: What's a Linux Guy Doing at Sun? <ul><ul><ul><li>Sun Fire T2000: Sun's Eco-friendly Server Tears It Up </li></ul></ul></ul>Sun, Intel Landmark Alliance; Intel Endorses Solaris <ul><ul><ul><li>Solaris Technology Wins WSJ’s 2006 Top Innovation Award, Beating Inhalable Insulin </li></ul></ul></ul><ul><ul><ul><li>Sun Moves to Number Six x86 Server Vendor in 2005 </li></ul></ul></ul>IDC Worldwide Quarterly Server Tracker November, 2006 AMD/Sun Strategic Alliance; Opteron to Power Sun’s Servers Solaris, Java Go Open Source <ul><ul><ul><li>$0 Solaris Price Tag Levels the Playing Field with Linux </li></ul></ul></ul>IBM jumps on the Solaris bandwagon
    26. 26. Network Services Identity Management Java Enterprise System Communications Composite Application Platform Application Platform B2B Web Infrastructure ESB Availability Virtualization Solaris Containers LDOMs / DSD VMware / Xen Architecture Operating System
    27. 27. <ul><li>Constant innovation </li></ul><ul><li>Free </li></ul><ul><li>Open source </li></ul><ul><li>Incredible performance </li></ul><ul><li>Enterprise class, worldwide, 24x7 cost-effective support </li></ul><ul><li>Runs on more hardware </li></ul><ul><li>Runs more applications </li></ul><ul><li>We protect our customers </li></ul><ul><li>We protect the community </li></ul><ul><li>Huge numbers of customers, installed base, partners </li></ul>Why Solaris?
    28. 28. <ul><ul><li>Get Solaris sun.com/solaris/get </li></ul></ul><ul><ul><li>Get Data Sheets and White Papers sun.com/solaris/reference_materials </li></ul></ul><ul><ul><ul><li>Get Trained sun.com/solaris/freetraining | Learning Paths: sun.com/training/solaris </li></ul></ul></ul>1 2 3 4 <ul><ul><li>Get Started with Solaris Learning Centers sun.com/solaris/teachme </li></ul></ul>5 <ul><ul><li>Get Current sun.com/solaris/move | bigadmin.com/apps | bigadmin.com/hcl </li></ul></ul>6 <ul><ul><ul><li>Get Involved opensolaris.org | bigadmin.com | developers.sun.com/solaris </li></ul></ul></ul>
    29. 29. Sun's Connection with Drupal <ul><ul><li>AFH founded in 1999 </li></ul></ul><ul><ul><li>100's of affiliates </li></ul></ul><ul><ul><li>2006 TED Prize Winner </li></ul></ul><ul><ul><li>OAN Launched 2007 </li></ul></ul>
    30. 30. The Participation Age Matters Many Diverse Objects Collaborative Process <ul><li>Hand sketches </li></ul><ul><li>Photos </li></ul><ul><li>CAD files </li></ul><ul><li>Project Plans </li></ul><ul><li>Designs that are situation appropriate </li></ul><ul><li>Designs that get re-used </li></ul>Better Ideas <ul><li>Architects, Designers, Community Members, NGOs, Funders </li></ul><ul><li>Crowdsourcing </li></ul>
    31. 31. <ul><li>In the first year </li></ul><ul><li>1,000+ Projects </li></ul><ul><li>10,000+ Members </li></ul><ul><li>7 Creative Commons Licenses in Use </li></ul><ul><li>Million's of Visitors </li></ul><ul><li>3,000+ concurrent sessions </li></ul>The Community is Amazing
    32. 32. <ul><li>7 Creative Commons Licenses </li></ul><ul><li>Drupal 4.7 + new OAN modules </li></ul><ul><li>X64 tuned SAMP Coolstack </li></ul><ul><li>Solaris 10 </li></ul><ul><li>(2) SunFire X2200 M2 (1) 6 TB StorageTek 3511 </li></ul><ul><li>Hosted at AMD datacenter </li></ul>
    33. 33. Creative Commons Licenses
    34. 34. Sample of Sun Drupal Sites <ul><li>Open Architecture Network & AFH </li></ul><ul><li>http://www.openarchitecturenetwork.org/ </li></ul><ul><li>FreshBrain </li></ul><ul><li>https://freshbrain.org </li></ul><ul><li>Sun Learning Services </li></ul><ul><li>https://slx.sun.com/ </li></ul><ul><li>Project Caroline </li></ul><ul><li>http://www.projectcaroline.net/ </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×