Što je inženjerski stog? + Primjer

Što je inženjerski stog? + Primjer
Anonim

Kratak odgovor je da koristimo Flask za Python na pozadini, Backbone za Javascript na front-end i pohranjujemo naše podatke u MongoDB, Redis i ElasticSearch. Mi smo domaćini na AWS-u.

Što je stog?

Za isporuku web-mjesta potreban je velik broj tehnologija, a one obavljaju različite funkcije, uključujući:

  • Stvaranje stranica u pregledniku ili aplikaciji, njihovo oblikovanje (boja, fontovi) i njihovo interaktivno stvaranje (npr. Crveno srce i prikaz okvira za komentare kada ga kliknete). To se naziva prednji kraj ili na strani klijenta
  • Prikupljanje informacija potrebnih za stranicu (npr. Pitanje, odgovor, korisnička imena i slike, broj srca) i slanje na računalo ili telefon. To se naziva na pozadini ili na strani poslužitelja
  • Pohranjivanje tih informacija tako da je dostupno u bilo kojem trenutku i da nam omoguće da tražimo točno potrebne informacije. To se zove baza podataka ili baza podataka
  • Računala povezana s internetom i uvijek uključena tako da bilo tko može pristupiti web-lokaciji u bilo kojem trenutku. Nazivaju se računala poslužitelji i jesu domaćin negdje.
  • Mnoge druge kritične i manje funkcije

U svakom od ovih slojeva, na raspolaganju su brojne dobre opcije, a izbor koji napravi jedan tim temelji se na iskustvu i udobnosti članova tima, kao i na praktičnim stvarima kao što su troškovi i specifični zahtjevi izvedbe.

Naš (gotovo) puni stog

Neke tehnologije su instalirane, ažurirane i njima upravljaju članovi našeg tima na vlastitim poslužiteljima i prijenosnim računalima. Oni uključuju:

  • Okosnica za organiziranje Javascripta
  • Kompas za ponovnu upotrebu i organiziranje CSS-a
  • Flask, Python okvir za posluživanje API-ja JSON + HTML i prikaz punih HTML stranica
  • lože za naše redove zadataka (vjerojatno Celery uskoro)
  • MongoDB pohranjuje naše podatke (uskoro i Postgres)
  • Redizirajte predmemorije poput feedova oko web-lokacije, trendova i svih vrsta statistike upotrebe
  • ElasticSearch za pretraživanje snage
  • Nginx za posluživanje web-lokacije
  • Grunt za smanjivanje, komprimiranje i reviziju Javascripta i CSS-a
  • Capistrano će implementirati našu aplikaciju i izvršiti još nekoliko korisnih zadataka
  • Lutkica za postavljanje softvera koji nam je potreban na novim poslužiteljima

Neke tehnologije su usluge koje grade i upravljaju druge tvrtke. Često je učinkovitije dopustiti da se netko usredotoči na specifične probleme umjesto da sve radi sam. Neke usluge koje koristimo su:

  • AWS aka Amazon Web Services za hostiranje naših poslužitelja, statičke imovine i kao CDN
  • Cloudflare za DNS, caching i određenu razinu sigurnosti
  • Google Analytics i Mixpanel za analitiku
  • Papirna traka za središnje sječe
  • Straža za praćenje pogrešaka na strani klijenta
  • DataDog za praćenje naših poslužitelja i usluga
  • Novi Relic za praćenje performansi flašice
  • Customer.io šalje e-poštu na temelju onoga što radite ili ne radite u aplikaciji
  • Github za suradnju i hosting kodova

I vjerojatno i mnoge druge.

Potrebno je mnogo komada za izgradnju i upravljanje web stranicama, ali uz pomoć dobro izgrađenih alata, nije tako teško!