In a dynamic cloud environment, standard concepts like IP addresses and storage volumes, assume a special meaning when it comes to reserving and using them regardless of the virtual machines owned by a cloud user.
The concept of Elastic IP (EIP) and Elastic Block Storage (EBS) was initially introduced by Amazon EC2 as a way to decouple the resources assigned to a cloud user from his utilization. In other words, as a cloud user, you can reserve an elastic resource and assign it to one of the VMs you own, but you can also reassign it to a separate VM whenever you need (for example, when you need to replace your VM with a new one).
IBM SmartCloud Provisioning offers similar capabilities, exposing the concepts of static addresses and persistent volumes that can be reserved and assigned to any running VMs.
An IBM SmartCloud Provisioning address is a statically defined address that can be dynamically bound to any instance in the cloud. In other words, a static IP address is associated with your account, not with a particular instance, and you control that address until you choose to explicitly release it.
Let’s examine, in more detail, how it works.
When IBM SmartCloud Provisioning creates a VM, it assigns a dynamic IP address to it, on a default management sub-network. From this point on, the system always refers to the VM using the dynamic address assigned at boot time. Nonetheless, IBM SmartCloud Provisioning offers to cloud users the possibility of assigning a different IP address, which can be seen as a reserved and static IP.
To achieve this result, a centralized pool of addresses is registered by the cloud administrator and stored in a durable data service. A cloud user can then reserve one or more addresses from this pool, and can associate one of them to a specific VM he owns. Note that the cloud user does not have any clue about which address will be reserved for him; he does not even know upfront if there is any static IP address left, until he sends the reservation request.
After a static IP has been reserved and assigned to a VM, IBM SmartCloud Provisioning internally creates a mapping between the default dynamic address associated to the selected VM and the reserved IP address. This translates into NAT rules on the host operating system’s iptables to forward all traffic to the private address of that VM.
In this way, you can always refer to your VM using the static address, and even if you decide to re-create the VM, you can reassign that same address to the new VM.
The address remains in your reserved list as long as you need it, and you can release it when you no longer need it.
Persistent storage is critical to any non-trivial production application. Just as Amazon’s EBS has proven to be extremely valuable, IBM SmartCloud Provisioning persistent volumes are equally powerful, offering an off-instance storage that persists independently from the life of an instance. Users can create arbitrary numbers of arbitrarily sized persistent volumes. The volumes can be dynamically attached to any VM on the cloud as long as only one instance is attached at any time.
When attached, a persistent volume appears to the guest OS like any other raw, unformatted block device.
Each persistent volume is assigned a UUID, which can be leveraged by the cloud user to track them.
RAID sets can be easily created together to ensure each volume is hosed on a separate physical host or device.
Multiple block devices will then be exposed to the guest OS, which can establish their own RAID meta devices using tools such as mdadm.
Behind the scenes, these block devices are very similar to the primary boot disk of a non-persistent VM. However, these are read-write iSCSI devices and directly attached to the instance without using Copy-on-Write. Note that persistent block storage is also hosted on the same storage cluster used for master images.
Similarly to the static IP addresses, the persistent volumes are associated with your account, not with a particular instance, and you control them until you choose to explicitly delete them.
The persistent volumes allow you to keep your data separate from the OS, offering you the possibility to move them from a VM to another whenever you need. Moreover, they offer a valid mechanism to keep your data safe when dealing with VMs that do not have a dedicated persistent storage (the non-persistent VMs managed by IBM SmartCloud Provisioning).
Trying IBM SmartCloud Provisioning
If you’re interested in trying the IBM SmartCloud Provisioning product, you can download a trial version from the following link: