Thursday, May 29, 2014

Cloud backup solution (AWS, Rackspace, Azure, Softlayer, HP, etc.)

  As a consultant I receives many queries regarding the data security on cloud and also the durability of data on cloud. So I am writing this post assuming your basic knowledge of cloud demon. 
Everyone knows that cloud object storage is highly durable 99.99999999%,But what about the block storage (AWS EBS, Softlayer virtualDrive, etc.)?

   The failure rate of block storage on cloud is 0.1% to 0.4% every year. It is very important to have a backup of cloud block storage or entire cloud instance (VM) to either on cloud storage or on-premise.

  There are many ways we can take backup of cloud instance, and each type of cloud backup has its own pros and cons.

    1) Application Level Backup 
    2) VM level backup of cloud instance 
    3) OS Level Backup of cloud instance
    3) File level backup of cloud instance
    The backup solution type selection depends on the application, data and user requirement in terms of RTO(Recovery time objective).

    Lets discuss each in detail,
    1) Application Level Backup
          Application level backup is always seems to be as Da Vinci's demon. Each type of application backup are different. Let's consider AWS as common cloud terminology for simplicity
           If we consider Database as Application then we can use native tools for backup and we can store it to S3 object storage. 3rd party tools (eg. Cloudberry) also can be very helpful for database backup to cloud storage. 
           There are also tools available to take backup of database to on-premise local storage but as i mentioned these demons will not allow you to achieve low RTO of  database or application.

   2) Cloud Instance backup (VM Level):
            These kind of backup can provide acceptable RTO for production environment. every cloud service provider provides snapshot level backup. these snapshot will be stored in cloud object storage (Extra cost per GB per month). In order to take the backup of cloud instance as FULL backup optionally you can use Import/Export feature of cloud service provider. 
     3)OS Level Backup of cloud instance:
            OS level backup requires 3rd party agent to be installed in cloud instance (eg. Cloudberry). you can redirect cloud instance data to you local storage or cloud storage using these tools. The RTO of this kind of backup's restore will be higher than VM level backup type.

     4) File Level Backup of Cloud instance:
             File level backup always requires require 3rd party backup software to automate backup task as well as perform encryption and compression to files. The RTO of file level backup depends on types of file. (eg. if you are restoring only document files then RTO will be very less but if you are restoring Database files then RTO will increase because these database files later need to be restored to database engine also)

After considering the type of backup next step is to decide weather to take backup in same cloud storage or other cloud storage or take backup locally 

     The quest of backup storage options depends on where do you want to restore your production machine in case of failure.
   ->  If you want to restore the data to same cloud instance i would prefer to select same cloud backup storage.
   -> If you want to restore the data to other cloud service provider infrastructure then select specific cloud service provider object storage(It can also work as cloud migration strategy)
   -> If you want to restore entire server to on premise as virtual machine or physical host then select on-premise storage.
     Above discussion was more generic without any specific tools and solution. after selecting the proper type of backup solution we can select available tools for the same.