Un paseo por las nubes

Un blog acerca de Cloud Computing...

February 2012 - Artículos

RedGate Cloud Services: your SQL Azure backups as a service

RedGateCloudServicesToday I can finally speak publicly about a new cloud service that has seen the light and I had the pleasure of participating in CTP phase.

Since SQL Azure is available on the market, one of the main workhorses has been how to implement backups of our databases. Initially the only way I had was to make a copy of the database in another SQL Azure, which meant the cost of having to pay for the additional database. Later began to appear new tools that allowed the export/import the data and schemas through SQL scripts or through the new “bacpac” format. A good summary of them was made on this Luis Panzano’s blog entry, showing the advantages and disadvantages of each of them.

All these previous solutions is in addition of a new backup solution for SQL Azure, nothing more and nothing less than from the hand of Redgate, widely recognized worldwide for its database products.

What is it?

RedGate Cloud Services is a new cloud service for backing up SQL Azure databases in an automated and scheduled way, without having to perform any task that requires complex or depth technical knowledge of the Azure platform.

The new RedGate’ service allows, using the export/import "bacpac" file format, automated backing up through a very simple user interface.

clip_image001

And while this simple interface simplifies the way we perform the backup, one of the most interesting options is the ability to schedule them. Scheduling options are initially not many, but the feedback from the community is doing to implement all the new scheduling needs required.

clip_image002


Where are backups stored?

While from my point of view is that the most recommended option is to store backups in Azure Storage since involves no data transfer costs -remember that the internal data traffic in the same Azure datacenter only is not charged-, there are another two interesting options: backup on Amazon S3 or sent to an FTP server, very interesting options to have automated copies in different storage locations for redundancy, even if we must pay the additional cost of data transfer.

clip_image003


What is ideal for?

Although from the Azure control panel we can manually export databases in the “bacpac” format to Azure Storage -this service is no longer CTP and is fully supported-, the main problem is that current utility on Azure control panel does not allow scheduled backups, so that to perform a daily backup we should visit daily the Azure control panel and run the process manually.

With this new Redgate’ service we can schedule different backups for the same or different databases through a simple user interface, which frees us from having to perform the backup tasks manually. Furthermore, we can access the historical backups logs, receive email notifications, etc..

clip_image004

clip_image005


How much does it cost?

Like most services in the cloud its formula is pay per use, and although the current formula adheres to a single offer of 8€/month (31 uses per month), I guess in the coming weeks will be appearing more options for price escalation as recognized by the Richard Mitchell on the home page.

It should be noted that this price is for the backup service. Does not include storage costs for Azure Storage (storage account isyour own), nor the costs of traffic in the case of using external storage like Amazon or FTP account.

On the other hand, is also offering a free trial period of 10 days without charge.

Conclusion

A few weeks ago, I commented that I upgraded to DotNetNuke 6.1.3 three different sites running on Azure in just 9 minutes, including backups. Now you know the method used to back up the databases. The part of details of how to do the upgrade of DNN sites on Azure I leave for another post.

While the current service could offer much more, precisely Redgate people are taking good note of each new required feature. Believe me, I had the pleasure of having applied for a feature and implemented within a reasonable time. Indeed, it seems that the service will offer many more options soon, as being able to deploy and/or eliminate Azure deployments  in a scheduled way.

clip_image006

What I like: scheduling and to receive daily email notifications telling me that the SQL Azure backup has been successful. Although it may seem silly, reassures ... a lot. Have I discussed with you my incident when I clicked the "Delete Azure SQL server" instead of "Delete Azure Database"? Well, that's another story...

For more information, visit:
http://cloudservices.red-gate.com/

Happy coding!

Posted: 25/2/2012 16:19 por David Rodríguez | con no comments
Archivado en:
RedGate Cloud Services: tus copias de seguridad de SQL Azure como SaaS

RedGateCloudServicesHoy por fin puedo hablar públicamente de un nuevo servicio en la nube que ha visto la luz y del que he tenido el placer de haber participado en su fase CTP.

Desde que SQL Azure está disponible en el mercado, uno de los principales caballos de batalla ha sido la forma de implementar las copias de seguridad de nuestras bases de datos. Inicialmente la única forma que había era la de hacer una copia de la base de datos en otra en SQL Azure, lo que implicaba el coste de tener que pagar por esa base de datos adicional. Más adelante comenzaron a salir herramientas que permitían la exportación/importación de los datos a través de SQL Scripts o a través del nuevo formato “bacpac”. Un buen resumen de ellas lo podéis leer en esta entrada del blog de Luis Panzano, donde se muestran las ventajas y desventajas de cada una de las mismas.

A todas estas soluciones previas viene a añadirse una nueva solución de copias de seguridad de SQL Azure, nada más y nada menos que de la mano de RedGate, ampliamente reconocidos a nivel mundial por sus productos para bases de datos.

