Summary: Autodesk sparked a CI/CD transformation using CloudBees CI to establish secure, automated Jenkins pipelines.
Challenge: Support cloud and subscription initiatives with shorter release cycles and more frequent deployments
Solution: Standardize on CloudBees CI, making secure, automated CI/CD pipelines available to a development organization of 4,000 engineers
Daily deployments achieved
Automated, SOC 2 compliant CD established
Positive feedback from developers and management
Productivity increased up to 10X
Product: CloudBees CI
Autodesk is a global leader in 3D design, engineering and entertainment software, committed to helping people imagine, design and make a better world. As the company operates in highly-competitive markets, business success depends on Autodesk delivering cloud-based products on a single platform, adopting subscription-based licensing and digitizing the company.
Autodesk understands the benefits that continuous integration (CI) and continuous delivery (CD) bring to enterprises, including improved financial outcomes through the ability to quickly, efficiently and reliably adapt software. The benefits of CI/CD also include increased engineering productivity, improved software quality and increased employee satisfaction. This insight drove Autodesk’s need for CI/CD and ultimately its DevOps transformation.
"As our business focus turned to the cloud, subscriptions and digitization, CI/CD clearly became a requirement,” says George Swan, Autodesk’s director of engineering solutions.
The Autodesk CI/CD solution involved building a modern set of development and deployment tools, including GitHub, Artifactory and Jenkins. "Jenkins is a well-liked tool in engineering and that’s part of the reason we chose it,” explains Swan. “However, to be successful, we needed support and access to Jenkins expertise in order to handle such a large migration. So, right from the start, we brought in CloudBees.”
Support Cloud, Subscription and Digitization Initiatives with CI/CD
Autodesk is a large organization with 8,500+ employees and roughly 4,000 engineers developing and supporting more than 200 desktop, cloud and mobile applications and services. Many of Autodesk’s largest customers require that Autodesk’s cloud products and platform are SOC 2 compliant.
Swan’s first order of business was to convince executives of the need for CI/CD. Their sponsorship delivered the budget and resources needed to execute the vision to build the solution and support the product teams in their migration. Executive support was also essential throughout the initiative to set the right priorities for the CI/CD migration within the product teams.
The vast variety and number of technologies already in use at Autodesk was daunting. "Every product had its own language, its own tools and its own workflow,” says Swan. "Also, isolated teams would often copy existing code and add their new, incremental functionality rather than `inner-source’ the content with another team. So, it was important that the new solution foster collaboration within engineering, inner-sourcing content and reducing complexity through standardization of our build and deployment infrastructure.”
It was essential to build a modern CI/CD solution that provided a great experience to developers, was self-service and gave product teams the control they needed to customize the pipeline. Stopping there would likely lead to partial adoption, so once the solution was in place, the challenge became providing the support and services needed to succeed in migrating 70% or more of the product teams to this solution. Only then would the migration be considered a success.
Finally, no DevOps transformation is complete without considering the cultural changes and best practice adoption needed within each product team to take full advantage of that automation.
Standardize on CloudBees CI and Jenkins Pipelines to Increase Automation and Compliance
First, Autodesk created an Engineering Solutions team managed by Swan and tasked with modernizing the development and deployment solution based on CI/CD methodologies. The team then built a source code solution using GitHub Enterprise and a binary management solution using Artifactory. Next, Autodesk standardized on CloudBees CI for orchestration and began implementing secure, automated Jenkins Pipelines. These pipelines enabled both continuous integration and more frequent deployments with shorter lead times via continuous delivery.
With a minimally viable solution (MVS) in hand for continuous integration, Autodesk identified 10 product teams to pilot the initial roll-out of CloudBees CI. Swan’s group met weekly with project teams and incorporated their feedback on how to maximize the value of pipelines in their workflow. They also met frequently with the CloudBees team to work through questions and issues that arose. The Engineering Solutions team provided Groovy code examples and wrote on-boarding instructions. This phase relied heavily on providing white-glove support to the pilot teams, such as setting up webhooks and writing and debugging Groovy pipeline code.
After the pilot phase, the remaining Autodesk product teams were categorized into tiers and the Engineering Solutions team began rolling out the new continuous integration solution tier by tier. Migration scalability and supportability now became essential.
"Our goal was to enable self-service onboarding through automation and documentation so as new teams came onboard, they would have enough information and guidance to get up to speed quickly with minimum overhead,” says Swan. "We told new teams that they can use Jenkins as a standard tool and have the flexibility to set up pipelines with the stages they need to support their development processes. That was important because it removed one hurdle in the migration and helped them to adopt the new solution faster.”
Autodesk ultimately offered a CI Pipeline that consisted of four continuous integration sub-pipelines to support the needs of deploying a product and not just software:
CI pipeline for source code that included built-in security and functionality testing
Continuous Learning Content (CLC) pipeline for product learning content (documentation) written using the markdown format
Continuous Localization (CL) pipeline that would automatically localize source code resources or documentation
Continuous Release Note (CRN) pipeline for generating the release notes
Product teams use this CI pipeline by adding the appropriate JenkinsFiles into their GitHub repo and editing it accordingly. The rest is resolved automatically. All content built in CI is published and versioned in Artifactory, ready for CD. Autodesk used Pipeline Shared Libraries (PSL) to simplify the code needed in each product team’s JenkinsFile.
With the CI migration well on its way, Engineering Solutions pivoted to build a CD pipeline solution for cloud services and applications. Autodesk had created its own container-deployment infrastructure on top of AWS services called CloudOS. The challenge for Engineering Solutions was to add a CD pipeline that could fully and automatically deploy content through the development, staging and production environments with SOC 2 compliance.
The CloudOS CD pipeline starts when an engineer manually or automatically kicks it off after CI. The service container is `blue-green’ deployed and tested, and if the tests pass, the promotion request to staging is automatically generated in ServiceNow. If not, the system reverts to the `blue’ state. Once the ticket is approved by the DevOps engineer on the cloud service team, ServiceNow triggers deployment in staging using the same JenkinsFile, application definition (AD) file and containers used in development. Finally, when the existing ticket is reapproved, ServiceNow repeats the final deploy test sequence in production.
Documentation and release notes are deployed using a single JenkinsFile. CD pipeline similarly starts by downloading published content from Artifactory. The pipeline is fully automated given that it picks up the HTML content published to Artifactory and then deploys it to the staging documentation portal, ready for final promotion to production.
"Today, about half of Autodesk’s engineering organization has transitioned to our CI pipeline based on CloudBees CI,” says Swan. "Our CD/CloudOS offering is much newer and currently about 20 services use it today to deploy through production. Another 30 services are onboarding now and we expect to reach more than 100 within the year, including one or more of our major cloud applications.”
Several factors have contributed to the success of CI/CD adoption at Autodesk
Executive support for the initiative and to set priorities
Delivering a great experience for engineers
Marketing, selling, supporting and helping each product team through their transition until the 70% adoption target is met
"We had to really win over each team and make them successful, and we’ve done that,” says Swan. "We’re always marketing and selling the solutions, our support and the results that other teams are achieving and can continue achieving with CloudBees,” says Swan.
Now that the pipeline automation is available to cloud teams, Swan and his group are accelerating adoption of best practices. Swan’s group built a homegrown dashboard that tracks metrics such as best practice adoption, lead time and release frequency
This is used to help teams understand their CD performance and as a marketing tool to demonstrate what is possible. Going forward, the team anticipates supplementing or replacing this dashboard with CloudBees DevOptics for benchmarking DevOps performance across delivery pipelines.
In the meantime, Swan and his team are celebrating their success while also planning for the future. "I am proud that we can now show results,” he says. "We now see release frequencies daily. We’re seeing lead times in hours. This is what I always believed Autodesk is capable of doing, and now we can show it.”
Daily deployments achieved
"The majority of our teams that are using CloudBees CI are deploying multiple times per week with lead times between two and four hours. Some can deploy multiple times a day with lead times close to one hour,” says Swan.
Automated, SOC 2 compliant CD Established
"The CD and CloudOS solution we created with CloudBees CI is fully automated with the exception of two approvals,” says Swan. "It is also SOC 2 compliant. This is huge for our teams because getting SOC 2 approval on their own can be very difficult and time-consuming. Using CD and our CloudOS deployment infrastructure advances teams most of the way — for free.”
Positive feedback from developers and management
"The development teams are very happy with the CD infrastructure we set up with CloudBees CI and our CloudOS. I believe this will help with recruitment and retention of engineers,” says Swan. "When we showed our executives what we are doing with CD and automation, they really understood the value it brings to our business.”
Productivity increased up to 10X
"There is a team within Autodesk that saw a 10X improvement in productivity when they adopted CI/CD. If we can replicate even a fraction of this across the engineering organization, that will have an incredible impact,” says Swan.