클라우드 등장 이전, 서버실 등에 컴퓨터를 배치하여 서비스를 제공할 경우, 요청에 대한 수용 능력이 한계에 도달한다면 컴퓨터를 추가하거나 컴퓨터의 성능을 높이는 방식으로 문제를 해결했었다.
그러나 이러한 방식은 주기적인 관리가 필요하고,
컴퓨터를 배치할 공간이 필요하다는 단점이 있었다.
이를 극복하기 위해 데이터 센터가 등장했고, 유휴자원을 대여해주는 서비스인 클라우드 서비스가 등장했다.
클라우드 서비스의 장점은
1. 필요할 때마다 컴퓨팅 능력을 조절할 수 있고
2. 사용한 만큼의 요금만 지불하면 되고
3. 다른 컴퓨터로 즉시 이주가 가능하다
운영환경이 벤더에 종속된다는 단점도 존재한다.
벤더가 가상 컴퓨터를 제공. 대부분 이에 해당한다
DB, 개발 플랫폼까지 제공
당장 사용 가능한 소프트웨어까지 제공
서비스를 사용자들이 이용 가능하게 하는 일련의 과정
기본적으로 아래 네 단계를 거친다
구성원이 각자의 컴퓨터에서 코드를 작성, 테스트하는 과정
코드를 합치는 과정
복제된 실제 데이터 등을 복사해서 테스트하는 단계
모든 관계자들의 검증을 거친다
실제로 서비스가 제공된다
deveopment 와 production 단계의 환경은 서로 다를 수 있다.
환경 설정을 코드와 분리하는 것이 중요하다.
이를 위해서
1. 서로 다른 환경에서도 정상작동될 수 있게 환경 변수를 설정하고
2. 절대경로 대신 상대경로를 사용하고
3. Docker 등을 사용해 환경을 통일시키기도 한다.
AWS에서 제공하는 클라우드 컴퓨팅 서비스
성능, 용량등을 유연하게 조절할 수 있다
AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 한다
장점
1. 구성하는데 필요한 시간이 짧다
2. 용도에 따라, AMI를 통해 다양한 운영체제를 선택할 수 있다
소프트웨어 구성이 기재된 템플릿
AWS에서 제공하는 관계형 데이터베이스
DB를 따로 분리해서 사용한다면 DB의 유지보수를 RDS에서 전적으로 관리하기 때문에
사용자가 DB 엔진의 설치, 버전관리, 백업 등을 할 필요가 없다.
또한 분리하지 않는다면 가용성과 내구성이 확보되지 않아 데이터가 유실될 수도 있고, DB의 규모를 추후에 확장하기 어렵다.
AWS에서 제공하는 클라우드 스토리지 서비스
S3의 장점은
1. 확장성이 높아, 비용만 지불하면 스토리지의 용량을 얼마든지 확장할 수 있다
2. 내구성이 높아, 데이터를 유실할 가능성이 낮다
3. 가용성이 높아, 스토리지의 데이터을 정상적으로 사용할 수 있는 시간이 길다
4. 다양한 스토리지 클래스를 제공한다
S3에 파일이 저장되는 최상위 디렉토리
버킷의 이름은 각 리전에서 고유해야 한다
버킷 정책을 생성하여 액세스 권한을 부여할 수 있다
S3에서 버킷에 담기는 파일
S3에서는 데이터를 저장할 때 키-값 형식으로 저장한다. 이 때, 값에는 실제 데이터를, 키에는 메타데이터를 저장해 각 객체를 고유하게 만드는 식별자 역할을 한다
객체는 고유한 URL 주소를 가지고, 그 주소를 통해 객체에 접근이 가능하다
S3을 이용해 제공
CDN 서비스인 CloudFront를 통해 더 빠르게 배포할 수 있다
EC2를 통해 서버를 구동할 수 있다
RDS
Route53
감사합니다. 이런 정보를 나눠주셔서 좋아요.