¿Qué es?

Se trata de un nuevo servicio en la nube para hacer copias de seguridad de SQL Azure de manera automatizada y programable, sin tener que realizar ninguna tarea compleja o que requiera de profundos conocimientos técnicos de la plataforma Azure.

El nuevo servicio de RedGate permite, haciendo uso de la exportación/importación en formato “bacpac”, realizar copias de seguridad de forma automatizada a través de un sencillísimo interfaz de usuario.

CreateBackup

Y si bien esta sencilla interfaz nos simplifica la forma de realizar las copias de seguridad, una de las opciones más interesantes es la de poder programarlos. Las opciones de programación no es que inicialmente sean muchas, pero el feedback de la comunidad está haciendo que se implementen todas las nuevas necesidades de programación requeridas.

CreateBackup2

¿Dónde se almacenan las copias de seguridad?

Si bien la opción que veo más recomendable es la de almacenar las copias de seguridad en Azure Storage ya que no implica costes de transferencia de datos, -recordemos que el tráfico interno de datos en un mismo datacenter de Azure no se factura-, existen otras dos opciones también muy interesantes: copia de seguridad en Amazon S3 o envío a un servidor FTP, opciones muy interesantes para tener copias automatizadas en distintos proveedores de almacenamiento, como sistema redundante, aunque se tenga que pagar ese coste adicional de transferencia de datos.

StoreOptions 

¿Para qué es ideal?

Si bien desde el panel de control de Azure ya podemos realizar la exportación manual de las bases de datos en formato “bacpac” a Azure Storage -recordemos que este servicio ya no está en fase CTP y es totalmente soportado-, el principal problema es que la utilidad actual del panel de control de Azure no permite programar copias de seguridad, con lo que para realizar una copia de seguridad diaria habría que visitar el panel de gestión diariamente y ejecutar ese proceso manualmente.

Con este nuevo servicio de RedGate se pueden programar distintas copias de seguridad para la misma o para distintas bases de datos a través de una sencilla interfaz de usuario, con lo que nos libera de tener que realizar las tareas de copia de seguridad manualmente. Además, podemos acceder al histórico de copias de seguridad realizadas, recibir notificaciones por correo electrónico de las copias de seguridad, etc.

BackupHistory


BackupSuccessEmail

¿Cuánto cuesta?

Como cualquier servicio en la nube, su fórmula es de por pago por uso, y aunque la fórmula actual se ciñe a una sola oferta de 8€/mes (31 usos por mes), supongo que en las próximas semanas irán apareciendo más opciones de escalado de precios tal y como reconoce el mismo Richard Mitchell en la página de inicio.

Hay que aclarar que este precio es por el servicio de copias de seguridad. No están incluidos los gastos de almacenamiento en Azure Storage (la cuenta de almacenamiento es una tuya propia), ni los costes de tráfico en el caso de usar almacenamiento externo como Amazon o una cuenta FTP.

Por otra parte, también se está ofertando un periodo de prueba gratuito de 10 días sin coste alguno.

Conclusión

Hace unas semanas, comenté que había podido actualizar a la versión de DotNetNuke 6.1.3 tres sitios distintos en Azure en tan sólo 9 minutos, copias de seguridad incluidas. Ahora ya conocéis el método utilizado para las copias de seguridad de base de datos. La parte del detalle de cómo hacer el upgrade de los sitios DNN en Azure lo dejo para otro post.

Si bien al servicio actual se le podrían pedir muchas más cosas, precisamente la gente de RedGate está tomando muy buena nota de ellas. Créanme, he tenido el placer de haber solicitado una característica e implementarse en un plazo razonable. Sin duda, parece que el servicio ofrecerá muchas más opciones en breve. De hecho, ya hay algunas interesantes en marcha como la de poder desplegar y/o eliminar despliegues en Azure de forma planificada.

AzureTools

Lo que más me gusta: recibir notificaciones por correo electrónico diariamente indicándome que las copias de seguridad de la base de datos de SQL Azure se han realizado con éxito. Aunque parezca una tontería, tranquiliza…y mucho. ¿A alguno no le he comentado mi incidente cuando le di al botón “Eliminar servidor SQL Azure” en vez de “Eliminar base de datos”? Bueno, eso ya es otra historia…

Para más información, visita:
http://cloudservices.red-gate.com/

Happy coding!

Posted: 25/2/2012 14:56 por David Rodríguez | con no comments
Archivado en:
Certificate error when deploying DotNetNuke on Windows Azure

After a busy January I’m back again to write some pending entries that I have promised to some people. There are lots of things to tell after the DNN-Cloud session in the DNN Europe Task Force Meeting 2012, things like: how to upgrade a DNN version on Windows Azure, how to do backup and restore operations, how to move an instance from on premise to Azure and vice versa, etc. so let start one by one.

