Mikä on tekninen pino? + Esimerkki

Mikä on tekninen pino? + Esimerkki
Anonim

Lyhyt vastaus on, että käytämme Flask Pythonille taustalla, selkäranka Javascriptille etupäässä ja tallennamme tiedot MongoDB, Redis ja ElasticSearchiin. Olemme isännöi AWS: ssä.

Mikä on pino?

Paljon teknologiaa tarvitaan verkkosivuston toimittamiseksi sinulle, ja ne suorittavat erilaisia toimintoja, kuten:

  • Sivun luominen selaimessa tai sovelluksessa, niiden muotoilu (väri, fontit) ja niiden vuorovaikutus (esimerkiksi kääntämällä sydänpunainen ja näyttämällä kommenttikenttä, kun napsautat sitä). Tätä kutsutaan nimellä etupäähän tai asiakkaan puolelle
  • Sivulle tarvittavien tietojen kerääminen (esim. Kysymys, vastaus, käyttäjänimet ja kuvat, sydämen lukumäärä) sekä sen lähettäminen tietokoneeseen tai puhelimeen. Tätä kutsutaan nimellä backend tai palvelinpuoli
  • Näiden tietojen tallentaminen niin, että se on käytettävissä milloin tahansa, ja jotta voimme etsiä tarkalleen tarvittavia tietoja. Tätä kutsutaan tietokannaksi tai datastoreeksi
  • Internetiin kytketyt tietokoneet, jotka ovat aina päällä, jotta kuka tahansa voi käyttää verkkosivustoa milloin tahansa. Tietokoneita kutsutaan palvelimet ja he ovat isännöi jonnekin.
  • Monet muut kriittiset ja vähäiset toiminnot

Kussakin näistä kerroksista on saatavilla useita hyviä vaihtoehtoja ja tiettyjen joukkueiden tekemät valinnat perustuvat tiimin jäsenten kokemuksiin ja mukavuuteen sekä käytännön asioihin, kuten kustannuksiin ja tiettyihin suorituskykyvaatimuksiin.

Meidän (lähes) koko pino

Joissakin tekniikoissa asennetaan, päivitetään ja hallitaan tiimimme jäseniä omilla palvelimillamme ja kannettavilla tietokoneillamme. Ne sisältävät:

  • Selkäranka järjestää Javascript
  • Kompassi uudelleenkäyttöä ja järjestämistä varten
  • Plasman, Pythonin kehys, joka palvelee JSON + HTML API: ta ja antaa täydelliset HTML-sivut
  • pyres meidän tehtäväjonoillemme (todennäköisesti selleri pian)
  • MongoDB tallentaa tiedot (mahdollisesti Postgres pian)
  • Tee uudelleen, jos haluat kätkeä asioita, kuten sivuston ympärillä olevia syötteitä, trendikysymyksiä ja kaikenlaisia käyttötilastoja
  • ElasticSearch tehon hakuun
  • Nginx palvelemaan sivustoa
  • Grunt minimoida, pakata ja tarkistaa Javascript ja CSS
  • Capistrano ottaa sovelluksen käyttöön ja suorittaa muutamia hyödyllisiä tehtäviä
  • Puppet määrittää tarvittavat ohjelmat uusille palvelimille

Jotkut teknologiat ovat muiden yritysten rakentamia ja hallinnoimia palveluja. On usein tehokkaampaa antaa joku muu keskittyä tiettyihin ongelmiin sen sijaan, että tekisit kaiken itse. Jotkin käyttämämme palvelut ovat:

  • AWS eli Amazon Web Services palvelimien, staattisten varojen ja CDN: n vastaanottamiseen
  • Cloudflare DNS: lle, välimuistille ja tietylle suojaustasolle
  • Google Analytics ja Mixpanel analytiikkaa varten
  • Papertrail keskitetylle puunkorjuulle
  • Asiakaspuolen virheiden seuranta
  • DataDog palvelimien ja palveluiden seurantaan
  • Uusi reliikkisäiliön sovelluksen suorituskyvyn seuranta
  • Customer.io lähettää sähköpostiviestejä sen perusteella, mitä teet tai et tee sovelluksessa
  • Github on koodikoulutukseen ja isännöintiin

Ja luultavasti monet muut.

Sivuston rakentamiseen ja käyttämiseen kuluu paljon paloja, mutta hyvin rakennettujen työkalujen avulla se ei ole kovin vaikeaa!