Files
papers/hanzo-stack-comparison/sections/06-object-storage-hanzo-storage.tex

40 lines
1.7 KiB
TeX

\section{Object Storage: Hanzo Storage}
\label{sec:storage}
%% ============================================================================
\subsection{Overview}
Hanzo Storage provides S3-compatible object storage with native IAM authentication, per-organization bucket isolation, and CDN integration via Cloudflare. It is deployed as a Kubernetes operator that manages MinIO instances with automatic TLS certificate provisioning, lifecycle policies, and cross-region replication.
\subsection{Feature Matrix}
\begin{table}[H]
\centering
\caption{Object storage comparison.}
\footnotesize
\begin{tabular}{@{}lcccc@{}}
\toprule
Feature & \rotatebox{60}{Hanzo Stor.} & \rotatebox{60}{MinIO} & \rotatebox{60}{AWS S3} & \rotatebox{60}{CF R2} \\
\midrule
S3-compatible & \yes & \yes & \yes & \yes \\
IAM-native & \yes & \no & \no & \no \\
Org isolation & \yes & \pmark & \yes & \pmark \\
CDN integration & \yes & \no & \yes & \yes \\
Lifecycle rules & \yes & \yes & \yes & \yes \\
Replication & \yes & \yes & \yes & \no \\
Versioning & \yes & \yes & \yes & \no \\
Self-hosted & \yes & \yes & \no & \no \\
Open source & \yes & \yes & \no & \no \\
Egress cost & \$0 & \$0 & \$0.09/GB & \$0 \\
K8s CRD & \yes & \yes & \no & \no \\
\bottomrule
\end{tabular}
\end{table}
\subsection{Key Differentiator}
Zero egress cost (self-hosted or Cloudflare R2 backend) combined with IAM-native authentication. Upload and download permissions are derived from the same Casbin policies that govern API access, eliminating the need for pre-signed URL generation in most cases. The K8s operator provisions buckets declaratively via the \texttt{HanzoBucket} CRD.
%% ============================================================================