TYPO3camp Rhein-Ruhr
                                               Essen, 9. - 11.11.2012




  Die offizielle typo3.org Infrastruktur &

      das TYPO3 Server Admin Team



         [slides in english]
Official typo3.org infrastructure &
  the TYPO3 Server Admin Team
TYPO3camp Rhein-Ruhr
                              Essen, 9. - 11.11.2012



Your Presenter

Hi,

I’m Steffen!



Please give me feedback
about this presentation!



steffen.gebert@typo3.org

@StGebert on Twitter
TYPO3camp Rhein-Ruhr
                                                                             Essen, 9. - 11.11.2012



           I live in Würzburg

                                                       Studied Computer science there




Photo by Juergen Mangelsdorf (CC)
http://www.flickr.com/photos/22084572@N07/2217991811/
TYPO3camp Rhein-Ruhr
                                                          Essen, 9. - 11.11.2012



           Day-to-day Job

      Now PhD student and researcher

          • Future Internet research




Photo by Paul Soler-Moya (CC)
http://www.flickr.com/photos/40351463@N00/3927504524/
TYPO3camp Rhein-Ruhr
                            Essen, 9. - 11.11.2012



TYPO3 Core Team Member
TYPO3camp Rhein-Ruhr
                                        Essen, 9. - 11.11.2012



TYPO3.org Server Admin Team Member
TYPO3camp Rhein-Ruhr
              Essen, 9. - 11.11.2012




Our Team
TYPO3camp Rhein-Ruhr
                                                          Essen, 9. - 11.11.2012



   The team

                                     Michael Stucki (Leader)




  Peter
Niederlag     Christian Trabold Fabien Udriot          Steffen Gebert
TYPO3camp Rhein-Ruhr
                                                           Essen, 9. - 11.11.2012



Contacting the Team

 • admin@typo3.org (handled through OTRS)



 • Forge projects (Other > Server Team)
   http://forge.typo3.org/projects/team-server-public



 • Team-Page on typo3.org
   http://typo3.org/teams/server-team/
TYPO3camp Rhein-Ruhr
                                                             Essen, 9. - 11.11.2012



   Responsibilities & Working Mode

     • Maintenance of the official server infrastructure

     • Not: Maintaining all the web sites (*)

     • But, of course, we maintain also web sites



     • Bi-weekly Skype-Meetings (Tuesdays 8:00 am)

     • Private Mailing list




* my definition!
TYPO3camp Rhein-Ruhr
                               Essen, 9. - 11.11.2012




Public Sites and Services
TYPO3camp Rhein-Ruhr
               Essen, 9. - 11.11.2012



typo3.org
TYPO3camp Rhein-Ruhr
                    Essen, 9. - 11.11.2012



wiki.typo3.org
TYPO3camp Rhein-Ruhr
                                       Essen, 9. - 11.11.2012



lists.typo3.org




                  everybody subscribed?
TYPO3camp Rhein-Ruhr
                     Essen, 9. - 11.11.2012



lists.typo3.org
TYPO3camp Rhein-Ruhr
                    Essen, 9. - 11.11.2012



bugs.typo3.org
TYPO3camp Rhein-Ruhr
                     Essen, 9. - 11.11.2012



forge.typo3.org
TYPO3camp Rhein-Ruhr
                                                          Essen, 9. - 11.11.2012



forge.typo3.org

 • Collaboration platform

 • Project hosting for Core and Extensions

   • Issue Tracker

   • Wiki

   • Connection to Version Control Systems (SVN/Git)
TYPO3camp Rhein-Ruhr
                     Essen, 9. - 11.11.2012



forge.typo3.org
TYPO3camp Rhein-Ruhr
                             Essen, 9. - 11.11.2012



bigbluebutton.typo3.org
TYPO3camp Rhein-Ruhr
                   Essen, 9. - 11.11.2012



api.typo3.org
TYPO3camp Rhein-Ruhr
                     Essen, 9. - 11.11.2012



notes.typo3.org
TYPO3camp Rhein-Ruhr
                  Essen, 9. - 11.11.2012