To begin, let’s see how to solve a typical error when deploying DNN on Windows Azure, since at least 4 people have asked to me how to fix it in the past two weeks. The error message appears when you deploy the package on a service, and means that the certificate specified in the service configuration file is not configured on the Windows Azure service:

CertificateError1_thumb1“The certificate with thumbprint ‘XXXXXXXXXX’ is missing for hosted service ‘YYYY’. Please install the certificate for this hosted service.”

This is because you didn’t upload correctly the certificate, which is used to encrypt communications while using RDP or Windows Azure connect (Virtual Network).

NOTE: in future versions of DNN Azure Accelerator this problem will be fixed using another method for uploading the package, using the Windows Azure publishing settings. Meanwhile, you have to upload manually the certificate to Azure as specified below.

What certificate?

The error refers to the certificate used in the DNN Azure Accelerator to configure RDP. In fact, there is a text indicating that you have to upload this certificate to the hosted service on Azure, but actually there is not much help on how to do this, because although currently the Accelerator automatically generates the certificate in a “.cer” file in the wizard folder, it must be imported into Windows Azure as a “.pfx” file.

RDPStep_thumb2

How to export the certificate in PFX format?

To export the certificate in PFX format from the DNN Azure Accelerator wizard RDP step, follow these steps:

  1. Click “View…” to see the certificate that has generated the wizard
    CertificateDetail1_thumb1
  2. Go to the tab “Details”. In the certificate properties, we can see the “Thumbprint” of this certificate, which is precisely the one referred by the error and stored in the service configuration file.
    CertificateThumbprint_thumb1
  3. Click the “Copy to File…” to open the export wizard indicating that you want to export the private key. This is mandatory to export in PFX format.
    ExportPrivateKey_thumb1
  4. In the next step, select the format “PFX” and activate the check boxes for “Include all certificates in the certification path if possible” and “Export all extended properties”. Uncheck the box “Delete the private key if export is successful”, as means to delete it from your local computer certificates storage instead of the exported file.
    ExportaAsPFX_thumb1
  5. In the following steps specify a password to be used while importing into Azure and finally a filename for the certificate.
    SpecifyAPassword_thumb2SpecifyAFilename_thumb2

With this we have exported the PFX file.

How to import the certificate on Azure?

This step is very well documented in numerous websites and in Windows Azure’s help, but here again to not have to open another page and for printing purposes –remember to save the trees!:

  1. Open the Windows Azure Administration console and access the hosted service settings, selecting the service certificates folder you want to configure.
    AddCertificate_thumb2
  2. Press the “Add Certificate…” button to upload the “PFX” file that we have exported typing the password used before.
    UploadCertificate_thumb1

Once that is done, we can see that the certificate was successfully uploaded and that in the certificate details the “Thumbprint” is also there.

CertificateUploaded_thumb2

I closed the Accelerator and now I do not know how to re-export the certificate

It may happen, or at least that’s what happened to those who asked me about this problem, you forget to export the certificate in PFX format when using the DNN Azure Accelerator. Is there another way to export if I closed the assistant and/or deleted the “.cer” file that was created in the wizard folder?

There are several methods to accomplish that, but for simplifying the shortest is:

  1. In a command line console, type “certmgr.exe” to open the certificates management console in the folder “Personal\Certificates”
  2. If you remember the “FriendlyName” that you used in the DNN Azure Accelerator, select it. If not or not be sure of which certificate you used on the wizard, you will have to open one by one and select the one with the property “Thumbprint” which matches the error message –the property is on the Details tab page.
    Certificates_thumb2
  3. Right-click on “All tasks>Export…” to start the export process mentioned in the previous section

With this, once we have exported and loaded the certificate in the same way as indicated in the previous steps, we can deploy our service without problems.

Hope this helps. More tomorrow!

Error de certificado al desplegar DotNetNuke en Windows Azure

Después de un mes de enero muy ajetreado ya estoy de vuelta a escribir algunas entradas pendientes que tengo para el blog. Hay mucho que contar después de la sesión de DNN-Cloud en el DNN Europe Task Force Meeting 2012 y que tengo posts pendientes de publicación: cómo hacer upgrades de las instancias en Azure, cómo hacer backups, cómo mover una instancia onpremise a Azure y viceversa, etc. así que empezamos poco a poco.

Para empezar, vamos a ver cómo solucionar un error típico al desplegar DNN sobre Windows Azure, ya que al menos 4 personas me han preguntado cómo solucionarlo. Se trata del mensaje de error que aparece al desplegar el paquete sobre un servicio indicando que no se encuentra el certificado indicado en el archivo de configuración del servicio imposibilitando la ejecución del despliegue:

