20. May 2008, 11:11, by Leo Büttiker
We made it! Last Friday we have replaced the last two legacy components with their Zend Framework based counterpart: The gallery an the user registration. The whole site tilllate.com is now running on Trevi, our extension of Zend Framework. With a reach of 2.5 million unique clients a month, tilllate.com is one of the world’s biggest installation of Zend Framework.
Ciprian, Ivan, Jia-Yong, Kevin, Leo, Riv, Roger, Sanja, Thilo, Vanja, Vladimir and project manager Maarten have done a wonderful job reverse engineering the old, smelly spaghetti code and refactoring everything in a clean and solid MVC architecture: 115′480 Lines of code (Thanks StatSVN).
(more…)
14. December 2007, 18:35, by Silvan Mühlemann
As you might know, tilllate has a development team in Belgrade: Sanja, Ivan, Vanja and Vladimir. Skype and video conferences are nice. But it’s nicer to be able to meet in person: So to get them accustomed to the tilllate groove every serbian developer spends a few weeks in our office in Switzerland.
Meet Vladimir and Ivan:

Looks like working on fresh and clean TREVI code is quite enjoyable. (Trevi is our new Zend Framework based framework). In the red circle, Trevi project manager Maarten is stretching after committing the newest Sphinx config files.
2. June 2007, 16:15, by Silvan Mühlemann
Schon mehr als ein halbes Jahr betreiben wir diesen Blog, doch noch nie habe ich das tilllate IT-Team vorgestellt. Holen wir dies mit ein paar Fotos nach:

Das IT-Team verschläft keine Trends: In diesem Bild posieren wir im "Gangsta-Style", welcher an Urban-Parties unter den Kids sehr beliebt ist. Maarten und Stefan fehlen auf dem Bild. Maarten ist an der Uni und saugt sich in der BWL-Vorlesung Powerpoint-Folien rein. Infrastuktur-Chef Stefan stattet den Servern einen Besuch ab.
(more…)
16. May 2007, 17:43, by Silvan Mühlemann
Bisher war das gesamte tilllate-Headquarter eine grosse Halle der alten Spinnerei in Adliswil. Mit dem gewaltigen Personalzuwachs in den letzten Monaten wurde es langsam eng. Und laut.
Die IT und Produktentwicklung ist nun in das rote 80er-Jahre-Gebäude nebenan gezogen. Parkettboden. Fensterflächen zum Albis hin. Und ruhig.
Spontane Rufe aus dem Sales-Egge quer durch die Halle ("Roger, meine Mails gehen nicht raus") gibt es nicht mehr. Dafür entfällt den abteilungsübergreifende Treff bei der Kaffeemaschine.

Leo, kaum 2 Wochen da und schon ein Puff… *tststs*
25. March 2007, 22:10, by Silvan Mühlemann
Aargh. Peinlich. XSS-Vulnerability auf tilllate.com! Da bilden wir uns laufend in Sachen Sicherheit aus (z.B. mit Ilia Alshanetsky’s Buch, Shiflett’s Artikel im phpArchitect), haben interne Security-Richtlinien (den “Escaping Circle”), und Code-Reviews zur Qualitätssicherung. Und dann passiert uns sowas: Eine Sicherheitslücke wird entdeckt und öffentlich am Blogcamp bekannt gemacht.
Zum Glück wurde die Lücke innert wenigen Stunden geschlossen. Die vom Entdecker Benbit gesammelten Zungangskeys wurden ungültig gemacht. So konnte kein Schaden entstehen.
(more…)
11. March 2007, 20:23, by Silvan Mühlemann
“Silvan, das Hinzufügen von Fotos ist schweinelangsam am Weekend! Die Fotografen sind am jammern. Ich bekomme andauernd Anrufe. Mach was!”. So beklagten sich die Regionalmanager in den letzten Wochen.
Unsere Überwachungstool bestätigen die Situation: Wie aus dem Maschinengewehr wird mein Handy von Nagios mit SMS beschossen. Die graue Kurve, welche im Ganglia die Server-Load beschreibt, ist weit über der roten Linie. Moreti, unser Tool, um die Antwortzeit zu messen meldet mehrere Sekunden, um eine tilllate-Seite zu liefern.

