Skip to content

Commit ae3be0a

Browse files
authored
Add cluster-sidecar hybrid architecture (#1387)
* Refactor deployment architecture documentation to use MDX components for better modularity and maintainability - Updated microservice, sharded, sidecar, tiered, cluster, hosted, and hybrid architecture documentation to import content from MDX partials. - Removed inline content in favor of centralized MDX files for each architecture type. - Added new hybrid architecture documentation to support sidecar caching backed by a centralized cluster. * Update image formatting in deployment architecture documentation for consistency
1 parent 0533f43 commit ae3be0a

61 files changed

Lines changed: 377 additions & 1174 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

website/docs/deployment/architectures/cluster.md

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,11 @@
22
title: 'Cluster-Based Deployment (Spice.ai Enterprise)'
33
sidebar_label: 'Cluster'
44
description: 'Deploying Spice as a cluster'
5-
sidebar_position: 6
5+
sidebar_position: 7
66
pagination_prev: null
77
pagination_next: null
88
---
99

10-
A full cluster-based deployment leveraging **Spice.ai Enterprise**, which includes advanced services and integrations for Kubernetes. This method is ideal for organizations requiring large-scale or complex deployments, including specialized clustering capabilities.
10+
import Content from '@site/src/partials/deployment/architectures/_cluster.mdx';
1111

12-
<img width="740" alt="cluster" src="https://github.com/user-attachments/assets/643e0a5c-6745-40c0-8695-0955c795179b" />
13-
14-
**Benefits**
15-
16-
- Provides **enterprise-grade features**: advanced security, monitoring, and support.
17-
- Simplifies **managing multiple nodes** for high availability and large workloads.
18-
- Offers **direct integration** with Spice Cloud or on-prem Kubernetes clusters.
19-
20-
**Considerations**
21-
22-
- **Requires a commercial license** or subscription to Spice Enterprise.
23-
- More **complex initial setup**, typically involving specialized DevOps expertise.
24-
25-
**Use This Approach When**
26-
27-
- You operate at **significant scale** or have stringent availability requirements.
28-
- You need **enterprise-level support** and advanced monitoring, security, or compliance features.
29-
- Your team can manage a **robust Kubernetes environment** or you plan to integrate with the Spice Cloud at scale.
30-
31-
**Example Use Case**
32-
A large financial services firm requiring a highly available, secure environment. They run Spice.ai across multiple clusters using Spice Enterprise for advanced monitoring, role-based access control, and dedicated support.
12+
<Content />

website/docs/deployment/architectures/hosted.md

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,11 @@
22
title: 'Cloud Hosted'
33
sidebar_label: 'Hosted'
44
description: 'Deploying Spice cloud hosted in the Spice Cloud Platform'
5-
sidebar_position: 5
5+
sidebar_position: 6
66
pagination_prev: null
77
pagination_next: null
88
---
99

10-
The Spice Runtime is deployed on a fully managed service within the Spice Cloud Platform, minimizing the operational burden of managing clusters, upgrades, and infrastructure.
10+
import Content from '@site/src/partials/deployment/architectures/_hosted.mdx';
1111

12-
<img width="740" alt="hosted" src="https://github.com/user-attachments/assets/a985527b-3481-40f4-a689-f784c893b314" />
13-
14-
**Benefits**
15-
16-
- Reduced overhead for deployment, scaling, and maintenance.
17-
- Access to specialized hosting features and quick setup.
18-
- Helps reduce operational complexity and cost.
19-
20-
**Considerations**
21-
22-
- Reliance on external hosting and associated terms or limits.
23-
- Potential compliance or data residency considerations for certain industries.
24-
- May introduce latency depending on the cloud provider's infrastructure.
25-
26-
**Use This Approach When**
27-
28-
- Limited DevOps resources are available, or focus on application logic over infrastructure is preferred.
29-
- A fully managed environment with minimal setup time is desired.
30-
- A single, managed solution is prioritized over running own clusters.
31-
- Minimizing operational complexity and cost is the goal.
32-
33-
**Example Use Case**
34-
A startup or team with limited DevOps support that needs a reliable, managed environment. Quick deployment and minimal in-house infrastructure responsibilities are priorities.
12+
<Content />
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: 'Hybrid Deployment'
3+
sidebar_label: 'Hybrid'
4+
description: 'Deploying Spice with sidecar caching backed by a centralized cluster for acceleration, distributed query, and ingestion.'
5+
sidebar_position: 4
6+
pagination_prev: null
7+
pagination_next: null
8+
---
9+
10+
import Content from '@site/src/partials/deployment/architectures/_hybrid.mdx';
11+
12+
<Content />

website/docs/deployment/architectures/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Spice supports multiple deployment architectures:
1414
- [Sidecar Deployment](architectures/sidecar) - Deploy alongside applications
1515
- [Microservice Deployment (Single or Multiple Replicas)](architectures/microservice) - Standalone service deployment
1616
- [Tiered Deployment](architectures/tiered) - Edge, application, and cloud tiers
17+
- [Hybrid Deployment](architectures/hybrid) - Sidecar caching backed by a centralized cluster
1718
- [Cloud-Hosted in the Spice Cloud Platform](architectures/hosted) - Managed cloud deployment
1819
- [Sharded Deployment](architectures/sharded) - Horizontal data partitioning
1920
- [Cluster Deployment (Spice.ai Enterprise)](architectures/cluster) - Distributed cluster architecture

website/docs/deployment/architectures/microservice.md

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,6 @@ pagination_prev: null
77
pagination_next: null
88
---
99

10-
The Spice Runtime operates as an independent microservice. Multiple replicas may be deployed behind a load balancer to achieve high availability and handle spikes in demand.
10+
import Content from '@site/src/partials/deployment/architectures/_microservice.mdx';
1111

12-
<img width="740" alt="microservice" src="https://github.com/user-attachments/assets/b46f050b-e500-4d53-b354-24f0ab30cad3" />
13-
14-
**Benefits**
15-
16-
- Loose coupling between the application and the Spice Runtime.
17-
- Independent scaling and upgrades.
18-
- Can serve multiple applications or services within an organization.
19-
- Helps achieve high availability and redundancy.
20-
21-
**Considerations**
22-
23-
- Additional network hop introduces latency compared to sidecar.
24-
- More complex infrastructure, requiring service discovery and load balancing.
25-
- Potentially higher cost due to additional infrastructure components.
26-
27-
**Use This Approach When**
28-
29-
- A loosely coupled architecture and the ability to independently scale the AI service are desired.
30-
- Multiple services or teams need to share the same AI engine.
31-
- Heavy or varying traffic is anticipated, requiring independent scaling of the Spice Runtime.
32-
- Resiliency and redundancy are prioritized over simplicity.
33-
34-
**Example Use Case**
35-
A large organization where multiple services (recommendations, analytics, etc.) need to share AI insights. A centralized Spice Runtime microservice cluster helps separate teams consume AI outputs without duplicating efforts.
12+
<Content />

website/docs/deployment/architectures/sharded.md

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,11 @@
22
title: 'Sharded'
33
sidebar_label: 'Sharded'
44
description: 'Deploying Spice with shards'
5-
sidebar_position: 4
5+
sidebar_position: 5
66
pagination_prev: null
77
pagination_next: null
88
---
99

10-
The Spice Runtime instances can be sharded based on specific criteria, such as by customer, state, or other logical partitions. Each shard operates independently, with a 1:N Application to Spice instances ratio.
10+
import Content from '@site/src/partials/deployment/architectures/_sharded.mdx';
1111

12-
<img width="740" alt="sharded" src="https://github.com/user-attachments/assets/5730d108-6d22-4ea4-8c14-8e87ad6d0079" />
13-
14-
**Benefits**
15-
16-
- Helps distribute load across multiple instances, improving performance and scalability.
17-
- Isolates failures to specific shards, enhancing resiliency.
18-
- Allows tailored configurations and optimizations for different shards.
19-
20-
**Considerations**
21-
22-
- More complex deployment and management due to multiple instances.
23-
- Requires effective sharding strategy to balance load and avoid hotspots.
24-
- Potentially higher cost due to multiple instances.
25-
26-
**Use This Approach When**
27-
28-
- Distributing load across multiple instances for better performance is needed.
29-
- Isolating failures to specific shards to improve resiliency is desired.
30-
- The application can benefit from tailored configurations for different logical partitions.
31-
- The complexity of managing multiple instances can be handled.
32-
33-
**Example Use Case**
34-
A multi-tenant application where each customer has a dedicated Spice Runtime instance. This helps ensure that heavy usage by one customer does not impact others, and allows for customer-specific optimizations.
12+
<Content />

website/docs/deployment/architectures/sidecar.md

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,6 @@ pagination_prev: null
77
pagination_next: null
88
---
99

10-
Run the Spice Runtime in a separate container or process on the same machine as the main application. For example, in Kubernetes as a [Sidecar Container](https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/). This approach minimizes communication overhead as requests to the Spice Runtime are transported over local loopback.
10+
import Content from '@site/src/partials/deployment/architectures/_sidecar.mdx';
1111

12-
<img width="740" alt="sidecar" src="https://github.com/user-attachments/assets/716f7c23-1939-4947-85f5-b0ee2bbd63fc" />
13-
14-
**Benefits**
15-
16-
- Low-latency communication between the application and the Spice Runtime.
17-
- Simplified lifecycle management (same pod).
18-
- Isolated environment without needing a separate microservice.
19-
- Helps ensure resiliency and redundancy by replicating data across sidecars.
20-
21-
**Considerations**
22-
23-
- Each application pod includes a copy of the Spice Runtime, increasing resource usage.
24-
- Updating the Spice Runtime independently requires updating each pod.
25-
- Accelerated data is replicated to each sidecar, adding resiliency and redundancy but increasing resource usage and requests to data sources.
26-
- May increase overall cost due to resource duplication.
27-
28-
**Use This Approach When**
29-
30-
- Fast, low-latency interactions between the application and the Spice Runtime are needed (e.g., real-time decision-making).
31-
- Scaling needs are small or moderate, making duplication of the Spice Runtime in each pod acceptable.
32-
- Keeping the architecture simple without additional services or load balancers is preferred.
33-
- Performance and latency are prioritized over cost and complexity.
34-
35-
**Example Use Case**
36-
A real-time trading bot or a data-intensive application that relies on immediate feedback, where minimal latency is critical. Both containers in the same pod ensure very fast data exchange.
12+
<Content />

website/docs/deployment/architectures/tiered.md

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,6 @@ pagination_prev: null
77
pagination_next: null
88
---
99

10-
A hybrid approach combining sidecar deployments for performance-critical tasks and a shared microservice for batch processing or less time-sensitive workloads.
10+
import Content from '@site/src/partials/deployment/architectures/_tiered.mdx';
1111

12-
<img width="740" alt="tiered" src="https://github.com/user-attachments/assets/e602bad4-bd0d-4069-bc91-5b5678a10710" />
13-
14-
**Benefits**
15-
16-
- Real-time responsiveness where needed (sidecar).
17-
- Centralized microservice handles broader or shared tasks.
18-
- Balances resource usage by limiting sidecar instances to high-priority operations.
19-
- Helps balance performance and latency with cost and complexity.
20-
21-
**Considerations**
22-
23-
- More complex deployment structure, mixing two patterns.
24-
- Must ensure consistent versioning between sidecar and microservice instances.
25-
- Potentially higher operational complexity and cost.
26-
27-
**Use This Approach When**
28-
29-
- Certain application components require ultra-low-latency responses, while others do not.
30-
- Centralized AI or analytics is needed, but localized real-time decision-making is also required.
31-
- The system can handle the operational complexity of running multiple deployment patterns.
32-
- Balancing performance and latency with cost and complexity is the goal.
33-
34-
**Example Use Case**
35-
A logistics application that calculates routing decisions in real time (sidecar) while a microservice component processes aggregated data for periodic analysis or re-training models.
12+
<Content />

website/docs/deployment/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Spice supports flexible deployment options ranging from a single binary to fully
1515
- [Sidecar Deployment](deployment/architectures/sidecar)
1616
- [Microservice Deployment (Single or Multiple Replicas)](deployment/architectures/microservice)
1717
- [Tiered Deployment](deployment/architectures/tiered)
18+
- [Hybrid Deployment](deployment/architectures/hybrid)
1819
- [Cloud-Hosted in the Spice Cloud Platform](deployment/architectures/hosted)
1920
- [Sharded Deployment](deployment/architectures/sharded)
2021
- [Cluster Deployment (Spice.ai Enterprise)](deployment/architectures/cluster)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
A full cluster-based deployment leveraging **Spice.ai Enterprise**, which includes advanced services and integrations for Kubernetes. This method is ideal for organizations requiring large-scale or complex deployments, including specialized clustering capabilities.
2+
3+
<img
4+
width='740'
5+
alt='cluster'
6+
src='https://github.com/user-attachments/assets/643e0a5c-6745-40c0-8695-0955c795179b'
7+
/>
8+
9+
**Benefits**
10+
11+
- Provides **enterprise-grade features**: advanced security, monitoring, and support.
12+
- Simplifies **managing multiple nodes** for high availability and large workloads.
13+
- Offers **direct integration** with Spice Cloud or on-prem Kubernetes clusters.
14+
15+
**Considerations**
16+
17+
- **Requires a commercial license** or subscription to Spice Enterprise.
18+
- More **complex initial setup**, typically involving specialized DevOps expertise.
19+
20+
**Use This Approach When**
21+
22+
- You operate at **significant scale** or have stringent availability requirements.
23+
- You need **enterprise-level support** and advanced monitoring, security, or compliance features.
24+
- Your team can manage a **robust Kubernetes environment** or you plan to integrate with the Spice Cloud at scale.
25+
26+
**Example Use Case**
27+
A large financial services firm requiring a highly available, secure environment. They run Spice.ai across multiple clusters using Spice Enterprise for advanced monitoring, role-based access control, and dedicated support.

0 commit comments

Comments
 (0)