How Much Does CI Development in the Cloud Cost? Less Than You Think!
Written by: Heidi Gilmore
1 min read
Developing in the cloud is now so cost effective, you will try to justify NOT developing in the cloud! We have some new tools to help you estimate how much it would cost you to develop on the CloudBees PaaS. But first, some background...
To run Jenkins, you need to allocate a machine to be what is called a "Master"; this Master contains your build job definitions as well as the Jenkins job runtime scheduler - which runs at all times. While you can run build jobs on this Master, its capacity is limited and you will typically have to allocate additional computing capacity to the Master by attaching to it additional build machines - also known as "Slaves". A single Master can have tens of Slaves attached to it.
The efficient technology we have developed for the CloudBees Platform allows us to partition and isolate EC2 resources for improved efficiency. Our underlying unit of compute power consumed by any application, including our own services like Jenkins, is an "app cell." Since our processing units are much more fine-grained than Amazon's, we can make use of our own pool more efficiently than just the m1.* levels available to you from Amazon. Consequently, the CloudBees Platform will allocate just enough capacity to run your Jenkins Master, making it a much more efficient setup than on an m1.small setup, for example. Yet, no build jobs will ever run on this Master; your build job will execute on dynamically allocated dedicated machines of your requested size (m1.small, m1.large), and will do so only for the duration of your build, by the minute. Furthermore, if you need to perform several builds in parallel, multiple machines will be dynamically allocated to your Master - but only for the duration of those builds. For example, running five ten-minute builds sequentially or in parallel will lead to the exact same cost on DEV@cloud! Consequently, with DEV@cloud, you end-up paying for a minimal fixed monthly fee for your Jenkins Master as well as for the exact number of build-minutes you've consumed (and only those in excess of your monthly quota).
The efficient technology we have developed for the CloudBees Platform allows us to partition and isolate EC2 resources for improved efficiency. Our underlying unit of compute power consumed by any application, including our own services like Jenkins, is an "app cell." Since our processing units are much more fine-grained than Amazon's, we can make use of our own pool more efficiently than just the m1.* levels available to you from Amazon. Consequently, the CloudBees Platform will allocate just enough capacity to run your Jenkins Master, making it a much more efficient setup than on an m1.small setup, for example. Yet, no build jobs will ever run on this Master; your build job will execute on dynamically allocated dedicated machines of your requested size (m1.small, m1.large), and will do so only for the duration of your build, by the minute. Furthermore, if you need to perform several builds in parallel, multiple machines will be dynamically allocated to your Master - but only for the duration of those builds. For example, running five ten-minute builds sequentially or in parallel will lead to the exact same cost on DEV@cloud! Consequently, with DEV@cloud, you end-up paying for a minimal fixed monthly fee for your Jenkins Master as well as for the exact number of build-minutes you've consumed (and only those in excess of your monthly quota).
If you were to do this yourself on Amazon EC2, you would have to decide how many machines of what size to allocate of the different EC2 machine sizes -- both for your Master as well as for your Slaves -- and you'd have to account for concurrent build Slaves upfront by statically allocating the number of machines your want to your Master. Alternatively, you could handle the dynamic provisioning and de-provisioning yourself, as well as manage the Jenkins workspace state.
Thus, not even accounting for the labor associated with managing the EC2 resources directly, as well as the Jenkins setup, CloudBees is able to offer a lower price for its development services like Jenkins than you would be able to achieve yourself using Amazon directly.
How much lower? Check it out - go here and calculate !
Onward,
Sacha
Sacha Labourey, CEO
Sacha Labourey, CEO
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.