Què és la pila d’enginyeria? + Exemple

Què és la pila d’enginyeria? + Exemple
Anonim

La resposta curta és que utilitzem Flask for Python al dorsal, Backbone per a Javascript a la portada i emmagatzemem les nostres dades en MongoDB, Redis i ElasticSearch. Estem allotjats a AWS.

Què és una pila?

Es necessiten moltes peces de tecnologia per oferir-vos un lloc web i duen a terme diverses funcions, incloent:

  • Creació de pàgines en un navegador o aplicació, dissenyant-les (de color, tipus de lletra) i fent-les interactives (p. Ex., El cor vermell i el quadre de comentaris quan feu clic). Això s’anomena el frontal o client
  • Recopilació de la informació necessària per a una pàgina (p. Ex., La pregunta, la resposta, els noms d'usuari i les imatges, el nombre de cors) i l'enviament a l'ordinador o al telèfon. Això s’anomena el dorsal o del servidor
  • Emmagatzemar aquesta informació de manera que estigui disponible en qualsevol moment i que ens permeti cercar exactament la informació que necessitem. Es diu la base de dades o la base de dades
  • Ordinadors connectats a Internet i sempre perquè tothom pugui accedir al lloc web en qualsevol moment. Es denominen els ordinadors servidors i ho són allotjat en algun lloc.
  • Moltes altres funcions crítiques i menors

A cadascuna d'aquestes capes, hi ha disponibles una sèrie d’opcions bones i les opcions que qualsevol equip realitza es basen en l’experiència i la comoditat dels membres de l’equip, així com en qüestions pràctiques com ara el cost i els requisits específics de rendiment.

La nostra pila (gairebé) completa

Algunes tecnologies s’instal·len, actualitzen i gestionen membres del nostre equip en els nostres propis servidors i portàtils. Inclouen:

  • Espina dorsal per organitzar el nostre Javascript
  • Brúixola per reutilitzar i organitzar el nostre CSS
  • Flask, un framework Python per servir l'API JSON + HTML i per representar pàgines HTML completes
  • pyres per a les nostres cues de feines (probablement Celery)
  • MongoDB per emmagatzemar les nostres dades (possiblement després Postgres)
  • Redisseny per amagar coses com els feeds del lloc, les preguntes de tendència i totes les estadístiques d’ús
  • ElasticSearch a la cerca d’energia
  • Nginx per servir el lloc
  • Grunt per minificar, comprimir i revisar el nostre Javascript i el nostre CSS
  • Capistrano desplega la nostra aplicació i duu a terme altres tasques útils
  • Titella per configurar el programari que necessitem en nous servidors

Algunes tecnologies són serveis construïts i gestionats per altres empreses. Sovint és més eficient deixar que algú se centri en problemes específics en lloc de fer-ho tot nosaltres mateixos. Alguns serveis que utilitzem són:

  • AWS aka Amazon Web Services per allotjar els nostres servidors, actius estàtics i com a CDN
  • Cloudflare per a DNS, emmagatzematge en memòria cau i algun nivell de seguretat
  • Google Analytics i Mixpanel per a analítiques
  • Papertrail per a registre centralitzat
  • Sentinella per al seguiment d'errors del client
  • DataDog per controlar els nostres servidors i serveis
  • Nova relíquia per controlar el rendiment de l'aplicació Flask
  • Customer.io per enviar correus electrònics basats en el que feu o no en l’aplicació
  • Github to per a col·laboració i allotjament de codi

I probablement molts altres.

Es necessiten moltes peces per construir i operar un lloc web, però amb l’ajut d’eines ben construïdes, no és tan difícil!