Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Save documents to S3 to enable HA deployments on Kubernetes #613

Closed
shanduur opened this issue Sep 11, 2024 · 1 comment

Comments

@shanduur
Copy link

Description:

In our current application setup, documents and photos are saved locally, which presents challenges when deploying in a High Availability (HA) environment, particularly in Kubernetes. To fully leverage the benefits of Kubernetes and achieve seamless scaling, failover, and resilience, it would be ideal to store documents and photos in an external, persistent, and highly available storage service such as AWS S3.

Problem:
When deploying the application on Kubernetes with multiple replicas, saving files locally creates issues with data consistency and availability across the nodes. If a pod fails or is rescheduled, any data stored locally on that pod will be lost or inaccessible to other pods. This limitation affects the overall availability and fault tolerance of the application.

Proposed Solution:
Modify the application to support saving documents and photos directly to AWS S3 instead of the local filesystem. This can be achieved by integrating the AWS SDK. By storing files in S3, we ensure that:

  • Files are accessible from any instance of the application, across all pods.
  • Data persists independently of pod lifecycles.
  • The application can scale horizontally without concerns about data loss or duplication.
  • S3 offers a highly durable, redundant, and globally accessible storage solution.

Benefits:

  • High Availability: Ensures files are available regardless of where the application is running, providing better support for HA Kubernetes deployments.
  • Scalability: Allows for seamless scaling of the application across multiple nodes/pods, without worrying about file synchronization.
  • Durability and Reliability: S3 offers built-in redundancy and data replication, ensuring that files are safe from accidental deletion or data corruption.
  • Operational Efficiency: Simplifies the deployment and management of the application by removing the need for local file storage or complex file replication mechanisms between pods.
@hargata
Copy link
Owner

hargata commented Sep 11, 2024

Duplicate issue see #403

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants