Jak si Češi v GoodData vyvíjí vlastní jazyk a technologie

Čeští GoodData neustále rostou a s tím i vývoj v Praze a Brně. Firma si vyvíjí vlastní jazyk MAQL, pracuje s OpenStackem, virtuálními sítěmi a dalšími zajímavými technologiemi.

V pražském sídle společnosti GoodData v Danube House v Karlíně zrovna symbolicky přestřihávali pásku. Firma, která tam obývá jedno patro, stále narůstá a rozšiřuje se tak do dalších částí nového komplexu. GoodData si s poslední investicí ze Silicon Valley přišli už na více než 100 milionů dolarů a v budoucnu je asi čeká vstup na newyorskou burzu. Teď dělají vše proto, aby se tak stalo.

Spoluzakladatel a výkonný šéf GoodData Roman Staněk podnik řídí z centrály ze Silicon Valley. Má tam po ruce už více než 150 lidí, kteří se starají zejména o obchod, marketing a další podobné záležitosti. Samotný produkt „dobrých dat“ ale vzniká v Česku. V Praze sedí už přes 160 lidí – vedle operátorů či konzultantů je to asi 80 vývojářů. Dalších více než 40 jich je pak v Brně.

Tihle všichni technici pracují s technologiemi, na které si v Česku zase tolik lidí nemá možnost sáhnout. Určitě ne v takovém měřítku a s takovým rychlým růstem a potenciálem do budoucna.

Denně desítky terabajtů

„Přesné číslo úplně nevím, ale naše infrastruktura každý den zpracuje řádově desítky terabajtů dat,“ říká viceprezident GoodData pro vývoj Radovan Janeček. Janeček si prošel obdobnými pozicemi v obrech jako Hewlett-Packard či CA Technologies a nyní se technicky snaží ukočírovat neustálý růst zákazníků a zpracovávaných operací GoodData.

Klepněte pro větší obrázek
Vítejde v GoodData.

„Naší infrastrukturu musíme mít neustále připravenou k rychlému rozšiřování. Když přibereme skutečně velkého zákazníka, rázem nám přibydou až miliardy řádků dat,“ přibližuje Janeček. I menší zákazníci, kterých je největší masa, běžně pracují se 100 až 200 miliony řádky informací. „Jeden zákazník může udělat až 200 milionů uploadů za den.“

To je nápor, který příliš nelze odbavovat pomocí konvenčního železa a softwaru. Respektive se to nedělá nejlépe v konfiguracích, které si lze běžně pořídit od výrobců. GoodData aktuálně disponují stovkami serverů s tím, že další neustále přibývají. „Máme infrastrukturu připravenou tak, aby šlo nový hardware přidávat v podstatě až do nekonečna,“ popisuje Janeček.

To v praxi znamená, že GoodData nakupují komoditní železo, se kterým si pak mohou hrát dle svých potřeb. Hardware je nutný podklad pro schopnosti, které tomu všemu dodává software nad tím.

Vše si přizpůsobit

Hodně věcí v GoodData se točí kolem OpenStacku. Technologie, o které je v poslední době zejména v zahraničí velice slyšet, umožňuje stavět velké cloudy a datová centra, kde rozhoduje software, virtuální sítě, servery a tak dále.

Klepněte pro větší obrázek
Viceprezident GoodData pro vývoj Radovan Janeček.

OpenStack je zároveň open source a v době zhruba před třemi lety, když s ním v GoodData začali pracovat, ještě prakticky neexistovaly použitelné komplexní distribuce. „OpenStack používáme mimo jiné kvůli tomu, že si ho můžeme dle svých potřeb ohýbat. Asi rok jsme ho různě testovali a v ostrém provozu ho máme dva roky. Distribuci dnes máme de facto vlastní.“

Pro firmy typu GoodData je flexibilita extrémně důležitá. Nabízí totiž cloudový software jako službu v takovém rozsahu, na který prostě HP, Dell, Oracle a další tradiční hráči neumí dodat předpřipravená řešení. Respektive, možná by šlo celý systém vybudovat například na krabicích Exa od Oraclu, ale bylo by to neúnosně drahé. Stejně tak by šlo místo OpenStacku použít třeba VMware, i ten by se ale zásadně prodražil.

„S OpenStackem oproti VMwaru potřebujeme víc lidí na celý chod, na druhou stranu ale máme onu volnost. Tu potřebujeme všude, takže většinou jedeme pouze na open source,“ vysvětluje vývojový šéf GoodData.

 

GoodData si potřebují hodně věcí ohýbat dle sebe, proto používají OpenStack a open source.

 

