클라우드 서비스
대부분의 클라우드 서비스 장점
- 신속한 인프라 구축
- 유연한 인프라 관리
- 예상치 못한 트래픽 폭주 대응
- 손쉬운 글로벌 서비스
- 강력한 보안과 장애 없는 서비스
- 합리적인 요금제
On-Demand, On-Premises
온디멘드(On-Demand)
정의
- 온디멘드는 필요할 때마다 즉시 사용할 수 있도록 제공되는 IT 서비스 또는 소프트웨어를 의미합니다. 주로 클라우드 컴퓨팅 환경에서 사용됩니다.
- 사용자는 필요한 자원이나 서비스를 즉시 요청하고 사용할 수 있으며, 일반적으로 사용한 만큼 비용을 지불합니다.
특징
- 유연성: 사용자가 필요할 때마다 자원을 추가하거나 제거할 수 있어 매우 유연합니다.
- 비용 효율성: 사용한 만큼만 비용을 지불하므로 초기 투자 비용이 적습니다.
- 빠른 배포: 신규 서비스나 자원을 빠르게 배포할 수 있습니다.
- 접근성: 인터넷만 있으면 어디서든 접근 가능합니다.
- 자동화: 많은 클라우드 서비스 제공자들이 자동화 도구를 제공하여 관리가 용이합니다.
예시
- 클라우드 스토리지 서비스(AWS S3, Google Drive)
- 클라우드 컴퓨팅 서비스(AWS EC2, Google Cloud Compute Engine)
- 소프트웨어 애즈 어 서비스(SaaS) 애플리케이션(Office 365, Google Workspace)
장점
- 초기 비용이 낮음
- 확장성과 유연성이 뛰어남
- 유지보수 및 관리가 용이
단점
- 데이터 보안 및 프라이버시 문제
- 인터넷 연결에 의존적
- 장기적으로 사용 시 비용이 증가할 수 있음
온프레미스(On-Premises)
정의
- 온프레미스는 조직 내 물리적 서버 및 IT 인프라를 직접 소유하고 관리하는 방식입니다.
- 소프트웨어와 하드웨어가 모두 조직의 데이터 센터 내에 위치하며, 모든 유지보수와 관리가 내부에서 이루어집니다.
특징
- 보안성: 데이터와 시스템이 내부에 있으므로 보안이 더 강화될 수 있습니다.
- 제어권: 모든 하드웨어와 소프트웨어에 대한 완전한 제어권을 가집니다.
- 성능: 네트워크 연결 상태에 영향을 덜 받으며, 최적의 성능을 유지할 수 있습니다.
- 맞춤화: 특정 요구 사항에 맞게 시스템을 커스터마이징 할 수 있습니다.
예시
- 내부 데이터 센터
- 자체 호스팅 애플리케이션
- ERP 시스템
장점
- 높은 데이터 보안성
- 완전한 제어권
- 인터넷 연결 없이도 사용 가능
단점
- 초기 투자 비용이 높음
- 유지보수 및 관리 비용이 높음
- 확장성 및 유연성이 낮음
Cloud Computing

-> 같은 공간에 더 많은 컴퓨터 추가 or 컴퓨터 성능 업그레이드

-> 기존 방식에는 한계가 명확해서 그에대한 대책이 나왔지만 클라우드가 등장한다.

클라우드의 단점
- 클라우드 서비스에 종속됨
- 서비스에 영향을 미침
예시

클라우드 대표적인 서비스 및 기본 제공 서비스 범위

Deploy




- 상대경로 : '.' 은 현재 위치 기준, '..'은 상위 폴더
- ../.. 상위의 상위폴더
EC2
: Elastic Compute Cloud (AWS에서 제공하는 클라우드 컴퓨팅 서비스)
: AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것.



Linux 와 ubuntu 의 차이점
- Linux는 운영체제의 커널일 뿐 (커널 : 핵심적인 리소스를 제어하는 코어만 개발해 놓은 것)
- ubuntu는 Linux를 기반으로 사용자가 사용할 수 있게끔 배포판으로 만든 것.
- 맥 OS는 Linux기반이 아닌 Unix 기반 OS
Instance : AWS에서 빌리는 컴퓨터를 Instance라 한다.

AMI : Amazon Machine Image
: AMI를 통해서 운영체제까지 설치되어있는 Virtual Machine 을 빌릴 수 있다.



RDS

- 물리적으로 설치해도 되지만 RDS를 사용하면 스냅샷을 찍어놓기 때문에 DB에 문제가 생길 경우 손쉽게 롤백을 할 수 있고 보안설정도 보다 간편하게 할 수 있다.



S3
S3 : Simple Stroage Service


S3 사용 시 이점
- 확장성 : 데이터 무한히 저장 가능(필요한 만큼 확장)
- 내구성
- 가용성



S3의 핵심 개념


- 키 : 밸류 형태의 데이터를 쓰는 이유는 조회할 때 키를 알고 있다면 1번만 순회하면 되기 때문.
- 반복문같은 순회를 돈다면 데이터의 길이에 따라서 시간복잡도가 결정되는데 키의 경우에는 최악의 경우에도 1번이기 때문에 효율이 좋음.
Deploy Strategy

Client 배포


프론트에서의 빌드란?
- 소스코드를 실행가능한 번들의 형태로 변화시키는 것.
- 불필요한 데이터를 없애고, 통합/압축하여 배포하기 최적화된 상태를 만드는 것
- 데이터의 용량이 줄어들고 웹 사이트 로딩 속도가 빨라진다.

서버의 배포



DB 배포

DNS



한 줄
* localhost = IP주소인데 이 부분을 매핑해 주는 건 OS 내에서 매핑해 준다.
* CloudFront : 리전별로 데이터를 캐싱해놓고 클라이언트와 가장 가까운 리전에서 데이터를 전달하는 것.