Retisio

Design Principles of a Furture Proof Commerce Platform

All about speed, scale, and resilience

By Preetham Shetty
Published on October 29, 2020

The retail world is going through a transformation, and many factors are driving these changes. We are in the midst of the most intense period of technical and digital proliferation in the history of global commerce.

It has become imperative for retailers and brands to leverage the knowledge of the business ecosystem to harness the power of digital technologies. Businesses need to accelerate the move to the cloud as a foundation for digital transformation to build resilience, new experiences, product innovation, and boost productivity.

“Transformation is a race without a finish line.”

With the Digital-First mindset, there is a good opportunity to use the data smartly. We can ensure that our customer touchpoints are intentional, mindful, and impactful. Smart usage of Artificial Intelligence/Machine Learning (AI/ML) delivers personalization that will aid rapid growth in the business. The digital retailing space needs disruptive technologies to accelerate the digitization programs as the core systems have not kept pace with the advancement of technology and innovations.

Old Monolithic Commerce Platforms are Dying

Innovation has changed the current technology landscape. Earlier, technology was a support function. Innovation was required for growth. Running on yesterday's data was good enough, But today, technology is the business. Innovation is imperative for survival. Relying on yesterday's data only leads to failure.

Most of the leading commerce platforms have been built 20+ years ago, when the need to speed, cloud, near real-time data, and superior customer experience was not a priority. These legacy platforms have evolved today into slow, inflexible, expensive, and heavy systems that do not adapt well to the modern needs of retailers. We need a modern commerce platform that can empower retailers to innovate for the next 20+ years.

"Modern systems need a real-time data environment."

These are just a few of the reasons why legacy commerce platforms are reaching their end of life.

slow
expensive
inflexible
heavy
unscalable
data-silos

Enterprises Need a Modern Digital Commerce Platform

With a digital-first mindset and smart use of AI/ML there is an opportunity for the enterprises to achieve the following business goals.

eliminate-experience-gaps
savings-cost-reducion
boost-productivity
improve-operational-efficiency
personalize-experiences
understand-user-behavior

Next-Generation Commerce Capabilities

The digital retailing space needs disruptive technologies to keep pace with advancements in modern retail demands. These are a few next-generation capabilities that will help you build a business that caters to customer expectations.

Blog_cloud

Cloud Native

Cloud adoption has reached a tipping point

Blog_aimlpowered

AI/ML Powered

AI/ML/Data Science leading to Automation

Blog_microservices

Microservices Based

Microservices are modernising the monolith

Blog_experience

Experience Driven

Experience-first, Mobile- first, API-first, and Headless experience

Blog_realtime

Real Time

Digital Transformation towards the real-time enterprise using Data Mesh

Blog_personalization

Personalization

Personalization of experiences using Empowered Data Intelligence

Domain-driven Design

domain-driven-design

Domain-driven design is an architectural approach to build large systems that are continuously evolving. The main goal of DDD is to break large domains into smaller systems. It is a way of interactively learning about the business problem to build a solution.

" Domain-Driven Design is the way I think
software should be developed "
- Vaughn Vernon,
DDD Expert

Designed to Simplify Complexity

Domain-driven design (DDD) is an architectural approach to build large systems that are continuously evolving. The key goal of DDD is to break large domains into smaller systems. It is a way of interactively learning about the business problem to build a solution.

“The focus of developing software shouldn’t primarily be about TECHNOLOGY, it should be about BUSINESS or whatever activity we are trying to assist with the software. i.e THE DOMAIN.”
simpligycomplexity

Designed to Handle Uncertainty

handleuncertainty

Modern applications must be designed to handle uncertainty regarding the elasticity of infrastructure, variability of business priorities, unpredictability of technology advancements, variability of consumer behavior, frequent changes to scope and requirements, and complexity of user experiences.

Modern applications must be designed to handle uncertainty regarding the elasticity of infrastructure, variability of business priorities, unpredictability of technology advancements, variability of consumer behavior, frequent changes to scope and requirements, and complexity of user experiences. Domain-driven Design can aid in managing uncertainty by using techniques that model the UNCERTAINTY into the domain.

ARC has taken a completely domain-driven approach to build decoupled microservices. It helps you build systems that can stand up to complex changes and extend easily to handle uncertainty or new business functionalities.

Designed for Scale

microservices

A variety of competing technologies claim to offer a fast path to microservices. However, decomposing a traditional application into individual services does not guarantee that you will realize the desired benefits.

Reactive Microservices run in a distributed environment where network, hardware, and software failures are everyday occurrences. A microservice system can succeed initially, only to fail under increased load or unexpected spikes.

For systems with demanding requirements, RETISIO Inc recommends Reactive Principles as the best way to design a system that copes well with uncertainty and complexity.

Reactive Principles, as defined in the Reactive Manifesto, include the properties of being responsive, resilient, elastic, and message-driven.

