Cloud Technology - Architecture
Author:
Fluent Commerce
Changed on:
5 Mar 2024
Overview
The Fluent platform leverages advanced cloud technologies to provide a seamless, scalable, cost-effective solution. Designed natively for the cloud, it offers users:
- Automatic scaling to efficiently manage fluctuating demand without manual intervention.
- Cost savings through optimized resource utilization and infrastructure sharing.
- Continuous operations with updates and upgrades that do not disrupt retailer activities.
Key points
- Scalability: The Fluent platform is designed to automatically scale resources based on demand, ensuring cost efficiency and the ability to handle unexpected traffic spikes.
- Security: Adhering to industry best practices, the platform secures data with SSL/TLS encryption and provides isolated databases for each account to prevent data leaks.
- Zero-Downtime Deployment: Updates and maintenance are managed without downtime through automated blue-green deployments, enhancing system reliability and reducing human error.
- Regional Considerations: Account setup is influenced by performance benefits and legal requirements, with multiple regions and environments available to meet diverse needs.
Principles
The Fluent Order Management System is founded upon the following principles:
Scale
Consumer demand is not always predictable. Therefore it's essential to build a system that accommodates consumer demands needs to be dynamic enough to grow to meet any unexpected peaks automatically. At the same time, the cost of running at maximum capacity during the natural periods of lower demand needs to be optimized.
Every component of the Fluent Order Management System is built to independently scale up or down within minutes to create a balance between supporting the peaks and maximizing value. This process is automated removing the burden of capacity planning and demand forecasting and ensuring that the Fluent Orchestration Cloud can support it.
Security
Fluent adheres to industry best-practices when it comes to securing sensitive information and services. All web traffic is secured via SSL/TLS, and customer and order data is encrypted.
It's also worth noting that, while some infrastructure can be shared between clients, each account has an isolated database to avoid a possibility of data leakage between accounts.
Version-less Software
Due to the nature of cloud-native software, accounts on the Fluent Order Management System always run the latest version of the software. Features are developed and launched in a backward-compatible way to remove the burden of long upgrade cycles while at the same time allowing the additional functionality to be used quickly.
Depending on the nature of the feature, some will be available immediately, and others will be opt-in, but every account gains the benefit of any performance or security updates as they're released.
Zero-Downtime
Except in particularly rare cases, the Fluent Order Management System is managed and updated without scheduled maintenance windows. This is another benefit of being cloud-native and is achieved with blue-green deployments.
Rather than the traditional method of taking the servers offline, installing the new version and restarting the application, cloud technology has the flexibility to bring up a new copy of the application stack side-by-side with the currently running environment. The new stack passes an automated suite of tests before being approved. After the approval the traffic is seamlessly redirected to the new version. Meanwhile, the old stack stays running for a short period as an instant fallback in case any issues arise.
The process is automated which reduces the potential for human error during deployment. Consistency leads to more confidence to reduce the time between releases so that new features can be delivered frequently.
Fluent Architecture
Regions
In the Fluent Order Management System, a region represents the geographical area in which an account can be set up. There are several established regions such as Australia, the United States, and Europe. More regions can added on demand.
Although technically an account could be set up in any region, there are several factors to consider when choosing which reason is the best fit for a given account:
- Performance Benefits: A region that is closer to the client loads faster than a region that's further away. This includes Console and ServicePoint, customer data, and perhaps most significantly widgets like the store locator.
- Legal Requirements: Some jurisdictions have specific rules around data retention that may limit regions that are appropriate for a given retailer. For example, the GDPR regulations in Europe.
Environments
An environment is a single installation of the Fluent platform. Within each region, there are several environments set up to cater for different requirements.
Production
Production is the live environment where the real orders and inventory are managed.
Sandbox
Sandbox is a production-like environment that allows Fluent users to try scenarios without affecting production and active orders.
Sandbox is often used for:
- trying new Fluent platform features before enabling them in production.
- testing updated account configurations.
- implementing and testing new workflows, integration applications, processes, and plugins.
Production-like means that, while sandbox accounts have different data and configurations, the environment itself runs the same release version as production and behaves in the same way. This is important to give users confidence that the changes they've applied in sandbox are replicable in production at go-live.
Types of Environment
Once a region is selected, an account is set up either in the shared environments in that region (known as multi-tenant) or in a new set of environments.
MULTI-TENANT
Each region has default production and sandbox environments. These are called multi-tenant environments because multiple accounts share the same environment. This setup provides efficiency and scale benefits.
SINGLE-TENANT
A client may require a separate cloud which is called a single-tenant environment. This incurs additional costs but may be necessary for the client due to company policies or specific infrastructure requirements.