요약
- GitHub는 각 작업의 분 미만 시간을 개별적으로 올림한다. 여섯 작업이 각각 10초면 총 실행 시간은 60초지만 계산되는 시간은 6분이다.
- 현재 표준 Linux 2코어 x64 요금인 분당 0.006달러를 적용하면 0.036달러가 소비된다. 하나의 60초 작업은 0.006달러이며, 포함된 계산 한도를 먼저 사용한 뒤 초과 사용이 추가 결제로 이어진다.
개발팀은 60초를 썼는데 예산은 6분을 샀다. GitHub Actions에서 이런 장면을 만드는 데는 긴 작업이 필요 없다. 10초짜리 작업 여섯 개면 충분하다. 각각의 작은 작업이 1분 단위 포장을 따로 받기 때문이다.
공식 실행기 요금표는 각 작업의 분과 분 미만 시간을 정수 분으로 올림한다고 설명한다. 여러 작업의 시간을 모아 마지막에 한 번 올림하는 계산과 결과가 다르다. 기술자가 그은 경계가 구매 수량에도 선을 긋는다.
1분을 여섯 번 사는 조건
비교 대상을 비공개 저장소와 같은 표준 Linux 2코어 x64 실행기로 고정하자. 현재 해당 요금은 분당 0.006달러다. 작업 전체의 측정 시간이 각각 정확히 10초인 작업 여섯 개를 가정하면, 각 1분씩 총 6분, 0.036달러가 된다.
하나의 작업 전체가 정확히 60초라면 1분, 0.006달러다. 두 경우 모두 실행기 시간의 합은 60초이며 계산 금액 차이는 0.03달러다. 공식 규칙에 가정 시간을 넣은 비교다. 실제 작업을 합치면 준비, 정리, 의존성과 실행 시간이 달라질 수 있으므로 그대로 60초가 된다는 실험 결과를 제시한 것은 아니다.
명령 하나의 시간과 작업 전체 시간도 구분해야 한다. 명령이 10초 걸려도 그 앞뒤 단계는 남아 있다. 작업 실행 시간 보기에서 확인하는 전체 실행 시간과 청구 분수를 출발점으로 삼고, 실행기 종류와 현재 단가, 실제 사용 명세를 연결해야 한다.
유난히 비싼 1초
61초 작업은 2분으로 올라가고 60초 작업은 1분에 머문다. 이 경계에서는 1초를 줄이면 계산 수량이 절반이 된다. 반면 11초를 10초로 줄여도 두 경우 모두 1분이다. 절약한 초와 절약한 돈은 일정한 비율로 움직이지 않는다.
따라서 성능 개선 순위를 초만으로 매기면 구매상의 가치를 놓칠 수 있다. 이미 짧은 작업을 더 짧게 만드는 것보다 정수 분을 조금 넘은 작업을 경계 아래로 줄이는 편이 청구 수량에 더 크게 작용할 때가 있다. 요금에는 계단이 있다.
개발자가 결과를 기다리는 시간은 또 별도다. 여러 작업을 병렬로 실행하면 결과가 빨리 나올 수 있다. 그렇다고 여러 실행기에서 쓴 시간의 합이 그 짧은 대기 시간과 같아지는 것은 아니다. 여기에 작업별 올림까지 더해진다. 결과 도착 시간, 실행기 시간 합계, 청구 분수는 따로 봐야 한다.
포함된 한도도 쓰고 있는 돈이다
현행 과금 설명은 요금제에 포함된 계산 사용량을 금액으로 표시한다. 해당 실행기 사용과 클라우드 샌드박스의 계산·메모리 등 적격 사용이 같은 금액을 소비하며, 적격 종류 사이에 우선순위는 없다. 금액은 청구 주기 시작에 갱신되고, 모두 쓴 뒤의 추가 사용은 과금된다.
그러므로 예시의 0.036달러가 매번 즉시 추가 카드 결제가 되는 것은 아니다. 포함 금액 안에서는 먼저 그 여유를 줄이고, 한도 밖에서는 추가 지출이 된다. 앞 단계에서도 다른 적격 작업에 쓸 수 있던 가치는 사라진다. 새 청구가 보이지 않는다고 설계 선택의 가격도 사라지는 것은 아니다.
공개 저장소의 표준 GitHub 호스팅 실행기는 이 한도와 별개로 무료다. 더 큰 실행기는 공개 저장소에서도 유료다. 처음 고정한 비공개 저장소와 실행기 종류를 벗어나면 단가와 부담 구조부터 다시 맞춰야 한다.
상자가 필요한 작업도 있다
Actions 구성 설명에 따르면 한 작업의 단계들은 같은 실행기에서 돌아간다. 작업마다 별도 실행 환경이 있고, 의존성이 없으면 기본적으로 병렬로 실행된다. 현재 기능은 같은 작업 안의 일부 단계도 동시에 돌릴 수 있게 하므로, 병렬화가 언제나 작업 분할을 요구하는 것은 아니다.
서로 다른 운영체제 검증, 환경 분리, 실패 구분, 빠른 피드백은 별도 작업을 살 이유가 된다. 같은 실행기에서는 단계 사이에 데이터를 전달할 수 있다. 단지 올림을 줄이려고 필요한 테스트를 없애거나 서로 다른 신뢰·권한 경계를 합치면, 비용과 함께 산출물까지 바뀐다.
실제 절감액에는 전체 작업 시간, 실행기 종류, 결과의 동등성, 대기 시간, 재실행과 포함 금액 사용 내역이 필요하다. 비용을 내는 주체는 실행 버튼을 누른 개인이 아니라 저장소 소유자다. 작업을 나누는 사람과 돈을 내는 사람이 떨어져 있을수록 작은 설계 결정이 공짜처럼 보인다. 짧은 작업은 얼마든지 좋다. 그 작업을 감싼 온전한 1분이 무엇을 사 왔는지는 설명할 수 있어야 한다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
전략 서클 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





