With all the talk of containers and Kubernetes, some organizations might believe that deploying these two technologies will help them become cloud-native app-delivery powerhouses overnight. These are certainly powerful, transformative technologies.
But as The Essential Guide to Kubernetes suggests, businesses won’t thrive in a digital-first world until they align their corporate and IT cultures with a new way of working. They need to focus on pipeline-driven automation, employ continuous deployment, and start moving and fixing faster. Without these fundamental skills and mindsets in place, a Kubernetes deployment can add a lot of management complexity with relatively little business gain, according to the guide.
A DevOps approach can play a key role in helping businesses capitalize on new technologies and progress toward cloud-native app delivery. The DevOps approach was introduced a decade ago to address the tension between software developers and IT operators. Developers need the agility and independence to innovate fast. At the same time, IT operators need to minimize risk and maintain reliable, secure and consistent IT processes. The DevOps approach addresses these potentially conflicting priorities with methods and processes that shorten the software development lifecycle. Using fast feedback loops, enterprises can deliver software features, fixes and updates more frequently.
Today, the pressure of digital transformation initiatives and the need to accelerate app delivery are making DevOps as critical as ever. But how does a DevOps approach contribute to cloud-native development? And what does a cloud-native organization look like?
A cloud-native organization treats IT as the core enabler of its business. It uses DevOps methodologies and cloud platforms to facilitate the continuous delivery of custom software for any cloud.
In a cloud-native organization, application development focuses on producing small batches of code and is supported by cross-functional teams. The cloud-native approach is enabled by highly automated cloud platforms that improve the overall quality of application development.
This cloud-native approach is espoused by Michael Coté, staff technologist at VMware. In his book Monolithic Transformation, Coté describes small-batch thinking as a continuous cycle of
The entire process should take at most a week—or better still, a day. Over time, these batches add up to large pieces of software that have each undergone this process. In the long run, the result is more-robust software. By contrast, large-batch approaches, according to Coté, can lead to multiyear software projects that either underwhelm or are consistently late.
A small-batch approach to application development requires new thinking about how IT teams are organized. The traditional organization—building separate teams for software development, product design, product engineering, product management, IT security, architecture and QA—doesn’t provide the agility required for a small-batch approach. When building in small batches, teams need to make product decisions weekly, if not daily. But communications and handoffs between traditional siloed teams take too long.
A better approach, advises Coté, is to build product teams—each dedicated to one application, service or sizable component of the overall system. Product teams combine the deep technical and business strategy knowledge around each application, service or system component. They’re empowered to make key decisions around features and schedules because they understand the business goals and how the decisions will drive the business forward. Often, it is enterprise architects—those at the intersection of business strategy and technical expertise—who define product groups.
Successful digital transformation initiatives are often the ones designed to support very focused and well-articulated business outcomes. Every decision made by product teams should ladder up to a desired business result.
U.S. brick-and-mortar and online retailer DICK’S Sporting Goods exemplifies this approach. Over 10 years, the company had rapidly built out its e-commerce and omnichannel capabilities. But these efforts created an overly complex and disconnected IT enterprise.
So the companythe-12-factors-for-building-cloud-n shifted gears, engaging Pivotal Labs (now VMware Pivotal Labs) to kickstart its digital transformation. DICK’S embarked on a new IT strategy driven by four pillars:
Today, the company is driven by more than 30 product teams. Each team is guided by the IT strategy pillars in their day-to-day work. “We’ve completely shifted our mindset,” says Jason Williams, vice president of customer technology at DICK’S Sporting Goods. “Instead of these large projects, they’re working on just small iterations. We see the value every day. We went from teams deploying monthly—potentially weekly if they were lucky—to days or hours.”
This approach has helped the company increase developer productivity by 40 percent. In addition, DICK’S technology team can create a new production-grade platform environment in 30 minutes. And it now takes less than an hour to fix bugs in production with zero downtime.
Williams told an audience at Pivotal’s SpringOne Conference in 2018 that the key to its success has been empowering developers to code and not have to worry about infrastructure. Organizations can achieve similar success with the modern app products and services provided by the VMware Tanzu portfolio. The portfolio gives developers all of resources they need to be efficient and effective at building modern apps, while strengthening app security and reliability.
The transformation from a traditional on-premises IT organization to a digital-first enterprise that quickly delivers cloud-native apps isn’t easy. Enterprises need to find influencers across the organization to help evangelize the journey and keep the team on track to seize the business opportunities. As the world increasingly runs on software, winning enterprises will be the ones with a culture that embraces small-batch thinking and promotes cross-functional teamwork. ▪