When CircleCI started up back in 2011, continuous integration and continuous deployment (CI/CD) was a pipe dream for a few, and a common practice for almost no one. All of our customers at the time were building on our (now-sunsetted) 1.0 system, and we introduced a container-based pricing plan where customers would pay us a monthly fee for each container they wanted access to. For the past seven years, we’ve been offering that same plan. Today, we are introducing a better option.
Phasing out containers
The container model was easy to plan and account for when we were getting started. Seven years ago, teams used CircleCI for its simplicity, and the container model reflected that. Small team? Get four containers. Large team? Get 40. It was about as easy as it could get.
The container model limits optimization
Over the past few years, we’ve been releasing features to help customers optimize their pipelines on CircleCI: workflows to orchestrate jobs, contexts to manage secrets across projects, and orbs to make config reusable and integrations easier. One thing remained constant: containers. Teams were always limited by the number of containers they bought, and many either had resources sitting idle or developers queued waiting for open machines.
A better option: usage-based CircleCI pricing
Today we are introducing a new, usage-based pricing model. Instead of being limited to a certain number of containers, customers on one of our new paid plans will be able to run as many resources as they want, all at the same time.
How it works
CircleCI’s Performance plan has a base charge per seat ($15 for the first 3 users, and then $15 per additional user), and then scales usage based on a credit package. Customers then spend credits on CircleCI compute to run their jobs. CircleCI offers multiple types of compute (Linux, Windows, macOS, Docker, etc.), and each type of compute costs a given number of credits per minute. For example, the medium Docker compute resource (the default for Docker) costs 10 credits ($0.006) per minute, so a job running for 3 minutes on a medium Docker resource costs 30 credits ($0.018).
The number of credits you burn is only based on the type of compute that you use and the number of minutes that you use it; it doesn’t matter how many jobs you have running at the same time. That means that if you have 10 jobs in your pipeline that can all run independently, they will all run at the same time.
The usage-based plans offers a number of benefits over container-based plans:
Teams using any paid usage plan (Performance or Custom) experience almost no job queuing because they aren’t limited to a certain number of containers. CircleCI scales up the capacity of resources available to your team as demand increases, so developers are not stuck queuing during peak hours.
Linux, Windows, and macOS in the same plan
Customers on our usage plans have access to Linux, Windows, and macOS compute in the same plan. (macOS access is coming soon to the Free tier)
Optimize compute power
Usage-based pricing allows CircleCI to offer a vast array of different compute types with varying specifications. Customers on the Performance plan can specify resource classes in their config file to change the power of the compute resource for an individual job. Run your jobs on a small Docker resource (1 CPU, 2GB RAM), a large macOS resource (8 CPUs, 16GB RAM), a medium Linux GPU resource (32 CPUs, 244GiB RAM, 2 GPUs), or anything in between.
Pay for what you use
Instead of paying for 100 containers to meet peak demand, customers on the Performance plan can scale up to 100 jobs running at the same time during peak hours and down to zero when no one is pushing code. Teams only pay for what they use.
What does this mean for me?
Container-based plans will no longer be available for purchase. If you would like to upgrade your CircleCI plan, you can upgrade your free account to the Performance plan from the account settings page for your organization, or you can talk to our sales team about a custom plan.
If you already pay for containers on CircleCI…
Your current plan will stay exactly as it is. You will still have access to all of the containers that you pay for, and admins will still be able to add and remove containers from the plan settings page for your organization. However, if you downgrade to a free account and want to upgrade again at a later date, you will only be able to sign up for the Performance plan or a custom plan. Additionally, customers on container plans will not have access to features reserved for usage plans such as premium resource classes, Windows builds, and Docker layer caching.
If you currently use CircleCI for free, or you are a new user…
CircleCI’s free tier will now provide each organization 2,500 free credits per week to use for private repositories (see below for information on open source repositories). Organizations on the free plan will continue to have access to our medium Docker compute, but now also have access to our small Linux, medium Windows, and medium macOS compute (coming soon).
If you use CircleCI for an OSS project…
CircleCI will be offering organizations on our free plan 400,000 credits per month to use on medium Docker compute for open source repositories, but they can only be spent on Linux compute. Orgs building OSS Windows projects can still use the 2,500 free credits per week that all projects have access to on those projects, and orgs building OSS macOS projects can request free macOS access by contacting firstname.lastname@example.org.
If you are building a large open source project and need more credits or more concurrency for your project, talk to us about a custom plan for your organization.
Upgrade to Performance
These days, CI/CD isn’t just about automating your builds, it’s about achieving maximum optimization of your software development life cycle so that your developers can spend more time doing what they do best: writing code. CircleCI is introducing the Performance plan because developer productivity shouldn’t be capped by concurrency limits.
Current CircleCI customers on a container plan can upgrade to Performance today by submitting a ticket to our support team. Customers on our free plan can upgrade by visiting the account settings page for their organization. If you want to learn more about the Performance plan, check out our pricing.
Read our Billing FAQ docs or get in touch with our sales team.