IT Infrastructure
IT 인프라, 왜 알아야 할까?
어플리케이션을 동작시키기 위해서는 다양한 요소들에 대한 고민이 필요
- 시스템을 크게 기능적 요구 사항과 비기능적 요구 사항으로 나누어 생각해볼 수 있음
- 이때 IT 인프라 환경은 비기능적 요구사항에서 중요한 역할을 차지
- 제품 요구 사항 ex) 시스템이 얼마나 빨리 실행되고, 얼마나 많은 cpu나 memory가 존재해야 하는지 혹은 장애가 났을 때를 대비하여 고가용성을 어떻게 구성할 것인지에 대한 내용이 들어가게 된다.
- 조직 요구 사항 ex) 사용될 프로그래밍 언어는 어떤 것인지, 설계 방법
- 외부 요구 사항 ex) 법률적 요구사항, 윤리적 문제
- 이때 IT 인프라 환경은 비기능적 요구사항에서 중요한 역할을 차지
IT 인프라란 무엇인가?
IT Infrastructure란, IT 서비스의 기반이 되는 Information Technology (IT) 구성 요소들의 집합으로, IT 구성 요소에는 서버, 스위치, 스토리지 같은 하드웨어 장비 뿐만 아니라 운영체제(OS) 같은 소프트웨어 및 네트워크도 포함됨
- 하드웨어
- 서버, 스위치, 라우터 등
- 장비들을 설치하고 운영하기 위한 데이터 센터도 포함된다.
- 소프트웨어
- 서버를 설치한 이후 서버위에 올라가는 요소들
- OS, OS 위에 올라가는 웹서비스나 미들웨어
- 서버를 설치한 이후 서버위에 올라가는 요소들
- 네트워크
- 케이블, 스위치, 라우터 같은 네트워크 장비들
다양한 IT 인프라 유형 - On-Premise vs Public Cloud
기존의 전통적인 환경에서는 자체 데이터 센터를 보유하여 그 안에 인프라를 구축하였다면, 이제는 CSP 사에 인프라 환경을 일임하는 클라우드 컴퓨팅 방식으로 넘어가고 있는 추세임
IT 자원이 어디에 존재하는지, 누가 운영하는지에 따라 On-Premise와 Public Cloud로 나뉜다.
- On-Premise
- 기업이 자체 데이터 센터를 보유
- 그 안에서 서버와 네트워크 장비등을 구축하고 자체적으로 운영하는 방식
- 데이터 센터의 관리부터 물리 시스템 구축 및 운영까지 기업의 입장에서 관리의 Coverage가 높다.
- 클라우드 시장이 나오기 전까지 가장 많이 쓰이던 방식
- Private Cloud도 On-Premise 환경에 속함
- 그 안에서 서버와 네트워크 장비등을 구축하고 자체적으로 운영하는 방식
- 기업이 자체 데이터 센터를 보유
- Public Cloud
- 기업 입장에서는 더이상 data center를 위한 공간이나 물리 시스템을 직접 구축할 필요가 없다.
- 물리적인 서비스는 CSP(Cloud Service Provider)에서 구축하고 운영 및 관리한다.
- 기업 입장에서는 더이상 data center를 위한 공간이나 물리 시스템을 직접 구축할 필요가 없다.
다양한 IT 인프라 유형 - Cloud Computing
클라우드는 크게 Private Cloud와 Public Cloud로나눌 수 있다. 이는 클라우드 인프라가 존재하는 위치와 운영방식, 그리고 사용할 수 있는 사용자를 기준으로 나뉜다.
- Private Cloud : On-Premise 환경에 구축되고 운영되며, 특정 그룹만 접근이 가능하다.
- Public Cloud : CSP(Cloud Service Provider)가 구축하고 운영하며, 비용만 지불하면 모든 사람들이 접근할 수 있다.
인프라의 근간을 이루는 환경과 하드웨어
On-Premise든 Cloud든 사용자에게 IT 서비스를 제공하기 위해서는 서버, 스토리지, 스위치와 같은 물리 장비들을 구축하고 운영해야 한다. 또한, 이런 장비들을 배치하고 동작시킬 수 있는 data center가 존재해야 한다.
데이터 센터
서버 전면끼리 마주보는 곳(cold zone), 서버 후면끼리 마주보는 곳(hot zone) → 열이 뒤로 빠져나가기 때문
data center는 서버, 네트워크 회선 등을 제공하는 건물 혹은 시설을 의미한다. data center에는 장비들을 안전하게 가동시키기 위한 냉각시스템이 존재하며, 장비들은 Rack(랙)에 Mount(마운트)되어 운영된다. (서버는 unit 단위로 언급이 된다.)
서버 고가용성 설정
서버의 구성요소
서버 : 네트워크를 통해 클라이언트에게 정보를 제공하는 컴퓨터 시스템
서버에는 수많은 구성요소들이 존재하지만, 대부분 고객 입장에서 고려하시게 되는 중요요소로는 CPU, Memory, Disk 그리고 Network Interface Card가 존재한다.
서버 전면
- Disk : 서버의 data 저장공간 역할
- 일반적으로 On-Premise 환경에서는 OS 용도의 Disk와 실제 data 저장을 위한 공간용 Disk를 따로 운영하고 장착
- System Insight Display(HP) / LCD Panel (DELL) : 서버안의 부품들의 상태를 확인할 수 있도록 도와주는 Display
- UID Button : 서버작업을 들어가기전 engineer들이 꼭 누르고 작업함. 내가 작업할 서버를 표기해둠 → 잘못된 서버를 건드리는 것을 방지
서버 후면
- Network Interface Controller(LAN 카드, Network 카드)
- Port : 실제 케이블과 연결되는 부분 (후면에서 보이는 네모난 구멍 부문)
- IPMI : 서버를 원격으로 관리할 수 있게 도와주는 인터페이스
- Power Supply : 서버에 전력을 공급
- 2개가 있어서 하나가 망가지더라도 다른 쪽에서 공급할 수 있게 해줌
서버 내부
- Fan : 서버의 열감을 낮춰주는 쿨링 역할
- CPU & Memory
CPU와 Memory
서버에서 CPU와 Memory 스펙은 서버 성능과 직결되는 아주 중요한 구성요소이다.
- 해당 부품은 무작정 설치할 수 있는 것이 아니라, 서버 사양에 따라 설치할 수 있는 개수가 달라짐
- 서버 모델에 따라 설치 가능한 부품들이 달라지기 때문에, 사전에 해당 내용에 대한 검사가 필요
어떤 점을 고려해야 할까?
- CPU : clock 속도, core 개수를 보고 판단
- clock 속도 : CPU가 초당 실행하는 cycle 수를 GHz 단위로 측정
- clock 속도가 빠를 수록 CPU의 연산 속도도 빠름
- core : CPU의 뇌와 같다.
- 실제 모든 계산과 연산을 core에서 진행함
- 따라서 core 수가 많을 수록 성능적으로 유리해짐
- clock 속도 : CPU가 초당 실행하는 cycle 수를 GHz 단위로 측정
- Memory(그림 상에서 P1, P2 옆에 있는 막대기들 → 정확히 말하면 memory를 꽂을 수 있는 memory slot) : CPU에서 처리해야 하거나 CPU에서 처리한 data를 저장하는 공간
- 대용량일 수록 좋음
- Memory는 내가 원하는 대로 무작정 계속 꽂을 수 있는 것이 아님
- memory slot 이상으로 memory를 추가할 수 있는 것이 아님
- 꽂을 때도 균등하게 순서에 유의해야 함
- Memory는 내가 원하는 대로 무작정 계속 꽂을 수 있는 것이 아님
- 대용량일 수록 좋음
디스크와 RAID
서비스를 하기 위해서는 서비스 데이터를 어딘가에 저장해야 함
- 이때 사용되는 것으로는 대표적으로 보조기억장치인 HDD와 SSD가 있음
- 단독으로 사용되지 않으며, 가용성과 성능을 위해 RAID라는 기술로 묶어서 사용
- HDD와 SSD
- HDD
- 장점 : 비용이 저렴하고 용량을 많이 가져갈 수 있음
- 메모리를 기반으로 만들어진 SSD가 등장함에 따라 최근에는 예전만큼 사용되지 않음
- SSD
- 속도가 빨라 서버 뿐만 아니라 노트북에도 저장장치로 SSD를 선호
- 중요 data가 유실되면서 서비스에 장애가 발생할 수 있음
- 이 때문에 가용성과 고성능을 고려해서 RAID 기술을 이용
- HDD
- RAID
- 저장 장치 여러개를 묶어서 사용하는 기술
- 실제로 클라우드 상의 가상서버의 경우에도 RAID로 구성된 물리서버 혹은 스토리지 위에서 동작하고 있음
Network 이중화
네트워크 통신이 되지 않는다면 궁극적으로 사용자에게 서비스를 제공할 수 없음
- 만약 네트워크 선이 망가지거나, 백본 스위치가 고장하면 어떻게 될까?
- 이를 방지하기 위해 네트워크도 마찬가지로 이중화 혹은 다중화를 구성할 수 있음
실제 서비스용 서버에는 고가용성을 위해서 이런 케이블들을 이중화로 구성함. 하나의 서버에 물리적으로 다른 네트워크 카드에 존재하는 Port 2개를 이용해서 한쪽 케이블은 Switch 1번, 다른 한쪽은 Switch 2번으로 연결함
- 이런 배치 방식은 Switch나 Cable 혹은 Network 카드가 망가지더라도 다른 쪽에서 서비스를 정상적으로 할 수 있기 때문에 보다 안정적으로 운영 가능
- 이러한 작업은 네트워크 담당자와 함께 어떤 방식으로 Port 채널 이중화를 구성할 것인지 협의를 한 후에 진행을 함
원격으로 서버를 관리하자 - IPMI
서버를 다루기 위해서 꼭 데이터 센터에서 해야하나?
사무실에서도 서버의 상태를 확인하고 조작할 수 있다면 좋을 것 같다!
- 원격 관리 툴인 IPMI를 통해 서버를 원격으로 관리하고, 이벤트를 수집할 수 있음
- 실제로 IPMI를 사용하게 될 때, IPMI 전용 스위치에 케이블을 연결하면 오른쪽과 같이 ILO Dash Board(관리페이지)를 사용할 수 있게 됨
클라우드 상품 속 서버 - 네이버 클라우드 제공
- Disk 타입에 따라
- HDD 서버
- SSD 서버
- 그 외에 베어메탈, GPU, HPC 가 존재
VPC 플랫폼에서 제공되는 상품
베어메탈 서버
- 인프라 리소스를 보다 안정적으로 사용하고 싶은 케이스에서 사용 권장
- 서버 리소스를 독점적으로 사용할 수도 있으면서, 다른 클라우드 상품들과 연계하여 사용할 수 있음
- 주로 게임 서버 혹은 데이터 베이스 용도로 많이 사용
베어 메탈은 On-Premise상에서 일반 서버를 운영하는 것처럼 클라우드 상에서 가상 서버가 아닌 하나의 물리서버를 그대로 사용하는 방식
- 구조
- 물리장비(HW)위에 OS를 설치
- OS위에 여러 Application들이 동작
- 가상 서버(VM)을 이용할 경우
- 여러 VM들이 동일한 HW 리소스를 점유하려고 함 → 성능 저하
- 반면에 베어메탈은 반드시 물리장비 하나를 단독으로 사용 → 성능 저하의 문제가 없음 다만, 서버를 사용하다가 서버 정지시에도 일반 요금이 부과
- 여러 VM들이 동일한 HW 리소스를 점유하려고 함 → 성능 저하
가상화 서버
인프라 리소스의 효율적으로 사용 및 운영 비용 절감
- 일반 VM(HDD, SSD) 및 VDS, GPU 서버가 이에 해당
- 구조
- 물리장비 위에 OS가 아닌 Hypervisor가 있음
- Hypervisor가 있기에 하나의 물리장비(Host 서버 위에) 여러개의 OS가 올라갈 수 있음
- 실제 가상화를 가능하게 해주는 플랫폼
가상머신이 단독서버에만 올라가 있지 않음
- 실제로는 Hypervisor가 올라간 서버가 여러대로 묶여서 하나의 Cluster를 구성
- Cluster에 있는 Storage Pool에 여러 서버들의 Storage가 저장
- 서버에는 다양한 용도의 Cable들이 연결
VM은 구동할 application이 요구하는 리소스에 따라 스펙을 선택하여 생성가능
버 타입에는 VPC 플랫폼 기준 Standard, High-CPU, High-Memory, CPU-Intensive가 있음
- 최소 사양은 2vCPU 4GB Memory 부터 시작
*IOPS(Input/Output Operations Per Second) : HDD, SSD 또는 NvMe 등 저장 장치의 속도를 나타내는데 사용되는 측정 단위
GPU 서버
요즘 인공지능 관련 프로젝트들이 많아짐에 따라 GPU에 대한 니즈가 있음
네이버 클라우드 측에서는 GPU를 Passthrough 방식으로 제공
- Passthrough 방식은 그래픽카드 리소스를 특정 VM에서만 독점적으로 사용하는 방식
- 따라서 성능 측면에서 좋은 효과를 볼 수 있음
본 글은 "누구나 쉽게 이해할 수 있는 IT인프라 정복하기! #1편"을 공부한 내용을 정리한 글입니다.
[영상링크] : https://www.youtube.com/watch?v=VsSC3cW7L2s
'개발 > 인프라' 카테고리의 다른 글
ubuntu EC2에 docker 설치하기 (0) | 2023.06.03 |
---|---|
클라우드 서비스(AWS 서버 구축) (0) | 2023.06.01 |
모던 서버 기술 관련 배경 지식 이해 (0) | 2023.06.01 |
IT 인프라 (3) (0) | 2023.05.28 |
IT 인프라(2) (0) | 2023.05.27 |