• 클라우드란?
인프라스트럭처(Infrastructure) : 애플리케이션/서비스를 구축하고 운영하는 작업
클라우드(Cloud) 컴퓨팅 : 인터넷 등 네트워크를 통해 서버, 스토리지, 네트워크와 같은 컴퓨터 리소스를 서비스로 제공하는 비즈니스를 말한다.
소유는 모든 리소스를 기업 안에서 관리하는 방식, 온프레미스(On-Premis)라고도 부름.
필요한 컴퓨터 리소스를 모두 구매하고, 구축에서 운영까지 기업 안에서 수행한다.
( 초기 투자비용이 높고, 운용 또한 직접 담당해야 하므로 관련 엔지니어까지 필요함 )
이처럼 컴퓨터 리소스를 소유하기란 매우 어려운 만큼 대안으로 임대(rental)라는 형태가 등장했다. 컴퓨터 리소스를 빌려주는 기업과 계약을 맺고 필요한 만큼 컴퓨터 리소스를 빌리는 형태이다.
( 초기 투자비용을 임대 기업에서 부담한다는 점에서 초기 비용이 절약될 수 있지만 계약 기간이 길고 컴퓨터 리소스 관리, 오류 대응에 즉각적인 조치가 어렵다는 단점이 여전히 존재. )
그래서 다음으로 등장한 유형이 클라우드(cloud), 클라우드를 이용하면 컴퓨터 리소스를 시간 단위 또는 분 단위로 임대가 가능하다. 대부분의 경우 브라우저 기반의 관리 화면을 제공하므로, 관리 화면에서의 조작만으로 직접 필요한 컴퓨터 리소스를 준비할 수 있다.
그러나 인프라스트럭처 장애가 발생하는 경우 직접 해결하기가 어렵고 클라우드 제공자에게 지시를 내리기도 어려워 기본적으로 AWS 자체 복구를 기다려야 한다는 단점이 존재.
항목 | 소유 | 임대 | 투자 |
초기 투자 | 매우 높음 | 높음 | 낮음 |
조달 기간 | 수 주 ~ 수개월 | 수 시간 ~ 수일 | 수 분 |
운용 비용 | 매우 높음 | 낮음 | 낮음 |
운용 후 증감 | 어려움 | 약간 어려움 | 간단함 |
독립성 | 높음 | 약간 낮음 | 약간 낮음 |
• 클라우드의 장점
1. 고정 비용 → 변동 비용
소유 형태에서는 초기 수천만원에서 수억원에 달하는 투자를 하고 3~5년에 걸쳐 투자 비용을 회수했다. 그러나 클라우드 형태에서는 매월 수십만원에서 수백만원만 지불하기 때문에 짧은 기간에 성과를 극대화해서 성장해야 하는 기업에는 클라우드 형태가 매력적이다.
2. 규모의 경제
클라우드 제공자는 많은 이용자를 모아 거대한 시스템을 구축한다. 기기를 대량 구매할 수 있으므로 개별 이용자의 비용은 낮아진다.
3. 성장을 고려한 용량 예측이 불필요
소유 형태의 경우 처음 준비한 기기를 나중에 늘리기가 매우 어렵다. 따라서 미래의 성장을 예측해 여유를 두어 구축한다. 예측한 만큼 성장하지 못하면 투자는 낭비로 이어진다. 이와 달리 클라우드는 기기를 간단히 늘리고 줄일 수 있다. 처음엔 작은 규모로 시작했다가 사업의 성장과 함께 규모를 늘릴 수 있어 불필요한 낭비가 사라진다.
4. 검증 및 개발 기간 단축
시간 단위로 기기를 임대하는 클라우드에서는 신기술을 검증하는 최신 기자재 등을 정해진 기간에 제공할 수 있다. 따라서 변화가 빠른 IT 기술에 뒤쳐지지 않고 따라갈 수 있다.
5. 데이터센터 유지 보수 불필요
서버나 네트워크 등의 장비는 모두 클라우드 제공자가 제공한다. 따라서 기기 설치나 케이블 배선, 기자재 조달이나 계약과 같은 일체의 보수 작업이 필요 없다.
6. 글로벌 전개 가능
클라우드 제공업체에 따라서는 서비스를 전 세계적으로 글로벌하게 전개하기도 한다. 또한 전 세계 각 거점으로의 전개도 클라우드 사업자가 수행한다. 따라서 글로벌 서비스를 전개하려는 기업에도 좋은 선택지이다.
• IaaS, PaaS, SaaS
IaaS ( Infrastructure as a Service )
IaaS는 인프라스트럭처 부분(서버나 네트워크)을 임대 형식과 마찬가지로 서비스로 제공한다. 구축된 서버에 OS나 미들웨어를 설치하거나 네트워크를 설정하는 등의 작업은 클라우드 이용자가 직접 수행한다.
PaaS ( Platform as a Service )
PaaS는 애플리케이션을 작동하는데 필요한 플랫폼(웹 서버, 데이터베이스 등) 자체를 서비스로 제공한다. 클라우드 이용자는 해당 플랫폼에서 작동하는 애플리케이션만 작성해서 배포한다. 플랫폼은 클라우드 제공자가 제공하므로, 서버에 배치를 할당하거나 데이터베이스 백업을 하는 등 인프라스트럭처 운영 범주에 포함되는 작업은 클라우드 제공자가 담당한다.
SaaS ( Software as a Service )
SaaS는 클라우드 제공자가 전용 애플리케이션까지 제공한다. 클라우드 이용자는 애플리케이션이 제공하는 서비스에 대한 대가만 지불한다. 예를 들어 세일즈포스라는 클라우드 제공업체는 기업 내에서 사용하는 업무 시스템 자체를 서비스로 제공한다. 메일이나 SNS와 같은 개별 서비스를 제공하는 클라우드 제공업체도 있다. 클라우드 이용자는 인프라와 미들웨어, 어플리케이션의 전체 운용과 개선 작업을 클라우드 제공업체에 맡길 수 있다.
• AWS 제공 솔루션
AWS 서비스를 이용하면 전 세계의 많은 IT 시스템을 구축할 수 있다. AWS가 제공하는 문서에서는 IT 시스템의 종류를 솔루션이라 정의한다.
1. 엔터프라이즈 애플리케이션 (Enterprise application)
엔터프라이즈 애플리케이션이란 서버, 데이터베이스, 네트워크 장비 등을 종합해서 만든 하나의 대규모 시스템이다. 기업 안에서 쓰이는 업무 시스템 외에
LAMP(Linux / Apache / MySQL / PHP ) 등 비교적 오래된 기술로 만들어진 웹 애플리케이션 등이 이에 해당한다. 이런 시스템은 과거 소유 또는 임대의 형태로 구축했던 인프라스트럭처에서 운용했지만 이러한 인프라스트럭처 부분을 AWS 서비스를 이용해 운용한다.
2. 서버리스 애플리케이션 ( Serverless application )
서버리스 애플리케이션은 애플리케이션을 움직이는 인프라스트럭처를 AWS 기능으로 모두 관리하는 시스템이다. 서버의 안정된 가동이나 갑작스러운 부하에 대한 성능 향상 등이 자동으로 수행되며, 애플리케이션 개발자는 단순히 사용한 부분에 대한 비용만 지불한다.
이런 시스템은 인기 아티스트의 공연 티켓 판매나 선거 중의 기간 한정 사이트 등 짧은 시간에 대량의 서버가 필요한 서비스를 구축할 때 이용한다.
3. AI와 머신러닝
AI나 머신러닝에서는 대량의 데이터를 고성능 서버로 분석하고 특정한 문제를 해결하는 모델을 만든다. 예를 들어 얼굴 인식 AI에서는 웃는 얼굴을 보여주면 대량의 얼굴 이미지를 분석해서 사람의 이름을 대답하는 모델을 얻는다. 한번 만들어진 모델은 클라우드 외부 환경에서도 이용할 수 있다. AWS는 클라우드이므로, 모델을 구축하기 위해 짧은 기간(수 시간~ 수일)동안 막대한 컴퓨터 리소스를 이용하는 용도에 적합하다.
4. 기타 제공 솔루션
- 분석, 데이터 레이크
: 인프라스트럭처 관리에 따른 대량의 데이터를 효율적으로 안전하게 분석하는 환경을 제공
- IoT : 센서 등의 작은 기기를 사용한 시스템을 제공
- 스토리지 : 사진이나 동영상 등의 저장소를 제공
- 게임 개발 : 게임 개발에서 운용까지의 전체 셋을 지원
• AWS 서비스 목록
1. AWS 서비스 목록
카테고리 | 서비스명 | 설명 |
컴퓨팅 | EC2 | 리눅스나 윈도우 등을 작동하는 서버 |
스토리지 | S3 | 대량의 데이터를 안전하게 보존하는 저장소 |
데이터베이스 | ElastiCache | 레디스나 멤케시드 등 캐시 서비스를 작동하는 서버 |
RDS | MySQL이나 Oracle 등 데이터베이스를 작동하는 서버 | |
관리 및 거버넌스 | CloudWatch | AWS로 구축한 서비스의 모니터링 수행 |
보안, 자격 증명 및 규정 준수 | Identity and Access Management(IAM) |
AWS의 리소스를 사용하기 위한 사용자 및 권한을 설정 |
Certificate Manager | SSL 서버 증명서 관리 | |
네트워크 및 컨텐츠 전송 | Elastic Load Balancing | 대량의 요청을 효율적으로 받는 시스템 |
Route 53 | 인터넷에서의 도메인명 해결을 수행하는 시스템 | |
VPC | 가상 네트워크 인프라스트럭처 구축 |
2. AWS 서비스와 리소스
AWS 서비스란 AWS가 제공하는 다양한 기능을 가리킨다. 예를 들어 AWS에서는 EC2나 S3 같은 서비스를 제공한다.
AWS 리소스란 AWS 서비스를 이용해 만들어진 것을 가리킨다. 이렇게 만들어진 리소스는 AWS 계정을 이용해 관리할 수 있다.