■ Cloud Computing
▶ 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스
1. AWS 실습 기준
Name | AWS 분류 기준 | 유닛 | 기준 모델 및 클래스 |
EC2 | 컴퓨팅 | AWS | t2.micro |
S3 | 스토리지,서버리스 | AWS | S3 Standard |
RDS | 데이터베이스 서비스 | AWS | MySQL, db.t2.micro |
CodeBuild | 개발자 도구 | 배포 자동화 | |
CodeDeploy | 개발자 도구 | 배포 자동화 | |
CodePipeline | 개발자 도구 | 배포 자동화 | |
IAM | 보안 자격 증명 및 규정 준수 | AWS | |
System Manager | 보안 자격 증명 및 규정 준수 | 배포 자동화 |
2. 서버 방식
1) 기존 서버방식(온프레미스 방식)
- 주기적인 관리가 필요한다
- 서버실에는 종종 고장이 나거나 인터넷과 연결이 되지 않는 컴퓨터가 생기기도 한다
- 문제를 해결하기 위한 인력 및 비용이 투입되야 한다
- 관리해야 하는 컴퓨터 및 다른 전자기기의 수가 많아지는 만큼 투입되어야 하는 인력 및 비용이 증가한다 - 공간의 한계가 있다
- 서버실이라는 공간에 컴퓨터를 배치하고 컴퓨터를 추가하는 방식으로 수용 능력을 향상한다
- 공간이 부족하여 컴퓨터를 더는 배치할 수 없는 문제가 발생한다
- 서버의 컴퓨팅 능력을 늘리려는 방법은 컴퓨터의 성능을 높이고 부피를 줄여 더 많은 컴퓨터를 같은 공간에 배치하는 방법으로 해결한다
2) 클라우드 방식
- 물리적인 컴퓨터가 아닌, 가상 컴퓨터를 대여하는 방식이다
- 가상화(Virtualization) 기술의 발전으로부터 비롯되었다
- 장점
- 필요할 때마다 컴퓨팅 능력을 유연하게 조절할 수 있다
- 고정적인 비용이 들어가는 온프레미스와는 달리 사용한 만큼의 요금만 지불한다
- 컴퓨터의 스냅샷("이미지"라고 한다) 을 이용해 다른 컴퓨터로 즉시 이주(migration)가 가능하다 - 단점
- 운영 환경 자체가 클라우드 제공자에게 종속된다
- 클라우드 서비스에 문제가 생기면 내가 배포하고 관리하는 환경에도 영향을 준다
- 백엔드 구성 자체가 특정 회사의 기술로만 구성해야 한다
- AWS와 같은 대표적인 클라우드 기술을 학습해야 한다
3. 클라우드 서비스 종류
1) SaaS
- Software as a Service
- 클라우드 제공자가 당장 사용 가능한 소프트웨어를 제공하는 경우 대부분 SaaS에 해당한다
2) PaaS
- Platform as a Service
- 클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우 대부분 PaaS에 해당한다
3) IaaS
- Infrastructure as a Service
- 클라우드 제공자가 가상 컴퓨터까지 제공하는 경우 대부분 IaaS에 해당한다
Network | Hardwear | OS | Flatform | Database | Application | |
SaaS | O | O | O | O | O | O |
PaaS | O | O | O | O | X | X |
IaaS | O | O | X | X | X | X |
4. 배포(Deploy)
1) 배포
- 개발한 서비스를 사용자들이 이용 가능하게 하는 일련의 과정이다
- 기본적으로 4단계를 거쳐 개발한 서비스를 배포한다
- 개발 환경과 배포 환경의 차이에 따라 환경 설정을 코드와 분리하여야 한다
![]() |
![]() |
![]() |
![]() |
Development | Intergation | Staging | Production |
로컬 환경에서 개발 및 테스트 변경사항 문제되지 않음 샘플 데이터를 이용하여 개발 |
각자 개발한 부분을 통합 코드간 충돌 여부 확인 코드간 문제발생 여부 확인 |
복제 데이터를 이용하여 테스트 실행 서비스제공 환경과 유사환경에서 테스트 실행 관계자와의 상호 검증 |
실제 데이터를 이용하여 실행 개발환경과 구분된 환경 제공 실제 서비스 제공 단계 |
2) 환경변수(environment variable, envvar, env)
- 작성한 코드가 다른 환경에서 정상 작동할 수 있도록 설정을 환경 변수에 저장한다
- 환경 변수는 코드 변경 없이 배포 때마다 쉽게 변경할 수 있다
- 오류가 발생해도 코드 저장소에 올라갈 가능성이 낮다
- 작성 코드는 절대 경로가 아닌 상대 경로를 사용한다
- `.properties` 등을 이용해 환경 변수를 설정한다
- 개발 환경을 통일할 수 있도록 docker와 같은 가상화 도구를 사용하여 환경 자체를 메타데이터로 담는다
3) 배포 플랫폼
![]() |
![]() |
![]() |
![]() |
![]() |
'클라우드' 카테고리의 다른 글
Cloud - AWS 실습 - 클라이언트 배포 (0) | 2022.08.04 |
---|---|
Cloud - AWS 실습 - Security Group (0) | 2022.08.03 |
Cloud - AWS 실습 - EC2 인스턴스 서버 실행 (0) | 2022.08.03 |
Cloud - AWS 실습 - EC2 인스턴스 생성/연결 (0) | 2022.08.02 |
Cloud - AWS(Amzon Web Service) (0) | 2022.08.02 |