로컬 : 자신의 컴퓨터로 서비스를 만들 수 있다. IP로 누구나 접근할 수 있게 수정하고, IP를 공유할 수 있다. 그러나 이렇게 하면 자신의 컴퓨터가 종료되면 웹, 앱 서비스도 같이 종료된다. 따라서 우리의 컴퓨터는 항상 켤 수 없으므로 서버실을 만들어서 운영하는 방법으로 이를 해결했다.
단점 : 갑자기 트래픽일 몰릴 경우, 컴퓨터 10대를 설치하기 어렵다. 반대로 트래픽이 적어서 컴퓨터 10대를 없애기 수월하지 않다.
클라우드 : 클라우드에 있으므로 확장이 용이하다. 개발자가 직접 설정해야 했던 IP 네트워크, 방화벽 등의 기본 옵션들을 기본적으로 해줘서 편하다.
다양한 cloud service
SAAS : 구글 독스 내부가 어떻게 돌아가는지 몰라도 사용할 수 있음.
PAAS : 서버를 실행시키는데 파일을 클라우드에 제공해서 사용
IAAS : 직접 모두 설치
다양한 Cloud 회사
Cloud 서비스의 종류 - 1. Computing Service(Server)
연산을 수행하는(Computing)서비스
가상 컴퓨터, 서버
CPU, Memory, GPU 등을 선택할 수 있음
인스턴스 생성 후, 인스턴스에 들어가서 사용 가능(ssh로 접근해서 cli환경에서 쓸 수 있음)
회사별로 월에 무료 사용량이 존재
Cloud 서비스의 종류 - 2. Serverless Computing
앞에 나온 Computing Service와 유사하지만, 서버 관리를 클라우드쪽에서 진행
코드를 클라우드에 제출하면, 그 코드를 가지고 서버를 실행해주는 형태이다.
요청 부하에 따라 자동으로 확장(Auto Scaling)
Cloud 서비스의 종류 - 3. Stateless Container
Docker를 사용한 Container 기반으로 서버를 실행하는 구조
Docker Image를 업로드하면 해당 이미지 기반으로 서버를 실행해주는 형태
요청 부하에 따라 자동으로 확장(Auto Scaling)
Cloud 서비스의 종류 - 4. Object Storage
다양한 Object를 저장할 수 있는 저장소
다양한 형태의 데이터를 저장할 수 있으며, API를 사용해 데이터에 접근할 수 있음
Cloud서비스가 발전함에 따라 점점 데이터 저장 비용이 저렴해지고 있음
머신러닝 모델 pkl 파일, csv 파일, 실험 log 등을 Object Storage에 저장할 수 있음
Cloud 서비스의 종류 - 5. Database(RDB)
Database가 필요한 경우 클라우드에서 제공하는 Database를 활용할 수 있음
웹, 앱서비스와 데이터베이스가 연결되어 있는 경우가 많으며, 대표적으로 MySQL, PosgreSQL등을 사용할 수 있음
사용자 로그 데이터를 Database에 저장할 수도 있고, Object Storage에 저장할 수도 있음. 저장된 데이터를 어떻게 사용하냐에 따라 어디에 저장할지를 결정
Cloud 서비스의 종류 - Data Warehous
Database에 저장된 데이터는 데이터 분석을 메인으로 하는 저장소가 아닌 서비스에서 활용할 Database.
Database에 있는 데이터, Object Storage에 있는 데이터 등을 모두 모아서 Data Warehouse에 저장.