본문 바로가기
MLOps

MLOps - 10. Cloud

by cocacola0 2022. 5. 25.

출처 : 변성윤님 블로그.
출처 : 부스트캠프 AI Tech.

1. Cloud

1.1 Cloud 서비스를 사용하는 이유

  • 웹, 앱 서비스를 만드는 경우
  • 자신의 컴퓨터(localhost)로 서비스를 만들 수도 있음
    • IP로 누구나 접근할 수 있게 수정하고, IP를 공유하기 등
    • 그러나 이런 경우 자신의 컴퓨터가 종료되면 웹, 앱 서비스도 종료됨
  • 물리적 공간, 확장성을 고려한 서버실을 만들고 운영 - 전통적인 접근 방법
    • IDC(Internet Data Center)
    • 서버 컴퓨터를 넣을 공간 + 추후 서버를 추가할 때 즉각적으로 확장할 수 있는지
    • 전기, 에어컨 등 서버가 급작스럽게 종료되지 않도록 준비가 필요함
    • 갑자기 트래픽이 몰릴 경우, 컴퓨터 10대를 설치하기 어려움(자재 수급 이슈 등)
    • 반대로 트래픽이 적어서 컴퓨터 10대를 없애기가 수월하지 않음
  • Cloud
    • 앞선 내용보다 자유롭게 활용할 수 있는 개념으로 클라우드 서비스가 점점 발전
    • 그 이후엔 개발자가 직접 설정해야 했던 작업 등을 클라우드에서 쉽게 할 수 있는 방향으로 발전 (Managed 서비스)
    • Apache Spark를 쉽게 운영할 수 있도록 AWS EMR, GCP Dataproc 등을 활용 => 직접 하둡을 설치할 필요 없이 이미 설치되어 있음
    • Jupyter Notebook 환경도 미리 설치해두고 사용할 수 있음(Tensorflow, 쿠다 등)

1.2 Cloud 서비스의 다양한 제품

  • Computing Service(Server)
    • 연산을 수행하는(Computing) 서비스
    • 가상 컴퓨터, 서버
    • CPU, Memory, GPU 등을 선택할 수 있음
    • 가장 많이 사용할 제품
    • 인스턴스 생성 후, 인스턴스에 들어가서 사용 가능
    • 회사별로 월에 무료 사용량이 존재(성능은 약 cpu 1 core, memory 2G)
  • Serverless Computing
    • 앞에 나온 Computing Service와 유사하지만, 서버 관리를 클라우드쪽에서 진행
    • 코드를 클라우드에 제출하면, 그 코드를 가지고 서버를 실행해주는 형태
    • 요청 부하에 따라 자동으로 확장(Auto Scaling)
    • Micro Service로 많이 활용
  • Stateless Container
    • Docker를 사용한 Container 기반으로 서버를 실행하는 구조
    • Docker Image를 업로드하면 해당 이미지 기반으로 서버를 실행해주는 형태
    • 요청 부하에 따라 자동으로 확장(Auto Scaling)
  • Object Storage
    • 다양한 Object를 저장할 수 있는 저장소
    • 다양한 형태의 데이터를 저장할 수 있으며, API를 사용해 데이터에 접근할 수 있음
    • 점점 데이터 저장 비용이 저렴해지고 있음
    • 머신러닝 모델 pkl 파일, csv 파일, 실험 log 등을 Object Storage에 저장할 수 있음
  • Database(RDB)
    • Database가 필요한 경우 클라우드에서 제공하는 Database를 활용할 수 있음
    • 웹, 앱서비스와 데이터베이스가 연결되어 있는 경우가 많으며, 대표적으로 MySQL, PosgreSQL 등을 사용할 수 있음
    • 사용자 로그 데이터를 Database에 저장할 수도 있고, Object Storage에 저장할 수도 있음
    • 저장된 데이터를 어떻게 사용하냐에 따라 어디에 저장할지를 결정
  • Data Warehouse
    • Database에 저장된 데이터는 데이터 분석을 메인으로 하는 저장소가 아닌 서비스에서 활용할 Database
    • Database에 있는 데이터, Object Storage 에 있는 데이터 등을 모두 모아서 Data Warehouse에 저장
    • 데이터 분석에 특화된 Database
  • AI Platform
    • AI Research, AI Develop 과정을 더 편리하게 해주는 제품
    • MLOps 관련 서비스 제공
    • Google Cloud Platform : TPU
  • CSPs (Cloud Service Provider)
    • 클라우드마다 제품의 이름은 다르지만, 비슷한 제품들이 있음
    • 하나의 제품 이름을 알면 다른 클라우드에서 검색할 수 있음

2. Google Cloud Platform

  • GCP를 선택한 이유
  • 첫 가입시 $300 크레딧 제공
  • 학습할 때 클라우드 비용을 내면서 쓰는 부담을 줄이기 위해
  • 하나의 클라우드 서비스에 익숙해지면, 다른 클라우드도 수월

2.1 Google Cloud Platform 프로젝트 생성하기

2.2 Google Cloud Platform Compute Engine

2.3 Google Cloud Platform Cloud Storage

'MLOps' 카테고리의 다른 글

MLOps - 12. FastAPI  (0) 2022.05.27
MLOps - 11. CI/CD, Github Action  (0) 2022.05.26
MLOps - 9. Linux & Shell Command  (0) 2022.05.24
MLOps - 8. Streamlit 실습  (0) 2022.05.23
MLOps - 7. Streamlit  (0) 2022.05.23

댓글