On-Premise vs On-Demand vs Serverless
- On-Premise : 물리 서버, 흔히 생각하는 서버를 기업 내부에 구축한 것이다.
- 기업의 특성에 맞게 인프라를 구축할 수 있다 : 완벽한 기술 스택의 제어가 가능
- 물리적으로 가까운 인프라가 구축되어 있기에 잘 관리 된다면 대기시간이 낮다.
- 보안성이 좋다 : 내부 네트워크를 이용하기 때문에 회사의 기밀, 연구결과 등의 유출을 방지 가능
- 처음 설치 및 이후 유지, 관리에 비용이 많이 든다. 서비스 종료시에도 처리가 힘들다.
- 확장이 유연하지 못하다 : 비용이 들고, 원하는 것 이상으로 확장하게 되어야 할 경우가 존재
- On-Demand : 가상 서버, AWS, Azure와 같은 초대형 기업의 물리 서버에 사설 가상 망을 구축한 것
- 사용한 만큼만 비용을 지불 할 수 있다. 또는 필요한 자원의 양을 자유롭게 설정 할 수 있다.
➡️확장성, 탄력성이 매우 좋다. - 물리 서버의 유지, 관리를 cloud 서비스 제공자가 대신 해준다.
- 간편한 설정이 가능해서 접근하기 쉽다.
- 따라서 대기업, 중견기업 같은 경우 트래픽이 발생했을 때만 비용을 지출하거나
스타트업, 학생 팀프로젝트 같은 경우 프리티어로 무료로 서버 사용 가능.
- 사용한 만큼만 비용을 지불 할 수 있다. 또는 필요한 자원의 양을 자유롭게 설정 할 수 있다.
- Serverless : Cloud와 비슷하긴 하나 요청 횟수에 따른 과금을 요구한다.
- 요청이 들어올 때만 서버를 만들어서 수행 후 서버를 죽인다.
✅요청이 들어오면 기존에 떠 있는 서버가 받아서 처리하는 On-Demand와 이부분이 다르다. - 호출 횟수가 적은데, 자원이 생각보다 큰 작업의 경우에 Serverless로 처리할 수 있다.
- 다만, 생각보다 과금이 많이 되는 편이다.
- AWS와 같은 경우, 잉여 서버를 사용하는 편이라 On-Demand 보다는 가용성이 낮다.
➡️ 따라서 failover를 사용하는 방식으로 추가 작업이 필요할 수 있다.
➡️ 무턱대고 사용하는게 좋은게 아니므로 비용에 대한 계산이 필요하다.
- 요청이 들어올 때만 서버를 만들어서 수행 후 서버를 죽인다.
클라우드 서비스 모델의 종류
흔히 말하는 전통적인 IT서비스(즉, On-Premise)는 맨 왼쪽처럼
9개의 요소를 전부 관리해야 한다. 그러나 클라우드 서비스는 모델에 따라서 이를 일부 혹은 전부 제공한다.
그 정도에 따라 클라우드 서비스를 세 가지로 분류할 수 있다.
개발자와 기업은 제공되지 않는 나머지 부분을 만들고 관리하면 되는 것이다.
- IaaS(Infrastructure as a Service) : 클라우드에서 네트워크와 서버를 제공
- 개발자는 OS 및 런타임 구성, 어플리케이션을 직접 구축 및 배포해야 한다.
- 개발자를 위한 인프라를 제공하는 서비스
- ex) AWS EC2 서버
- PaaS(Platform as a Service) : 클라우드가 네트워크, 서버, OS, 런타임 구성을 제공
- 개발자를 위한 플랫폼을 제공하는 서비스
- 어플리케이션의 개발 및 배포는 사용자가 해야 한다.
- ex) AWS Elastic Beanstalk : 원하는 서비스만 올리면 된다.
- SaaS(Software as a Service) : 클라우드가 모든 걸 다 제공한다.
로컬에 설치하지 않아도 되고 사용만 하면 된다.- 최종 사용자(즉, 클라이언트)에게 완성된 소프트웨어를 제공하는 서비스
- 개발자는 소프트웨어를 개발하지만, 이를 클라우드를 통해 배포하고 사용자에게 제공한다.
- ex) Slack(서버까지 전부 Slack에서 관리), Notion(AWS를 사용한 SaaS)
AWS Cloud가 서비스를 제공하는 방식
Region ➡️ AZ ➡️ IDC 의 3계층으로 서비스를 제공.
실질적 물리 센터는 IDC단위로 구성되어 있으나 IDC 별로 각각의 서비스를 가지고 있는 게 아니다.
각 Region에서는 여러개의 AZ로 구성되어 있다.
그 단위가 AZ이고, AZ를 이중화한 것이 IDC이다.
- Region
- 전 세계에 존재하는 지역별 AWS 서비스의 단위
- 최소 2개 이상의 AZ를 필수로 포함하고 있다.
- 우리나라 기준 1개의 Region(Asia Pacific(Seoul) - ap-northeast-2)이 존재한다.
- AZ(Availablity Zone)
- Region에서 물리적 독립성을 가지도록 설계한 단위
- 우리나라 기준 4개의 AZ가 존재함. Asia Pacific(Seoul) - ap-northeast-2a, 2b, 2c, 2d
- 각각의 AZ는 2개 이상의 IDC로 이중화가 되어있다.
- 실제로 AWS를 사용할 때는 두 개 이상의 AZ를 활용해서 서비스와 데이터를 배포하고,
한 AZ에서 장애가 발생해도 다른 AZ에서 서비스가 유지되도록 한다.
이를 통해 SPOF(Single Point of Failure)를 제거하고 가용성을 극대화하 방식으로 사용한다. - AWS에서 제공하는 서비스는 AZ단위로 사용자에게 노출된다.
- IDC(Internet Data Center)
- On-premise, 사실상의 물리 서버
- AZ 자체 내에서 AWS가 이미 다중 IDC를 통해 이중화를 수행하고 있다.
AWS 서비스 종류
1. Region 서비스 - 지역별로 필수로 사용해야 하는 리전이 정해진게 아니라,
선택할 수 있기 때문에 선택의 기준이 필요하다.
- Proximity : 물리적 거리로 인한 시간 지연을 최소화 하기 위해서 가까운 리전을 선택
- Available Service: 특정 AWS 서비스는 특정 리전에서만 지원하는 경우가 있다.
리전 별로 서비스가 현지화 되어있는 경우가 있기 때문.
- ex) 대부분 리전이 2-3개의 AZ를 가지고 있는 반면, 서울은 4개의 AZ 제공.
- ex) EC2, RDB, DynamoDB, S3, Lambda, ElasticBeanstalk
2. Global 서비스 - 리전에 상관 없이 전역적으로 제공되어야 할 서비스
- ex) IAM : AWS 계정 권한, 역할 관리 ➡️ 전역적으로 되어야 하기에 global 서비스로 제공된다.
- ex) Route53, CloudFront, WAF, Certificate Manager, Secrets Manager
'정보 > Network' 카테고리의 다른 글
AWS 네트워크 개요 (0) | 2024.10.22 |
---|