꾸준한 개발일기
AWS:: 클라우드 서비스란? (IaaS, PaaS, SaaS, 사용하는 이유 etc.) 본문
AWS에 내가 만든 프로젝트를 올리기 위해 AWS에 대한 개념 먼저 공부해보았다.
외부에서 내가 만든 서비스에 접근하려면 24시간 작동한는 서버가 필요하다. 24시간 작동하는 서버에는 3가지 선택지가 있다.
- 집에 PC를 24시간 구동
- 호스팅 서비스(Cafe 24, 코리아호스팅 등)을 이용
- 클라우드 서비스(AWS, AZURE, GCP 등)을 이용
일반적으로 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하다. 하지만 만약 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드 서비스가 유리하다.
클라우드 서비스는 인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공한다. 예를 들어 AWS의 EC2는 서버 장비를 대여하는 것이지만, 실제로는 그 안의 로그 관리, 모니터링, 하드웨어 교체, 네트워크 관리 등을 기본적으로 지원한다.
이런 클라우드에는 3가지 형태가 있다.
1. IaaS(Infrastructure as a Service, 아이아스)
- 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스
- 가상머신, 스토리지, 네트워크, 운영체제 등의 IT 인프라를 대여해주는 서비스
- AWS의 EC2, S3 등
2. PaaS(Platform as a Service, 파스)
- IaaS를 한 번 더 추상화한 서비스
- 한번 더 추상화했기 때문에 많은 기능이 자동화 되어 있음
- AWSdml Beanstalk(빈스톡), Heroku(헤로쿠) emd
3. SaaS(Software as a Service, 사스)
- 소프트웨어 서비스를 말함
- 구글 드라이브, 드랍박스, 와탭 등
여러 클라우드 서비스 중 AWS를 선택한 이유는 다음과 같다.
- 첫 가입 시 제한된 서비스를 이용하면 1년간 대부분 서비스가 무료이다.
- 클라우드에서 기본적으로 지원하는 기능이 많아 개인이나 소규모일 때 개발에 좀 더 집중할 수 있다.
- 많은 기업들이 AWS로 이전 중이기 때문에 경험적으로 도움이 된다.
- 사용자가 많아 국내 자료와 커뮤니티가 활성화되어 있다.
나는 IaaS를 사용하였다. AWS의 PaaS 서비스인 빈스톡을 사용하면 대부분 작업이 간소화되지만, 프리티어로 무중단 배포가 불가능하기 때문이다. 배포할 때마다 서버가 다운되면 제대로 된 서비스를 만들 수 없으니 무중단 배포는 필수이고 빈스톡은 사용할 수 없다. 그리고 AWS 초보자이니 직접 하나씩 다 다뤄보고 싶었다.
참조:
스프링 부트와 AWS로 혼자 구현하는 웹 서비스, 이동욱 지음(프리렉)
'Programing > 리눅스' 카테고리의 다른 글
리눅스:: ./gradlew: Permission denied 오류 해결(chmod) (0) | 2022.07.21 |
---|---|
윈도우&리눅스:: 도메인 host의 ip 확인하는 방법(ping) (0) | 2022.05.27 |
리눅스:: 서버 연결 확인하기(ping) (0) | 2022.04.26 |
리눅스:: Unix, Linux 기본 명령어 정리(정보처리기사 기출) (0) | 2022.04.24 |
리눅스:: this web application instance has been stopped already 오류 해결하기 (0) | 2022.02.08 |