Delivering Modern Apps (and Pizza) with Kubernetes
Five years ago, a group of Google employees turned an internal technology into an open source project. Their goal was to help businesses adopt containers, which they believed was the future of computing. Over a relatively short timeframe, Kubernetes grew from version 1.0 to a major enterprise technology. Today, Kubernetes is known among developers, startups and enterprises alike as the standard for modern, cloud-native applications.
The momentum behind the enterprise adoption of Kubernetes is due in part to the remarkable rise of containers in the enterprise. Even global enterprises are moving fast to explore the benefits and to work through operational challenges.
“Gartner predicts that by 2022, more than 75 percent of global organisations will be running containerised applications in production, which is a significant increase from fewer than 30 percent today.”
– SMARTER WITH GARTNER, 6 BEST PRACTICES FOR CREATING A CONTAINER PLATFORM STRATEGY, APRIL 23, 2019, GARTNER.COM/SMARTERWITHGARTNER/6-BEST-PRACTICES-FOR-CREATING-A-CONTAINER-PLATFORM-STRATEGY
Here’s an example of how an enterprise called Domino’s Pizza thinks through their container strategy and the potential business impact of adopting Kubernetes.
Pizza Delivery, Disrupted
There’s a well-known saying that “every company is a tech company.” Domino’s exemplifies this so well that the world’s largest pizza delivery and carryout chain is known as “a tech company that happens to make pizza.”
The company makes splashy headlines with ambitions to deliver pizzas with driverless cars and drones, launch in-vehicle ordering apps for connected cars and process orders over the phone with artificial intelligence.
All in all, Domino’s currently offers 15 digital ways to order pizza, from web and mobile apps to social media and virtual assistants. More than half of global retail sales come from digital channels.
Domino’s constantly experiments with new technologies to improve the pizza delivery experience, such as self-driving delivery vehicles.
To double sales and add 2,000 U.S. stores by 2025, Domino’s constantly disrupts the pizza-ordering process to ensure nothing disrupts the pizza’s journey to the customer. To continuously and rapidly innovate the customer experience, the Domino’s team must be as fast to experiment with new technologies as it aims to deliver pizzas.
How does Domino’s deliver so many new solutions, features and updates, while it’s hot? By cultivating an experimental culture of innovation.
“Innovative technologies can be leveraged fruitfully if and only if the employees are given freedom by the CIOs to try and inject them in their organisation’s delivery model in the quest to conquer the changing dynamics of customer behaviour,” Kevin Vasconi executive vice president and chief information officer at Domino’s wrote in CIOReview.
Another way is by modernising technologies and processes for developing the applications at the heart of the company’s decade-long pizza turnaround and digital transformation.
Adapting Apps to the Times
Applications play a significant role in the Domino’s business strategy. Domino’s drives sales, minimises costs and creates a competitive advantage through personalised, transparent and convenient application experiences for customers.
“Customers spend more money online than over the phone as they sort through the menu and add items to their basket. All digital orders run through Domino’s custom operating system, which helps franchisees keep transaction costs down and gives Domino’s insights about their customers … Those analytics also helped Domino’s develop new ways to order, including texting a pizza and through Alexa, Google Home, Twitter, Facebook, Slack, Apple Watch, Smart TVs and Ford cars.”
– NATHANIEL MEYERSOHN, RETAIL REPORTER, CNN BUSINESS
Domino’s intends to create new business value and speed their time to market by rewriting core applications to run as microservices.
Breaking Down Apps into Microservices
With a microservice architecture, developers work on applications in pieces (each service is a single function of an application), so it’s easier and faster to build, test and maintain applications. As business needs change, developers can quickly modify and scale these modular-like applications.
Modern applications run as microservices must be continuously integrated and continuously deployed, which can be complex to manage. So, developers often “package” microservices — including all the components to consistently run a service — into simplified, portable and lightweight containers.
Because applications are broken down into separate functions, multiple teams typically develop a single application. Using containers, teams can easily share and access everything needed for a service to co-develop an application across environments and teams.
Technology is so vital to Domino’s that about half of the workforce at headquarters work in software and analytics.
Standardising on a Container Platform
Dominos teams are modernising these core applications in-house with microservices, but each team uses a different platform. To take full advantage of the benefits of microservices and containers, leaders knew they had to standardise on one scalable, secure container platform across the organisation.
Development, operations and security teams at Domino’s jointly explored a variety of solutions. What do developers, operations managers and security leaders agree matter most in a container platform?
Most importantly, the teams need:
- Container Lifecycle Management: Managing so many microservices and containers can be cumbersome. IT wants to automate functions, like patches and upgrades, to make operations and maintenance as simple as possible without downtime.
- Networking and Security: Naturally, the Domino’s IT organisation wants the most robust networking and advanced security capabilities available integrated into their container environments.
- Multi-Cloud Flexibility: In further preparations to adapt to change, IT wants the flexibility to run containerised apps not only on a software-defined data centre today but also potentially on public clouds in the future.
The three teams chose a comprehensive, production-grade Kubernetes distribution platform with enterprise security features and full lifecycle management support. Now, with access to Kubernetes and production support, Domino’s is evaluating the feasibility and level of effort to convert current systems and processes to a container-based architecture.
By standardising on a container platform, Domino’s developers will be able to efficiently co-develop modern apps to improve the customer experience both online and in stores.
Can Containers Really Be This Easy to Manage?
Domino’s continues to test workflows leveraging container-based technology to expedite the application modernisation process and evaluate the impact on business goals. So far, the teams are happy with the results.
“Can it really be this easy?” asks one employee.