Pricing
+500 minutes bonus per active user
What is an active user?¶
An active user is a user that has triggered a Satellite build at least three times during a month. Triggering a build can be done by either performing a Satellite build directly via the earthly CLI, or indirectly, by pushing code to a repository, and that push being picked up by a CI that uses a Earthly Satellites to perform the build.
What is zero-margin compute?¶
Zero-margin compute is a pricing model where the cost of compute is passed on directly to the user, without any profit-generating margin. This allows us, the CI vendor, to better align our incentives with the end-user. Slow builds should not mean more profit for us.
How much does compute cost?¶
The cost of compute is based on the AWS rack price for the instances that are used underneath, plus the cost of cache storage and the cost of network ingress/egress incurred. All of these costs are packaged as an all-inclusive per-minute cost and is then passed on directly to the user, without any profit-generating margin.
linux/amd64
11 GB cache | 5 GB burst disk
1000 min included = 4000 min on xsmall
linux/amd64
22 GB cache | 10 GB burst disk
1000 min included = 2000 min on small
linux/amd64
45 GB cache | 20 GB burst disk
1000 min included = 1000 min on medium
linux/amd64
90 GB cache | 40 GB burst disk
1000 min included = 500 min on large
linux/amd64
180 GB cache | 80 GB burst disk
1000 min included = 250 min on xlarge
linux/arm64
11 GB cache | 5 GB burst disk
1000 min included = 4000 min on xsmall
linux/arm64
22 GB cache | 10 GB burst disk
1000 min included = 2000 min on small
linux/arm64
45 GB cache | 20 GB burst disk
1000 min included = 1000 min on medium
linux/arm64
90 GB cache | 40 GB burst disk
1000 min included = 500 min on large
linux/arm64
180 GB cache | 80 GB burst disk
1000 min included = 250 min on xlarge
How is my usage of Satellites tracked?¶
The usage of Satellites is tracked by monitoring the Satellites for active builds. If there are no active builds,the Satellite goes to sleep automatically after some time. When a Satellite is asleep, it is not billed for compute. When a build is started, the Satellite is woken up automatically and billed for compute.
How many Satellites do I need?¶
The number of Satellites depends on the amount of workload they need to handle. For maximum performance, you can create a different Satellite for each CI pipeline. In some setups, where the CI pipelines are small, that might be an overkill. The best method to determine the number of satellites is to start with one or two, and add more as needed.
Earthly prints information on build startup about how loaded the Satellite is currently. This can be used as a guide to determine if more Satellites are needed.
How are active users tracked?¶
The number of active users is tracked by monitoring who triggered the build. The build may be triggered either directly by the user in their terminal, or indirectly by a CI system. In the latter case, the triggering user is inferred via commit metadata. Each user needs to trigger the build at least three times during a month to be counted as an active user.
At the end of a billing cycle, if the number of paid users is greater than the number of active users, the difference is refunded to the user in the form of statement credit.