Facebook HipHop Open Source Blog: Under the hood: Box’s HHVM migration

The Facebook HipHop Open Source blog has posted a case study from Box about their migration to HHVM and some of the challenges and benefits that came along with it.

Reducing latency and increasing the capacity of our infrastructure have always been top priorities at Box. We strive to deliver the best possible user experience in the most efficient manner, and historically our choice of PHP hasn’t aligned well with these goals. I’m very happy to report that we’ve recently made very significant strides toward these two ideals by successfully deploying HHVM (the HipHop Virtual Machine) as the exclusive engine that serves our PHP codebase. In the rest of this post, I will detail how we use PHP, how HHVM works, the challenges we faced migrating to HHVM, and the remarkable performance wins it provides.

The post talks about how central PHP is to their overall technology stack and how, despite the work being put in, the processing of requests was starting to be a bit too much. In came the HHVM and some discussion about how it might be used there at Box. They started a yearlong effort to migrate their entire stack to HHVM especially since HHVM has almost reached parity with the PHP language itself. They talk some about the differences in design between the two and how the migration changed their deployment process. They also cover some of the other interesting things that come with a major migration including phased rollout and host-based conversion methods. Finally they share some of the statistics around the performance of the end result, including the better response times and reduced CPU graphs.

Link: https://code.facebook.com/posts/1607907626123431/under-the-hood-box-s-hhvm-migration/
PHPDeveloper.org

Leaseweb Labs Blog: Migration auf Symfony2 fortgesetzt

Auf der LeaseWeb Labs Blog gibt es eine Fortsetzung von einem vorherigen Post über die Migration Ihrer Anwendung über Symfony1 zu Symfony2. In der ersten Teil dieser Serie von Posts, Stefan Koopmanschap über Umhüllung Ihren Code, um ihn gesprochen zu arbeiten . In diese zweite post , Maurtis van der Schee packt zwei Fragen Stefan genannt – Performance-Probleme und Handhabung Autorisierung / Authentifizierung.

Am 21. Dezember 2011 schrieb Stefan Koopmanschap einen exzellenten Artikel auf diesem Blog mit dem Titel „Schmerzlos (naja, weniger schmerzhaft) Migration auf Symfony2.“ […] Wir wurden sehr stark durch seine leidenschaftliche Aufklärung inspiriert und wir waren voll von dem Drang der Migration zu beginnen, um Symfony2 so bald wie möglich davon überzeugt. Aber er gab uns auch mit einem „ein Wort der Vorsicht“ über 2 Dinge: Leistung und Authentifizierung / Autorisierung. Dies könnte sich einige Leute Sorgen, aber nicht uns: es hat uns aufgefordert, eine Lösung für diese beiden offenen Fragen zu finden.

Sie erklären, warum diese beiden Dinge ein Problem und einige ihrer Lösungen, die sie erstellt haben, sind -. Ein htaccess für das Routing und manuell die Replikation der Symfony2 Sitzung in der Symfony1 Code. Inbegriffen in der Post sind die Rewrite-Regeln und Code, um diese beiden Dinge passieren (und eine kleine Änderung der Konfiguration, damit sie funktionieren).

PHPDeveloper.org

Leasewebs Labs: Painless (na ja, weniger schmerzhaft) Migration auf Symfony2

Stefan Koopmanschap hat einen Artikel über die Leaseweblabs.com Blog über in einem (leicht) weniger schmerzhaft, dass den Umstieg auf einmal.

Es ist viel einfacher, eine schrittweise Migration zu tun. Beginnen Sie mit einem Teil Ihrer Anwendung, und Stück für Stück wandern Sie Ihre Logik und Anwendung. Der traditionelle Weg zu tun, wie Migrationen ist ein neues Projekt zu erstellen und die parallele Entwicklung auf dem alten und der neuen Version der Anwendung. Das Problem mit diesem ist jedoch, dass, wenn Sie eine Änderung vornehmen, um Ihre alte Anwendung, müssen Sie die gleiche Änderung in der neuen Codebasis zu machen haben, im Wesentlichen eine Verdopplung der Menge an Arbeit, für jede Funktion, die Sie implementieren müssen. […] Sie können Ihre alten Anwendung in Ihre Symfony2 Anwendung wickeln, und haben verschiedene Teile der Anwendung von verschiedenen Versionen Ihrer Codebasis behandelt werden.

Mit Hilfe eines Bündels er geschaffen hat, IngewikkeldWrapperBundle , dass die Umleitung von Ihrer Anfragen verarbeitet basierend auf dem die angeforderte Ressource vorhanden ist (in der Symfony 1 oder 2 codebase).

PHPDeveloper.org

Dave Marshall Blog: Phpmig – Einfache Migration von PHP

In einem neuen Beitrag in seinem Blog Dave Marshall teilt sich eine homegrown Migrations-Tool ist er geschaffen, um dazu beitragen, dass Datenbank-Migrationen eine einfachere Aufgabe – phpmig .

Ich habe vorher über und auch Portierung ActiveRecord:: Migration von PHP jetzt hier bin ich wieder bloggen über noch eine weitere Möglichkeit des Tuns Migrationen in PHP-Projekten. Nur vielleicht dieses Mal ist es anders, vielleicht dieses Mal habe ich einen Weg Ich bin glücklich mit gefunden …? Phpmig ist eine einfache Migration, das geschrieben, um einfach angenommen, unabhängig von der Rahmen-oder Bibliotheken, die Sie verwenden werden sollte. Es erfordert ein wenig für die Einrichtung, aber wenn man Sie verwenden sollten Migrationen kennen, sind Sie wahrscheinlich mehr als fähig.

Er ist eine Beispielanwendung gearbeitet, um Ihnen zu zeigen, wie man die Dinge eingerichtet und funktioniert – eine grundlegende Silex -basierte Anwendung. Phpmig wird verwendet, um eine grundlegende bootstrap für die Bereitstellung, den Einsatz von Pickel für Dependency Injection und Command-Line Interface zu generieren umfasst erstellen eine Migration Skelett-Klasse für die up / down-Methoden. Die Quelle für phpmig können auf github gefunden werden .

PHPDeveloper.org