
AWS, GOOGLE 같은 것들
conda, virtualenv 같은 것 들
| 특징 | conda | virtualenv/venv |
|---|---|---|
| 지원 언어 | Python뿐 아니라 R, Julia 등 여러 언어 지원 | Python 전용 |
| 패키지 관리 | 자체 패키지 관리(비단 Python 패키지뿐 아니라 C/C++, CUDA 등 시스템 라이브러리도 관리) | pip 등 별도 도구 필요, 순수 Python 패키지만 관리 |
| 환경 관리 | 환경 및 패키지 관리 통합(버전, 의존성 자동 해결) | 환경만 관리, 패키지는 pip 등으로 별도 설치 |
| 설치 및 사용 | 별도 설치 필요(Anaconda, Miniconda 등) | Python 표준 라이브러리(venv), 별도 설치 필요 없음(venv) |
| 복잡한 의존성 | 과학/데이터 분석 등 복잡한 의존성, 시스템 라이브러리까지 손쉽게 관리 | 복잡한 의존성(특히 비-Python)은 직접 OS 패키지 매니저로 설치 필요 |
| 환경 위치 | 기본적으로 중앙(글로벌) 위치에 환경 저장 | 프로젝트 폴더별로 로컬 환경 생성 |
| 크기/성능 | 환경 크기가 큼(수백 MB 이상), 설치 속도 느릴 수 있음 | 환경 크기가 작음(수십 MB), 빠름 |
| 대표적 활용 분야 | 데이터 과학, 머신러닝, 과학 컴퓨팅, 크로스플랫폼 개발 | 웹 개발, 순수 Python 프로젝트, 경량 환경 |
| 상호운용성 | pip 사용 가능(권장: conda 패키지 우선, pip는 보조적으로만) | pip와 완벽 호환 |
| 라이선스/상업적 제한 | 일부 채널(Anaconda 기본 채널 등) 상업적 사용 제한 있음 | MIT 라이선스(제약 없음) |
팁: 한 프로젝트 내에서는 conda와 venv를 혼용하지 않고, 하나의 도구만 사용하는 것이 가장 안전합니다^2.
docker - vmware랑 다름.
도커 생성 단계
다수의 컨테이너를 조정하고 관리하는 시스템, 컨테이너 배포, 스케일링, 네트워킹 자동화
airflow - DAG
연속 통합, 연속 배포
젠킨스
HTTP, REST API
git, mlops platfome 에서 버전관리 해줌
코드 버전 관리, 데이터 버전 관리, 모델 버전 관리(머신러닝 라이브러리에 포함되어 있다고 함)
데이터 버전 관리 도구
DVC, git LFS, delta lake