Jak se v Praze a Plzni pečou skutečně velká data

Databáze veliké několik TB, desítky milionů úkolů denně, skripty tahající a ukládající data ze sociálních sítí, nové technologie jako Node.js, MongoDB a Hadoop. To jsou Socialbakers.

Tohle nejsou typické startupové prostory plné naleštěných MacBooků, pestrobarevných nálepek, automatů na limonádu a co možná nejvíce originálních designových doplňků. V prostorách honosné historické vily na pražských Vinohradech naopak najdete mohutný krb, původní interiér, velkolepé lustry a královskou zahradu se sochami. A v místnosti, kde se dříve nacházel taneční sál, nyní sedí řada vývojářů, kteří si hrají se skutečně velkými daty.

„Tam pořádáme různá grilování a podobně,“ ukazuje směrem na zmiňovanou zahradu technologický šéf společnosti Socialbakers Martin Homolka, která tyto prostory obývá. Mimo jiné se tak snaží vykreslit atmosféru, v jaké jeho vývojářský tým pracuje. Socialbakers je jednou z nejnadějnějších českých technologických firem, která nabírá významné klienty po celém světě a ruku v ruce s tím roste i počet zaměstnaných mladých mozků.

Společnost ještě před rokem zaměstnávala kolem 15 vývojářů a dnes už jich má 65. Během letošního roku plánuje přijmout alespoň 20 dalších. „I s rychlým růstem se snažíme, abychom k nám nezaváděli žádné manýry z velkých korporací, ale drželi si kamarádského ducha,“ popisuje Homolka. Věkový průměr jeho vývojářského týmu je kolem 25 let, takže to zase není takový problém.

Hackathon jako součástí firemní kultury

Společnost, která své produkty prodává i takovým značkám jakými jsou Vodafone, Nestlé, LVMH či McDonalds, si mladého neformálního ducha udržuje různými způsoby. Vyráží například na takzvané hackathony, kdy se vývojáři sjedou na jedno místo, rozdělí se na týmy a společně pak za pomocí nových technologií řeší zajímavé úkoly. Často takto fungují přes noc a dělají to ve volném čase, protože je to prostě baví.

Klepněte pro větší obrázek
PHP už na nás nestačí. Technický šéf Socialbakers Martin Homolka.

A evidentně je baví i práce samotná. „Lidi u nás často sedí od rána do večera, že už jim někdy musíme říkat, ať už jdou domů si odpočinout,“ směje se Homolka. Jedním z hlavních faktorů tohoto nadšení je podle jeho slov především práce s technologiemi a produktem, ke kterým se vývojáři v Česku v takové míře jen tak nesetkají.

Socialbakers v takřka v reálném čase analyzují dění na sociálních sítích (Facebook, Twitter, YouTube, LinkedIn a Google+) a umožňují tak firmám podrobně monitorovat to, jak se o jejich produktech a značkách na internetu mluví, jak uživatelé reagují na novinky a tak dále. Mladá česká firma denně zpracovává desítky milionů úkolů a v neustále rostoucí databázi drží několik TB dat. Všechna tato čísla navíc rychle rostou s tím, jak Socialbakers přibývají zákazníci (dnes už jich je přes tisíc).

Sehnat lidi, kteří jsou schopní se s obsluhou těchto dat poprat, není úplně jednoduché. „V Česku je obecně veliký problém najít někoho, kdo pracoval nebo umí pracovat s big data a technologiemi jakými jsou Hadoop a MongoDB,“ konstatuje Homolka a poukazuje na 2 z technologií, které v Socialbakers k vývoji používají.

Firma se proto snaží najímat spíše nadějné vývojáře, kteří sice tyto produkty ještě neumí, ale mají o ně zájem a jsou učenliví. „Stačí, aby zájemce byl dobrý programátor. A je v podstatě jedno, jaký umí jazyk, protože ty další se pak umí rychle naučit,“ říká Homolka.

Konec zadýchanému PHP

Produkty Socialbakers byly dříve vyvíjeny ještě na tradičních technologiích jako PHP a MySQL, ty už se ale podle Homolkových slov „zakuckávají“ a je nutné je nahrazovat. Analytické nástroje napsané v PHP jsou proto postupně nahrazovány modernějším Node.js, který funguje asynchronně a je možné pomocí něj zpracovávat více věcí najednou.

Klepněte pro větší obrázek
Vítejte u Socialbakers. Tam, kde se pečou velká sociální data.

Socialbakers prozatím analyzují spíše data, jako jsou „lajky“ a podobně. Tyto informace sbírají naprogramované skripty, které je pak stahují a ukládají do databázového systému postaveného na MongoDB. Další přímo textový obsah je pak ukládán do prostředí stále používanějšího Hadoopu, který byl pro zpracování velkých dat vyvinut.

