Don’t sell your soul to Amazon: Cloud applications and architectures for retail

Don’t sell your soul to Amazon: Cloud applications and architectures for retail

This is Part 2 of a three-part series focusing on retail technology. Part 1: Tech Trends & Challenges in the Retail Industry

If you’re a retail business, your current reality may best be described as “challenging” — even as a flood of pent up post-pandemic consumer spending is unleashed. Thanks to Amazon, customers expect abundant product availability, personalized recommendations, competitive pricing, and fast delivery. Mega retailers like Target and Walmart are fighting back by offering expanded online shopping, in-store shopping services with curbside pickup, and local delivery options — some even same-day.

Great for them, but how can all the other retailers begin to compete against these Goliaths? Sign on to sell products through their marketplaces? This “if you can’t beat them, join them” tactic may be okay for some sellers, especially smaller ones, because when you join Amazon’s selling platform you enjoy the advantages of Amazon’s tech. Even so, most retailers would rather remain independent, thanks all the same. Being independent, though, means providing your own infrastructure — one that can manage data and transactions at any scale while supporting modern application development. Here’s the good news: the cloud is on your side. 

A wide spectrum of cloud platforms and services are now available to help retailers of every size. All players can now access modern infrastructure to meet fast-changing consumer preferences, shifting demographics, and the holy grail of omnichannel customer experience. Once available only to retail giants with in-house tech teams, the ability to create applications that are highly scalable, available, and able to meet the always-on, buy-anywhere expectations of today’s customers is now in the hands of everyday retailers.  

The only catch? The cloud is distributed by nature. Your application architecture needs to match. 

3 steps to retail application architecture for the cloud

Cloud services have become a central part of retail business processes due to the ease of use and the flexibility they offer. Migrating applications to the cloud will cut capital expenditures for on-premises infrastructure and offload many management tasks. It does not, however, guarantee the agility and scalability many are hoping to find there. What goes wrong?

Digital native retailers that began from a cloud-first approach are able to take advantage of the cloud’s ability to scale as needed. But traditional retailers are frequently burdened by multiple, disjointed, and hard-to-abandon legacy systems and databases. The temptation when migrating to the cloud is to simply “lift and shift” these existing systems to simply run in the cloud because it is so painful to refactor or replace them. The problem being is that these legacy applications and databases are not built for the cloud’s distributed architecture. So scalability gets killed in two different ways. First, literally, by cumbersome legacy systems that weren’t built to function in the distributed world of the cloud and simply are not flexible enough to perform at scale. And second, functionally, by draining developer attention and resources to deal with the problems this causes instead of iterating new features and functionalities for customers. 

This is why a critical aspect of moving to cloud-native architecture is developing applications that reflect the cloud’s modular and distributed architecture. For a majority of companies this means re-architecting their existing applications. Namely, into containerized microservices orchestrated by Kubernetes to integrate different services, applications, and data sources that are exposed, shared, and accessed via APIs.

But what does the path from monolith to microservices look like?

  1. Evolve your retail application architecture

Many retailers grew their digital capabilities and online existences organically, to suit different demands at different times. This means applications for inventory, point of sale and customer relation management, as well as mobile, and online apps, are often developed, managed and updated independently from each other. Unfortunately, fragmenting different functions into legacy silos this way creates a hodge-podge architecture that is difficult to reconcile — much less modernize for the cloud. 

It also creates a strategic challenge for retail businesses in particular: the complex challenges for managing customer data across so many silos. Picking up the digital breadcrumbs that customers leave behind, then slicing and dicing that data to gain insight into customer behavior across channels, becomes extremely difficult. Delivering customer-demanded features that depend on this data, like personalized recommendations, becomes even more so. 

Evolving to a microservices architecture allows retailers to integrate their retail sales platforms (in-store, online, and hybrid mobile order/curbside pickup services) with a set of centralized business processes. Imagine turning functions like a shopping cart, pricing, promotions, and payment transactions into reusable components. Deploying standardized microservices across platforms guarantees consistent functionality channel to channel. Deploying a new feature, say for example a customer loyalty program or an additional payment option, is instantly available across all channels. As an extra benefit, it helps simplify application management plus reduce infrastructure and engineering costs, all while guaranteeing elastic scalability on demand.

  1. Assemble your service vendors

It makes sense why so many retailers are re-architecting their legacy technologies into microservices applications: to drive consistent shopper experiences, keep pace with competitors, and of course reduce operating costs. A cloud-based microservices architecture lets retailers focus on managing customers and marketing, supply chain and logistics, productivity and profitability — instead of wrestling with technology.

With a microservices architecture in place, retailers get to choose from a robust marketplace of cloud-based services, whether from their cloud platform provider or third party vendors. The great thing about using services (aside from not reinventing the wheel when competitive, high-quality vendor solutions already exist)is that the provider ensures security, availability and performance. Infrastructure and platform as a service (Amazon Web Services, Google Cloud, etc) are fundamental to retail in the cloud, and managed options are powerful and plentiful. Software as a service allows retailers to choose component applications, everything from business software to retail management systems to virtual infrastructure management tools, all delivered and operated via the web. Particularly useful is containers-as-a-service, which allows retail software developers and IT departments to upload, organize, run, scale, manage and stop containers (which are the vehicles for delivering your microservices-based application). 

