작은 메모장

2. Cloud DataCenter 개론 본문

실더스 루키즈 교육

2. Cloud DataCenter 개론

으앙내눈 2023. 11. 22. 17:37

Cloud


Cloud
가 뭐임?
클라우드는 줄임말이고, 클라우드 컴퓨팅이 정식명칭
기존의 서버는 서비스 제공자가 서버 컴퓨터의 자원관리 및 전력 관리를 계속 해줬어야함
전국에 서버를 제공하는 사람이 많으면 이 관리하는 비용이 어마어마하게 들어감
이걸 뒤엎고 나온게 클라우드 개념, 쉽게 말해 서버 제공과 관리를 한 회사가 전부 몰아서 하겠다는 아이디어임
이러면 서비스를 제공할 업체는 서비스 개발에만 집중하면 되고, 서버 관리를 담당하는 업체는 그것만 집중하면 되는 이점이 있음

데이터센터의 구조

물리 서버의 일반적인 형태임
각각의 서비스 할 업체마다 저기서 일정부분의 서버를 빌려주는 것
저 하나의 케이지 안에 대략 40~80개의 랙(납작한 판처럼 생긴 컴퓨터)이 들어감
하나의 랙은 하나의 컴퓨터, 즉 하나의 서버고, 이를 서버 랙으로 칭함
서비스 규모가 많은 업체로 서비스를 제공할 때는 여러 개의 랙을 공급하기도 함
서버 랙 말고도 저장소 랙, 네트워크 랙 처럼 랙 또한 종류가 있음

데이터센터도 티어가 있음
얼마나 안정적으로 오래 동작하느냐에 따라 티어 1~4까지 분류함
대체적으로 현대의 서비스를 제공하려면 티어 3이 적당
금융, 정부 같은 중요 서비스는 티어 4로 관리를 함

Five Nine이란?
99.999%
의 가동률을 보이는 서버를 의미
Q:
그게됨?
가능함, 서버를 점검하기 위해서 서버를 종료할 때, 놀고 있는 다른 서버에 서비스 제공을 맡겼다가 서버 점검이 끝나면 다시 서비스 제공을 재개

클라우드 순위가 어떰?
1
위는 부동의 AWS, 2위는 Azure, 3위는 Google Could
이 셋 합쳐서 점유율이 60%가량

AWS의 리전 설계
AWS
만이라고는 했는데, 사실 AzureGoogle Could도 비슷하게 운영함
리전이 뭐냐? 최소한의 서비스를 제공할 수 있는 여러 데이터센터를 뭉쳐놓은 영역임
리전끼리는 연결되어 있으며, 서로의 어플리케이션 혹은 데이터를 복제함
이렇게 되면 원하는 데이터를 여러곳에서 원할 시, 여러 리전에서 제공할 수 있는 장점이 있음
리전이 많으면 많을수록 더 높은 가용성, 확장성, 내결함성을 확보함

아마존의 EC2 인스턴스 표기법
아마존이 AWS를 서비스 할 때 서비스마다 인스턴스에 표기를 남김
M5d.xlarge <<
처럼
가장 앞의 M은 인스턴스 패밀리,
5
CPU의 세대
d
는 추가기능
xlarge
는 인스턴스의 규모를 의미함

인스턴스 크기가 늘어날수록 가용할 수 있는 서비스의 용량도 늘어남
물론 그만큼의 비용도 늘어남
이에 맞춰 아마존도 다양한 옵션을 제공하고 있음
의외로 인스턴스는 작은거(xlarge) 2개와 큰거(2xlarge) 1개의 가격차이는 별로 없음
때문에 각각의 트래픽량에 맞춰 큰거 작은거 맞춰 쓰는게 경제적인 이득을 취함
커다란 크기의 인스턴스로 변화하는 트래픽량을 땜빵하는 것보다
작은 크기의 인스턴스를 섞어 남아도는 인스턴스를 줄여 경제적인 행동을 가질 수 있음.

 

 

DockerKubernetes

 

Docker를 왜 씀?
전통적인 서버는 하드웨어 위에 OS가 있고, OS가 어플리케이션을 관리함
그 어플리케이션을 회사에서 나눠 쓰는데, 각각의 어플리케이션을 팀마다 다르게 쓰고, 패키지도 버전이 전부 달라지다 보니 하나의 OS에서 충돌이 겁나 많아짐
이걸 해결하기 위해, 하나의 OS위에 격리된 OS를 각각 나눠둠, 가상머신(VM)으로
이렇게 되면 문제가 또 생기는데,
- OS
위에 OS가 있는 구조다 보니 리소스의 자원낭비(오버헤드)가 너무 심함
- OS
를 열때마다 부팅시간이 너무 오래 걸림

이래서 만들어지게 된 것이 Container의 개념
기초적인 아이디어는 VM으로 OS를 하나 올려서 격리하지 않고, 그냥 각자 쓰는 어플리케이션/패키지들 버전만 다르게 주면 해결되는 문제
때문에 Docker라는 프로그램이 컨테이너를 관리하고, 사용자가 원할 때마다 API만 제공하는 구조의 프로그램이 나옴
따로 OS 부팅이 없으니 VM보다 자원낭비도 없고, 속도도 빠름

Kubernetes는 뭐임?
쉬움, 도커가 OSAPI를 컨테이너로 관리한다면, Kubernetes는 그 컨테이너를 사용자별로, 자원 사용률보고 관리, 부여, 제공하는 통합 관리 프로그램임