CertificateError1“The certificate with thumbprint ‘XXXXXXXXXX’ is missing for hosted service ‘YYYY’. Please install the certificate for this hosted service.”

Esto es debido a que no ha subido correctamente el certificado al servicio que vamos a desplegar, que es usado para encriptar las comunicaciones RDP así como posibilitar la configuración de Windows Azure Connect con las instancias.

NOTA: en próximas versiones del DNN Azure Accelerator se solucionará este problema ya que el método de publicación será distinto usando el fichero de configuración proporcionado automáticamente por Windows Azure.

¿A qué certificado se refiere?

El error se refiere al certificado que se usó en el DNN Azure Accelerator para configurar el paso de RDP. De hecho, hay un texto indicando que te asegures de subir este certificado al servicio, pero lo cierto es que no hay mucha ayuda sobre cómo realizar este proceso, ya que si bien actualmente el Accelerator genera automáticamente el certificado en un fichero “.cer” en la carpeta, éste debe ser importado en Windows Azure en formato “.pfx”.

RDPStep

¿Cómo exportamos el certificado en formato PFX?

Para exportar el certificado en formato PFX desde el mismo asistente, seguiremos los pasos siguientes:

  1. Pulsar el botón “View…” para ver el certificado que ha generado el asistente
    CertificateDetail1
  2. Vamos a la pestaña “Details”. En las propiedades del certificado podemos ver la huella (“Thumbprint”) de este certificado, que es precisamente a la que se refiere el error y que se almacena en el fichero de configuración del servicio. CertificateThumbprint
  3. Pulsa el botón “Copy to File…” para abrir el asistente de exportación indicando que quieres exportar la clave privada –esto es obligatorio para poder exportar en formato PFX.
    ExportPrivateKey
  4. En el paso siguiente, selecciona el tipo de certficado “PFX” y activa las casillas correspondientes a: “Incluir todos los certificados en la ruta de certificación si es posible” y “Exportar todas las propiedades extendidas”. No marques la casilla “Eliminar la clave privada si la exportación tiene éxito”, ya que se refiere a eliminarla de tu equipo local en vez del fichero exportado, con lo que no podrás repetir este proceso a menos que vuelvas a importar el certificado exportado.
    ExportaAsPFX
  5. En los pasos siguientes especificamos una contraseña que usaremos para la importación en otros equipos así como en Azure, y finalmente un nombre de archivo para el certificado.
    SpecifyAPasswordSpecifyAFilename

Con esto hemos exportado el fichero PFX.

¿Cómo importamos el certificado en Azure?

Este paso está muy bien documentado en infinidad de sitios web así como en la ayuda de Windows Azure, pero para que el lector no tenga que estar abriendo más páginas –y yo pueda imprimir este procedimiento cuando me haga falta- se resume en:

  1. Abrir la consola de administración de Windows Azure y acceder a la configuración de los servicios hospedados, seleccionando la carpeta de certificados del servicio que queremos configurar.
    AddCertificate
  2. Pulsamos el botón “Add Certificate…” para subir el fichero “.pfx” que hemos exportado especificando la contraseña
    UploadCertificate

Una vez realizada esta operación, podemos ver que el certificado se ha subido con éxito y que en los detalles del certificado se muestra la huella (“Thumbprint”) del mismo.

CertificateUploaded

Cerré el Accelerator y ahora no sé cómo volver a exportar el certificado

Puede ocurrir –o al menos eso fue lo que le pasó a los que me preguntaron por este problema- que te olvides de exportar el certificado en formato PFX. ¿Hay alguna otra forma de exportarlo si ya cerré el asistente y/o eliminé el archivo “.cer” que se crea en la misma carpeta del Accelerator?

La respuesta es que hay varios métodos, pero para simplificar expongo la siguiente:

  1. En una línea de comandos, ejecutar “certmgr.exe” para abrir la consola de administración de certificados en la carpeta “Personal\Certificates”
  2. Si nos acordamos del “FriendlyName” que pusimos al crear el certificado con el DNN Azure Accelerator, lo seleccionamos. En caso de no acordarnos o no estar muy seguros de qué certificado usamos en el Accelerator, tendremos que ir abriendo uno por uno y seleccionar el que tenga en la pestaña “Details”, propiedad “Thumbprint” el que coincida con el del error en cuestión.
    Certificates
  3. Pulsamos con el botón derecho del ratón seleccionamos “Todas las tareas>Exportar…” para iniciar el mismo proceso de exportación comentado en el apartado anterior

Con esto, una vez que hemos exportado y cargado el certificado del mismo modo que se ha indicado en los pasos anteriores, podremos desplegar nuestro servicio sin problemas.

Espero que sirva de ayuda. ¡Mañana más!