Zero To One
클라우드 컴퓨팅(Cloud Computing)이란? 본문
1. 등장배경
클라우드 등장 이전에는 흔히 말하는 전산실 등에 컴퓨터를 배치하고 인터넷을 연결하여 서비스를 제공했다.
그런데 만약 서버가 요청에 대한 수용 능력이 한계에 도달한다면 어떻게 대처할까?
- 같은 공간에 더 많은 컴퓨터를 제공하여 한 대가 해결할 수 있는 요청을 여러 대가 나눈다.
- 컴퓨터 한 대의 성능을 높인다.
하지만 이러한 방식에는 문제점이 존재한다.
- 주기적인 관리 필요
- 서버실에 고장이 발생할 경우, 인력 및 비용 투입
- 관리해야할 기기들이 늘어남에 따라 인력 및 비용 상승
- 공간의 한계
- 제한된 공간안에 컴퓨터를 늘림으로써 공간확보 부족
- 서버의 성능을 높여도 공간의 한계로 인한 증설 불가
-> 이런 상황에서 추가적인 서버 증설이 어렵게 되자 일부 거대 기업은 데이터 센터라는 거대한 건물을 세우기 시작했고, 이때부터 데이터 센터의 유휴 자원을 대여하는 서비스가 등장하기 시작했다.
즉 서버의 자원과 공간, 및 네트워크 환경을 제공을 빌려 사용하는 클라우드 컴퓨팅이 시작 되었다.
2. 클라우드
데이터 센터에서는 서버의 자원과 공간, 및 네트워크 환경을 제공한다. (이러한 환경을 "온프레미스"라고 부른다)
현대의 클라우드 컴퓨팅은 앞서 설명한 데이터 센터와 비슷한 역할을 하지만, 물리적인 컴퓨터가 아닌, 가상 컴퓨터를 대여한다는 점이 다르다. 이는 가상화(Virtualization) 기술의 발전으로부터 비롯되었다.
따라서, 클라우드 서비스는 기존의 온프레미스 형식과는 달리 다음과 같은 장점이 있다.
1. 필요할 때마다 컴퓨팅 능력을 유연하게 조절할 수 있다.
2. 고정적인 비용이 들어가는 온프레미스와는 달리 사용한 만큼의 요금만 지불(온디맨드)하면 된다.
3. 컴퓨터의 스냅샷("이미지"라고 부릅니다) 을 이용해 다른 컴퓨터로 즉시 이주(migration)가 가능하다.
단점
1. 클라우드 서비스에 종속 -> 서비스에 영향을 끼침
https://www.bloter.net/newsView/blt201402170002
위와 같이 서버가 다운되거나 예기치 못한 상황이 일어났을 때 처럼 운영 환경 자체가 클라우드 제공자에게 종속되어 버리므로, 클라우드 서비스에 문제가 생기면 내가 배포하고 관리하는 환경에도 영향이 미치게 된다.
운영환경이 특정 클라우드 사업자(vendor)에게 종속된다는 얘기는, 백엔드 구성 자체가 특정 회사의 기술로만 구성해야만 하는 경우가 발생할 수도 있다.
3. 클라우드 서비스 형태
- SaaS : 클라우드 제공자가 당장 사용가능한 소프트웨어를 제공하는 경우 (office 365, Google APP...)
- PaaS : 클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우 (AWS Elastic Beantalk, Google App Engine, Windows Azure, DB)
- IaaS : 클라우드 제공자가 가상 컴퓨터까지 제공하는 경우 (EC2)
즉, 클라우드 제공자로부터 얼마만큼의 서비스를 제공받느냐에 따라서, 이러한 서비스의 형태가 구분된다.
클라우드의 반댓말 -> On premise
클라우드 | 온프레미스 | |
비용 | 쓴만큼 지불 (온디맨드) | 초기 구축비용 유지보수 (인건비, 전기세, 돈) |
확장성 | 쉬움 auto scaling을 통해 확장 가능 |
물리적 어려운 부분들 존재 |
구축에 걸리는 시간 | 몇분 이내 | 오래걸림 (컴퓨터 사야하고 설치) |
클라우드가 많은 이점이 있음에도 불구하고 온프레미스를 쓰는 이유
1. 민감한 정보
2. 보안, 법적 규제
리전이 다른 나라에 있다면 그나라 법적 규제에 따르기 때문에 온프레미스를 쓰는 곳도 있다.
물론 둘다 섞어 쓸 수 있다.
한 나라에 2~6개의 가용영역 (Availability Zone, AZ) 가 있다. (우리나라는 4개)
이들은 각각 다 불리되있어서 하나가 작동을 못해도 다른 곳에서 데이터를 받을 수 있다.
'AWS' 카테고리의 다른 글
EC2 중지 후 시작시 자동으로 node서버 실행 하는법 (0) | 2022.12.08 |
---|---|
AWS 요금폭탄 문제해결 (리소스관리와 요금관리는 확실하게하자) (0) | 2022.06.29 |
EKS ArgoCD를 프라이빗 레파지토리와 연결 (0) | 2022.06.06 |
EKS에 사용자 추가하기 (0) | 2022.05.26 |
S3, EC2, RDS에 관하여 (0) | 2022.03.14 |