향후 모듈2 프로젝트 진행 방향에 관한 논의 - Mooneey/Facebook_Crawling GitHub Wiki

  1. 개요
  • 웹 애플리케이션을 운용할 때는 이용자가 항상 이용할 수 있도록 운용 관리를 해야 함

모듈2 프로젝트에서의 환경과 웹 애플리케이션 운용 목적을 위해 향후 프로젝트는 멀티호스트에서 실행 환경을 구축해야 함을 제안

  1. 웹 시스템의 실행 환경
  • Web 서버, Was 서버, 프록시 서버등의 여러 개의 서버 기능이 연계되어 작동
  1. 모듈2 프로젝트에서의 환경
  • 동일 호스트PC 상에 Docker와 Hyper-V를 설치하고, 컨테이너와 VM을 구성하여 각 Web 서버와 Was 서버를 작동

  • 이미지 빌드와 컨테이너의 실행

Dockerfile이 수행

  • Docker(Nginx) - WSL(Ubuntu 20.04) - Hyper-V(VM) 구조로 실행 환경 설치

호스트 OS를 종료 후 실행하는 경우 WSL Ethernet에서의 IP주소가 변경되어 VM을 다시 설치해야 하는 경우 발생 VM측의 Was 서버가 장애가 발생하면 서비스가 정지 실제 웹 시스템에서의 서비스 정지였다면 비즈니스 기회 상실 및 기업의 신용 상실 우려

  1. 단일호스트가 아닌 멀티호스트 환경에서 웹 시스템을 실행한다면
  • 가용성측면

서버의 오류, 하드웨어의 고장등이 발생해도 다른 서버나 하드웨어가 대신 처리를 계속하여 높은 신뢰성을 얻을 수 있음

  • 확장성측면

단순히 하나의 VM에서 요청을 처리하는 것이 아니라 AWS에서 여러 가상머신(EC2)을 실행하여 높은 처리 성능을 얻을 수 있음