All cloud services arrive pre-built and ready to wire up with any other services, so developers can get to work more or less instantly. 

  1. Don’t forget the database 

The third essential pillar of retail cloud architecture is the database. Many retailer organizations  use different databases for different workloads. For example, they might be using Cassandra for fast reads on transactional data, and using Oracle as their primary system of record — which requires workarounds (such as asynchronous replication) to get these systems to even talk to one another. This degrades customer experiences and demands time from development teams that could instead be spent delivering new features. 

At the center of their cloud infrastructure, retailers require a resilient and scalable database so that they can deliver an always-on, fast and available experience. This requires a distributed database built for the cloud, not a monolithic legacy database with some cloud functionality bolted on top. Traffic spikes during peak shopping periods (such as Black Friday) show the limitations of traditional databases, which simply can’t handle the high volume of transactions. The unhappy result is high latency, inconsistent data, and downtime/outages, causing a significant loss of revenue and unhappy customers. The happy solution?  Adopting the newest breed of database as a service: Managed distributed SQL with CockroachDB

Let’s look at the challenges one retailer faced, and then solved, with a distributed SQL database. Bose, the high-end audio equipment design company, needed a resilient, scalable database to support its series of cloud-connected products. A major challenge was finding a cost-effective, scalable across-the-globe data store that is easy for microservice developers to work with.

Like many retailers, Bose has high transaction loads. And with customers all around the world, it needed a database that could scale to multiple different regions and remain compliant with local privacy regulations. As demand grew for its connected products, the infrastructure had to change to support it. The company needed to provide a mechanism for developers to rapidly prototype and deploy services all the way to production. It selected CockroachDB as the database that underpins its platform-as-a-service for its cloud-connected products.  

Final step: Unlocking new opportunities

Retailers are laser-focused on maintaining current customers, and acquiring new ones. They are also realizing the importance of achieving consistent transactions at scale so they can deliver the ever-improving customer experience necessary to keep them. A cloud native distributed SQL database like CockroachDB offers consistency, reliability, performance and scale that are simply built in.

Another powerful feature of distributed SQL database: easy access to the transaction data for use with other tools like, for example, a customer engagement hub (CEH). A CEH ties together multiple systems to enable personalized, contextual customer engagement, through a human or artificial agent (think: chatbot) across all interaction channels. It connects all departments to allow for the synchronization of marketing, sales and customer service processes, and can also include applying artificial intelligence to add predictive and real-time capabilities. The key to success with such hubs is to be able to organize data from distributed sources and compile it into a 360-degree customer profile. A cloud-native architecture coupled with a distributed SQL database helps retailers integrate data and apps, and supports mixing in any technologies (e.g., AI, IoT) across every conceivable device platform.

In addition to delighting customers and integrating systems, a cloud-native approach empowers retailers to innovate by creating brand new business models. Entire retail market segments have been energized by such capabilities: take a look at the previously stagnant at-home personal fitness market. Something people once consumed disconnected and alone while using analog equipment has now become one of the hottest areas in tech. Almost every fitness retailer now has an app. (Which of course often creates the need to integrate that app with a range of devices and platforms, like fitness watches, but remember: microservices architecture greatly simplifies this). But some fitness retailers have applied technology to fundamentally change how people pursue fitness at home. 

Case in point: the way that both Mirror and Peloton have moved the consumption of tech-enabled personal fitness to revolutionary new levels. Five years ago, no one would have imagined that a company selling a mirror would be able to pair that with subscriptions to live, on-demand classes and a full line of accessories. Now, the popularity of Mirror devices is off the charts. Similarly, even before COVID closed many gyms, Peloton’s at-home bike membership program had more customers and a higher retention rate than some of the leading fitness center chains.

The apps that power these subscription services are highly personalized and constantly updated. And they depend on fast, reliable data. 

Access to cloud computing and distributed databases has democratized retail. Small and middle-sized retailers now have access to tools and technology that once were the sole domain of the biggest billion-dollar operators. And even as the playing field has been leveled, it has grown wider. Ecommerce has not replaced physical stores, the way retailers once feared might be inevitable. Instead, it’s additive. Companies like Amazon are opening brick and mortar stores, while brick and mortar stores are offering online shopping with convenient curbside pickup. Customers shop both channels seamlessly. 

And the cloud helps retailers keep track of it all — transactions, inventory, and customer experience — so they can deliver what customers want, however and whenever and wherever they want it.

About the author

Michelle Gienow github link linkedin link

Michelle Gienow is a recovering journalist turned front end developer based in Baltimore, MD. She creates content around her central obsessions: Jamstack, distributed architecture and developing a cloud native mindset.

Keep Reading

CockroachDB 1.0 is production-ready

Today, we are pleased to announce the release of CockroachDB 1.0, the first open source, cloud-native SQL …

Read more
What cloud-first infrastructure looks like for banks

Innovative fintech organizations built from the ground up to be agile, data-driven, and cloud-native are driving …

Read more
How retailers can achieve 2021 revenue resolutions with CockroachDB

It’s 2021 and the in-store shopping experience is still on pause with many stores shutting their doors forever. Online …

Read more