<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Storage on Chen Kai Blog</title><link>https://www.chenk.top/en/tags/storage/</link><description>Recent content in Storage on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 01 May 2026 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/tags/storage/index.xml" rel="self" type="application/rss+xml"/><item><title>Alibaba Cloud Full Stack (4): OSS — Object Storage Done Right</title><link>https://www.chenk.top/en/aliyun-fullstack/04-oss-storage/</link><pubDate>Fri, 01 May 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/aliyun-fullstack/04-oss-storage/</guid><description>&lt;p>I used to store user uploads on the ECS disk. Profile pictures, PDF invoices, CSV exports — all dumped into &lt;code>/var/data/uploads/&lt;/code> on a single &lt;code>ecs.g7.large&lt;/code> running my Flask app. I had a cron job that rsynced the directory to a second ECS instance every six hours as a &amp;ldquo;backup.&amp;rdquo; Then one Friday at 3am, the system disk hit 100% because a batch job generated 40GB of reports nobody ever downloaded, the instance went read-only, the app crashed, and the rsync hadn&amp;rsquo;t run since the previous evening. I lost six hours of user uploads and spent the weekend apologizing to customers. That was the week I learned that object storage is not a nice-to-have — it is the foundation of everything you build in the cloud. Your application server is ephemeral. Your data is not.&lt;/p></description></item><item><title>Docker and Containers (4): Networking and Volumes — How Containers Talk and Persist</title><link>https://www.chenk.top/en/docker-containers/04-networking-and-volumes/</link><pubDate>Mon, 19 Jun 2023 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/docker-containers/04-networking-and-volumes/</guid><description>&lt;p>Containers are deliberately isolated. That&amp;rsquo;s the point. But useful applications need to accept connections from the outside world, talk to databases, and store data that survives container restarts. Docker provides two mechanisms for this: networks (for communication) and volumes (for persistent storage). Getting these right makes the difference between a demo and a deployment.&lt;/p>
&lt;hr>
&lt;h2 id="docker-networking" class="heading-anchor">Docker Networking&lt;a href="#docker-networking" class="heading-link" aria-label="Permalink to this section" title="Copy link to this section">#&lt;/a>
&lt;/h2>&lt;p>When Docker starts, it creates a virtual network infrastructure on the host. Each container gets its own network namespace (with its own IP address, routing table, and network interfaces), and Docker manages the traffic flow between containers and the outside world.&lt;/p></description></item></channel></rss>