SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
IT od kuchni w Nokaut.pl



Tadeusz Magiera, Marcin Grzybowski, Sławomir
     Pawęska, Przemysław Wróblewski
Nokaut.pl w liczbach
- 12 mln ofert
- ponad 100 mln zdjęć
- 400GB danych w MySQL
- największa tabela ponad 200 mln rekordów
- 3 mln req/dzień po kontent dynamiczny
- 20 mln req/dzień po kontent statyczny
- RAM: 816GB, dyski: 51.03TB, 172 rdzenie
CPU (bez HT)
Ludzie
już nie startup..
Działy
   Działy projektowe


        Dział
      Frontendu
                          25+ osób
        Dział
      Backendu

                         Działy utrzymania/małych projektów



        Dział             Dział                        Dział
       Aplikacji       Utrzymania                  Administratorów
      Mobilnych
Rozwój
● Regularne spotkania wewnętrzne o
  Technologiach IT i Jakości IT
● Cykl szkoleń wewnętrznych
● Szkolenia otwarte (Andrzej Krzywda o RoR)
● Konferencje (Front-Trends, RuPy, EuRuKo i
  jak zawsze polecam trójmiejskie infoShare)
● Firmowa biblioteczka
Procesy
Jakość
● Testy jednostkowe
● Inspekcje kodu (oswajamy się)
● Testy wydajnościowe Jmeter
● Testy funkcjonalne Selenium
● Narzędzia Continous Integration
  CruiseControl i TeamCity
● Standardy kodowania
● Post-commit hooki wyłapujące błędy
  składniowe i niezgodność ze standardami
Proces zmian na produkcji
● Serwery deweloperskie             dane
                                    deweloperskie
● Serwery testowe                   dane
  ○ dostępne dla wszystkich         deweloperskie
                                    lub produkcyjne
     programistów


● Serwer przedprodukcyjny /         dane i
                                    konfiguracja
  Serwer 1%                         produkcyjna

● Serwery produkcyjne
  ○ proces komunikacji o zmianach
● Do obsługi bugów wykorzystujemy Bugzilli
● Proces projektowy wspiera Acunote
  (Scrumowy) i Wrike (harmonogramy)
Technologie
Środowiska wytwarzania
Narzędzia deweloperskie
● RubyMine, PhpStorm to edytory które
  coraz bardziej lubimy
● ErrBit do zbierania błędów
● Rsyslog do centralnego logowania i
  agregowania logów
● Webistrano/Capistrano do deployu kodu
Infrastruktura
● Beyond główna serwerownia, 30+
  serwerów 1U (HP DL160G6), sieć 1 Gbit,
  VLan-y
● Hetzner dodatkowe serwery mające
  mniejszy priorytet
● Amazon S3 przechowuje kontent statyczny
  (~2 TB danych), serwowanie z warstwą
  keszującą w Beyond
Infrastruktura
Wirtualizacja
● Linux VServer na wszystkich maszyny
  Linuksowych
● KVM do wirtualizowania pozostałych
  systemów
Sposób obsługi WWW
●   LoadBalancing na HaProxy
●   Failovery przez HeartBeata
●   Nginx + PHP-FPM do serwowania PHP
●   Varnish + Nginx do kontentu statycznego
Technologie WWW
●   Memcache, MemcacheDB do keszowania
●   MySQL, MongoDB jako storage
●   PostgreSQL do transakcji
●   ActiveMQ do kolejek
●   SOLR do wyszukiwania
Technologie backendowe
● Ruby, Railsy, gearman do starszych aplikacji
● JRuby + TorqueBox wraz ze udostępnianymi przez
    JBoss-a usługami do nowo tworzonych rozwiązań
●   MySQL, Memcache wspomagająco
●   MongoDB
Monitoring
      ● Zabbix system do monitoringu -
        kontrola 2000+ wskaźników pracy
        serwerów i aplikacji rozbudowana o
        1000+ triggerów reagujących na
        przekroczenie zdefiniowanych
        wartości progowych.

      ● Host-tracker, Watchscript
        dostępność podstawowych stron
        wszystkich utrzymywanych
        serwisów
Co czytamy?
         Clean Code to pozycja która
         powinna być obowiązkowa na
         studiach :)



         High Performance MySQL czyli
         po prostu biblia MySQL dla tych
         którzy operują na sporej ilości
         danych
Kilka wyborów technologicznych
● SSD vs HDD Enterprise vs HDD Desktop
● Blade vs Rack
● SVN vs GIT

Más contenido relacionado

La actualidad más candente

PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...PROIDEA
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajnościmagda3695
 
LXC - kontener pingwinów
LXC - kontener pingwinówLXC - kontener pingwinów
LXC - kontener pingwinówgnosek
 
Halokwadrat PLNOG - Freeswitch a big boys Softswitch
Halokwadrat PLNOG - Freeswitch a big boys SoftswitchHalokwadrat PLNOG - Freeswitch a big boys Softswitch
Halokwadrat PLNOG - Freeswitch a big boys Softswitchmichalpodoski
 
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeinfoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeInfoshare
 
PLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł StefańskiPLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł StefańskiPROIDEA
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open sourceTomasz Kopacz
 
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...PROIDEA
 
Architektura serwera gier online
Architektura serwera gier onlineArchitektura serwera gier online
Architektura serwera gier onlineMaciej Mróz
 
Exchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's newExchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's newKonrad Sagala
 

La actualidad más candente (14)

PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
PLNOG 4: Krzysztof Góźdź - Od ssh do batuty - czyli jak z administratora stać...
 
Barcamp 08/06/2010
Barcamp 08/06/2010Barcamp 08/06/2010
Barcamp 08/06/2010
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
LXC - kontener pingwinów
LXC - kontener pingwinówLXC - kontener pingwinów
LXC - kontener pingwinów
 
Halokwadrat PLNOG - Freeswitch a big boys Softswitch
Halokwadrat PLNOG - Freeswitch a big boys SoftswitchHalokwadrat PLNOG - Freeswitch a big boys Softswitch
Halokwadrat PLNOG - Freeswitch a big boys Softswitch
 
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeinfoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
 
PLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł StefańskiPLNOG14: Ceph w praktyce - Paweł Stefański
PLNOG14: Ceph w praktyce - Paweł Stefański
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
 
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
 
Web Cache
Web CacheWeb Cache
Web Cache
 
GlusterFS
GlusterFSGlusterFS
GlusterFS
 
Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
 
Architektura serwera gier online
Architektura serwera gier onlineArchitektura serwera gier online
Architektura serwera gier online
 
Exchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's newExchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's new
 

Destacado

Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiWitold Bołt
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie3camp
 
Edukacja testerska na Quality in IT
Edukacja testerska na Quality in ITEdukacja testerska na Quality in IT
Edukacja testerska na Quality in ITRadoslaw Smilgin
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaJacek Okrojek
 
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011Radoslaw Smilgin
 
Zarządzanie jakoscią produktu w oparciu o zadania
Zarządzanie jakoscią produktu w oparciu o zadaniaZarządzanie jakoscią produktu w oparciu o zadania
Zarządzanie jakoscią produktu w oparciu o zadaniaRadoslaw Smilgin
 
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.Radoslaw Smilgin
 
Narzedzia zarządzania testowaniem.Wyniki.
Narzedzia zarządzania testowaniem.Wyniki.Narzedzia zarządzania testowaniem.Wyniki.
Narzedzia zarządzania testowaniem.Wyniki.Radoslaw Smilgin
 
Automated Exploratory Tests
Automated Exploratory TestsAutomated Exploratory Tests
Automated Exploratory TestsZbyszek Mockun
 
Automatyzacja Testowania Web20
Automatyzacja Testowania Web20Automatyzacja Testowania Web20
Automatyzacja Testowania Web20Radoslaw Smilgin
 
Wymagania niefunkcjonalne i testowanie
Wymagania niefunkcjonalne i testowanieWymagania niefunkcjonalne i testowanie
Wymagania niefunkcjonalne i testowanieRadoslaw Smilgin
 
Selenium
SeleniumSelenium
SeleniumPROSKAR
 
Testy akceptacyjne w pigułce.
Testy akceptacyjne w pigułce.   Testy akceptacyjne w pigułce.
Testy akceptacyjne w pigułce. Future Processing
 
IDE to za mało! Jak stworzyć efektywne środowisko pracy?
IDE to za mało! Jak stworzyć efektywne środowisko pracy?IDE to za mało! Jak stworzyć efektywne środowisko pracy?
IDE to za mało! Jak stworzyć efektywne środowisko pracy?Daniel Pokusa
 
Matryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability MatrixMatryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability MatrixRadoslaw Smilgin
 
Narzędzia zarzadzania testowaniem - analiza rynku
Narzędzia zarzadzania testowaniem - analiza rynkuNarzędzia zarzadzania testowaniem - analiza rynku
Narzędzia zarzadzania testowaniem - analiza rynkuRadoslaw Smilgin
 