ci.typo3.org
TYPO3camp Rhein-Ruhr
                                             Essen, 9. - 11.11.2012



metrics.typo3.org

 • Code Metrics for Core and Extensions
TYPO3camp Rhein-Ruhr
                           Essen, 9. - 11.11.2012



translation.typo3.org
TYPO3camp Rhein-Ruhr
                                     Essen, 9. - 11.11.2012



translation.typo3.org (2)




 • suggestions for translations

 • approval by team members

 • more improvements upcoming
TYPO3camp Rhein-Ruhr
                                                         Essen, 9. - 11.11.2012



svn.typo3.org

 • SVN Version Control System - svn://svn.typo3.org

 • Used by 2043 extensions
TYPO3camp Rhein-Ruhr
                                                         Essen, 9. - 11.11.2012



git.typo3.org

 • Git Version Control System - git://git.typo3.org
TYPO3camp Rhein-Ruhr
                      Essen, 9. - 11.11.2012



review.typo3.org
TYPO3camp Rhein-Ruhr
                                                                  Essen, 9. - 11.11.2012



review.typo3.org

 • Review process prior to merge

 • Used for TYPO3 CMS Core, Flow, Neos, couple of Extensions

 • Transparent development

 • Everybody allowed to push new patches
TYPO3camp Rhein-Ruhr
                   Essen, 9. - 11.11.2012



get.typo3.org
TYPO3camp Rhein-Ruhr
                                    Essen, 9. - 11.11.2012



(government.v4.)demo.typo3.org
TYPO3camp Rhein-Ruhr
                      Essen, 9. - 11.11.2012



status.typo3.org
TYPO3camp Rhein-Ruhr
                     Essen, 9. - 11.11.2012



forum.typo3.org
TYPO3camp Rhein-Ruhr
                                                               Essen, 9. - 11.11.2012



forum.typo3.org

Caution: Work in progress!



http://forum.typo3.org

User: t3crr
Password: unperfekt



Please test it!
Report bugs to http://forge.typo3.org/projects/show/team-forum
(Others > Server Team > forum.typo3.org)
TYPO3camp Rhein-Ruhr
                       Essen, 9. - 11.11.2012



Behind the Scenes
TYPO3camp Rhein-Ruhr
                              Essen, 9. - 11.11.2012



Infrastructure

 • 100% sponsored

 • Five servers

 • Debian Linux

 • OpenVZ virtualization
TYPO3camp Rhein-Ruhr
                                             Essen, 9. - 11.11.2012



typo3.org

 • Relaunched in April 2012

 • Split into 5 VMs

   • Proxy (running nginx)

   • Web (running varnish, Apache, PHP)

   • MySQL

   • SOLR

   • Jenkins
TYPO3camp Rhein-Ruhr
                                               Essen, 9. - 11.11.2012



Single Sign-On

 • One password to rule them all

 • Based on DirectSSO (single-signon.com)

 • Authentication against fe_users
TYPO3camp Rhein-Ruhr
                       Essen, 9. - 11.11.2012



Zabbix Monitoring
TYPO3camp Rhein-Ruhr
                       Essen, 9. - 11.11.2012



Zabbix Monitoring
TYPO3camp Rhein-Ruhr
                                                         Essen, 9. - 11.11.2012



Chef

 • Configuration Management Software

 • “Infrastructure as Code”

   • Configuration is under version control

   • Packaged into “Cookbooks” containing “Recipes”

 • Chef-Server as central hub
TYPO3camp Rhein-Ruhr
                                                Essen, 9. - 11.11.2012



Chef: Cookbooks

 • Dependencies between cookbooks

 • e.g. TYPO3 cookbook uses Apache2
   cookbook to create vHosts

 • Notification triggers actions
   (config file changes -> service restarts)
TYPO3camp Rhein-Ruhr
                                                              Essen, 9. - 11.11.2012



