엔지니어링 스택이란 무엇입니까? + 예제

엔지니어링 스택이란 무엇입니까? + 예제
Anonim

짧은 대답은 백엔드에서 Flask for Python을 사용하고 프론트 엔드에서 Javascript를위한 Backbone을 사용하고 MongoDB, Redis 및 ElasticSearch에 데이터를 저장한다는 것입니다. AWS에서 호스팅됩니다.

스택이란 무엇입니까?

웹 사이트를 제공하기 위해서는 많은 기술이 필요하며 다음과 같은 다양한 기능을 수행합니다.

  • 브라우저 또는 앱에서 페이지를 만들고, 스타일을 지정 (색상, 글꼴)하고, 상호 작용하게 만듭니다 (예: 마음을 빨간색으로 돌리고 클릭하면 댓글 상자 표시). 이것은 프런트 엔드 또는 클라이언트 측
  • 페이지에 필요한 정보 (예: 질문, 답변, 사용자 이름 및 그림, 하트 수)를 수집하여 컴퓨터 또는 전화로 전송합니다. 이것은 백엔드 또는 서버 측
  • 필요할 때 언제든지이 정보를 저장하여 필요한 정보를 정확하게 검색 할 수 있습니다. 이를 데이터베이스 또는 데이터 저장소라고합니다.
  • 컴퓨터가 인터넷에 연결되어 있고 언제나 켜져 있으므로 누구나 언제든지 웹 사이트에 액세스 할 수 있습니다. 컴퓨터가 호출됩니다. 서버 그리고 그들은 호스팅 된 어딘가에.
  • 기타 여러 가지 중요한 기능

이러한 각 계층마다 여러 가지 좋은 옵션을 사용할 수 있으며 팀 구성원의 경험과 편의성은 물론 비용 및 특정 성능 요구 사항과 같은 실용적인 문제를 기반으로 한 팀의 선택이 가능합니다.

우리 (거의) 풀 스택

일부 기술은 자체 팀의 서버 및 랩톱에서 팀 구성원이 설치, 업데이트 및 관리합니다. 그들은 다음을 포함합니다:

  • Javascript를 구성하는 백본
  • 나침반을 재사용하고 구성하려면
  • Flask, JSON + HTML API를 제공하고 전체 HTML 페이지를 렌더링하는 Python 프레임 워크
  • 우리의 작업 대기열을위한 pyres (곧 샐러리가 될 가능성이 있음)
  • 우리의 데이터를 저장할 MongoDB (Postgres도 가능)
  • Redis는 사이트 주변의 피드, 추세 질문 및 모든 종류의 사용 통계와 같은 것을 캐시합니다.
  • ElasticSearch로 검색 기능 제공
  • 사이트를 제공하는 Nginx
  • Javascript 및 CSS를 축소, 압축 및 개정하는 방법
  • Capistrano가 앱을 배포하고 다른 유용한 작업을 수행합니다.
  • 새로운 서버에 필요한 소프트웨어를 설치하는 인형

일부 기술은 다른 회사에서 구축하고 관리하는 서비스입니다. 다른 사람이 모든 것을 스스로하는 대신 특정 문제에 집중시키는 것이 종종 더 효율적입니다. 우리가 사용하는 일부 서비스는 다음과 같습니다.

  • AWS는 서버, 정적 자산 및 CDN을 호스팅하는 Amazon Web Services라고도합니다.
  • DNS 용 Cloudflare, 캐싱 및 일부 보안 수준
  • 분석을위한 Google Analytics 및 Mixpanel
  • 중앙 집중식 로깅을위한 Papertrail
  • 클라이언트 측 오류를 추적하기위한 보초
  • 서버 및 서비스 모니터링을위한 DataDog
  • Flask 앱 성능 모니터링을위한 새로운 유적
  • Customer.io를 사용하여 앱에서 수행하거나하지 않는 작업을 기반으로 이메일을 보냅니다.
  • 코드 협업 및 호스팅을위한 Github

그리고 아마 다른 많은 사람들.

웹 사이트를 구축하고 운영하는 데는 많은 시간이 걸리지 만 잘 만들어진 도구 덕분에 그렇게 어렵지 않습니다!