Here’s an attempt to simplify the concept of Thin Provisioning in enterprise storage management. It’s a nice idea, but it has some caveats.
So, let’s take an example of your email service provider (Gmail, Yahoo, Outlook).
Every email service provider wants to increase its customer base, but the actual physical storage is never added in the same ratio. For example, when you create your email account, the first email you get is something like – You have 15 GB of free storage that's shared across Drive, Email, and Photos…
But the email service provider does not keep adding 15 GB of physical storage with each new user. It simply assigns a logical storage space of 15 GB at that point in time.
From File System perspective, the physical memory is released only when a “write” operation is performed. In simpler terms, the physical memory is released only when you actually save your data. Until then your storage is used by other apps.
So, thin provisioning is essentially storage on demand, and
you will get more storage space as you start saving more data until you reach your
hard limit that is 15 GB in our example.
The opposite of Thin Provisioning is Thick (fat) Provisioning where the storage admin upfront allocates dedicated storage space for the customer – doesn’t matter how much space the customer uses. Other applications and users are not allowed to encroach into your 15 GB space.
Essentially, it is allocation of entire space prior to use. Use thick provisioning when you need less latency and less supervision. Not a perfect analogy, but you can think of it as Static versus Dynamic IP address.
Coming back to Thin Provisioning. Is it like using credit
card? Utilizing more than what you have at your disposal?
Well, it’s about applying the technology in the right way. Understanding
of “data growth projection” and constant monitoring of underlying storage
resources are critical parameters of your Thin Provisioning strategy. You need
to fine tune data usage threshold levels, so that resource exhaustion alerting
is accurate and timely.
What if all your applications (or VMs) need storage at the same time? Extremely unlikely, but possible. Resource exhaustion is not uncommon, and it is
up to the storage administrator’s discretion to keep an optimum balance of efficient
storage utilization and application availability.
A proper balance between risk-reward and communication
between sysadmin who consumes storage and the storage admin who provides
storage, is critical.
But yes, we need Thin Provisioning. Imagine YouTube not
using Thin Provisioning! How many TBs of data is created every hour on the
Internet?
So, from storage optimization standpoint, Thin Provisioning
is a big yes.