Both InnoDB and PostgreSQL - as well as many other databases - use a technique called multi-version concurrency control (MVCC) to provide transaction isolation: transactions should not see the work of other, uncommitted transactions. MVCC means that, when a row is updated, the database stores both the old and new versions of the row.


Thursday, October 14, 2010

What is IaaS or Private Cloud ?

What is IaaS or Private Cloud? And why Enterprise should consider it?

The shortest definition could be. ‘Virtualization on top of an HPC’. Let’s define it like this. What do you think is the biggest limitation to virtualization?

Its, the flexibility of scaling a virtual machine. The scaling will be always limited to the maximum resources available on one particular physical server. So for instanced if let’s say I have a server with 24 Cores and 32GB of Ram. I cannot have a virtual machine which can have more that or even equal to 24Cores and 32GB of RAM.

But let’s say I have 50 such servers. So technically I have 1200 Cores and 1.6TB of RAM. But if for a day even I need a machine with let’s say 50 cores and 64GB of RAM. I can’t have it. I have to buy a new server which has more than 50 cores and 50GB of RAM and then either use it as a physical box or create a virtual machine accordingly on top of it.

But with IaaS, what we do is that we first aggregate our entire datacenter as a single pool of resources and then start provisioning virtual machines on top of it. This is something like first creating a HPC (high performance computing) platform which integrates all our existing resources in one single pool. And then running a virtualization layer on top of it.

Other key benefits
First, the redundancy is inbuilt. So you don’t have to bother about creating failsafe’s, etc. Second. It inherits the functionalities of a Public cloud architecture which makes it elastic in nature. By elastic I mean scaling up and down a virtual machine on-the-fly by adding or removing resources from the cloud pool and that to in an automatic manner and at a need basis. So for instance today a machine needs 15 cores instead of 3. My cloud infrastructure just finds 12 free cores from any server inside my datacenter and allocates it to the VM. And once the need is fulfilled, it releases back the 12 cores to the cloud pool so that they can be used by some other VM.

And third, is the most important benefit is. It gives us the flexibility to add resources from any supporting public cloud if my infrastructure is not able to fulfill a requirement. So, for instance when my VM wanted those 12 extra cores. My Private cloud was only able to find 10 free cores at that time, so it went to Amazon’s EC2 cloud and borrowed the rest of the 2 cores. Used it and when the requirement was fulfilled or 2 more cores were available in my private cloud, it just released the 2 cores back to Amazon. And you will be only charged by Amazon for those 2 cores for that duration of time when you actually used it. This is called a Hybrid Cloud.

1 comment: