Cloud computing: introducción a SQL Azure

Con SQL Azure, puede hacer realidad los beneficios de una plataforma de base de datos relacional familiar, más los beneficios de cloud computing.

Joshua Hoffman

Los datos son el alma de los negocios. Asegurar que se encuentren seguros, disponibles y con fácil acceso son requisitos fundamentales de cualquier departamento de TI. Lo que es más importante: asegurar que los datos se usen bien (para impulsar procesos, informar para la toma de decisiones y reaccionar inteligentemente a los cambios de circunstancias) es lo que diferencia a los negocios exitosos de los que se quedan atrás.

La manera en la que los negocios aseguran la disponibilidad de los datos está cambiando rápidamente. Los servicios hospedados (al igual que la misma idea de software como servicio) para todo, desde funciones de centro de datos fundamentales, como correo electrónico e inteligencia empresarial, hasta las aplicaciones personales, como el uso compartido de fotografías y la sincronización de archivos, se han convertido en parte de la manera en que interactuamos con nuestra información. Cloud computing ha experimentado un meteórico aumento durante los últimos años, tanto como concepto como componente práctico de la infraestructura de TI.

Una solución particularmente atractiva de cloud computing es Microsoft SQL Azure. SQL Azure es una infraestructura eficaz y familiar para almacenar, administrar y analizar datos. También ofrece los beneficios de cloud computing. Una infraestructura compartida y hospedada ayuda a reducir los costos directos e indirectos. Un modelo de pago por uso ayuda a lograr una mayor eficiencia. Además, se incluyen una alta disponibilidad y tolerancia a errores.

De todas formas, ciertos aspectos de este nuevo modelo representan desafíos para el profesional de TI. La toma de decisiones correctas respecto del uso de servicios hospedados o de infraestructura en la empresa es un gran desafío. Se debe asegurar una integración sin problemas entre estos enfoques y el mantenimiento de planes sólidos de seguridad y de continuidad de negocios. Éstos son sólo algunos de los problemas que los profesionales de TI deben considerar al evaluar soluciones de cloud computing para su organización.

En este artículo, presentaré SQL Azure desde la perspectiva del profesional de TI. Abordaré la manera en que funciona SQL Azure, dónde se ajustaría mejor en su entorno, cómo comenzar y cómo asegurar una integración sin problemas con su infraestructura de datos existente.

¿Qué es SQL Azure?

SQL Azure es parte de la plataforma Windows Azure: un conjunto de servicios que ofrecen computación, infraestructura, servicios web y servicios de datos hospedados. El componente SQL Azure ofrece toda la funcionalidad de base de datos relacional de SQL Server, pero también ofrece funcionalidad como servicio de cloud computing, hospedado en centros de datos de Microsoft en todo el mundo.

SQL Azure generalmente viene bien siempre que necesite servicios de base de datos. Existen algunos aspectos en los que SQL Azure sería especialmente útil:

  • Colaboración: al pasar los datos a la nube, SQL Azure ayuda a crear un concentrador de colaboración. Cuando necesite compartir acceso a información entre límites organizativos, como por ejemplo, entre sucursales, los servicios hospedados permiten reducir los obstáculos en la red, a la vez que aseguran la protección de los datos.
  • Escala: uno de los beneficios inherentes de cloud computing es la capacidad de agregar infraestructura a petición, lo que permite escalar dinámicamente la capacidad de la aplicación a medida que surjan necesidades. Esto es particularmente útil cuando el uso máximo de las aplicaciones hospedadas cambia de manera significativa a lo largo del tiempo (como las aplicaciones de ventas minoristas durante períodos de fiestas, etc.).
  • Concentración: a medida que la funcionalidad de base de datos relacional se hace más granular y se distribuye a departamentos y grupos de trabajo individuales, la administración interna de la “expansión de base de datos” puede convertirse en un problema. SQL Azure permite consolidar bases de datos de departamentos y grupos trabajo, aprovisionamiento llave en mano y administración simplificada, de manera que los administradores puedan satisfacer las necesidades de los departamentos más fácilmente.
  • Aplicaciones hospedadas: si ya hospeda otras cargas de trabajo en la plataforma Windows Azure (como aplicaciones web), la integración de cargas de trabajo de bases de datos relacionales en SQL Azure es muy simple. También ayudan a maximizar el rendimiento de la aplicación reduciendo el tráfico de red.
  • Eficacia de costos: según las cargas trabajo que desee instalar, el modelo de pago por uso que ofrece cloud computing puede proporcionar el enfoque más rentable.

En general, la funcionalidad fundamental de SQL Azure y de SQL tradicional es intercambiable, con la excepción de algunas limitaciones de tamaño de la base de datos en la plataforma Windows Azure (lea más acerca de esto en Preguntas más frecuentes de SQL Azure). Cada enfoque ofrece diferentes beneficios y costos en términos de infraestructura, de manera que es sólo cuestión de seleccionar la mejor opción según el caso de negocios individual. También puede extender las cargas de trabajo entre ambas plataformas de manera muy integrada.

Introducción a SQL Azure

Comenzar a usar SQL Azure es simple, especialmente si está familiarizado con las herramientas de administración de SQL Server tradicionales, como SQL Server Management Studio (que se puede usar para administrar instancias de SQL Azure).

El primer paso es configurar una cuenta para la plataforma Windows Azure, que permite acceso a los servicios de Windows Azure incluidos Windows Azure, SQL Azure y Windows Azure AppFabric (lo que proporciona un medio para que los desarrolladores conecten aplicaciones y servicios entre límites organizativos y de red). Una vez que haya establecido su cuenta, puede tener acceso al panel de control de SQL Azure (consulte la Figura 1).

