웹 시스템 아키텍쳐 및 역사 정리


  • 웹 시스템 아키텍쳐와 웹 시스템의 발전 역사에 대해 정리한 글입니다
  • 깔끔한 파이썬 탄탄한 백엔드 책을 참고했습니다

웹 시스템의 발전 역사

  • 초기의 웹 시스템
    • 1989년에 팀 버너스 리가 월드와이드웹(WWW)을 발명하고 많은 서비스가 웹을 통해 제공
    • 단순하게 문서(text)를 웹 브라우저를 통해 보는 수준
    • 웹 서버는 단순히 웹 브라우저가 요청하는 해당 페이지를 보내주는 정도의 기능만 수행
      • 예 : /new.html 페이지를 요청하면 해당 HTML 페이지를 보내주고, 웹 브라우저는 웹 서버에서 전달받은 HTML 파일을 렌더링해 사용자에게 보여줌
    • 간단하다는 장점이 있으나 굉장히 정적임(static)
  • 자바스크립트의 역할 증대
    • 사용자 인터랙션이 중요해지기 시작하며 자바스크립트의 역할이 커짐
    • 자바스크립트는 웹 브라우저에서 실행이 가능한 프로그래밍 언어로 주로 웹상에서 동적인 기능을 제공하기 위해 사용
    • 많은 웹사이트들이 자바스크립트를 통해 동적인 기능들을 제공하기 시작
    • 전체 페이지를 load하지 않아도 사용자의 input을 동적으로 처리하고 새로운 데이터를 제공할 수 있음
    • 초기엔 사용자와 동적인 상호작용 기능을 구현하는 기술이 AJAZ라는 이름으로 알려짐
    • 데이터는 XML 구조로 전송되는 것이 일반적인 시대
      • XML : 데이터를 전송하기 위한 markup 언어로 구조는 HTML과 비슷하나 데이터를 표현하기 위해 사용
  • 구별되기 시작하는 프론트엔드와 백엔드
    • 자바스크립트가 주가 되어서 HTML 생성부터 프론트엔드에 관한 모든 부분을 구현해 웹사이트나 서비스들이 전체적으로 동적이 됨
    • SPA(Single Page Application) 방식의 프론트엔드 개발이 인기를 얻음
    • SPA는 단일 페이지로 모든 웹사이트/서비스의 기능을 구현하는 것으로 메인 자바스크립트가 모든 페이지 및 기능들을 동적으로 구현
    • 이젠 웹 브라우저가 필요한 서버와 통신은 데이터 전송이나 생성 및 수정에 대한 것이 대부분이고, 렌더링할 떄 필요한 자바스크립트 코드는 최초 통신에서 1번에 다 받으므로 그 이후엔 서버와 데이터만 주고받으면 됨
    • 그러면서 프론트엔드(페이지 렌더링에 필요한 HTML과 자바스크립트 파일을 전송하는 역할)와 백엔드(필요한 데이터 생성 및 전송을 담당)이 더욱 역할이 나뉘게 됨

현대 웹 시스템들의 구조 및 아키텍처

  • 요새는 웹 시스템의 규모가 더 커지고 처리해야 하는 동시 요청 수와 데이터 규모가 증가함
  • API 시스템이 너무 방대해져서 MSA(Micro Service Architecture) 같은 새로운 개념이 발생되며 API 서버들이 더 세분화되고 규모가 커짐
  • 분석해야 하는 데이터의 양이 늘어나며 ETL(Extract, Transfer, Load) 또는 데이터 파이프라인 시스템이 발전함
  • 최근엔 ML과 AI 기술이 발전되서 더 방대해지는 중

이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)

Buy me a coffeeBuy me a coffee





© 2017. by Seongyun Byeon

Powered by zzsza