(more…)
28. February 2007, 15:38, by Stefan Rothenhofer
Erst vor kurzem sind wir mit unseren Servern von einem halben in ein komplett für uns gemietetes Rack umgezogen (Server-Relocation Teil 1). Das ist nur knapp 2 Monate her und doch mussten wir schon wieder unser ganze Equipment an einen anderen Ort transportieren.
Kurz zur Vorgeschichte. Wir hatten uns damals für das IXEurope (beherbergt auch das Telehouse) in Zürich entschieden, da es einen ungeheur guten Ruf und dementsprechende Bekanntheit erreicht hat. Auch dass alle grossen Carrier ihre Peerings in diesen Gebäuden verwalten hat dafür gesprochen und wir hatten ja im halben Rack durchaus gute Erfahrungen mit dem IX gemacht.
Voller Freue haben wir dann anfangs Jahr unser neues 1/1 Rack bezogen. Von da an haben die Probleme begonnen:
(more…)
28. January 2007, 21:09, by Silvan Mühlemann
Pro Sekunde werden auf tilllate.com 5000 Abfragen von den Datenbank-Servern beantwortet. Wie können wir diese Last auf 30 Datenbank-Server verteilen? Mit Replikation. Aber auch nach fünf Jahren Erfahrung habe ich dieses Feature noch nicht ganz im Griff.
Auf Datenbank-Ebene besitzt tilllate.com vier Servergruppen mit unterschiedlichen Funktionen (= “horizontale Skalierung”): Werbung, Statistik, Chat und schliesslich der Rest der Website tilllate.com. Werbung, Statistik und Chat kommen mit einem einzelnen Datenbank-Server aus.
Der “Rest” macht 90% der Abfragen aus. Der Rest sind 27 MySQL Datenbank-Server. Auf diesen 27 Server befindet sich eine identische Kopie der Haupt-Datenbank. Damit dies so bleibt, muss jede Änderung der Datenbank (z.B. eine UPDATE-Query) wird über einen definierten Weg auf alle 27 Maschinen repliziert. Wir benutzen hier die Replikations-Features von MySQL.

(more…)
19. January 2007, 14:03, by Silvan Mühlemann
After 4 years having a slow reload-frame-based chat (also called “codename Neandertal”) tilllate has launched a new, state-of-the-art chat. In addition of average-joe chat functionality you can also open your own private rooms and invite your friends there. I spoke with Ciprian, our developer of this product.

How successful is the new tool?
The tilllate members seem to chat a lot in the new chat. Almost 100 000 messages the 1st day, and 125 000 the second day. I think it’s quite a lot. But there were also bug reports. Really weird ones: “There’s something wrong with tilllate. They don’t have the old slow and ugly chat anymore. This must be an error! With such a cool chat I am going to spend even more time on tilllate. That’s bad for my career.”
A new thing for me was to hear somebody complaining the web it’s too fast (”Es isch fast zu schnell!!“).
(more…)
14. January 2007, 13:51, by Silvan Mühlemann
Höre ich von Web-Applikationen, deren Namen mit “php” beginnen, sträuben sich bei mir die Nackenhaare: Meist sind dies löchrige Bastelarbeiten für die private Homepage. Eine derartige App sorgt aber für 95% von unserem Umsatz: phpAdsNew.
Täglich über drei Millionen Bannereinblendungen werden bei tilllate durch dieses Tool ausgeliefert. Damit eine derartige Performance überhaupt möglich ist, mussten wir phpAdsNew in einem Cluster aufbauen: Request auf das Ad-Tool laufen über einen Load Balancer auf momentan zwei identische Dual-Xeon/4GB/Gentoo-Mühlen. Dort läuft die Applikation (natürlich mit e-Accelerator) und greift auf einen weiteren DB-Server zu (MySQL5).
(more…)