본문 바로가기

개발/Back-End

[Back-End] 서버를 어떻게 만드는지 이해하기

이번 포스트에서는 백엔드를 공부하기전, 서버를 어떻게 만드는지 간단하게 이해해보는 시간을 갖겠습니다.

 

여러분들은 서버? 하면,

티비 영화등에서 위와 같이 컴퓨터들이 즐비하고 알수없는 선이 복잡하게 연결되있는 장면을 한번쯤 보신경험 있을겁니다.

 

물론 이러한 티비 영화속 서버가 틀린 것은 아니지만, 지금 우리가 사용하는 개인 노트북도 서버가 될 수 있습니다!

즉 서버는 다음과 같이 두가지로 나뉩니다.

 

- 노트북(데스크톱 컴퓨터)

- 서버 컴퓨터

 

 

1.  서버 컴퓨터 이해하기. 

 

혹자는 아니? 우리 컴퓨터도 서버역할을 할 수 있다면, 왜 서버 컴퓨터가 별도로 존재하지? 의구심이 들 것 입니다.

이를 위해 가볍게 노트북(데스크톱 컴퓨터) 와 서버 컴퓨터를 알아보자면,

 

데스크톱 컴퓨터 (노트북) :

작은 하드웨어에도 업무, 게임, 영화감상이 모두 가능한 멀티미디어 환경을 제공할 수 있도록 설계되어 있다.

 

즉, 노트북에 서버 프로그램을 설치해서 노트북을 서버 컴퓨터 로 만들 수 있지만 (= 로컬환경세팅)

성능이 상대적으로 떨어집니다.

 

서버 컴퓨터 : 클라이언트에 서비스를 제공하기 위한 서버 운영을 위한 하드웨어

그리고 서버컴퓨터는 개인 컴퓨터와 달리, 5가지의 조건을 갖추고 있어야 합니다!

 

1) 서버운영에 가장 중요한 안정성, 한 순간이라도 서버 운영에 장애가 생기면 연결된 모든 서비스가 중단

→ 빠른 컴퓨팅 능력

2) 365일 중단 없이 운영되는 서버 → 24시간 무한 루프

3) 24시간 서버 가동을 위해 효율적으로 열을 배출할 수 있어야 함

→ 냉각 장치

4) 손님 수에 따른 점원 수 조절

→ 클라이언트 수 고려

5) 서버의 빅데이터를 노린 해킹 소지 존재

→ 보안 능력 중요

 

그렇다면, 위와같은 환경을 충족 시키기 힘든 우리 컴퓨터는 어떤 방법으로 서버 컴퓨터화 시킬 수 있을지 생각이 들 것 입니다.

 

2. 서버 프로그램을 만드는 두 가지 방법 (각각의 장단점 有)

 

1. 내 컴퓨터를 서버컴퓨터화 시키기(로컬환경세팅)

e.g 아파치, IIS

 

이는 서버의 안정성이 떨어질 수 있습니다. 하지만, 웹 개발에 제한이 없습니다.

 

 

2. 이 세상 어딘가의 서버 컴퓨터 인터넷으로 빌리기 (웹호스팅) :

클라이언트의 수에 따라 , 웹 호스팅 업체로부터 빌리는 서버컴퓨터의 개수를 조절

(= 성수기에는 손님이 많이 오기 때문에 서버를 확장하고, 비성수기에는 손님이 적기 때문에 서버를 축소 .

->유연한 사용)

e.g GitHub, AWS c9

 

웹 개발에 제한이 있을 수 있으나 서버의 안정성이 상대적으로 보장됩니다.

 

 

이상으로 간단한 서버를 어떻게 만드는지 이해해보는 시간을 갖어보았습니다^^~ 감사합니다.

'개발 > Back-End' 카테고리의 다른 글

[Django] Django 시작하기  (0) 2021.05.13