Cloud Native 8 min read

From Single‑Node to Cloud‑Native: A Journey Through Storage Evolution

This article outlines the evolution of storage systems—from early single‑node solutions to modern cloud‑native architectures—detailing key storage types (block, file, object), models, and design principles of centralized, distributed, and cloud storage, providing a concise roadmap for newcomers.

Open Source Linux
Open Source Linux
Open Source Linux
From Single‑Node to Cloud‑Native: A Journey Through Storage Evolution

Background

This article reviews Yang Chuanhui’s "Principles and Architecture of Large‑Scale Distributed Storage Systems", the "Big Talk Storage" resources, and related network references, aiming to sketch the basic trajectory of storage development and provide beginners with a macro‑level understanding.

Storage Development History

From single‑machine storage to Internet‑scale solutions, storage has evolved to meet low‑cost, high‑performance, scalable, and easy‑to‑use goals. Today storage is categorized as single‑node, centralized, distributed, cloud, and cloud‑native storage.

Basic Forms of Storage at Each Stage

Illustrations show the evolution of storage architectures across different periods.

Data Classification & Model

Regardless of whether the storage is single‑node, distributed, or cloud‑based, a specific data model is built for the target data type in a given application scenario.

Data Classification

Storage systems classify data to match appropriate models.

Data Model

Object storage is built on key‑value stores, separating data and metadata paths and using Object‑based Storage Devices (OSD). It exposes services via RESTful APIs.

Storage Types

The three common storage types are block storage, file storage, and object storage.

Block Storage

Block‑based storage includes two typical approaches:

DAS (Direct‑Attached Storage) – directly attached to a host.

SAN (Storage Area Network) – high‑speed network‑connected storage.

File Storage

Provides file services over a network.

Object Storage

Built on key‑value stores, separating data and control paths, and offering services via RESTful APIs.

Single‑Node Storage

Basic Concept

A single‑node storage system encapsulates a storage engine that implements data structures on persistent media (disk, SSD) and offers file, key‑value, table, or relational models.

Storage Engine

The engine drives functionality and performance, supporting CRUD operations:

Create

Retrieve (random read and sequential scan)

Update

Delete

Engine differences are discussed in the original source.

Centralized Storage

Basic Concept

Beyond single‑node storage, centralized storage adds components such as heads (controllers), disk arrays (JBOD), switches, and management devices.

System Composition

Head – core component, typically with front and back ports.

Controller – usually dual for high availability; abstracts disks into a resource pool and presents LUNs.

Front/Back ports – front ports serve servers; back ports expand capacity.

JBOD – disk cabinets with independent power, cooling, and interfaces, connected via SCSI.

Distributed Storage

Basic Concept

Distributed storage connects independent storage devices via a network, presenting a unified service.

System Classification

Distributed file systems

Distributed key‑value systems

Distributed table systems

Distributed databases

Design Principle

Guided by the CAP theorem.

Cloud Storage

Basic Concept

Cloud storage is a storage‑as‑a‑service built on distributed storage, delivered over the Internet, offering flexibility and typically provided by cloud vendors.

Cloud‑Native Storage

Basic Concept

Derived from cloud storage, cloud‑native storage must support dynamic environments (public, private, hybrid clouds), provide S3‑compatible APIs, and be Kubernetes‑friendly.

Example: Rook

Rook is the first CNCF cloud‑native storage project, integrating file, block, and object storage into Kubernetes clusters, enabling self‑contained, portable storage across public and on‑premises environments.

Example: MinIO

MinIO is a high‑performance, software‑defined object storage suite that integrates with Kubernetes, allowing operators to manage storage via the Kubernetes interface.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Distributed SystemsCloud Nativeobject storageblock storage
Open Source Linux
Written by

Open Source Linux

Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.