Traditional Microservices vs. Reactive Microservices

traditional-reactive

Designed for Speed & Resilience

System components in ARC are loosely coupled, isolated with location transparency. Reduced dependencies between components enable feature teams to work autonomously and deliver continuously. Data is distributed and eventually consistent as components of different natures demand different types of data stores.

ARC has well designed resilient microservices that are extensible. Features can be added, enhanced, and deployed without impacting the rest of the system. Cloud-native architecture deployed across nodes ensures the load is balanced, without a single point of failure. Because of distributed cluster architecture, business is Protected from the risk of expensive downtime.

Many new-age features like real-time analytics, ML based recommendation, and IoT integration require the capability of stream processing of data. Unlike “big data” from a decade ago, where data scientists batch process data warehouses to find insights and then recommend ways to capture value, modern fast data applications have real-time big data built-in.

speedresilience

Designed for Elasticity & Extendibility

elasticity-extendability

ARC can perform at peak with no downtime and handle high load with minimum infrastructure. Systems can scale up and down based on the load easily. The following are a few benefits derived from reactive microservices.

  • Independent and Autonomous domain-driven systems make the microservices easier to extend.
  • Scalable & Available systems provide a better customer experience.
  • Event-based design lets you track your customer behavior in real-time as there is less noise in the metric and more facts.
  • Real-time use cases are dominant nowadays. Reactive streams make it easier to deliver delightful and personalized search results and recommendations.
  • The Elastic nature of reactive systems enables businesses to save costs from a reduced infrastructure footprint.
  • Auto-provisioning & Continuous Delivery through DevOps.
“Your new technology investment should be future proof for at least 20 years.”
Blog_cloud

Cloud-native & Distributed Systems

ARC is built on the latest cloud-enabled technology stack, designed to run in a distributed environment where network, hardware, and software failures are otherwise everyday occurrences.

Blog_aimlpowered

AI/ML, Data-driven Approach

ARC has a strong Experience-driven approach in place to help customers successfully transform their legacy commerce experience offerings into modern headless and responsive mobile solutions.

Blog_microservices

Reactive Systems – Microservices-first

ARC is built on the philosophy of Reactive System with the promise of Resilience and Elasticity. Built on an Actor based concurrency model, ARC delivers high performance at low infrastructure cost.

Blog_experience

Domain-driven Design

ARC is completely domain-driven, which makes an extension of new business functionalities easy and keeps the code easily understandable and maintainable.

Blog_realtime

API-first, Headless Approach

ARC can do wonders for the development speed, time-to-market, and continuous delivery for large organizations. It can provide an eminent foundation for building elastic and resilient systems that can take full advantage of the cloud.

Blog_personalization

Personalized Customer Experience

ARC business tools are designed to deliver delightful customer experiences across the user journey.

ARC: A Future Proof Commerce Platform

ARC by RETISIO Inc is a next-generation reactive, domain-driven, headless, cloud-native solution with a set of digital commerce microservices, supporting frameworks, products, services, and business tools. It is a future proof platform for retail brands to accelerate the move to the cloud and build new experiences that address the needs of today’s digital consumers and modern retailers.

ARC is a set of microservices, supporting frameworks, and business tools that fulfill the requirements to address the custom needs of today’s eCommerce. ARC comes with a standard set of functionalities in-built and can be easily extended and enhanced to build the unique use cases of the customer.

ARC built on the philosophy of the Reactive System (www.reactivemanifesto.org) with the promise of Resilience and Elasticity. Built on an Actor based concurrency model, ARC delivers high performance at low infrastructure cost. ARC is completely domain-driven, which makes an extension of new business functionalities easy and keeps the code easily understandable and maintainable.

ARC supports both REST and WebSocket based services that can be leveraged for the appropriate use case.

ARC is designed with Event Sourcing (ES) and Command Query Request Segregation (CQRS) patterns that are highly suitable for modeling complex domains. These patterns provide better scalability and performance.

ARC code comes with a solid DevOps & telemetry setup that takes care of deployment, maintenance, and monitoring of the services. Containerized deployment and orchestration of the containers is the central theme of the DevOps setup.

About the Author

author-user--image

Preetham Sheetty

Strategist on all things Digital. A technologist who covers many areas like Digital Strategy, Product Development, Business Enablement - Preetham brings 15+ years of leadership experience in building complex digital commerce solutions for large enterprise retailers like Sam’s Club, Wal-Mart, Verizon, Kohl’s MetroPCS, Maritz.

Preetham’s forte is in Bridging gaps in strategy, domain & technology, and setting up a framework for new products and innovation, which has enabled him to provide Product leadership at RETISIO Inc.

Get in touch with us

We are eager to discuss your business needs and answer any questions you may have. Enter your details and we will get back to you shortly.


+1 888-627-7657

sales@retisio.com