[Infra 기초] 1. 서버란 무엇인가

Jihyeon Yun·2024년 3월 26일
0

Infra Basic

목록 보기
1/1

본 글은 Inflearn의 롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리 을 수강하며 정리한 내용입니다.

서버와 클라이언트

서버와 클라이언트 동작 원리

  • 서버: 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치(요청 시 저장되어 있던 응용 프로그램을 전송)
  • 클라이언트: 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치(응용 프로그램을 요청한 뒤 실행)

서버는 클라이언트의 요청을 처리하므로 클라이언트로부터 요청을 받아야 제 역할을 다 할 수 있다.

서버의 역할 및 종류

웹 애플리케이션 구성 서버

  • 웹 서비스를 제공하기 위해서는 다양한 서버가 필요하다.(규모가 작은 경우 하나의 서버로 통합할 수 있지만 리소스 부족 가능성이 있다.)
  • 클라이언트가 브라우저를 통해 콘텐츠(소스코드, 텍스트, 이미지, 동영상 등)을 요청하면 서버가 이에 대한 응답을 전송하는 방식

구성 서버의 종류

  • 웹 서버: 클라이언트와 가장 가까이 존재하며, 정적 콘텐츠를 클라이언트에게 전달.

    서버는 응답을 보낸 후 요청 내용과 응답 내용을 기록하게 되는데 이를 Log 라고 한다.

  • 애플리케이션 서버: 동적 콘텐츠를 클라이언트에 전달. 웹 서버로부터 요청을 받아 콘텐츠를 전달한다.

  • 데이터베이스(DB) 서버: 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터베이스를 구동하는 서버

  • 프록시 서버: 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템. 서버와 서버 사이의 중계기 역할
    출처: https://securityboulevard.com/2023/04/what-is-reverse-proxy-how-does-it-works-and-what-are-its-benefits/

    • 리버스 프록시 서버:
      • 웹앱서버 / WAS 앞에 놓여져 있으며(인터넷 뒷단에 존재) 서버쪽으로 데이터 요청을 밀어준다.
      • 흔히 사용하는 [Apache, Nginx] <-> [Tomcat] 분리 형태를 Reverse 프록시라고 볼 수 있다.
      • 사용 시 로드 밸런싱, 본래 서버의 IP 노출 방지, 캐싱, 암호화의 이점이 있다.
    • 포워드 프록시 서버:
      • 클라이언트 바로 뒤에 놓여 있음.
      • 인터넷을 통해 외부 서버에서 데이터를 가져와 클라이언트에게 응답한다.
      • 사용 시 캐싱을 통한 빠른 응답, 서버에 클라이언트의 IP 주소를 알리지 않음, 암호화의 이점이 있다.

서버 하드웨어와 소프트웨어

서버 하드웨어 분류 by 폼팩터

랙(Rack) 마운트 서버

  • 랙에 밀어넣는 형태의 서버
  • 한 칸을 1U(Unit)이라 하고 크기에 따라 1U 서버 ~ nU 서버라고 부른다.

블레이드(Blade)형 서버

  • 랙 마운트형 서버를 더 얇게 만들고 케이스가 없는 형태의 서버

타워형 서버

  • 일반 데스크탑 PC와 유사한 형태의 서버
  • 워크스테이션이라고도 부른다

서버 하드웨어 분류 by 종류

Main Frame

  • IBM이 1964년 출시한 통계, 금융 분야에 사용되는 대형 서버
  • 경량화하여 UNIX가 나왔으며 마찬가지로 금융권 및 대기업에서 많이 사용하는 형태의 서버이다.

x86

  • 가장 많이 사용하는 서버 유형
  • 랙서버의 경우 대부분 x86

대표적인 서버 하드웨어 제조사는 HPE, Dell Technologies, Inspur, Lenovo, IBM, Asus등이 있다.

서버 소프트웨어

서버 OS(Operating System)

  • z/OS : Main Frame에서 사용되는 IBM에서 만든 서버용 OS
  • AIX, hp UX, Oracle Solaris: UNIX에서 사용되는 서버용 OS
  • Debian, Ubuntu, CentOS: x86에서 주로 사용되는 Customized 된 리눅스 배포판
  • RedHat, SUSE: OS 자체는 무료지만 기술지원이 유료인 Linux 기반 상용 소프트웨어
  • Microsoft Windows Server: 마이크로소프트에서 만든 유료 서버용 OS

서버 소프트웨어: 서버 OS 위에 설치

  • Apache, Nginx, Microsoft IIS: 서버가 웹서버의 역할을 하게끔 해주는 소프트웨어
  • FileZilla: FTP(File Transfer Protocol) 서버
  • Exchange: 메일 송수신을 위한 서버. SMTP(Simple Mail Transfer Protocol)을 사용

참고자료

🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리

profile
Better than Yesterday, Further than Before

0개의 댓글