Github 에서 Budgets and alerts 으로 제공되는 “Product” 또는 “SKU”는 모두 GitHub 플랫폼 내에서 제공되는 유료 또는 사용량 기반(metered) 서비스입니다. 이들은 개발 워크플로우를 향상시키고, 코드 관리 및 배포를 돕는 다양한 기능을 제공합니다. 1) Product : Packages, 2) SKU : Copilot Premium Request, 3) Product : Actions, 4) Product: Git LFS, 5) Product : Codespaces 이 있습니다.
Product: Packages
■ 개념정의
: GitHub Packages는 GitHub에 코드를 저장하는 것처럼 패키지(software packages)를 호스팅하고 관리할 수 있는 서비스입니다. 다양한 패키지 매니저(npm, Maven, Gradle, NuGet, RubyGems, Docker 등)와 통합되어 있어, 개발자들이 자신의 애플리케이션이나 라이브러리에 필요한 종속성을 쉽게 게시하고 사용할 수 있게 합니다.
■ 주요 기능
ⓐ 다양한 패키지 유형 지원
: Docker 이미지, npm 패키지, Maven 아티팩트 등 여러 유형의 패키지를 호스팅할 수 있습니다.
ⓑ 통합된 워크플로우
: GitHub Actions와 연동하여 CI/CD 파이프라인의 일부로 패키지를 자동으로 빌드하고 게시할 수 있습니다.
ⓒ 권한 관리
: GitHub 리포지토리와 동일한 권한 모델을 사용하여 패키지에 대한 접근을 제어할 수 있습니다.
ⓓ 공개 및 비공개 패키지
: 공개적으로 공유하거나 특정 그룹/개인에게만 비공개로 제공할 수 있습니다.
ⓔ 비용 발생
: 주로 저장 공간(storage)과 데이터 전송(data transfer) 양에 따라 비용이 발생합니다. GitHub Free, Pro, Team 플랜에는 일정량의 무료 할당량이 포함되어 있으며, 이를 초과하면 요금이 부과됩니다.
SKU: Copilot Premium Request
■ 개념정의
: GitHub Copilot은 AI 기반의 코드 작성 도우미입니다. 개발자가 코드를 작성하는 동안 실시간으로 코드 조각, 함수, 심지어 전체 파일까지 제안해 줍니다. "Copilot Premium Request"는 Copilot 서비스의 특정 사용량 측정 단위를 나타낼 가능성이 높습니다. 일반적으로 Copilot은 구독 기반으로 제공되지만, 특정 고급 기능 또는 사용량에 따라 추가 요금이 발생할 수 있음을 의미할 수 있습니다.
■ 주요기능(Copilot 일반):
ⓐ 실시간 코드 제안
: 주석이나 부분적인 코드만으로도 다음 코드를 예측하여 제안합니다.
ⓑ 다양한 언어 지원
: Python, JavaScript, TypeScript, Ruby, Go, C# 등 다양한 프로그래밍 언어를 지원합니다.
ⓒ 자연어-코드 변환
: 자연어 설명을 코드로 변환하는 기능도 제공합니다.
ⓓ 테스트 및 문서 작성 지원
: 테스트 코드나 문서 작성에도 도움을 줍니다.
ⓔ 비용 발생
: GitHub Copilot은 기본적으로 월별 구독 요금으로 제공됩니다. "Premium Request"는 이 구독 외에 특정 고성능 모델 사용이나, 제안을 받는 횟수 등 추가적인 사용량에 대한 과금 단위일 수 있습니다. 이는 사용량이 많을수록 비용이 증가할 수 있음을 나타냅니다.
Product: Actions
■ 개념정의
: GitHub Actions는 소프트웨어 개발 워크플로우를 자동화하는 CI/CD(지속적 통합/지속적 배포) 플랫폼입니다. GitHub 리포지토리에서 발생하는 이벤트(코드 푸시, 풀 리퀘스트 생성 등)에 반응하여 자동으로 테스트, 빌드, 배포 등의 작업을 수행할 수 있도록 해줍니다.
■ 주요기능
ⓐ 워크플로우 자동화
: YAML 파일을 통해 빌드, 테스트, 배포, 정적 코드 분석 등 거의 모든 개발 관련 작업을 자동화할 수 있습니다.
ⓑ 다양한 트리거
: 푸시, 풀 리퀘스트, 스케줄, 수동 실행 등 다양한 이벤트에 워크플로우를 연결할 수 있습니다.
ⓒ 커뮤니티 액션
: GitHub Marketplace에서 다른 개발자들이 만든 액션을 가져와 재사용할 수 있습니다.
ⓓ 호스팅된 러너
: GitHub에서 관리하는 가상 머신(Linux, macOS, Windows)에서 코드를 실행할 수 있습니다. 자체 호스팅 러너도 지원합니다.
ⓔ 비용 발생
: GitHub Actions는 주로 워크플로우 실행 시간(minutes)에 따라 비용이 발생합니다. 또한, 사용된 스토리지 양(로그, 아티팩트 등)에 따라서도 비용이 발생할 수 있습니다. GitHub Free, Pro, Team 플랜에는 월별 무료 실행 시간 및 저장 공간이 제공됩니다.
Product: Git LFS
■ 개념정의
: Git LFS (Large File Storage)는 Git 리포지토리에서 대용량 파일을 효율적으로 관리하기 위한 확장 프로그램입니다. Git은 기본적으로 코드와 같은 작은 텍스트 파일을 관리하는 데 최적화되어 있으며, 큰 바이너리 파일(예: 오디오, 비디오, 대용량 그래픽, 데이터셋, 실행 파일)을 직접 저장하면 리포지토리의 크기가 지나치게 커지고 클론 속도가 느려지는 문제가 발생합니다. Git LFS는 이러한 문제를 해결합니다.
■ 주요기능
ⓐ 대용량 파일 포인터화
: 실제 대용량 파일은 별도의 LFS 서버에 저장하고, Git 리포토리에는 해당 파일에 대한 작은 포인터(텍스트 참조)만 커밋합니다.
ⓑ 필요할 때 다운로드
: 작업자가 리포지토리를 클론하거나 특정 브랜치로 전환할 때 필요한 대용량 파일만 실제로 다운로드합니다.
ⓒ 버전 관리
: LFS에 저장된 대용량 파일도 Git의 버전 관리 시스템 내에서 추적되고 관리됩니다.
ⓓ 비용 발생
: Git LFS는 주로 저장 공간(storage)과 대역폭(bandwidth) 사용량에 따라 비용이 발생합니다. GitHub Free, Pro, Team 플랜에는 일정량의 무료 저장 공간과 대역폭이 포함되어 있으며, 이를 초과하면 추가 요금이 부과됩니다.
Product: Codespaces
■ 개념정의
: GitHub Codespaces는 클라우드 기반의 개발 환경입니다. 개발자가 로컬 컴퓨터에 개발 환경을 설정할 필요 없이, 웹 브라우저나 VS Code를 통해 GitHub에서 호스팅되는 완전한 개발 환경(IDE, 터미널, 필요한 라이브러리 및 종속성 등)에 접속하여 코드를 작성하고 테스트할 수 있습니다.
■ 주요기능
ⓐ 즉시 개발 시작
: 몇 초 내에 미리 구성된 개발 환경을 스핀업(spin up)하여 바로 코딩을 시작할 수 있습니다.
ⓑ 어디서든 접근
: 인터넷만 연결되어 있다면 어떤 장치에서든 자신의 개발 환경에 접근할 수 있습니다.
ⓒ VS Code 통합
: Visual Studio Code의 모든 기능을 웹 브라우저에서 제공하며, 로컬 VS Code와도 연동됩니다.
ⓓ 환경 일관성
: 팀원 모두가 동일한 개발 환경을 사용하여 "내 컴퓨터에서는 되는데..." 문제를 줄일 수 있습니다.
ⓔ 커스터마이징
: devcontainer.json 파일을 사용하여 Codespaces 환경을 프로젝트별로 커스터마이징할 수 있습니다.
ⓕ 비용 발생
: GitHub Codespaces는 주로 코딩에 사용된 시간(compute time)과 사용된 저장 공간(storage)에 따라 비용이 발생합니다. 더 강력한 머신(더 많은 CPU/RAM)을 사용할수록 시간당 비용이 증가합니다. GitHub Free, Pro, Team 플랜에는 일정량의 무료 사용 시간이 포함되어 있습니다.
답글 남기기