Ugrás a fő tartalomra

Kulisszatitkok a Facebook főhadiszállásáról


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.

Exclusive: a behind-the-scenes look at Facebook release engineering

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.

Facebook's release engineering team celebrating a successful update

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.

The Hotfix Bar in Facebook's release engineering department

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

Népszerű bejegyzések ezen a blogon

Az IT és információbiztonsági szakma tetoválásainak jelentésmorfológiája

Az IT és információbiztonsági szakma tetoválásainak jelentésmorfológiája Blogzóna IT Itt az ideje, hogy az IT és a biztonsági szakmán belül elterjedt és gyakori tetoválásokat összegyűjtsük és közelebbről megvizsgálva a képi világukat, leírjuk, milyen jelentéssel bírnak, mit is jelképeznek, kik és hogyan, hol viselik őket. 1-89-19-68 A hackerek kedvelt tetoválása. A számok a periódusos rendszer elemein keresztül a HACKER feliratot adják ki (H- 1 Hidrogén, AC- 89  Aktínium, K- 19  Kálium, ER- 68  Erbium). Az öt pont jelentheti a feketekalapos hacker börtönviseltségét (bérletvásárlás után), etikus hacker esetében azonban az éles projekteken edződést és a field tapasztalatot szimbolizálja. Más értelmezésben az éles projekt során az etikus hackert (középső pont) bekeríti saját projektvezetője és salese, az ügyfél projektvezetője és az ügyfél biztonsági vezetője. Vörös háromszög a bal mellbimbó körül, „People, Process, Technology” felirattal az élek...

Mesterséges intelligencia startupot vett a Nike

A cég azért hajtotta végre a felvásárlást, mert szeretné megfejteni, hogy mit akarnak az ügyfelei. A tengerentúli székhelyű edzőcipő-, sportruházat- és sportszergyártó  megvásárolta  a  Celect nevű bostoni székhelyű mesterséges intelligencia startupot. A Nike azért döntött a tranzakció mellett, mert úgy érezte, hogy a vállalkozásban ott van a potenciál arra, hogy többet tudhasson meg az ügyfeleiről és arról, hogy miért döntenek egy adott termék megvétele mellett. A Celect a megadott kiskereskedelmi adatok alapján készíti el a számításait, amelyek komoly segítséget jelenthetnek akkor, ha például egy sportszergyártó költség-haszon elemzéseket akar elvégezni. Eric Sprunk, a Nike ügyvezető igazgatója kijelentette, hogy miután a termékeik iránt egyre nagyobb a kereslet, ezért kiemelten fontos számukra az adatok optimalizálása és az, hogy reagálni tudjanak a fogyasztói magatartásokra. Így nagyon is személyre szabott módon tudják kiszolgálni a vásárlóikat. A két fél az ü...

Sziszifuszi robotok és túlontúl menő házak az IKEA központjában

CSURGÓ DÉNES KÖVETÉS 2018.06.17. 17:11 Van valami gyermekien lenyűgöző, ugyanakkor szomorkás egy robot látványában, amelynek az a dolga ezen a világon, hogy nagyon finoman, óvatosan kinyisson majd becsukjon egy kutyafej formájú uzsonnásdobozt, és ezt elismételje úgy 15-20 ezerszer. Pedig ez az egyszerre mechanikus és egyszerre drámai látvány fogadott, amint beléptem az IKEA teszlaborjába a festőien semmi közepén lévő Älmhult városában, ahol az IKEA központja is van. Itt a tesztlabor mellett megnézhettem, hogy hogyan is rendezik be a lakásukat az IKEA dizájnerei, vagy hogy milyen bútorokat tervez a cég egy Mars-expedícióra. Az IKEA volt olyan kedves, hogy még vagy 200 másik újságíróval együtt meghívott a Democratic Design Days nevű rendezvényére, ami valójában egy kétnapos PR esemény, amelyen a világ talán legnagyobb bútorgyártója megmutatja, hogy mik kerülnek majd a boltokba jövőre, bejelenti, hogy milyen menőséget tervez a...