Partnering with Microsoft to run Jenkins infrastructure on Azure

    I am pleased to announce that we have partnered with Microsoft to migrate and power the Jenkins project’s infrastructure with Microsoft Azure. The partnership comes at an important time, after the recent launch of Jenkins 2.0, Jenkins users are more readily adopting Pipeline as Code and many other plugins at an increasing rate, elevating the importance of Jenkins infrastructure to the overall success of the project. That strong and continued growth has brought new demands to our infrastructure’s design and implementation, requiring the next step in its evolution. This partnership helps us grow with the rest of the project by unifying our existing infrastructure under one comprehensive, modern and scalable platform.

    In March we discussed the potential partnership in our regularly scheduled project meeting, highlighting some of the infrastructure challenges that we face:

    • Currently we have infrastructure in four different locations, with four different infrastructure providers, each with their own APIs and tools for managing resources, each with varying capabilities and capacities.

    • Project infrastructure is managed by a team of volunteers, operating more than 15 different services and managing a number of additional external services.

    • Our current download/mirror network, while geographically distributed, is relatively primitive and its implementation prevents us from using more modern distribution best practices.

    In essence, five years of tremendous growth for Jenkins has outpaced our organically grown, unnecessarily complex, project infrastructure. Migrating to Azure simplifies and improves our infrastructure in a dramatic way that would not be possible without a comprehensive platform consisting of: compute, CDN, storage and data-store services. Our partnership covers, at minimum, the next three years of the project’s infrastructure needs, giving us a great home for the future.

    Azure also enables a couple of projects that I have long been dreaming of providing to Jenkins users and contributors:

    • End-to-end TLS encrypted distribution of Jenkins packages, plugins and metadata via the Azure CDN.

    • More complete build/test/release support and capacity on ci.jenkins.io for plugin developers using Azure Container Service and generic VMs.

    The Jenkins infrastructure is all open source which means all of our Docker containers, Puppet code and many of our tools are all available on GitHub. Not only can you watch the migration process to Azure as it happens, but I also invite you to participate in making our project’s infrastructure better (join us in the #jenkins-infra channel on Freenode or our mailing list).

    Suffice it to say, I’m very excited about the bright [blue] future for the Jenkins project and the infrastructure that powers it!

    About the Author
    R. Tyler Croy
    R. Tyler Croy

    R. Tyler Croy has been part of the Jenkins project for the past seven years. While avoiding contributing any Java code, Tyler is involved in many of the other aspects of the project which keep it running, such as this website, infrastructure, governance, etc.