Wszystkie role testera oprogramowania
Wszystkie role testera oprogramowaniaWszystkie role testera oprogramowania
Wszystkie role testera oprogramowaniaRadoslaw Smilgin
 
Zawód tester. Wprowadzenie.
Zawód tester. Wprowadzenie.Zawód tester. Wprowadzenie.
Zawód tester. Wprowadzenie.Radoslaw Smilgin
 

Destacado (20)

Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacji
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
 
Edukacja testerska na Quality in IT
Edukacja testerska na Quality in ITEdukacja testerska na Quality in IT
Edukacja testerska na Quality in IT
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownika
 
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011
Testowanie eksploracyjne - warsztat testerzy.pl na TestWarez 2011
 
Zarządzanie jakoscią produktu w oparciu o zadania
Zarządzanie jakoscią produktu w oparciu o zadaniaZarządzanie jakoscią produktu w oparciu o zadania
Zarządzanie jakoscią produktu w oparciu o zadania
 
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.
Testowanie eksploracyjne w sesjach. Prezentacja na KraQA. Luty 2014.
 
Narzedzia zarządzania testowaniem.Wyniki.
Narzedzia zarządzania testowaniem.Wyniki.Narzedzia zarządzania testowaniem.Wyniki.
Narzedzia zarządzania testowaniem.Wyniki.
 
Negocjacje testowe
Negocjacje testoweNegocjacje testowe
Negocjacje testowe
 
Automated Exploratory Tests
Automated Exploratory TestsAutomated Exploratory Tests
Automated Exploratory Tests
 
Automatyzacja Testowania Web20
Automatyzacja Testowania Web20Automatyzacja Testowania Web20
Automatyzacja Testowania Web20
 
Od Zera do Farmera
Od Zera do FarmeraOd Zera do Farmera
Od Zera do Farmera
 
Wymagania niefunkcjonalne i testowanie
Wymagania niefunkcjonalne i testowanieWymagania niefunkcjonalne i testowanie
Wymagania niefunkcjonalne i testowanie
 
Selenium
SeleniumSelenium
Selenium
 
Testy akceptacyjne w pigułce.
Testy akceptacyjne w pigułce.   Testy akceptacyjne w pigułce.
Testy akceptacyjne w pigułce.
 
IDE to za mało! Jak stworzyć efektywne środowisko pracy?
IDE to za mało! Jak stworzyć efektywne środowisko pracy?IDE to za mało! Jak stworzyć efektywne środowisko pracy?
IDE to za mało! Jak stworzyć efektywne środowisko pracy?
 
Matryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability MatrixMatryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability Matrix
 
Narzędzia zarzadzania testowaniem - analiza rynku
Narzędzia zarzadzania testowaniem - analiza rynkuNarzędzia zarzadzania testowaniem - analiza rynku
Narzędzia zarzadzania testowaniem - analiza rynku
 
Wszystkie role testera oprogramowania
Wszystkie role testera oprogramowaniaWszystkie role testera oprogramowania
Wszystkie role testera oprogramowania
 
Zawód tester. Wprowadzenie.
Zawód tester. Wprowadzenie.Zawód tester. Wprowadzenie.
Zawód tester. Wprowadzenie.
 

Similar a It od kuchni w nokaut.pl

