A few weeks ago, my colleague Brian Dawson
and I were invited to present on
Scaling Jenkins for
Continuous Delivery with Microsoft Azure in Microsoft’s
Reactor space. Azure is Microsoft’s
public cloud offering and one of the many tools available to Jenkins users for
adding elastic compute capacity, among other things, to their build/test/deploy
infrastructure. While our presentations are applicable to practically
any cloud-based Jenkins environment, Thiago Almeida and Oguz Pastirmaci from
Microsoft were also on-hand and presented some interesting Azure-specific
offerings like
Azure
Container Service with Jenkins.
While we do not have video from the meetup, Brian and I did record
a
session with Thiago and Oguz for Channel9
which covers much of the same content:
To kick-off the meetup we asked attendees a few polling questions and
received very telling responses:
How big is your Development/IT organization?
What is your role?
By show of hands do you practice CI/CD/DevOps/etc?
At what scale (tooling and practice)?
The responses indicated that the majority of attendees were from small to medium
organizations where they practiced Continuous Delivery across multiple teams. A
notable 25% or greater attendees considered themselves "fullstack" or
participating in all of the roles of Developer, QA, and Operations. Interesting
when paired with the high number (~80%) of those who practice CD. This is
likely because modern teams, with mature CD practices, tend to blur the
traditional lines of Developer, QA and Operations. However, In my experience,
while this is often the case for small to medium companies in large
organizations team members tend to fall into the traditional roles, with CD
providing the practice and platform to unify teams across roles.
— Brian Dawson
After gauging the audience, Thiago and Brian reviewed Continuous Delivery (CD)
and implementing it at scale. They highlighted the fact that CD is being rapidly
adopted across teams and organizations, providing the ability: to deliver a demonstrably
higher quality product, shipping more rapidly than before, and to keep team members happier.
However, when organizations fail to properly support CD as they scale, they run
into issues such as: developers acting as administrators at the cost of
productivity, potential lack of security and/or exposure of IP and difficulty in
sharing best practices across teams.
Thiago then highlighted that properly scaling CD practices in the organization
along with the infrastructure itself can alleviate these issues, and discussed
the benefits of scaling CD to on cloud platforms to provide "CD-as-a-Service."
Overall I found the "theory" discussion to be on point, continuous delivery is
not just a technology nor a people problem. Successful organizations scale their
processes and tooling together.
The slides from our respective presentations are linked below:
(Brian) Scaling Jenkins for Continuous Delivery (.pdf)
(Tyler) Scaling Jenkins with Azure (.pdf)
I hope you join us at future
San Francisco
JAM s!