Figure 1 A close look at the SQL Azure control panel

Figura 1 Vista detallada del panel de control de SQL Azure

El panel de control de SQL Azure permite crear nuevas bases de datos dentro de su cuenta. Puede definir cada base de datos como base de datos Web Edition o Business Edition. Una única base de datos Web Edition puede admitir hasta 5 GB de datos, y una única base de datos Business Edition admite hasta 50 GB (Business Edition usa incrementos de facturación de 10 GB: 10 GB, 20 GB, 30 GB, 40 GB y 50GB).

El panel de control también proporciona un nombre de servidor para la instancia de SQL Azure, así como cadenas de conexión ADO.NET u ODBC, que puede usar para conectarse a su base de datos (según Autenticación de SQL; SQL Azure no es compatible con Autenticación de Windows). A partir de allí, se pueden usar las cadenas de conexión dentro de una aplicación, crear un objeto ODBC o complementar la información del servidor hacia una herramienta de administración como SQL Server Management Studio (consulte la Figura 2).

Figure 2 SQL Server Management Studio connected to a SQL Azure database

Figura 2 SQL Server Management Studio conectado a una base de datos de SQL Azure

Como medida adicional de seguridad, notará la ventana Configuración del firewall dentro del panel de control de SQL Azure. Esto permite especificar la dirección IP desde la cual se tiene acceso a la base de datos. Puede escribir cualquier combinación: una dirección individual, un rango de direcciones o una provisión para otros servicios de Microsoft (de manera que sus propias instancias de Windows Azure y aplicaciones hospedadas tengan acceso a sus bases de datos).

A partir de este punto, la interacción con los datos que almacene en SQL Azure es idéntica al trabajo con su propio SQL Server. Mediante SQL Server Management Studio, puede realizar todas las tareas tradicionales de SQL Server: creación de tablas, vistas y procedimientos almacenados; importación de datos; ejecución de instrucciones de T-SQL, etc.

Una base de datos basada en nube debe ofrecer algunas herramientas de administración basadas en nube también. Como alternativa ligera a SQL Server Management Studio, SQL Azure Labs ha creado una herramienta de administración basada en web para bases de datos SQL Azure, llamada código de proyecto Microsoft “Houston.” Ésta brinda una manera simple de desarrollar, implementar y administrar rápidamente bases de datos en la nube.

Creado con Microsoft Silverlight, el proyecto Houston ofrece una herramienta de administración de base de datos para varias plataformas basada en web, para tareas de administración de base de datos básicas, como la creación y ejecución de consultas, el diseño y la edición de un esquema de base de datos y la edición de datos de tabla. Se debe tener en cuenta, sin embargo, que el proyecto Houston actualmente sólo se encuentra disponible como Community Technology Preview (CTP), por lo que no es compatible oficialmente con servicios de soporte técnico estándar de Microsoft.

Integración con SQL Server

Existen muchas maneras de integrar SQL Azure con la infraestructura existente de SQL Server. La mayoría de las maneras tradicionales de integración y migración de datos entre servidores están disponibles también para SQL Azure, incluido SQL Server Integration Services, que permite la importación, exportación , transformación y el almacenamiento de datos, entre otras tantas funciones. SQL Azure también es compatible con el asistente de importación y exportación de SQL Server que se incluye con el conjunto de herramientas de SQL Server Management Studio, para copiar bases de datos y migrar datos desde y hacia SQL Azure (consulte la Figura 3).

Figure 3 Working with the SQL Server Import and Export Wizard

Figura 3 Trabajo con el asistente de importación y exportación de SQL Server

Existe otra opción para integrar SQL Azure en la infraestructura existente del conjunto de herramientas desarrollado por la comunidad, llamado SQL Azure Migration Wizard. Este asistente proporciona una guía a través de la selección de objetos de SQL Server 2005/2008 existentes y crea scripts de SQL para migrar dichos objetos a SQL Azure. Aunque no es compatible oficialmente con Microsoft, existe un amplio soporte en la comunidad para SQL Azure Migration Wizard, incluidos vídeos para guiarlo en el proceso del uso de las herramientas. 

Por último, SQL Azure Data Sync (actualmente disponible como CTP) es un servicio de sincronización basado en la nube, diseñado para proporcionar sincronización de datos bidireccionales entre servidores SQL Server locales y SQL Azure, así como entre bases de datos de SQL Azure en diferentes ubicaciones (proporcionando funcionalidad de geo-replicación).

SQL Azure Data Sync está basado en Microsoft Sync Framework, por lo que ofrece un enfoque familiar para la sincronización de datos desde y hacia varias ubicaciones. Una vez más, se debe tener en cuenta que SQL Azure Data Sync es un CTP y no es compatible actualmente con servicios de soporte técnico de Microsoft.

Los beneficios de cloud computing son innegables. La rentabilidad, la concentración de servidores, el aprovisionamiento a petición y la diversidad geográfica que ofrece cloud computing representan sólo el principio de las ventajas que se obtienen con el paso de los datos a la nube. SQL Azure combina el rendimiento eficaz y el entorno familiar de SQL Server con los beneficios de cloud computing. Es ideal como solución para una organización que busca crear una infraestructura de administración de datos más dinámica y rentable.

Joshua Hoffman

Joshua Hoffmanes el ex editor en jefe de TechNet Magazine. Actualmente es un autor y consultor independiente, que asesora a clientes sobre tecnología y marketing orientado a audiencias. Hoffman también trabaja como editor en jefe de ResearchAccess.com, un sitio dedicado al crecimiento y enriquecimiento de la comunidad de investigación de mercado. Vive en Nueva York.

Contenido relacionado