Czy wiesz że...

* najnowsza wersja GG napisana jest w JavaScripcie?

Tworzymy aplikację desktopową przy wykorzystaniu technologii web'owych!
UI to CSS + XUL, logikę aplikacji stanowi czysty Javascript.
Całość, analogicznie jak Firefox, oparta jest na silniku Mozilla Gecko - zmodyfikowanym i dostosowanym przez nasz wewnętrzny dział C++.

* serwery komunikatora GG napisane są w całości w C i C++?

Jako źródła danych używamy MySQLa (dla mocno obciążonych baz stosując komunikację przez plugin HandlerSocket) i Memcacheda. A do wewnętrznej komunikacji między serwerami stosujemy Thrifta i HTTPa. Dodatkowo, do utrzymywania między serwerami spójnego stanu zalogowania użytkowników, używamy protokołu opartego na bibliotece Spread.

* aplikacje serwerowe GG dysku, muzyki i kilku innych produktów zostały napisane w Javie?

Całość "na klatę" biorą load balancery Nginx i Varnish, który to dodatkowo cache'uje dane. Żądania, po przejściu przez load balancery, trafiają do aplikacji, gdzie wewnętrznie są obsługiwane przy użyciu serwera Jetty. Jako ciekawostkę podamy, iż wewnątrz kodu zarządzamy zależnościami przy wykorzystaniu biblioteki Guice, a do dynamicznie zmieniających się fragmentów zaprzęgliśmy Groovy'ego. Natomiast pomocnicze narzędzia administracyjne, skrypty do wewnętrznego użytku tworzymy w Pythonie. Przetwarzamy miliony rekordów, które na swoją kolej oczekują w kolejce ActiveMQ. Wspomniane rekordy indeksujemy i przeszukujemy, wykorzystując Sphinksa. Całym kodem zarządzamy za pomocą Gita, a nad ciągłą jego integracją czuwa Jenkins.

* posiadamy hurtownię danych agregującą gigabajty danych dziennie i dziesiątki terabajtów w skali roku?

Jako podstawa pod nią służy nam Hadoop, ale aplikacje przetwarzające dane tworzymy w oparciu o Javę i Pythona.

* wszystkie zespoły IT w firmie GG Network funkcjonują przy wykorzystaniu metodyk Agile, z których prym wiedzie u nas Scrum?

GG w liczbach:

  • 400 serwerów 8 rdzeniowych, pod wirtualizacje
  • ok. 4000 guestów/serwerów wirtualnych
  • ok. 80 urządzeń sieciowych
  • 25 szaf rackowych
  • 3.5-5 mln sesji tcp
  • ok. 2.5 – 4.5GB ruchu sieciowego w świat
  • 15 TB pamięci
  • 2 PB powierzchni dyskowej dla systemów

  •