Krátka odpoveď je, že používame Flask for Python na backende, Backbone pre Javascript na front-ende a ukladáme naše dáta v MongoDB, Redis a ElasticSearch. Sme hosťovaní na AWS.
Čo je to zásobník?
Na dodanie webovej stránky je potrebných veľa technológií a vykonávajú rôzne funkcie, vrátane:
- Vytváranie stránok v prehliadači alebo aplikácii, ich tvarovanie (farba, fonty) a ich interaktívnosť (napr. Otáčaním červenej farby srdca a zobrazením poľa s poznámkou, keď na ňu kliknete). Toto sa nazýva alebo na strane klienta
- Zhromažďovanie informácií potrebných pre stránku (napríklad otázka, odpoveď, mená používateľov a obrázky, počet sŕdc) a ich odoslanie do počítača alebo telefónu. Toto sa nazýva alebo na strane servera
- Ukladanie týchto informácií, takže je k dispozícii kedykoľvek je to potrebné, a umožňuje nám hľadať presne tie informácie, ktoré potrebujeme. Toto sa nazýva databáza alebo datastore
- Počítače pripojené k internetu a vždy, aby každý mohol pristupovať na webovú stránku kedykoľvek. Počítače sa volajú servery a sú hostil Niekde.
- Mnohé ďalšie kritické a menšie funkcie
V každej z týchto vrstiev je k dispozícii množstvo dobrých možností a výber každého tímu je založený na skúsenostiach a pohodlí členov tímu, ako aj na praktických otázkach, ako sú náklady a špecifické požiadavky na výkon.
Náš (takmer) plný stack
Niektoré technológie sú inštalované, aktualizované a spravované členmi nášho tímu na vlastných serveroch a laptopoch. Zahŕňajú:
- Chrbát organizovať náš Javascript
- Kompas na opätovné použitie a organizáciu CSS
- Flask, Python framework pre JSON + HTML API a na vykresľovanie plných HTML stránok
- pre naše fronty úloh (pravdepodobne Celer čoskoro)
- MongoDB na ukladanie našich údajov (pravdepodobne Postgres čoskoro)
- Premenujte na vyrovnávacie pamäte, ako sú napríklad informačné kanály v okolí stránky, otázky týkajúce sa trendov a všetky druhy štatistík používania
- ElasticSearch na vyhľadávanie výkonu
- Nginx slúžiť miesto
- Náhle, aby sa našiel Javascript a CSS
- Capistrano nasadiť našu aplikáciu a vykonať niekoľko ďalších užitočných úloh
- Bábkové nastaviť softvér, ktorý potrebujeme na nových serveroch
Niektoré technológie sú služby vybudované a spravované inými spoločnosťami. Často je efektívnejšie nechať niekoho iného zamerať sa na špecifické problémy namiesto toho, aby robili všetko sami. Niektoré služby, ktoré používame, sú:
- AWS aka Amazon Web Services na hosťovanie našich serverov, statických aktív a ako CDN
- Cloudflare pre DNS, ukladanie do pamäte cache a určitú úroveň zabezpečenia
- Google Analytics a Mixpanel pre analýzu
- Papertrail pre centralizované zapisovanie
- Sentry na sledovanie chýb na strane klienta
- DataDog pre monitorovanie našich serverov a služieb
- New Relic pre monitorovanie výkonu aplikácie Flask
- Customer.io odosielať e-maily na základe toho, čo robíte alebo nerobíte v aplikácii
- Github pre spoluprácu s kódmi a hosťovanie
A pravdepodobne mnoho ďalších.
To trvá veľa kusov vybudovať a prevádzkovať webové stránky, ale s pomocou dobre postavených nástrojov, nie je to tak ťažké!