Kaj je inženirski sklad? + Primer

Kaj je inženirski sklad? + Primer
Anonim

Kratek odgovor je, da uporabljamo Flask za Python na hrbtenici, Backbone za Javascript na sprednji strani in shranjujemo naše podatke v MongoDB, Redis in ElasticSearch. Gostili smo na AWS.

Kaj je stack?

Za dostavo spletnega mesta potrebujete veliko tehnologij, ki opravljajo različne funkcije, med drugim:

  • Ustvarjanje strani v brskalniku ali aplikaciji, njihovo oblikovanje (barve, pisave) in njihovo interaktivnost (npr. Obrnjeno srce in prikaz polja s komentarji, ko ga kliknete). To se imenuje sprednji ali stranski
  • Zbiranje informacij, potrebnih za stran (npr. Vprašanje, odgovor, uporabniška imena in slike, število src) in pošiljanje na računalnik ali telefon. To se imenuje ozadje ali na strani strežnika
  • Shranjevanje teh informacij, da je na voljo kadarkoli je to potrebno, in nam omogočajo, da iščemo natančno tiste informacije, ki jih potrebujemo. To se imenuje baza podatkov ali zbirka podatkov
  • Računalniki, povezani z internetom in vedno vklopljeni, tako da lahko vsakdo dostopa do spletnega mesta kadar koli. Računalniki se kličejo strežnikov in so gostila nekje.
  • Veliko drugih kritičnih in manjših funkcij

Na vsaki od teh plasti so na voljo številne dobre možnosti in izbire, ki jih naredi ena ekipa, temeljijo na izkušnjah in udobju članov ekipe, pa tudi na praktičnih zadevah, kot so stroški in posebne zahteve glede zmogljivosti.

Naši (skoraj) polni kupi

Nekatere tehnologije so nameščene, posodobljene in jih upravljajo člani naše ekipe na lastnih strežnikih in prenosnih računalnikih. Vključujejo:

  • Hrbtenica za organizacijo Javascripta
  • Kompas za ponovno uporabo in organiziranje našega CSS-ja
  • Flask, Pythonov okvir za prikaz API-ja JSON + HTML in za prikaz polnih strani HTML
  • ogenj za naše čakalne vrste opravil (najverjetneje kmalu)
  • MongoDB za shranjevanje naših podatkov (po možnosti Postgres)
  • Znova ustvarite predpomnilnik za predmete, kot so viri po spletnem mestu, vprašanja o trendih in vse vrste statističnih podatkov o uporabi
  • ElasticSearch za iskanje moči
  • Nginx bo služil mestu
  • Grunt za zmanjšanje, stiskanje in revizijo naših Javascript in CSS
  • Capistrano bo namestil našo aplikacijo in opravil še nekaj drugih koristnih nalog
  • Lutkovnica bo nastavila programsko opremo, ki jo potrebujemo na novih strežnikih

Nekatere tehnologije so storitve, ki jih gradijo in upravljajo druga podjetja. Pogosto je bolj učinkovito dovoliti, da se nekdo drug osredotoči na določene probleme, namesto da bi vse naredil sam. Nekatere storitve, ki jih uporabljamo, so:

  • AWS ali Amazon Web Services za gostovanje naših strežnikov, statičnih sredstev in kot CDN
  • Cloudflare za DNS, predpomnjenje in določeno stopnjo varnosti
  • Google Analytics in Mixpanel za analitiko
  • Papertrail za centralno sečnjo
  • Sentry za sledenje napak na strani odjemalca
  • DataDog za spremljanje naših strežnikov in storitev
  • New Relic za spremljanje delovanja aplikacije Flask
  • Customer.io pošilja e-poštna sporočila glede na to, kaj počnete ali ne počnete v aplikaciji
  • Github za za sodelovanje in gostovanje kod

In verjetno veliko drugih.

Potrebno je veliko kosov za izgradnjo in upravljanje spletne strani, vendar s pomočjo dobro zgrajenih orodij ni tako težko!