Chef: Architecture

 • Chef-client runs on every server

 • Communicate with our Chef-Server

 • Client registers once at the Chef-Server

 • Authenticated data exchange (through certificates)

 • Chef-Client retrieves roles, cookbooks and attributes

 • Chef-Client executes the Ruby code and configures the Linux system
TYPO3camp Rhein-Ruhr
                                                     Essen, 9. - 11.11.2012



Chef: Attributes

 • Per-host attributes are saved in Chef Server

 • Examples for attributes

    • Host name for Apache vHost

    • Datacenter-specific smarthost for postfix

    • Password of the MySQL user
TYPO3camp Rhein-Ruhr
                                             Essen, 9. - 11.11.2012



Chef: Resources

Example: MySQL cookbook / Server recipe

 • Install the Package




 • Deploy the config file my.cnf
TYPO3camp Rhein-Ruhr
                                             Essen, 9. - 11.11.2012



Chef: Resources

Example: MySQL cookbook / Server recipe

 • Define the service mysql
TYPO3camp Rhein-Ruhr
                                                                Essen, 9. - 11.11.2012



Chef & Vagrant

 • Vagrant provides API for VirtualBox

 • `vagrant up` creates/starts VM

 • Configures the VM as defined in Chef



 • Great combination!

 • Example

   • git://git.typo3.org/Teams/Server/Vagrant/Typo3Org.git

   • typo3.org in a box (or two..)
TYPO3camp Rhein-Ruhr
                                            Essen, 9. - 11.11.2012



Chef: Cookbook Sharing

 • Healthy community writing cookbooks

 • Our cookbooks open-sourced
   http://github.com/typo3-cookbooks
TYPO3camp Rhein-Ruhr
                Essen, 9. - 11.11.2012




The Future
TYPO3camp Rhein-Ruhr
                                                              Essen, 9. - 11.11.2012



Future plans 2012

 • Software upgrades of forge.typo3.org and review.typo3.org

 • Central message queue

 • Self-provisioned Git support for community extensions

 • Centralized Syslog-Server based on Logstash, Greylog2 & Kibana
   (see Christian Trabold’s T3CON12-ASIA presentation)

 • Improve Chef coverage

 • Debian Wheezy updates
                                    contributions welcome!
 • Year 202x

    •   LDAP... would be nice..

