클라우드를 공부하다 보면 이런 고민을 한 번쯤 하게 됩니다.
“AWS랑 AWS 퍼블릭 클라우드는 같은 말이야?”
“온프레미스랑은 뭐가 다른 거지?”
이렇듯 용어가 헷갈리면 개념도 같이 꼬여서, 공부할수록 더 어려워지죠.
이 글에서는 AWS, 퍼블릭 클라우드, 온프레미스 개념을 한 번에 정리해 보겠습니다.
클라우드를 처음 접하는 분도 이해할 수 있도록 최대한 쉽게 풀어볼게요.
온프레미스(On-Premises)란 무엇인가?
먼저, 가장 전통적인 방식인 온프레미스부터 보겠습니다.
온프레미스(On-Premises)란 말 그대로 내(우리 회사) 건물·데이터센터 안에 서버와 네트워크 장비를 직접 구축해서 쓰는 방식
을 뜻합니다.
온프레미스의 특징
이러한 온프레미스의 특징으로는
- 서버, 스토리지, 네트워크 장비를 직접 구매해서 설치
- 전원, 냉각, 물리 보안(출입 통제), 정도 직접 책임
- OS 설치, 패치, 하드웨어 교체 등 운영·유지보수를 내부 인력이 수행
- 보안·규제·정책 등에서 내가 모든 걸 통제할 수 있음
조금 극단적으로 표현하면 IT 인프라를 내 손으로 다 키우는 자가 농장이라 생각하면 됩니다.
온프레미스의 장단점
이러한 온프레미스의 장단점으로는
장점
- 물리 장비부터 네트워크까지 모든 걸 내 통제 아래 둘 수 있음
- 특정 규제(금융, 공공 등)에서 자체 망·자체 장비 요구를 만족시키기 쉬움
- 장기적으로, 아주 큰 규모·고정적인 트래픽이라면 비용을 잘 최적화하면 유리할 수도 있음
단점
- 처음에 서버·스토리지·네트워크 장비를 사는 초기 비용(CAPEX) 이 매우 큼
- 트래픽이 늘어날 걸 대비해서 미리 서버를 넉넉하게 사둬야 함(과투자 위험)
- 반대로 예상보다 덜 쓰면, 장비가 놀고 있어도 비용은 이미 나감
- 확장·축소가 느리고, 장애 대응·패치 등 관리 작업이 많음
클라우드와 퍼블릭 클라우드란?
위에서 살펴봤던 온프레미스와 대비되는 개념이 바로 클라우드입니다.
클라우드(computing)란?
서버, 스토리지, 네트워크, DB 같은 IT 자원을 인터넷을 통해 서비스 형태로 빌려 쓰는 것
온프레미스와 반대로 내 서버실을 만드는 대신, 클라우드 사업자가 만들어 놓은 거대한 데이터센터를 필요한 만큼 빌려 쓰는 구조입니다.
클라우드의 종류
클라우드는 운영 방식에 따라 퍼블릭, 프라이빗, 하이브리드로 나눕니다. 각각 살펴보죠.
- 퍼블릭 클라우드(Public Cloud)
- 여러 기업과 개인이 같은 클라우드 인프라를 공유해서 쓰는 형태
- 물론 논리적으로는 철저하게 분리됨
- 예: AWS, Microsoft Azure, Google Cloud Platform(GCP) 등
- 프라이빗 클라우드(Private Cloud)
- 한 조직만을 위한 “전용 클라우드 환경”
- 회사 자체 데이터센터 위에 OpenStack 같은 걸로 구축하거나, 특정 업체가 전용으로 구성해 줌
- 물리적으로나 논리적으로나 독점 사용
- 하이브리드 클라우드(Hybrid Cloud)
- 온프레미스 + 퍼블릭 클라우드를 함께 사용하는 형태
- 예: 중요한 데이터는 온프레미스 DB에, 나머지 웹 서버/분석 시스템은 AWS에서 운영
이 중에서 우리가 흔히 말하는 “클라우드 쓴다”는 경우는 대부분 퍼블릭 클라우드를 의미합니다.
그렇다면 AWS(Amazon Web Services)란 무엇인가?
이제 본론으로 들어가서, AWS를 보겠습니다.
AWS(Amazon Web Services)는 아마존이 제공하는 거대한 클라우드 플랫폼(서비스들의 묶음 이름)입니다.
AWS 안에는 수많은 서비스가 들어있죠.
- 컴퓨팅: EC2, ECS, EKS, Lambda 등
- 스토리지: S3, EBS, EFS, Glacier 등
- 데이터베이스: RDS, DynamoDB, Aurora 등
- 네트워크: VPC, Route 53, CloudFront 등
- 보안/운영: IAM, CloudWatch, CloudTrail 등
- AI/ML, IoT, 분석, 개발 도구… 등등
즉, AWS는 회사 이름 + 서비스 브랜드 이름입니다. 그렇기 때문에 AWS라는 단어 안에는
퍼블릭 클라우드 형태의 서비스들(우리가 흔히 쓰는 대부분), 온프레미스/하이브리드용 서비스(예: Outposts), 각종 관리·보안·운영 도구들까지 모두 포함하는 넓은 개념입니다.
그럼 “AWS 퍼블릭 클라우드”는 뭐가 다른가요?
여기까지 보셨으면 아래와 같은 질문이 생길겁니다.
그럼 AWS랑 AWS 퍼블릭 클라우드는 같은 말이야?
정확히 말하면 완전히 같은 개념은 아닙니다.
- AWS
- 아마존이 제공하는 전체 클라우드 서비스 플랫폼의 이름
- 퍼블릭 클라우드 + 하이브리드 + 온프레미스용 서비스까지 모두 포함
- AWS 퍼블릭 클라우드
- 그 AWS 서비스들 중에서도 퍼블릭 클라우드 형태로 제공되는 부분을 가리키는 표현
그래서 실무에서 “우리 서비스 AWS에 올렸어” 라고 말하는 의미는 대부분 AWS 퍼블릭 클라우드를 의미합니다.
그렇기 때문에 실제 대화에서도, 블로그 글에서도 AWS ≈ AWS 퍼블릭 클라우드로 거의 동일하게 쓰이는 경우가 많지만 개념적으로는 아래처럼 구분해두면 좋습니다.
AWS (전체 플랫폼)
├─ AWS 퍼블릭 클라우드 서비스들
├─ 하이브리드/온프레미스 연동 서비스들 (예: Outposts 등)
└─ 각종 관리·보안·운영 도구들
온프레미스 vs AWS 퍼블릭 클라우드 비교
이쯤에서 개념을 한 번에 정리하기 위해 온프레미스 vs AWS 퍼블릭 클라우드를 비교해 보겠습니다.
관리 주체 측면
- 온프레미스
- 하드웨어(서버, 스토리지, 네트워크)
- 전원, 냉각, 물리 보안
- OS 설치/패치, 장비 교체
→ 모두 내가(우리 회사가) 책임
- AWS 퍼블릭 클라우드
- 물리 서버, 전원, 네트워크, 데이터센터 보안까지는 AWS가 관리
- 우리는 주로 어떤 인스턴스 타입을 쓸지, 어떤 서비스(S3, RDS 등)를 조합할지, 애플리케이션 코드, 보안 설정(IAM, Security Group 등)
→ “위에 얹는 부분”에 집중
비용 구조 측면
- 온프레미스
- 서버·장비 구매 시 큰 초기비용(CAPEX) 발생
- 사용량이 줄어도 이미 산 장비는 그대로 → 유연성이 낮음
- AWS 퍼블릭 클라우드
- 필요한 만큼만 사용량 기반(OPEX) 으로 지불
- 트래픽 증가 시 자원을 늘리고, 줄어들면 다시 줄여 비용 최적화 가능
- 일부는 예약 인스턴스/저장소 등으로 장기 할인도 가능
확장성 측면
- 온프레미스
- 트래픽 증가 예상 시, 미리 장비를 구매해 두어야 함
- 갑자기 사용자 폭증 시, 장비가 없으면 대응 어렵고 시간도 오래 걸림(주문, 납품, 설치)
- AWS 퍼블릭 클라우드
- 필요하면 콘솔에서 몇 번 클릭 혹은 자동 스케일링 설정으로 확장
- 전 세계 데이터센터 규모를 바탕으로 높은 확장성 제공
그럼 언제 무엇을 써야 하나요?
둘 다 장단점이 있기 때문에 무조건 이게 정답은 없습니다.
보통은 이런 기준으로 선택하거나 하이브리드로 조합합니다.
온프레미스를 선호하는 경우
- 강한 규제 산업 (일부 금융, 공공, 국방 등)에서
- 데이터를 반드시 자체 망/자체 장비에 두어야 하는 경우
- 이미 대규모 데이터센터와 운영 인력을 갖추고 있고, 장기적으로 계산했을 때 온프레미스가 더 경제적인 경우
- 물리 장비까지 모두 직접 통제해야 하는 특수한 보안 요구가 있는 경우
AWS 퍼블릭 클라우드를 선호하는 경우
- 스타트업 / 초기 서비스처럼 초기 투자비를 줄이고 빠르게 시작하고 싶은 경우
- 트래픽이 변동성이 크거나 성장 속도가 빠른 서비스
- 글로벌 사용자를 대상으로 서비스를 제공하고 싶은 경우
- 인프라 운영보다는 비즈니스 로직/서비스 개발에 집중하고 싶은 경우
하이브리드(온프레미스 + AWS)
현실에서는 이 조합도 많이 씁니다.
- 핵심·민감 데이터는 온프레미스 DB에
- 웹 서버, API 서버, 분석/머신러닝 환경은 AWS에
- 백업/DR(재해 복구) 용도로만 AWS를 쓰는 경우도 있음
마치며
클라우드를 처음 접하면 AWS, 퍼블릭 클라우드, 온프레미스 같은 용어들이 한꺼번에 쏟아져 나와서 어렵게 느껴질 수 있습니다. 하지만 큰 틀에서 보면 결국 직접 갖고 쓸 거냐(온프레미스), 빌려 쓸 거냐(퍼블릭 클라우드), 아니면 둘 다 쓸 거냐(하이브리드)의 차이일 뿐입니다.
AWS는 이 중에서도 퍼블릭 클라우드를 대표하는 플랫폼이고, 우리가 일상적으로 “AWS 쓴다”라고 말할 때는 대부분 AWS 퍼블릭 클라우드 위에 서비스를 올린다는 의미로 사용됩니다. 다만, 개념적으로는 AWS가 더 폭넓은 서비스들의 묶음이라는 점만 기억해 두면 용어 혼란을 많이 줄일 수 있습니다.
앞으로 아키텍처를 고민하거나, 온프레미스에서 클라우드로의 전환을 검토할 때 오늘 정리한 개념들이 기준점이 되어 줄 것입니다.
우리 서비스에 어떤 방식이 더 맞는지, 왜 클라우드를 선택해야 하는지, 그리고 그 클라우드 중에서 왜 AWS를 고려하는지
이 세 가지 질문에 스스로 답할 수 있게 된다면, 이미 클라우드의 큰 그림은 잡으신 거라고 생각합니다.
읽어주셔서 감사합니다. 혹시 글을 읽으면서 궁금했던 점이나, 온프레미스/클라우드 전환 경험이 있다면 댓글로 함께 나눠 주세요. 앞으로는 AWS 서비스별 개념 정리나 실제 마이그레이션 사례도 차례대로 정리해 보려고 합니다.
'DevOps > AWS' 카테고리의 다른 글
| [바미] Web application with EC2 (0) | 2023.03.23 |
|---|---|
| [바미] Web application with Serverless (0) | 2023.03.22 |