Software-Defined Stores with Kubernetes
The brick-and-mortar store is the new battleground for retailers. They need to deliver outstanding in-store shopping experiences that drive new revenues while maintaining operational efficiencies. With the latest development in technologies like Kubernetes and edge computing, it is possible to deploy Software-defined stores that deliver the agility and ease of use similar to a public cloud.
Why software-defined stores?
The best way to visualize a software-defined store is to think of it as a “mini-cloud” or a “cloudlet”. What if you can deploy and manage all the in-store IT resources – servers, networks, applications, etc. – through a Web browser with a modern UI?
What if your developers have RESTful APIs to automate deployment and lifecycle management of innovative new applications directly to the store? What if your IT administrators are able to remotely standardize and automate network and security configurations in each store?
The promise of a software-defined store is being able to provide the agility, flexibility, and ease of use of a public cloud but leveraging the existing infrastructure footprint that already exists in the store avoiding net new investments.
The software-defined approach turns the current hardware-centric approach on its head. It delivers the following tangible benefits:
- Quickly deliver innovative applications to address changing customer needs
- Avoid expensive hardware investments and refreshes by re-using existing footprint to roll-out new applications
- Reduce operational costs by having automated and centralized remote management capabilities
Why Kubernetes for software-defined stores?
In the last few years, Kubernetes has emerged as the de-facto standard platform for application development, specifically for micro-services development and container orchestration. Kubernetes provides an extremely powerful platform for automation, scalability, and cloud-like experience.
Developer and automation friendly
Application owners and developers find Kubernetes as a key to rapid application development, testing, and automated deployments especially when combined with DevOps workflows and CI/CD toolchains.
Physical infrastructure abstraction
Kubernetes abstracts the underlying infrastructure so developers can deploy instances of their containerized applications to hundreds and thousands of stores, data centers, and public clouds without major re-design efforts. This means that now they don’t need to spend time managing individual applications for every store using a manual cumbersome process.
Vibrant Open-Source Ecosystem
A highly innovative and vibrant ecosystem, providing a full range of services that will be needed for modern cloud-native applications. Deploying Kubernetes day 1 is easy: hundreds of open source tools exist.
The Challenges of Building Software-Defined Stores with Kubernetes
Kubernetes is a great foundation to build software-defined stores, however, it has several gaps when it comes to addressing the unique challenges of managing geo-distributed retail locations with legacy applications and intermittent connectivity.
Need to run existing legacy applications
In addition to bare metal applications, retailers also run lot of in-store applications in VMs, typically using VMWare as the management platform. Kubernetes does not natively orchestrate VMs. Adding Kubernetes to orchestrate containers adds another management stack to run adding to the operational burden and cost. Multiply this by the number of stores that need to be managed, you end up with control plane proliferation and inefficiency of siloed management.
In-Store bare metal is still a pain to manage
Large retailers have thousands of geographically distributed stores. Depending on the type of store, there could be just a couple or dozens of bare-metal servers that need to be provisioned, configured, and managed throughout their lifecycle. In many cases, retailers are running bare-metal workloads in the store – from Windows applications to databases. Kubernetes does not manage servers. Someone needs to set up them manually first to get the advantages of Kubernetes.
Flexibility and agility are impacted when bare metal servers need to be manually provisioned, upgraded, and scaled across 1000s of stores
End-to-end bare-metal orchestration requires a number of steps, most of which are manual:
- Provisioning bare-metal servers that just expose an IPMI interface over a network
- Deploying OS images on them, running applications on them
- Updating those applications based on network demands
- Upgrading software on the servers to keep them up to date with security patches and bug fixes
- Guaranteeing the availability of those servers in case there is an outage
- Re-provisioning servers when there are performance glitches or other issues
Not easy to centrally manage 1000s of stores with intermittent connectivity
It’s quite a challenge to deploy, manage, and upgrade hundreds or thousands of distributed stores that need to be managed with low or no touch, usually with no staff and little access. Given the large distributed scale, traditional data center management processes won’t apply. The edge deployments should support heterogeneity of location, remote management, and autonomy at scale; enable developers; integrate well with public cloud and/or core data centers.
While Kubernetes is great for orchestrating microservices in a cluster, managing thousands of such clusters requires another layer of management and DevOps-style API-driven automation.
With Platform9 unique centrally managed SaaS solution, retailers can modernize their stores without having to rip and replace their existing hardware. They can run their existing legacy application while rolling our new innovative cloud-native AI applications using Kubernetes as the underlying cloud fabric.
Learn how Platform9 solves the unique challenges of creating software-defined stores and managing 1000s of stores at scale by downloading the “Retailers Guide to Software-Defined Stores with Kubernetes”
In this white paper, learn about:
- Examples of innovative in-store use cases
- Challenges with in-store IT management
- Why Software-Defined stores and why Kubernetes
- Challenges of managing 1000s of retail stores with Kubernetes
- A SaaS managed solution
- And more
- Introducing Platform9 : A better way to go cloud native (Going Cloud Native, Part 2) - August 17, 2022
- Keeping up with cloud native is hard (Going Cloud Native, Part 1) - August 17, 2022
- Grade your cloud-native maturity and find out how you can improve - December 13, 2021