1. 클라우드란?
클라우드란 영어 Cloud 즉 구름에서 나왔다. 복잡한 네트워크 및 서버 구성 등을 갈 필요 없이 구름과 같이 내부가 보이지 않고, 일반 사용자는 복잡한 내부를 굳이 알 필요도 없이 어디서나 구름 속의 컴퓨터 자원으로 자기가 원하는 작업을 할 수 있다.
- 클라우드란 인터넷을 통해 컴퓨터 시스템 자원(서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 분석 등)을 제공하는 기술
- 클라우드는 데이터 센터에 맡겨 수행됨
2. 데이터 센터
(법적 정의) 정보통신 서비스의 제공을 위해 다수의 정보통신 기반을 일정한 공간에 집적시켜
통합 운영/관리하는 시설 (국가정보화 기본법 제23조의 3)
- 데이터 센터(DC)는 기업이 다양한 네트워크 형식의 컴퓨팅 및 스토리지 인프라를 수용하는 데 사용하는 물리적 시설
데이터 센터라는 말은 누구나 들어 봤을 것이다. 이곳에서 무엇을 하는지를 모르는 사람이 많을 뿐이다. 데이터 센터는 우리 주변에 있다. 최근 카카오 데이터 센터 화재 사건을 기억하는 사람이라면 우리들 주변에 있다는 말을 공감할 것이다. 이 화재로 인해 카카오의 대다수 서비스와 네이버, SK의 일부 서비스 등이 이용이 불가했다.
자세하게 말하면 카카오 데이터 센터에 화재가 난 것은 아니다. 이 말은 화재가 난 곳은 카카오 데이터 센터가 아니라는 말이다. 그렇다면 화재가 난 곳은 어디일까?
SK C&C 판교 데이터 센터
데이터 센터의 일반적인 크기는 500 ~ 5000m$$^2$$의 건물, 1MW ~ 20MW power(평균 5MW) 전력을 가지기 때문에 누구나 쉽게 만들 수 있는 것은 아니다. 쉽게 말해서 카카오라는 회사가 SK C&C 판교 데이터 센터 101호에 입주해 있던 중 101호에 불이 나서 카카오의 대다수 서비스를 이용할 수 없었다고 생각하면 이해하기 쉽다. 그렇기 때문에 최근 카카오 데이터 센터 화재가 정확히는 SK C&C 판교 데이터 센터의 화재로 볼 수 있다. 이때 근처에 있던 네이버와 SK도 피해를 보면서 일부 서비스를 이용할 수 없었다.
1) 데이터 센터 운영
데이터 센터는 통신사들이 많이 가지고 있다. 그 이유는 데이터 센터의 가장 중요한 통신망을 사용해야 하는데 자신들의 통신망을 사용할 수 있기 때문이다. 또 금융사들이 데이터 센터를 만드는데 금융사들은 자신들의 데이터 보안이 더 중요하기 때문이다.
우리나라의 데이터 센터들은 수도권에 집중되어 있다. 이는 대부분의 회사가 수도권에 집중되어 있고 대용량 데이터센터를 운영하기 위해서는 위치 및 접근성도 고려해야 하기 때문이다.
데이터 센터를 운영하기 위해 사전에 검토해야 할 조건들이 많다.
- 위치 및 접근성
- 에너지 공급
- 통신 인프라
- 법적 및 규제 환경
- 정부 정책 및 인센티브 활용
- 냉각 시스템
- 확장성
- 인력 자원
- 비용
이중 특히 중요한 것은 에너지 공급 즉, 전력 공급의 안정성과 냉각 시스템, 공간이 중요하다.
데이터 센터 내부에는 사진과 같은 렉들이 많이 있다.
- 기본적인 렉 이미지
렉의 표준은 42 유닛이다. 렉에는 컴퓨터를 넣을 수도 있고 네트워크를 넣을 수도 있다. 사용자가 어떻게 구성하느냐에 따라 달라진다. 렉을 구성하고 데이터 센터 공간에 배치해 운영하는 것이다.
2) 데이터 센터 구성요소
- 서버 - 네트워크와 HW 자원을 공유하도록 도와주는 장치
- 스토리지 - 데이터 센터 내 발생하는 데이터 패킷의 저장공간
- Rack - 서버 및 네트워크 장비를 설치하는 캐비닛 공간
- 네트워크 - 데이터 센터 내 서버가 통신망에 연결되도록 도와주는 장치
- PDU - 전력 분배 장치
- UPS - 정전 시 내장 배터리 통해 안정적 전원공급
- 배터리 - 전력공급을 위한 보조 장치
- 발전기 - UPS 외 비상시 데이터 센터의 자가발전을 위한 장비
- 수배전 - 발전소의 전력 공급/배분하는 전력 시스템
- STS / ATS - 항상 일정한 전원공급을 받도록 하는 장치
- 항온항습 - 데이터 센터의 온도 및 습도를 유지하는 장치
- 펌프 - 온도조절을 위해 Rack 하단 수로에 냉수 공급
- 냉각탑 - 냉각용수의 재사용을 위한 열교환장치
- 보안 방재 - CCTV 및 소화가스 등 보안 및 방재 장비
- DCIM / EMS - 에너지 공급 현황을 모니터링할 수 있는 장비
- 사무실 - 데이터 센터 운영 및 관리를 위한 직원 사무공간
이 외에도 더 많은 구성요소가 있겠지만 대략적인 구성요소를 알아보았다.
3) 데이터 센터 등급 분류
데이터 센터의 Tier 등급은 데이터 센터의 안정성 및 가용성을 나타내는 지표로 데이터 센터 기반 설비 설치 수준에 따라 Tier 1 ~ Tier 4등급으로 분류하고 등급이 높아질수록 데이터 센터의 신뢰도가 높음을 의미한다.
현대 데이터 센터의 클라우드 컴퓨팅 서비스 등 제공을 위한 기반 설비의 설치 및 운영은 통상적으로 Tier 3 수준을 요구한다. 우리나라도 Tier 3 수준을 가지고 있다.
- Tier 3
연동 가동률 - 99.98%, 연간 16시간의 다운타임
운영 특성 - 운영 및 유지보수 동시 진행 가능, 완전 무중단 불가능
설치 장비 - 전력공급 경로 복수, 냉각공급 경로 복수
수요처 - 클라우드 및 코로케이션 데이터 센터, IT서비스제공 업체
- *코로케이션(Co-location) - 고객에게 임대하는 상업용 데이터 센터
3. 클라우드 데이터 센터
클라우드 데이터 센터에는 Amazon - AWS, MS - Azure, Google - Google Cloud, Alibaba - Alibaba Cloud, IBM - IBM Cloud 등등 있다.
- 리전(Region) - 클라우드 데이터 센터가 전 세계에서 데이터 센터를 클러스터링 하는 물리적 위치
- 가용 영역 - AWS에서 쓰이는 용어로 하나의 리전 안에 존재하는 독립적인 데이터 센터를 의미, 네트워킹 및 연결이 제공되는 하나 이상의 개별 데이터 센터로 구성, 하나의 가용 영역 안에는 여러 개의 데이터 센터가 존재할 수 있음
1) 인스턴스
가상화된 컴퓨팅 리소스, 특정한 용도로 사용되는 가상 서버
- 인스턴스는 클라우드 서비스 제공 업체가 물리적인 서버 하드웨어를 가상화하여 제공하는 것
2) 인스턴스 표기법
인스턴스 유형 : M5d.xlarge
- M - 인스턴스 패밀리, 많은 분류가 있지만 M은 범용으로써 가장 많이 사용된다.
- 5 - 인스턴스 세대, 인스턴스의 최신 세대는 7세대이고, 클라우드는 과거 세대와 최신 세대가 공존하여 사용한다. 과거 세대와 최신 세대에서 효율을 따지기는 쉽지 않다. 최신 세대는 최신 세대인 만큼 비용이 많이 들고, 버그 가능성이 있다. 과거 세대인 5세대는 최신 세대보다 비용은 적지만 유지보수 측면에서 비용이 많이 들기 때문에 가격 측면으로는 크게 차이는 없다. 권장하는 세대는 최신 세대의 이전 세대를 권장한다. 이는 최신 세대의 버그 가능성을 안고 가기에는 위험성이 너무 크고, 과거 세대의 유지보수 측면에서도 단점이 된다.
- d - 추가 기능, d는 스토리지 확장
- xlarge - 인스턴스 크기
3) 인스턴스 크기
인스턴스의 크기는 판 두부를 잘라서 파는 것과 비슷하다. 판 두부를 다 사는 것과 두부를 잘라서 한 모씩 사서 판을 만드는 가격이 동일한 것처럼 인스턴스 크기도 가격은 동일 하지만 크기를 어떻게 구성하느냐에 따라 가격이 달라진다.
트래픽에 맞는 적절한 인스턴스의 크기를 선택해야 한다. 트래픽이 적은 시간에도 8xlarge를 사용하게 되면 모든 크기를 사용하지 않지만, 비용이 많이 든다. 트래픽이 적은 시간에는 작은 크기를 사용한다면 비용을 절감할 수 있다. 그렇다고 너무 작아도 사용되지 않는 인스턴트가 발생할 수 있어 적절한 크기를 선택해야 한다.
4. 마이크로 서비스(Micro Services)
마이크로 서비스(Microservices)는 소프트웨어 아키텍처 패턴 중 하나로, 애플리케이션을 여러 작고 독립적인 서비스로 분할하여 개발하고 관리하는 방법
단일 모놀리식(monolithic) 아키텍처에서 전체 애플리케이션이 하나의 거대한 단일 코드 베이스로 구성되는 반면, 마이크로 서비스 아키텍처는 여러 개별적인 서비스로 분리
- 특징
- 독립성 - 다른 서비스에 영향을 미치지 않고 독립적으로 운영
- 관리 용이성 - 배포, 모니터링, 로깅 등의 관리 작업을 독립적으로 수행
- 스케일링 - 각 서비스를 독립적으로 확장 가능
- 유연성 - 다양한 언어, 데이테베이스로 개발될 수 있음, 개발자가 최적의 도구를 선택하여 각 서비스를 개발할 수 있음
하나의 거대한 서비스 자체를 통째로 관리하는 것보다 각각의 기능을 나누어 작은 단위로 관리하는 것이 더 효율적인 방법이다. 이때 사용하는 것이 도커다.
1) 도커(Docker)
컨테이너 기반 가상화 플랫폼으로, 소프트웨어를 빠르고 쉽게 개발, 배포 및 실행할 수 있도록 도와주는 오픈 소스 기술
- 컨테이너 장점
- 뛰어난 이식성 / 표준화된 환경
- 배포 용이성
- 자동화 환경
- 이미지 의존성 자동 관리
- Microservices & Cloud Native Apps
2) Kubernetes
쿠버네티스(Kubernetes)는 컨테이너화된 워크로드와 서비스를 자동화하고 관리하기 위한 오픈 소스 플랫폼, 클라우드 네이티브 애플리케이션의 배포, 확장 및 관리를 위한 솔루션
- Kubernetes는 k8s로 많이 불린다. k 다음에 8개의 문자가 있다는 뜻이다.
- Kubernetes는 도커 컨테이너를 만들고 마스터 노드에 원하는 명령을 주면 자동으로 나눠준다.
같은 컨테이너가 5개 있어야 할 때 한 개의 컨테이너가 없어지면 Kubernetes는 남은 노드에 없어진 켠테이너를 다른 곳에서 복사해서 다시 만들어 준다. - Kubernetes를 완전히 다 이해하지는 못하지만, 컨테이너를 알아서 저글링 해주는 역할을 한다.
'SK Shieldus Rookies 19th > 특강' 카테고리의 다른 글
[SK shieldus Rookies 19기] - 애자일(Agile) 특강 (0) | 2024.03.12 |
---|
댓글