Nároky na databáze jsou značné. Již zmiňovaných několik TB uložených dat je dáno mimo jiné tím, že Socialbakers se snaží nasbíraný obsah držet napořád. „Zákazníci chtějí vidět dlouhou historii analýz,“ vysvětluje Homolka. Pro firmu je tak klíčové pracovat s kvalitním diskovým výkonem a na dotazy se zase aktivně využívá rychlé zpracování v paměti serverů.

Ke sběru a analýze tohoto druhu dat by do budoucna mohlo přibýt také porozumění významu samotných informací na jednotlivých sociálních sítích. Nástroje, které dokáží porozumět psanému textu, ale není tak jednoduché vyvinout. „Sentiment analýza je prozatím problém, protože většina technologií, které jsou nyní dostupné, rozumí pouze angličtině a my jsme globálně zaměřená firma,“ vysvětluje Homolka. Jinými slovy firma z Česka by sice mohla analyzovat texty v angličtině, v češtině ale ne.

Neustálé čerpání nových a nových dat představuje zátěž i například pro samotný Facebook. Ten prozatím – na rozdíl třeba od Twitteru – nepředstavil „push“ funkci, která by umožňovala podobným analytickým nástrojům posílat oznámení o novinkách, a proto Socialbakers pořád dokola na Facebook vypouští své vlastní skripty, které se pořád dokola ptají na ten samý příkaz. „Asi trochu ano,“ směje se Homolka poznámce, že jeho společnost Facebook tak trochu „DDoSuje“.

Růst o 100 serverů ročně

Socialbakers všechny tyto procesy zpracovávají na cloudových virtuálních serverech, které si platí u americké společnosti GoGrid. Jen za poslední rok jich přibyla stovka nových a celkový počet tak několikanásobně narostl. Celá tato sestava vyjde na až 30 tisíc dolarů měsíčně.

Ani při takovém množství serverů a vysoké částce se ale firmě prozatím nevyplatí nakoupit si hardwarovou infrastrukturu vlastní – finanční limit by údajně podle interních propočtů musel být až několikanásobně vyšší. „Prozatím se nám to nevyplatí,“ říká Homolka. „Museli bychom zaplatit více lidí a samotný hardware a investice by se vrátila až za dlouhou dobu.“

Cloud pro mladé firmy a startupy představuje zejména flexibilitu a minimální pořizovací náklady. Díky serverům GoGrid umístěným ve Spojených státech je navíc možné se rychleji dostat k datům uloženým v datových centrech jednotlivých sociálních sítí. V Socialbakers už nicméně uvažují o tom, že GoGrid opustí a přejdou k Amazonu. GoGrid pro ně údajně představuje historické rozhodnutí a cloud od Amazonu nabízí mnohem vyspělejší a flexibilnější volby v podobě velikosti paměti a disků na jednotlivé virtuální stroje (VPS).

Na těchto 125 VPS serverech běží load balancer, který rozděluje požadavky na jednotlivé aplikační servery, pod ním je vyrovnávací paměť (cache), pak Apache na spouštění skriptů a pod tím už běží samotné databáze plné velkých dat.

Každý týden nová funkce a dlouhé testování

Kompletní tým 65 vývojářů pracuje v malých 5 až 8 členných skupinách, které se starají o jednotlivé produkty a funkce s tím, že je k dispozici také jeden softwarový architekt, který navrhuje to, jak bude struktura programů vypadat. Menší týmy mají možnost lépe spolupracovat a rovněž se více seberealizovat.

Vývojová skvadra Socialbakers při vývoji používá metodiku SCRUM s týdenními sprinty, takže se týmy snaží každý týden přicházet s novou funkcí svého produktu. Před nasazením každé nové funkce se projede kompletní testovací proces. „U analytiky, což je nás největší produkt, takový test trvá 8 hodin v jednom prohlížeči,“ popisuje názorně Homolka.

Socialbakers toto všechno nerealizují pouze v Praze. Zhruba polovina vývojářů sídlí v Plzni, odkud společnost (tehdy ještě pod jménem Candytech) vzešla. Na letošek plánované rozšíření týmu programátorů se proto netýká jenom hlavního města, ale také krajské pobočky.

O dalších lokalitách, například o Brně, Martin Homolka neuvažuje, už teď je podle jeho slov občas těžké 2 lokality koordinovat. Ve hře není ani zahraničí. A to jak z důvodu koordinačního, tak finančního.

Firma, která už má po celém světě přes 180 zaměstnanců a v kapse investici 8 milionů dolarů od investorů ze Silicon Valley, nehledá pouze technicky nadané jednotlivce. „Lidé nám na pohovory chodí hodně, ale je těžké si mezi nimi vybrat,“ vysvětluje Homolka. „Není to jenom o samotných schopnostech, ale důležité je pro nás také to, aby vývojáři mezi nás zapadli, abychom si porozuměli.“

Diskuze (30) Další článek: Na úložišti Mega je už 125 milionů souborů

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,