본문 바로가기

IT Note/Infrastructure

[IT 인프라 알아보기] - HW 서버 기초편

IT 인프라는 무엇일까요?

흔히들 국가에서 인프라 사업을 추진한다는 말을 들어보신 적 있으실거에요. 여기서 인프라는 Infrastructure의 줄임말로 '기반 시설'을 의미합니다. 국가의 인프라 사업이라함은 도로, 항만, 공항, 하천, 통신 등 경제 활동을 하기 위하여 필요한 기초적인 구조를 만들어가는 것을 말합니다. 식당을 운영 하더라도 원재료를 공급 받을 수 있는 도로가 필요하고, 손님들이 결제를 하기 위해 카드 통신망이 필요하죠?
이 모든 것들을 일반적으로 인프라(기반 시설)라고 합니다.

출처: depositphotos

IT 인프라도 똑. 같. 습. 니. 다! IT 인프라는 회사에서 애플리케이션 및 프로그램을 운영하기 위해 필요한 기초 시스템을 의미합니다. 애플리케이션을 운영하기 위해서 필요한 기초 시스템은 크게 4가지로 볼 수있는데요. IT 인프라 4대장을 소개합니다.

[IT 인프라 4대장]

1대장) Hardware(HW) 
     - 서버 장비, 데이터 저장 스토리지, 기타 장치 등

2대장) Network
     - 애플리케이션 사용자(Client)를 서버와 리모트로 연결 해주는 것

3대장) Operating System, 운영체제(OS)
     - 하드웨어와 소프트웨어를 제어하고 사용자가 컴퓨터(서버)를 사용할 수 있도록 해주는 프로그램

4대장) Middleware
     - 서버가 특정 목적 및 기능을 수행하는데 도움을 주는 소프트웨어

[Hardware - Server 정리]

여러분은 서버가 무엇이라고 생각하시나요? 글을 쓰기전에 친구한테 서버가 뭔지 물어봤어요.

Me: 너 서버가 뭔지 아냐?
???: 나는 메이플 엘리시움 서버인데?
Me: ....................

네, 괜히 물어봤어요. 여러분은 서버를 무엇으로 알고 계신가요? '서버'라는 말은 많이 들어보셨겠지만, 정작 이것이 무엇인지 설명하기에는 저같은 '컴알못'은 어려울 것이라고 생각됩니다ㅠㅠ 저는 서버가 뭐냐고 처음 들었을때 학교 다닐때 전산실에 있던 어마무시하게 쌓아놓은 꺼뭉이(?)들을 떠올렸습니다. 

출처: https://jfktrade.tistory.com/m/67

사실, '서버'의 개념은 단어 그 자체에 의미가 담겨있습니다. 레스토랑이나 바에서 음식 또는 음료를 제공 해주시는 일을 우리는 흔히 서빙(Serving)이라고 합니다. 그리고, 서빙을 해주시는 분들을 서버(Server)라고도 하지요. 이러한 서버분들의 역할은 고객(Client)이 요청한 요구사항에 맞추어 서비스를 제공해드리는 일을 합니다. 모두가 알고 있는 개념이죠?

IT 인프라에서 얘기하는 서버(Server)의 개념도 이와 똑. 같. 습. 니. 다. 서버는 Client(사용자)가 필요한, 요청한 요구사항에 맞추어 서비스를 제공해주는 역할을 하는 것이 바로 서버입니다. 예를 들어볼까요?

가장 일반적으로 우리는 매일 검색 엔진을 통하여 궁금한 것이나 필요한 자료들을 검색합니다. '블랙프라이데이 세일 상품', '서울 맛집' 등을 검색하면, 웹사이트는 우리에게 현재 세일하고있는 상품과 서울의 맛집들을 보여줍니다.  

서버(Server)는 정보를 요청한 우리(Client)에게 필요한 정보 및 서비스를 제공해주며 본인(?)의 역할을 성실히 수행하는 것을 볼 수 있습니다. 이해가 되었을까요? 

한줄 요약:
서버(Server)는 프로그램이 설치되어 있는 HW를 의미하기도 하지만, Client에게 서비스를 제공해준다는 개념적인 의미

이처럼 개념적인 의미 때문에 여러분이 생각하시는 학교, 회사 전산실의 어마무시하게 쌓여있는 꺼뭉이들이 아니더라도, 여러분이 현재 사용하고 있는 노트북 또한 서버가 될 수 있습니다! 

야, 너두 서버 할 수 있어

2대의 개인 노트북이 있다고 가정하였을 때, 1번 노트북(Client)에서 필요한 사항들을 요청하고 2번 노트북에서 네트워크를 통하여 서비스를 제공한다면 2번 노트북은 서버(Server)가 되는 것입니다. 고성능의 컴퓨팅 능력을 필요하지 않는 작업이라면 이 '노트북 서버'는 개인의 전용 서버로서 훌륭한 역할을 할 수 있을겁니다. 

However, 수십개의 Client가 한번에 이 '노트북 서버'에게 달려든다면 어떻게 될까요? 아마, 서버는 죽게 될겁니다. 서버의 성능이 수많은 Client들을 견뎌낼 정도로 높지 않기 때문입니다. 