[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegroallegro.tech
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaJakub Hajek
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...PROIDEA
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITamarekmisztal
 
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowejMateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowejPROIDEA
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.Semihalf
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITGOG.com dev team
 
DATA CENTER CONVERGED 2012 WARSAW
DATA CENTER CONVERGED 2012 WARSAWDATA CENTER CONVERGED 2012 WARSAW
DATA CENTER CONVERGED 2012 WARSAWPawel Wawrzyniak
 
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami PROIDEA
 
[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics SystemArtur Wronski
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Adrian Kalbarczyk
 
Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13Divante
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics SystemArtur Wronski
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 

Similar a It od kuchni w nokaut.pl (20)

[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
 
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowejMateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
Mateusz Gajewski - Architektura Allegro - 4 lata po rewolucji mikrousługowej
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com IT
 
DATA CENTER CONVERGED 2012 WARSAW
DATA CENTER CONVERGED 2012 WARSAWDATA CENTER CONVERGED 2012 WARSAW
DATA CENTER CONVERGED 2012 WARSAW
 
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami
PLNOG 8: Maciej Kubat - Nowe możliwości w zarządzaniu sieciami
 
[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System[#2] architektura - IBM Integrated Analytics System
[#2] architektura - IBM Integrated Analytics System
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 
Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13Skalowalność Magento - MMPL13
Skalowalność Magento - MMPL13
 
MongoDB 2011
MongoDB 2011MongoDB 2011
MongoDB 2011
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 

It od kuchni w nokaut.pl

  • 1. IT od kuchni w Nokaut.pl Tadeusz Magiera, Marcin Grzybowski, Sławomir Pawęska, Przemysław Wróblewski
  • 3. - 12 mln ofert - ponad 100 mln zdjęć - 400GB danych w MySQL - największa tabela ponad 200 mln rekordów - 3 mln req/dzień po kontent dynamiczny - 20 mln req/dzień po kontent statyczny - RAM: 816GB, dyski: 51.03TB, 172 rdzenie CPU (bez HT)
  • 6. Działy Działy projektowe Dział Frontendu 25+ osób Dział Backendu Działy utrzymania/małych projektów Dział Dział Dział Aplikacji Utrzymania Administratorów Mobilnych
  • 7. Rozwój ● Regularne spotkania wewnętrzne o Technologiach IT i Jakości IT ● Cykl szkoleń wewnętrznych ● Szkolenia otwarte (Andrzej Krzywda o RoR) ● Konferencje (Front-Trends, RuPy, EuRuKo i jak zawsze polecam trójmiejskie infoShare) ● Firmowa biblioteczka
  • 9.
  • 10. Jakość ● Testy jednostkowe ● Inspekcje kodu (oswajamy się) ● Testy wydajnościowe Jmeter ● Testy funkcjonalne Selenium ● Narzędzia Continous Integration CruiseControl i TeamCity ● Standardy kodowania ● Post-commit hooki wyłapujące błędy składniowe i niezgodność ze standardami
  • 11. Proces zmian na produkcji ● Serwery deweloperskie dane deweloperskie ● Serwery testowe dane ○ dostępne dla wszystkich deweloperskie lub produkcyjne programistów ● Serwer przedprodukcyjny / dane i konfiguracja Serwer 1% produkcyjna ● Serwery produkcyjne ○ proces komunikacji o zmianach
  • 12. ● Do obsługi bugów wykorzystujemy Bugzilli ● Proces projektowy wspiera Acunote (Scrumowy) i Wrike (harmonogramy)
  • 14.
  • 16. Narzędzia deweloperskie ● RubyMine, PhpStorm to edytory które coraz bardziej lubimy ● ErrBit do zbierania błędów ● Rsyslog do centralnego logowania i agregowania logów ● Webistrano/Capistrano do deployu kodu
  • 17.
  • 18. Infrastruktura ● Beyond główna serwerownia, 30+ serwerów 1U (HP DL160G6), sieć 1 Gbit, VLan-y ● Hetzner dodatkowe serwery mające mniejszy priorytet ● Amazon S3 przechowuje kontent statyczny (~2 TB danych), serwowanie z warstwą keszującą w Beyond
  • 19. Infrastruktura Wirtualizacja ● Linux VServer na wszystkich maszyny Linuksowych ● KVM do wirtualizowania pozostałych systemów
  • 20.
  • 21. Sposób obsługi WWW ● LoadBalancing na HaProxy ● Failovery przez HeartBeata ● Nginx + PHP-FPM do serwowania PHP ● Varnish + Nginx do kontentu statycznego
  • 22. Technologie WWW ● Memcache, MemcacheDB do keszowania ● MySQL, MongoDB jako storage ● PostgreSQL do transakcji ● ActiveMQ do kolejek ● SOLR do wyszukiwania
  • 23. Technologie backendowe ● Ruby, Railsy, gearman do starszych aplikacji ● JRuby + TorqueBox wraz ze udostępnianymi przez JBoss-a usługami do nowo tworzonych rozwiązań ● MySQL, Memcache wspomagająco ● MongoDB
  • 24. Monitoring ● Zabbix system do monitoringu - kontrola 2000+ wskaźników pracy serwerów i aplikacji rozbudowana o 1000+ triggerów reagujących na przekroczenie zdefiniowanych wartości progowych. ● Host-tracker, Watchscript dostępność podstawowych stron wszystkich utrzymywanych serwisów
  • 25. Co czytamy? Clean Code to pozycja która powinna być obowiązkowa na studiach :) High Performance MySQL czyli po prostu biblia MySQL dla tych którzy operują na sporej ilości danych
  • 26. Kilka wyborów technologicznych ● SSD vs HDD Enterprise vs HDD Desktop ● Blade vs Rack ● SVN vs GIT