Official typo3.org infrastructure &
the TYPO3 Server Admin Team

  • 1.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Die offizielle typo3.org Infrastruktur & das TYPO3 Server Admin Team [slides in english] Official typo3.org infrastructure & the TYPO3 Server Admin Team
  • 2.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Your Presenter Hi, I’m Steffen! Please give me feedback about this presentation! steffen.gebert@typo3.org @StGebert on Twitter
  • 3.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 I live in Würzburg Studied Computer science there Photo by Juergen Mangelsdorf (CC) http://www.flickr.com/photos/22084572@N07/2217991811/
  • 4.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Day-to-day Job Now PhD student and researcher • Future Internet research Photo by Paul Soler-Moya (CC) http://www.flickr.com/photos/40351463@N00/3927504524/
  • 5.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 TYPO3 Core Team Member
  • 6.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 TYPO3.org Server Admin Team Member
  • 7.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Our Team
  • 8.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 The team Michael Stucki (Leader) Peter Niederlag Christian Trabold Fabien Udriot Steffen Gebert
  • 9.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Contacting the Team • admin@typo3.org (handled through OTRS) • Forge projects (Other > Server Team) http://forge.typo3.org/projects/team-server-public • Team-Page on typo3.org http://typo3.org/teams/server-team/
  • 10.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Responsibilities & Working Mode • Maintenance of the official server infrastructure • Not: Maintaining all the web sites (*) • But, of course, we maintain also web sites • Bi-weekly Skype-Meetings (Tuesdays 8:00 am) • Private Mailing list * my definition!
  • 11.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Public Sites and Services
  • 12.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 typo3.org
  • 13.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 wiki.typo3.org
  • 14.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 lists.typo3.org everybody subscribed?
  • 15.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 lists.typo3.org
  • 16.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 bugs.typo3.org
  • 17.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 forge.typo3.org
  • 18.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 forge.typo3.org • Collaboration platform • Project hosting for Core and Extensions • Issue Tracker • Wiki • Connection to Version Control Systems (SVN/Git)
  • 19.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 forge.typo3.org
  • 20.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 bigbluebutton.typo3.org
  • 21.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 api.typo3.org
  • 22.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 notes.typo3.org
  • 23.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 ci.typo3.org
  • 24.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 metrics.typo3.org • Code Metrics for Core and Extensions
  • 25.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 translation.typo3.org
  • 26.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 translation.typo3.org (2) • suggestions for translations • approval by team members • more improvements upcoming
  • 27.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 svn.typo3.org • SVN Version Control System - svn://svn.typo3.org • Used by 2043 extensions
  • 28.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 git.typo3.org • Git Version Control System - git://git.typo3.org
  • 29.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 review.typo3.org
  • 30.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 review.typo3.org • Review process prior to merge • Used for TYPO3 CMS Core, Flow, Neos, couple of Extensions • Transparent development • Everybody allowed to push new patches
  • 31.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 get.typo3.org
  • 32.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 (government.v4.)demo.typo3.org
  • 33.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 status.typo3.org
  • 34.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 forum.typo3.org
  • 35.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 forum.typo3.org Caution: Work in progress! http://forum.typo3.org User: t3crr Password: unperfekt Please test it! Report bugs to http://forge.typo3.org/projects/show/team-forum (Others > Server Team > forum.typo3.org)
  • 36.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Behind the Scenes
  • 37.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Infrastructure • 100% sponsored • Five servers • Debian Linux • OpenVZ virtualization
  • 38.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 typo3.org • Relaunched in April 2012 • Split into 5 VMs • Proxy (running nginx) • Web (running varnish, Apache, PHP) • MySQL • SOLR • Jenkins
  • 39.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Single Sign-On • One password to rule them all • Based on DirectSSO (single-signon.com) • Authentication against fe_users
  • 40.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Zabbix Monitoring
  • 41.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Zabbix Monitoring
  • 42.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef • Configuration Management Software • “Infrastructure as Code” • Configuration is under version control • Packaged into “Cookbooks” containing “Recipes” • Chef-Server as central hub
  • 43.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Cookbooks • Dependencies between cookbooks • e.g. TYPO3 cookbook uses Apache2 cookbook to create vHosts • Notification triggers actions (config file changes -> service restarts)
  • 44.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Architecture • Chef-client runs on every server • Communicate with our Chef-Server • Client registers once at the Chef-Server • Authenticated data exchange (through certificates) • Chef-Client retrieves roles, cookbooks and attributes • Chef-Client executes the Ruby code and configures the Linux system
  • 45.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Attributes • Per-host attributes are saved in Chef Server • Examples for attributes • Host name for Apache vHost • Datacenter-specific smarthost for postfix • Password of the MySQL user
  • 46.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Resources Example: MySQL cookbook / Server recipe • Install the Package • Deploy the config file my.cnf
  • 47.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Resources Example: MySQL cookbook / Server recipe • Define the service mysql
  • 48.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef & Vagrant • Vagrant provides API for VirtualBox • `vagrant up` creates/starts VM • Configures the VM as defined in Chef • Great combination! • Example • git://git.typo3.org/Teams/Server/Vagrant/Typo3Org.git • typo3.org in a box (or two..)
  • 49.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Chef: Cookbook Sharing • Healthy community writing cookbooks • Our cookbooks open-sourced http://github.com/typo3-cookbooks
  • 50.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 The Future
  • 51.
    TYPO3camp Rhein-Ruhr Essen, 9. - 11.11.2012 Future plans 2012 • Software upgrades of forge.typo3.org and review.typo3.org • Central message queue • Self-provisioned Git support for community extensions • Centralized Syslog-Server based on Logstash, Greylog2 & Kibana (see Christian Trabold’s T3CON12-ASIA presentation) • Improve Chef coverage • Debian Wheezy updates contributions welcome! • Year 202x • LDAP... would be nice..