Let's look a Local Temporary Storage first.
Sometimes it's indicated as virtual memory disk, this disk space is typically connected to a physical server without any form of redundancy and gets erased if it stops of the server gets rebooted.
Many cloud users use this kind of space to run their Operative System, and some others use it a a temporary cache instead of RAM memory.
Therefore, it's fundamental to understand that this kind of disk space is not suitable for important data because, as the definition implies, it's a temporary memory and data might be deleted.
On a practical side, Cloud Providers install a physical hard disk on their host servers. It could also be an SSD, as Microsoft Azure does. If a cloud server has a virtual memory disk placed on this very local disk.. it might happen that data gets lost too if the host fails or is rebooted.
Some providers require their clients for purchase large amounts of temporary space as part of the preconfigured cloud server offer.
Amazon EC2 AWS is an example of that; if you want more RAM or CPU, then you must purchase additional temporary space, which is, as we just saw, non needed most times.
All the providers offer persistent storage as an additional option, while others, like Stellar, only offer persistent storage.
This space is persistent unlike temporary storage.
Persistent storage, also known as Block Storage, create secure volumes.
Each volume can be separately formatted and emulates an individual disk unit and -quite important!- disk space on this kind of storage isn't deleted in case of a virtual server reboot or failure.
Most providers offer a redundancy level of their persistent storage.
Redundancy can be seen from different prospectives; the first one is redundancy itself.
Each storage can be configured with different RAID levels (RAID stands for Redundant Array of Independent Disks) that determine the level of redundancy, reliability and performances. Apart from RAID 0 (stripe RAID) which offers no redundancy at all and, therefore, the failure of a single drive determines the loss of all data, RAID levels (1,5,6) can reduce the presence of POFs - Point of Failure.
The other redundancy level is about data replication systems between different hardware storages. It's a common idea that all cloud providers replicate their resources and their storage on their VM offers.
But that's just a myth!
Some offers can include VM replication with their storage, but that's not a standard for offers; actually, most common offers don't include this service.
Performances of persistent storage are a key element of a cloud server.
The use of SAN -Storage Area Network- architecture for persistent storage has some drawbacks on a performance level as the high I/O through the network can be a bottleneck.
Stellar solved this problem by leveraging a direct SAS connection for physical servers in the cluster, thus allowing an higher speed, a better redundancy and less latency than traditional physical networks.
Amazon EC2 AWS aims to solve this problem by offering volumes with "Provisioned IOPS" for their EBS (Electronic Block Storage) offer. Provisioned IOPS are, actually, Guaranteed Performances.
Amazon has additional costs for Provisioned IOPS volumes, while Stellar offers only guaranteed disk performances cloud servers.
An option that is gaining popularity is the use of SSD disks, quite common in enterprise tier solutions. Many providers can let decide whether to use premium-priced SSD or magnetic hard disks.
There are at least two important elements that must be taken into consideration when deciding between different cloud server offers that are realised with SSD disks.
Even though SSDs can be useful for I/O intensive applications, they must be coupled with a fast internal network in order to provide optimal performances.
Furthermore, the lone fact of saying that a provider's own cloud servers architecture is based on SSD disks doesn't imply that the I/O performances of those cloud servers will be better.
Persistent storages commonly used by cloud providers usually leverage SAN architectures.
A SAN system, being accessible via network, allows to use an "unlimited" number of physical servers.
But what happens when the SAN system with SSD or SAS disks has a very large number of servers connected at the same moment? What happens when hundreds of cloud servers use the very same SAN accessing it at the same time?
It happens that the performances achieved with SSD disks and optical fibre or InfiniBand connections are ruled out by an extensive use of them by a large amount of cloud servers.
In general, we can repeat that the lone use of SSD disks without an explicit indication of guaranteed performances doesn't add any added value to a VM, it's just "smoke and mirrors".
Stellar Cloud Servers have been planned starting with the goal of guaranteeing high performances and low latency storage for every client and that goal has been reached only with the choice of adopting a DAS -Directly Attached Storage- system with high speed disks and a limited number of physical host server connected to a given storage.
Some providers have I/O requests towards storage to be paid.
This can be an harder aspect to calculate than the other components that sum up to the overall price, inasmuch the invoice includes the actual number of I/O requests from a VM to the disk!
This factor is no way controllable as it is determined by the OS, applications and Database, which are elements that are hard to tune up.
In some cases at the end of the month, clients pay a significant larger amount of money for I/O requests than the price of the whole VM.
For instance, Amazon EC2 AWS EBS costs 0,10$ for a million I/O requests.
This might seem a little cost, but it can exponentially grow with certain applications.
Remember, the key factors that differentiates the various types of storage are whether the storage is temporary or persistent, the presence of redundancy and, lastly, the connection speed between the storage and the host. .