| 846 |
Tudtad, hogy a Facebook mindig kedd délutánra időzíti az újítások elindítását? És azt, hogy külön csapat foglalkozik azzal, hogy zökkenőmentesen levezényelje a folyamatot? Gyertek velünk a Facebook főhadiszállására!

A Facebook a kaliforniai Menlo Parkban székel, ahol egy hatalmas "like" tábla fogadja a bejáratnál az arra járót. A Közösségi hálózat című filmnek köszönhetően emberek milliói ismerték meg a Facebook felemelkedésének történetét, ám azt kevesen tudják, hogy a gépek búgása is majd ilyen érdekes történetet rejt: ez a kifinomult technikai infrastruktúra, amely minden nap többszáz millió felhasználót szolgál ki.
Az Arstechnica újságírója, Ryan Paul lehetőséget kapott arra, hogy résztvegyen egy exkluzív "gyárlátogatáson", és megnézze azt a folyamatot, ahogy az új funkciókat telepítik, mindezt épp a Timeline oldalak elindításakor.
A Menlo Park hatalmas, tele épületekkel, egészen olyan mint egy kisebb város. Az épületeket belül ízléses graffitik és humoros poszterek díszítik. Irodák helyett többnyire nyitott terekben dolgoznak a fejlesztők. Minden épületben vannak úgynevezett pihenő szobák, ahol a fejlesztők anélkül beszélgethetnek egymással, hogy másokat zavarnának a munkában. Ezeket a szobákat minden épületben különböző témák alapján nevezték el. Például vannak olyanok, amik Monthy Python poénok alapján kaptak nevet, de vannak amelyekhez televíziós műsorok adták az ihletet.
![]()
Az újdonságok elindításával foglalkozó csapat is egy ilyen nyitott terű szobában található, azzal a különbséggel, hogy náluk egy jól felszerelt bár is helyet kapott. A csapat vezetője Chuck Rossi, aki sok érdekességet elárult a munkájukról.
Egy kis PHP...
A Facebook forráskódja nagyrészt PHP programozási nyelven íródott. Ez elősegíti a gyors fejlődést, de hiányzik belőle au alacsonyabb szintű nyelvek teljesítése és néhány modernebb alternatíva. Erre megoldásképp kifejlesztettek egy speciális HipHop nevű "keresztfordítót". A HipHop a PHP-t erősen optimalizált C++ kóddá alakítja, amely aztán hatékony bináris nyelvvé áll össze.
Rossi elmondása alapján az a bináris nyelv, ami a Facebook applikációt kiteszi, körülbelül 1,5 GB méretű. Amikor a Facebook frissíti ezt a kódot és újat épít, akkor az új nyelvet ki kell terjeszteni a vállalat összes szerverére.
1,5 GB-t mozgatni számtalan szerveren bizony nem egyszerű feladat. Ezért állt elő a Facebook a BitTorrent használatának ötletével, amely remekül megfelel a nagy fájlok különböző szervereken való elhelyezéséhez.
Ennél még érdekesebb adatok is kiderültek, például az, hogy egy Facebook frissítés elindítása átlagosan 30 percbe telik. 15 perc míg létrehoznak egy futtatható állományt és újabb 15 perc amíg azt átnyomják a szervereken a BitTorrenten keresztül.
Minden napra jut egy kis újítás
A Facebook általában minden munkanapon végez valamilyen apró frissítést. A nagyobb frissítéseket viszont csak hetente egyszer végzi el, általában kedd délutánonként. Az elindító csapat dolga az, hogy ezeket véghez vigye és ellenőrizze, sikeres-e.
A gyakori frissítések fontos részét képezik a Facebook fejlesztési filozófiájának, ez teszi ugyanis lehetővé a gyors előrehaladást.

Tesztelés
A minőségi ellenőrzés kihívást jelent a Facebook számára. Annak érdekében, hogy kiszűrje a problémákat, a dolgozók egy belső hálózaton keresztül hozzáférnek az oldalhoz, és látják a legfrissebb verziót. A tesztoldalon van néhány beépített hiba bejelentő eszköz, ami megkönnyíti a kommunikációt, ha felfedeznek valamit.
Emellett a Facebook automata teszteket is használ annak érdekében, hogy megbizonyosodjanak róla, megfelelően működik az oldal. Mielőtt elindul egy frissítés, az új kód "a2" szintre lép, vagyis felkerül néhány nyilvános szerverre. A tesztelés ezen szakaszában véletlenszerűen eljut felhasználókhoz, azonban ez még mindig csak egy apró töredéke az össz felhasználóknak, és a fejlesztők még tudnak módosítani az újdonságon, ha szükséges.
Elővizsgálat
A Facebooknak saját IRC (chat) szervere van a belső együttműködésre. Sok mérnök csak henyél a fő csatornán, míg dolgozik. Rossi szerint jellemzően 700 ember van rajta egy átlagos munkanapon. A Facebook eszköz fejlesztői létrehoztak egy IRC robotot, amely különféle funkciókat integrál a Facebook fejlesztési munkafolyamataiba.
Amikor Rossi úgy dönt, hogy hamarosan elindít egy frisstést, akkor egy becsekkolási folyamatot kezdeményez az IRC-en. Minden érintett fejlesztőt értesít a csatornán, akiknek válaszolniuk kell, hogy jelen vannak-e, és készen állnak-e a frissítésre. Ha valaki nem reagál néhány percen belül, akkor megkísérlik felhívni a figyelmét más csatornákon, például emailben vagy sms-ben.

Telepítés
Az indítás állapotát a Facebook egyik web alapú rendszerét felügyelő eszközön nézhette meg a riporter. A weboldal egy nagy folyamatjelző sávot jelenít meg, amely megmutatja, hogy éppen hol tart a frissítés. A bal oldalon egy vékony piros csíkot lehet látni, amit azt mutatja, hogy hány rendszer nem vette fel az új verziót. Ezt általában hardware problémák okozzák.
Arra a kérdésre, hogy volt-e már olyan valaha, hogy egy hiba miatt vissza kellett térniük egy korábbi válozathoz az oldalon, Rossi azt válaszolta, hogy "ilyet csak a vesztesek csinálnak".
A jövő
Az egyik legnagyobb folyamatban lévő fejlesztés a HipHop áthelyezése. A fejlesztők létrehozzák a saját bytecode formátumukat és egyéni környezethez igazítják, ez a HipHop virtuális gép, amely táplálja az új generációs Facebook felületet.
A Timeline lehetőséget ad arra, hogy mindenki elmesélje a saját történetét a felületen. Az ezeket tápláló műszaki háttérnek is megvan a maga személyes története, és egyedi fejlesztői kultúrája.
Megjegyzések
Megjegyzés küldése