Co je to technický stack? + Příklad

Co je to technický stack? + Příklad
Anonim

Krátká odpověď zní, že používáme Flask for Python na backendu, Backbone for Javascript na front-endu a ukládáme naše data do MongoDB, Redis a ElasticSearch. Jsme hostováni na AWS.

Co je to hromada?

Pro dodávání webových stránek je vyžadováno mnoho technologií a plní různé funkce, včetně:

  • Vytváření stránek v prohlížeči nebo aplikaci, jejich tvarování (barva, fonty) a jejich interaktivita (např. Otáčení červeného srdce a zobrazení pole s poznámkou, když na něj kliknete). Toto se nazývá nebo na straně klienta
  • Shromažďování informací potřebných pro stránku (např. Otázka, odpověď, jména uživatelů a obrázky, počet srdcí) a odeslání do počítače nebo telefonu. Toto se nazývá nebo na straně serveru
  • Ukládání těchto informací, takže je k dispozici kdykoliv je potřeba, a umožňuje nám vyhledat přesně ty informace, které potřebujeme. To se nazývá databáze nebo datastore
  • Počítače připojené k internetu a vždy tak, aby kdokoliv mohl kdykoliv přistupovat na webové stránky. Počítače jsou volány servery a jsou hostované někde.
  • Mnoho dalších kritických a drobných funkcí

V každé z těchto vrstev je k dispozici celá řada dobrých možností a výběr každého týmu je založen na zkušenostech a pohodlí členů týmu a na praktických záležitostech, jako jsou náklady a specifické požadavky na výkon.

Náš (téměř) plný zásobník

Některé technologie jsou instalovány, aktualizovány a spravovány členy našeho týmu na vlastních serverech a noteboocích. Obsahují:

  • Páteřní uspořádání našeho Javascriptu
  • Kompas k opětovnému použití a organizaci našeho CSS
  • Baňka, Python framework sloužící JSON + HTML API a vykreslování plných HTML stránek
  • hranice pro naše fronty úkolů (pravděpodobně celer)
  • MongoDB ukládá naše data (možná Postgres brzy)
  • Přepište do mezipaměti věci, jako jsou kanály kolem webu, trendy otázky a všechny druhy použití statistiky
  • ElasticSearch pro vyhledávání výkonu
  • Nginx sloužit webu
  • Chceme, aby naše Javascript a CSS byly zhuštěné, komprimované a revidované
  • Capistrano nasadit naši aplikaci a provádět několik dalších užitečných úkolů
  • Loutka pro nastavení potřebného softwaru na nových serverech

Některé technologie jsou služby vybudované a spravované jinými společnostmi. Často je efektivnější nechat někoho jiného zaměřit se na specifické problémy místo toho, aby dělal všechno sami. Některé služby, které používáme, jsou:

  • AWS aka Amazon Web Services pro hostování našich serverů, statických aktiv a jako CDN
  • Cloudflare pro DNS, ukládání do mezipaměti a určitou úroveň zabezpečení
  • Google Analytics a Mixpanel pro analýzu
  • Papertrail pro centralizované protokolování
  • Sentry pro sledování chyb na straně klienta
  • DataDog pro monitorování našich serverů a služeb
  • Nový Relic pro sledování výkonu baňkové aplikace
  • Customer.io odesílat e-maily na základě toho, co děláte nebo neuděláte v aplikaci
  • Github pro spolupráci s kódem a hostování

A pravděpodobně mnoho dalších.

Vytvoření a provozování webové stránky trvá spoustu kusů, ale za pomoci dobře postavených nástrojů to není tak těžké!