기업에서 사용하는 서버는 셀 수도 없이 수많은 사람들이 사용하는 웹 또는 프로그램을 제공하여 줄텐데, 만약 컴퓨팅 능력이 낮다면 제대로 된 서비스를 제공할 수가 없을 것입니다. 예전에는 이런 얘기들 많이 들어보셨을거에요. 어디 서버가 죽었다니.... 터졌다니... 고라니...뭐래니...ㅈㅅ

요즘은 이런 일이 많지는 않지만, 게임에 사용되는 서버가 유저들의 트래픽을 감당하지 못해서 서버가 터져버린 경우도 옛날에는 많았죠.
또한, 해외 스타들의 콘서트 티켓팅 할 때에도 서버가 많이 죽었던게 기억이 납니다! 아! 그리고 저는 수강신청 할때마다 매번 서버가 터져서... 고생을 많이 했었습니당...ㅠㅠ

이처럼 서버의 성능은 기업에 입장에서 굉. 장. 히 중요합니다! 그렇다면, 서버의 성능은 무엇에 의해 결정될까요? 서버를 구성하는 요소에 대해서 알아봅시다! 

[서버 구성 요소] 

출처: https://greypencil.tistory.com/5

1) CPU: 중앙처리장치
   - CPU는 코어(Core)와 캐쉬(Cache)로 구성되어 있습니다. 코어는 CPU의 연산 회로인데, 코어가 많을수록 동시에 처리할 수 있는 연산의 수가 늘어나기 때문에 코어는 많을수록 고성능입니다. 또한, CPU는 고속으로 움직이기 때문에 메모리와의 처리 속도를 완화 시키기 위하여 캐쉬가 사용됩니다. 따라서, 캐쉬는 클수록 고성능입니다.

Intel CPU

2) 메모리: 주기억장치 
   
- CPU가 직접 접근할 수 있는 기억장치를 바로 메모리라고 합니다. 메모리는 기억을 담당하는 부분이기 때문에 데이터 용량이 크거나 데이터 전송 속도가 고속일수록 고성능이지만, 서버용으로는 전력 소모가 적으며 오류 처리가 탑재되어 있는 것을 사용합니다. 

메모리

3) 스토리지
   - 스토리지는 데이터를 영구적으로 저장하는 장치입니다. 데이터 스토리지는 서버를 만드는데에 직접 사용되지는 않지만, 서버의 성능을 좌우하는데에는 아주 중요한 역할을 합니다. 아무리 좋은 성능을 가지고 있는 서버를 사용하더라도 스토리지의 성능이 받쳐주지 않는다면, 서버는 제대로된 컴퓨팅 파워를 낼 수가 없습니다. 스토리지의 용량이나 읽기, 쓰기, 속도가 시스템 전체에 영향을 주며 하드디스크나 SSD가 사용됩니다. 

IBM 스토리지

한줄요약: 다다익선

와! 그럼 CPU에 코어도 왕많이 넣고 캐쉬도 왕크게 만들고 메모리도 빵빵하게! 스토리지도 끼깔나는 걸로 하면 되겠구먼!!
ㅠㅠ그렇다면 저도 얼마나 좋을까요..... 세상의 모든 것들이 그렇듯..... 성능이 좋아지면 좋아질수록 가격도 비싸기 마련입니다...
그렇기 때문에 기업에서는 본인들이 필요로하는 성능에 맞추어서 최고가 아닌 최적의 서버를 사용합니다. 

기업에서 최적의 서버를 선정하기 위한 작업을 보통 시장에서는 '스펙(Specification)' 선정이라고 합니다. 말 그대로 본인들의 서비스를
사용하는 유저들의 트래픽 또는 사용량을 예측하여, 이 사용자들이 최대로 많이 몰렸을 때(Peak)를 기준으로 스펙을 선정하게 됩니다. 
소켓과 코어는 몇개로 할지, 메모리는 얼마로 할지 등등 서비스가 원활하게 제공될 수 있도록 하는거죠!

이 작업은 굉장히 중요한데요. 서비스의 사용량보다 너무 성능을 높게 잡으면 비용도 높고 사용되지 않는 자원 때문에 낭비를 하게 됩니다. 반대로, 성능을 너무 낮게 잡으면 트래픽이 몰렸을 때 마다 서버가 다운되기 때문에 재앙이 일어나죠ㅠㅠ

그런데, 스펙 선정을 제대로 하였음에도 불구하고 서버가 죽는 경우도 발생합니다. 바로, 예측하지 못한 트래픽 때문에 말이죠! 이 부분은 추후에 '하드웨어와 클라우드' 편에서 다뤄보도록 하죠! 재밌을겁니다ㅎㅎ(응~ 나만~)

하드웨어는 아주 다양한 IT 인프라와 연관이 되어있는 부분이기 때문에 이번 편을 시작으로 앞으로 더욱 더 재미있고 유익한 글을 써볼 수 있을것 같습니다. 오늘도 여러분에게 재미있고 유익한 시간이 되었으면 좋겠어요! 다음에 또 재미있는 내용으로 다시 돌아오겠습니다! 

감사합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형