Shánět v Česku lidi, kteří by s OpenStackem uměli, vůbec není jednoduché. GoodData mají na tuto platformu vyhrazené čtyři pracovníky a pár z nich Janeček přetáhl z HP, kde pracoval. „OpenStack je u nás exotika, takže ho moc lidí nezná. Na druhou stranu ale pro skutečně dobré vývojáře na úrovni infrastruktury není problém se ho rychle naučit,“ říká Janeček.

Nové datové centrum na obzoru

Pro GoodData je důležité udržet v celém postaveném systému co největší automatizaci. „Naše efektivita je slušná,“ věří Janeček s tím, že dnes ve firmě na jednoho operátora připadá přes čtyři tisíce BI projektů.

Sázka na otevřené technologie a neustálý vývoj vlastních komponent každopádně může být trochu risk. „Čím více vlastních věcí do OpenStacku přidáváme, tím větší to v budoucnu může být problém. OpenStack se hodně rychle mění. Navíc ho začínají velké firmy jako IBM a další dost ohýbat a trochu zneužívat,“ upozorňuje Janeček. GoodData si dělají velké úpravy například ve virtuálních sítích, které hodně využívají.

Klepněte pro větší obrázek
Z Prahy do datového centra ve Státech a brzy i Velké Británii.

GoodData si nebudují vlastní datová centra – ještě by se jim to údajně nevyplatilo. Firma tak hostuje své servery u partnera v datovém centru ve Spojených státech. V brzké budoucnosti by se ale díky poslední více než půlmiliardové investici vedené fondem Intel Capital měla objevit také lokalita ve Velké Británii. Důvodem není jenom technická, ale především legislativní nutnost.

V těchto datových centrech a na popisované infrastruktuře běží systém, který musí zvládat zpracovávat to, co GoodData živí – tedy cloudové nástroje umožňující zákazníkům zpracovávat velké hromady jejich dat a z těchto informací pak skládat přehledné výsledky.

Pro tyto účely „dobří dataři“ používají čtyři sady technologií, které se kombinují podle velikosti zákazníků. V základu je nutné vkládaná data vyčistit tak, aby s nimi šlo dobře pracovat. I proto se GoodData líbí různé standardy či rostoucí počet kvalitních API rozhraní.

Klepněte pro větší obrázek
V GoodData mají zasedačky pojmenované i podle programovacích jazyků. Erlang naznačuje, že tady se netradičních věcí nebojí.

Pro čištění informací se využívá i technologie Hadoop, ve které lze data naskladnit, dát jim strukturu a připravit je pro další zpracování. „Čištění dat zabere opravdu hodně prostředků,“ říká Janeček.

Vlastní jazyk MAQL

GoodData hodně využívají MapReduce a u mnoha zákazníků si vystačí s vlastnoručně upravenou databází PostgreSQL. Pro ty největší se pak využívá technologie Vertica od HP. Ovšem bez analytické části. Tu si totiž firma píše sama a vytvořila kvůli ní také vlastní specifický jazyk nazvaný MAQL.

Vlastní je také systém na ukládání výsledků do „cache“. Společnost se snaží co největší množství informací hnát přes operační paměť. I databáze, které nejsou vyloženě in-memory, se snaží co nejvíce využívat s pamětí. „In-memory jako takové ale tolik nevyužíváme, přeci jenom je paměť stále velice drahá storage,“ říká Radovan Janeček.

Klepněte pro větší obrázek
V GoodData používají OpenStack, Vertica, MAQL a další technologie.

Třeba i tohle jednou přijde. V GoodData totiž novinky hodně sledují. „V HP se mi velice líbilo, ale v GoodData je to mnohem lepší,“ usmívá se Janeček. „Tady děláme budoucnost. HP, IBM, CA a další firmy dodávají technologie pro minulost. Ještě nějakou dobu tu budou, ale hodně z nich se přemění na různý typ konzultačních firem.“

GoodData jsou přesně tím typem mladých firem, které si budují infrastrukturu vlastní a nepotřebují k tomu nástroje zavedených firem ani značkové servery. S tím, jak se stále více zákazníků přesouvá ke cloudu, se mění i poměry na trhu.

Janečkův tým například zkoušel i různé konfigurace v rámci Open Compute Projectu, který rozjel Facebook. Jde o myšlenku otevřeného hardwaru v datových centrech. GoodData do ostrého nasazení prozatím tyto komponenty nechystají, oblast ale sledují.

GoodData chtějí růst a s Prahou a Brnem se i nadále počítají jako s vývojářskou základnou. I proto je o firmě v tuzemském prostředí stále více slyšet. Zástupci podniku chodí přednášet na univerzity a angažují se v komunitě. Třeba při partnerství na bujících hackathonech. O chytré technické mozky je v Česku velká poptávka. GoodData věří, že mohou zaujmout zejména díky mladým technologiím.

Diskuze (7) Další článek: Chromebook Fusion: Bez konektorů a s podporou aplikací z Androidu

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