As all companies become software companies, continuous delivery (CD) of software may be one of the most significant and productive changes for businesses this decade. The bigger a company is, the more value it can get from CD, but the harder it is to adopt.
During Heavybit’s Wheelhouse event on Continuous Delivery, Nike’s Consumer Technology Officer Chris Satchell discussed the value and challenges of CD at Nike. Satchell leads 1,400 employees across Nike’s Consumer Digital Technology (CDT), which designs, builds and operates all of Nike’s consumer facing technologies, applications and services globally. Nike is a leader in embracing digital technology to serve consumers, with CDT responsible for execution across Nike.com, mobile and web commerce, brick & mortar retail stores, Nike+ applications, and digital brand experiences.
With this much at stake, nine months ago Nike introduced an aggressive roadmap for global continuous delivery. Since then the company has worked on a transition away from a vertical stack in favor of more scalable distributed microservices, it’s committed to a canary deployment model, and it’s moving from a single physical data center to a multi-regional cloud approach.
Here are Satchell and his team’s high level learnings:
Understand technology is still about people
- This is a mindset change more than anything
- CD needs to be an enterprise priority to help accelerate change
- Leadership support is essential; this is about change management
Quality is not a gate, it’s an ongoing operation
- Goal is releasing more often
- Focus on catching problems quickly after released rather than trying to prevent them being released
- Reducing number of roll-backs is not as important as rolling back quickly and effectively
- Focus efforts on monitoring, canary environments, traffic shaping and roll-back tools
Decoupling = Acceleration
- Independent microservices are key
- Architecture must match Dev paradigm: CD on large monolithic stack is less useful
- API versioning & contracts are key; without this, service releases become bound
Focus on constant forward motion rather than fat release versions
- Fat release versions get in the way
- This can be hard for a traditional product management team to adapt to at first
- Aim for better not perfect, especially in big companies
- Move towards each release = one story
- Find smallest unit of useful work to release; this amplifies the throughput benefits
Release management will need to change
- Historically, Release Management’s job is defending the business from bad software
- Make Release Management about process verification: verify the process for release, not the release itself
- CD releases can proceed independently of continuous process auditing by RM team
- Auditing might just be your best friends: CD provides a new level of tracking and visibility; once explained, they embrace it
Huge strides in microservice architecture and CD
approaches are being made in enterprise companies — Nike is just one great example.
Nevertheless, as CD continues to mature, there are still major challenges to implementation for large companies. The challenges Satchell offered at the end of his presentation represent great opportunities for developer companies like our members to build better tools and experiences for enterprise developer teams. Some of those challenges include:
- No global build servers that do everything needed
- It’s hard to automate the canary release process
- Service discovery is an issue, especially for deploying along-side production for canary releases
For more on Heavybit’s Wheelhouse including Michael
Cote’s video on The State of the Enterprise in Continuous Delivery, visit wheelhouse.heavybit.com.