Cloud Scale CI with Jenkins

April 27, 2012 § Leave a comment

I’m sitting on the tarmac at JFK, thinking about the next time I’ll be in town. The sponsors of Jenkins User Confence NYC have invited me to speak on Continuous Integration in the Cloud. This talk will be similar to what we shared in Armenia, but with a crowd of hard-core Jenkins hackers, I think we’ll enjoy diving into the weeds a little more.
 
One of the first things we did after forming a tiger team to tackle the CI problem, was evaluate the vendors in the space both commercial and open-source. We had been using TeamCity from Jetbrains because of its deep integration with IntelliJ (we are a java shop). TeamCity has a lot going for it: a slick UI, great claim/blame functionality, and a built in remote run feature which essentially tests every diff against a shadow branch before merging to mainline. Jenkins was adopted in our QA organization, but was used primarily as a job automation system. It wasn’t connected to our version control, and was running on a single virtual machine.
Comparing these two tools was tough. We could keep what we had been using and begin the process of building out integrations to stand up our vision of a cloud-scale CI pipeline, or we could switch to Jenkins, absorb the crappy UI, and leverage the efforts of the community to give us a head start.
In the end, we went with Jenkins, and I’m glad we did. Yes, we ended up having to write a few plugins ourselves, but the initial hacking required to connect with our chosen cloud vendor, Amazon EC2, both it’s single instance APIs and cloud formation endpoints, was largely finished by folks in the community. Jenkins still stinks at visualization, but we have created views which have increased adoption in our org, and which we are now sharing with the community.
I’m looking forward to joining the Jenkins guys at their conference in NYC, stay tuned for slides, photos, and other content from the show on May 17th!

On the Continuous Integration world tour

April 26, 2012 § Leave a comment

We’ve finished up our visit to AtTask’s offices in Armenia. It will be a long flight home, but it was great to get some face time with the managers and leads there. As part of this trip, I spoke at the American University of Yerevan to a group of students, project managers, and engineers. The talk was on Massively Continuous Integration, the practice of applying scaling principles to your CI system using the Cloud. Definitely the most purple room in which I’ve spoken.

Massively Continuous Integration: From 3 days to 30 minutes

Honestly, the team did a great job putting on the whole event. We had over 100 people there, with lots of participation both before and after. CI principles aren’t as commonly adopted as I had expected.

The engineering program at this university provides an accredited masters degree. Many of the engineers in our Armenian office are graduates, and we’re looking into the possibility of beginning an internship program as well. I’ve found that with the right mentoring, the delta on productivity between fresh engineers and those with a decade or more of experience can be quite small. It will be interesting to see what can be accomplished in Yerevan in the months ahead.

The obligatory blog kick-off

April 26, 2012 § Leave a comment

Well, it’s official. I’m finally leaving the ranks of the un-contributing masses and joining the web 2.0 bandwagon. I thought it was a fad, “this blog thing is overrated.” Unfortunately for me, the world of technology moves at blazing speed, and like other professionals in the software world, there’s just too much going on not to talk about it.

I currently work as a Manager of Development for AtTask Inc. My intent is to share my experiences managing the process, organization, and technology as they unfold. I’ll be obfuscating personal details, but I hope to provide a clear window into the world of the modern software team, and in the process perhaps we can discover together the next “big” thing in the software delivery world. We are an agile company, building a project management tool, so I expect that my commentary will tend to focus on the process of developing software more regularly than the intricacies of different coding techniques.

Right now, we’re in the midst of a massive change: from delivering our product once per month to a Continuous Delivery model. We’re web software after all… why not take advantage of our delivery platform and ship more value to our customers more often? I’m traveling around the world speaking on these topics: last week in London at SeConf 2012, this week in Yerevan, and next week in Atlanta at The Scrum Gathering. I’ll certainly share these events with you here on the blog, as well as through my twitter feed at @dowdlemj, and on linkedin.com/in/jessedowdle.

If you’ve made it this far, hopefully you’ll come back soon, as I begin to pen my musings on this new-fangled world wide web…thing.