IT PRO Colombia

Tecnología Microsoft para los Profesionales de Infraestructura de IT (IT Pros)

March, 2013

  • WINDOWS AZURE: CREACION Y ADMINISTRACION DE UNA BASE DE DATOS SQL SERVER

    Siguiendo con las entregas acerca de Windows AZURE, en esta ocasión les voy a hablar acerca de las bases de datos SQL en AZURE.

    Con esta característica podemos crear fácilmente bases de datos SQL Server y administrarlas de una manera aún más fácil.

    Para empezar ingresamos al portal de AZUREy seleccionamos SQL DATABASES:

    Luego seleccionamos CREATE A SQL DATABASE

    Es necesario poner unos cuantos datos básicos:

    Estos datos incluyen el nombre de la Base de Datos, el tamaño de la misma y el tipo de edición (WEB o BUSINESS). Para más información acerca de la capacidades de una y otra pueden ver el siguiente link: http://msdn.microsoft.com/en-us/library/windowsazure/ee621788.aspx. En resumen la diferencia radica en la capacidad de ellas. La versión WEB está concebida para aplicaciones pequeñas web o departamentales con un tamaño de entre 1 y 5 GB máximo. Por otra parte la versión BUSINESS es más grande y se creó pensando en aplicaciones de negocio y puede llegar a tener un tamaño máximo de 150 GB.

    En nuestro ejercicio vamos a usar una Base de Datos del tipo WEB:

    Yo decidí nombrar la Base de Datos como mynewdb. Observen que en el campo SERVER es posible escoger entre un servidor ya existente o crear un nuevo servidor que contenga la Base de Datos, como yo previamente no he creado ningún servidor sólo puedo escoger la opción de creación de un nuevo servidor de Base de Datos:

     

     

    Antes de presionar siguiente , es importante revisar todos los campos de esta ventana, especialmente lo relacionado con el COLLATION, que en mi ejemplo es SQL_Latin1_General_CP1_CI_AS.

    Si este parámetro no se configura de acuerdo a mis necesidades lo mejor es borrar la Base de Datos y volver a crearla.

    Ahora debo asignar un nombre de usuario que cumpla unas condiciones básicas como por ejemplo:
    1.    No llamarse root, dbmanager, etc
    2.    No puede tener el nombre de las cuentas predefinidas en el sistema como dbo, guest, public, etc
    3.    No puede tener espacios en blanco, tabuladores
    4.    No tener caracteres especiales ("<>|:*?\/#&;,%=)
    5.    No empezar por dígitos y no tener los signos @, $ y +

    De igual manera la contraseña debe cumplir con al menos 3 de las siguientes condiciones:

    1.    Tener Mayúsculas
    2.    Tener minúsculas
    3.    Tener números
    4.    Tener caracteres No Alfanuméricos como !, $, # y %
    Teniendo en cuenta estas condiciones asigno una contraseña al usuario abarba.

    En pocas palabras voy a usar abarba, el cual cumple con los requisitos para asignar nombre de usuario.

     

    Debo seleccionar una región, en este ejemplo selecciono North Central US.

    Los demás parámetros los dejo por defecto:

    Presiono para continuar

    Empezará el proceso de creación de la Base de Datos:

    Una vez creada ya estará lista para su uso

    Observen que AZURE creó un servidor para mí denominado n10iu84mw2 en donde está mi nueva Base de Datos y la próxima vez que vaya a crear una nueva Base de Datos tendré la posibilidad de crearla en este servidor.

    Ya estoy listo para administrar mi Base de Datos, basta con hacer clic en el nombre de la misma (mynewdb) y veré lo siguiente:

    Aquí tengo muchas posibilidades interesantes como desarrollador pero nosotros somos IT Pros, así que podemos pensar en entrar a la consola de administración de mi base de datos como primera medida.

    Para tener acceso a la Base de Datos debemos crear una regla de acceso en el firewall de modo que podamos ingresar a la consola de administración desde nuestra IP pública.

    Hago clic en Set up Windows Azure firewall rules for this IP address para autorizar mi IP:

    Se me pregunta si autorizo mi IP para administración, presiono Yes.

    Ya estoy listo para conectarme a mi Base de Datos, de modo que dentro de Connect to your database puedo hacer clic en Design your SQL Database y al hacerlo se abrirá una nueva pestaña en mi explorador:

    Yo venía trabajando en Inglés, pero seguramente debido a mi localización de país e idioma me lo muestra en Español...

    Escribo el nombre de usuario, que en mi caso es abarba y la contraseña, luego presiono Iniciar Sesión, y voy a ver un panel de administración al siguiente (el color rosado no lo seleccioné yo)

    Aquí puedo realizar mis tareas administrativas sobre la Base de Datos. Por ejemplo voy a crear una tabla nueva en mi Base de Datos, para ello selecciono Nueva tabla

    Creé una tabla muy simple denominada Tabla1 con 3 campos o columnas: Id (int), Nombre (nvarchar) y Cargo (nvarchar):

    Presiono Guardar y ya queda salvada la tabla en la Base de Datos. Observen que no modifiqué los tipos de datos (nvarchar en este caso) ni cambié sus tamaños por defecto pero esos valores se pueden modificar.

    No me quiero meter en los terrenos de los expertos en Bases de Datos sólo quiero mostrar que como IT Pros podemos armar una infraestructura de SQL Server muy rápidamente.

    Navegando por otras opciones hice clic en Administración y puedo ver el estado de mi Base de Datos, la cual está a propósito muy saludable dado que es nueva:

     

     

    También puedo abrir consultas o queries que tenga grabados en mi disco local:

    Basta con presionar en Abrir

    Puedo traer consultas o queries (archivos con extensión .sql) o planes de ejecución que tienen extensión XML.

    Y bien, así puedo administrar una Base de datos AZURE vía web.

    ¿Y si quiero administrar mi Base de datos usando las herramientas ya conocidas como un SQL Server Management Studio?

    Voy a descargar de http://www.microsoft.com/en-us/download/details.aspx?id=29062 el cliente de SQL 2012 Server Management Studio. Una vez lo descargo procedo a instalarlo.

    Si se observa al hacer clic en la Base de Datos aparece el nombre de la misma, que en este ejemplo es Server: n10iu84mw2.database.windows.net,1433

    El nombre n10iu84mw2.database.windows.net es el que voy a usar para establecer conexión a la Base de Datos. Como ya tengo conexión permitida en el firewall de AZURE a través del puerto 1433 puedo administrar mi Base de Datos.

    Bien, apenas instale el software de gestión de SQL Server puedo establecer conexión:

     

    Escribo el nombre del servidor que en este caso es n10iu84mw2.database.windows.net, el usuario (abarba) y la contraseña y presiono Connect

     

    ¡Ya estoy administrando mi Base de datos SQL Server en AZURE desde SQL Server Management Studio!

    Quise traer esta posibilidad puesto que muchos –entre los que me incluyo- nos sentimos más cómodos usando esta herramienta para administrar Bases de Datos SQL Server.

    Ahora revisemos nuestra Base de Datos mynewdb y la tabla Tabla1 que previamente creamos en el ambiente web:

    Ahí se encuentra la estructura que creamos.

    De ahí en adelante puedo hacer muchas cosas, y de antemano ofrezco disculpas a mis amigos expertos en Bases de Datos, por ejemplo voy a ingresar un registro en mi Tabla1:

     

    Luego puedo hacer una consulta de los registros que inserté a mi tabla, usando SELECT

     

     

    Bueno amigos, espero hayan disfrutado de este contenido y les haya sido útil para ver lo fácil que es empezar a trabajar con Bases de Datos SQL en AZURE.

     

  • WINDOWS AZURE - CONECTAR MAQUINA LOCAL CON VM DE AZURE

    Hasta ahora en la serie de entregas que he hecho con Azure he mostrado el proceso de creación de máquinas tanto Linux como Windows y también mostré cómo crear sitios web allí. De igual manera creé una BD SQL en Azure.

    Pues bien, ahora voy a mostrar los pasos requeridos para conectar una máquina local (On Premise como se usa la expresión en Inglés) con una de Azure.

    Existen varias alternativas para lograr esta conectividad, la primera de ellas es crear una conexión VPN (Virtual Private Network) site-to-site entre los servicios o VMs de Azure y las máquinas locales, para ello es necesario tener dispositivos que permitan construir una VPN, como por ejemplo un firewall.

    Al construir una VPN hay una serie de requerimientos que se encuentran documentados en http://msdn.microsoft.com/en-us/library/windowsazure/jj156075.aspx y al final de este ejercicio se tendrá una conexión como la que se ve en la siguiente imagen:

    En esta imagen se están conectando las VMs que se encuentran en Azure –en diferentes subredes- con las máquinas locales de la compañía Contoso y que tienen diferentes funciones como servidores web y de base de datos.

    La segunda alternativa es conectar las máquinas locales con las de Azure usando los servicios denominados Windows Azure Connect, -muy útiles si no dispongo de un firewall- los cuales usan el protocolo IPsec.

    Esta es la opción que vamos a discutir en este post.

    La conexión entre máquinas de Azure y locales es totalmente encriptada y segura.

    Los pasos requeridos para usar Windows Azure Connect básicamente son tres:

     

    1. Activar los roles de Windows Azure para Windows Azure Connect obteniendo un token de activación y asegurándose de que el token esté incluido en la configuración de dichos roles. (Si voy a escribir una aplicación que interconecte VMs locales con VMs en Azure)
    2. Instalar el software de conectividad o endpoint en las VMs o máquinas físicas que quiero conectar contra Azure
    3. Crear uno o más grupos de endpoints. Al crear estos grupos se especifican las conexiones entre los roles de Azure y las máquinas locales

     En este ejercicio vamos a conectar una máquina local virtual Windows Server 2012 que tengo corriendo en Hyper-V contra una máquina Windows Server 2012 de Azure.

    Bien empecemos de una vez con el primer paso, que consiste en activar los roles y obteniendo el token de conexión:

    Debemos ingresar al portal de Azure con nuestro usuario y contraseña:

    Las opciones de networking se encuentran en el portal anterior de Azure, por lo tanto es necesario ir a dicho portal. Para ello basta con hacer clic en el nombre de usuario, en este ejemplo es michellca@hotmail.com por lo tanto hago clic en el nombre de usuario, el cual aparece en la parte superior derecha del portal

    Selecciono la opción Previous portal

    Se me abre una ventana nueva en mi explorador que me muestra el portal anterior de Azure.

     

    Aquí debemos seleccionar la opción Virtual Network, que se encuentra en la parte inferior del portal

     

     

    Una vez allí, debajo de Connect me muestra el tipo de suscripción que tengo, en mi caso es Windows Azure MSDN – Visual Studio Ultimate. Si hago clic sobre esta suscripción puedo ver otros detalles de la misma:

     

    De igual manera se me activa una serie de opciones en la parte superior del portal, que son las que voy a usar para realizar las tareas de conectividad de mi VM local con la VM de Azure.

     

    Si voy a escribir una aplicación en la que requiera interconectar mi VM On Premise o local con la de Azure, debo obtener el token que me establece dicha conectividad, para ello debo hacer clic sobre el botón Get Activation Token:

     

     

    Este token se puede copiar al portpapeles o clipboard y usar en el código de la aplicación. Para mayor información visiten http://msdn.microsoft.com/en-us/library/windowsazure/gg433071.aspx

     

    Pero como aquí somos IT Pros vamos a proseguir con el paso 2, que consiste en instalar el software de conectividad o local endpoint para lograr nuestro cometido de conectar las 2 VMs entre sí, es decir la local con la de Azure.

     

    Mi máquina local se denomina AZURE2012, lo que debo hacer es desde esa máquina ingresar al portal https://manage.windowsazure.com con mi usuario y contraseña.

     

    Luego ingreso al portal anterior a la sección Virtual Network y selecciono mi suscripción:

     

    Selecciono Install Local Endpoint

    Aquí se genera una URL que debo abrir en otra ventana del explorador para empezar la instalación del software de conectividad en mi máquina local. Este software no se puede descargar para una posterior instalación debido a que depende del token y cada token es único para cada suscripción.

    Hago clic en el botón “Copy Link to Clipboard” y me sale una advertencia como la siguiente:

    Presiono Yes y luego pego el contenido del portapapeles en una nueva ventana del navegador (sólo se soporta Internet Explorer)

     

    Presiono Save para guardar el software localmente

    Ahora presiono Run para ejecutar el software

    Selecciono el idioma y presiono Next, en mi caso lo voy a dejar en Inglés

     

     Marco I accept the terms of use y presiono Next

    Espero que finalice el proceso de instalación del software

    Presiono Finish una vez termine el proceso.

    Este mismo proceso lo debo ejecutar en la máquina de Azure, que para mi ejercicio se denomina SRV2012-01, siguiendo los mismos pasos que acabo de describir.

    Una vez haya instalado el software de conectividad tanto en la máquina local como en la virtual, debo ir al portal previo de Azure para continuar con el proceso

    Aquí puedo crear grupos de máquinas, por ejemplo en esta imagen se ve que ya tengo creado un grupo denominado Servers-Cloud. También se ven las dos máquinas a las que les instalé el software de conectividad, es decir AZURE2012 y SRV2012-01.

    Para efectos de organización voy a crear un nuevo grupo denominado CLOUD-01 y voy a agregar estas 2 máquinas a dicho grupo.

    Selecciono Create Group

    Debo completar los campos correspondientes al nombre del grupo y las máquinas que van a hacer parte de dicho grupo

    Una vez complete los datos, la ventana se debería ver de la siguiente manera:

    Usando el botón Add agregué mis 2 máquinas. Observen que marqué la opción Allow connections between endpoints in group y agregué el grupo Servers-Cloud para conectarme hacia dicho grupo.

    En otras palabras voy a conectarme desde las máquinas AZURE2012 y SRV2012-01 hacia las máquinas que se encuentran en el grupo Servers-Cloud

     

     

    El mensaje que se ve arriba se verá una vez se haya creado el grupo

    En resumen, tengo dos grupos de máquinas que están conectados entre sí y a su vez las máquinas del grupo CLOUD-01 se ven entre sí, es decir AZURE2012 que es mi máquina virtual local y SRV2012-01 que es la máquina de Azure:

     

    Para verificar conectividad entre las máquinas puedo hacer ping entre las máquinas.

    Por ejemplo, ingreso a AZURE2012 y hago un ping a SRV2012-01:

     

     

    Se obtiene respuesta gracias a que el software de conectividad se encuentra instalado en ambas máquinas y a que en las propiedades del grupo se habilitó conectividad entre las dos máquinas.

    Ahora hagamos ping en sentido contrario, es decir desde la máquina de Azure SRV2012-01 hacia AZURE2012 para ver la respuesta:

     

    Analizando lo que se ve, en primera instancia observamos que por defecto se hace ping a direcciones del tipo IPv6.

    También se observa que los tiempos de respuesta son más altos que los tiempos habituales de una red local, por ejemplo vemos que el primer ping de AZURE2012 hacia SRV2012-01 tardó 2015 ms y luego el tiempo bajó.

    La razón por la cual los tiempos no son iguales a los de la una red local obedece a que obviamente estamos conectando una máquina local con una máquina de Azure y además a través de un protocolo seguro como IPsec, pero también la demora es ocasionada porque se usa un servicio de relay para tener conectividad entre las máquinas.

    También es importante tener en cuenta las consideraciones asociadas a las reglas de firewall en las máquinas, para ello pueden consultar el siguiente link http://msdn.microsoft.com/en-us/library/windowsazure/gg433061.aspx

    Por ejemplo, si quiero conectarme desde mi máquina local AZURE2012 hacia la máquina de Azure SRV2012-01 por Terminal Services puedo usar el cliente de Terminal Services (Remote Desktop Connection) hacia la IPv6 de la máquina destino, es decir 2a01:111:f102:102:50da:12ad:45f2:4447

     

    Observen que se solicita usuario y contraseña

     

    Bueno, como lo ven puedo usar los servicios denominados Windows Azure Connect para conectar On Premise o locales con máquinas de Azure. En este blog conecté mi máquina local AZURE2012 hacia la máquina SRV2012-01 que se encuentra en Azure.

     

    Los servicios de conectividad entre las máquinas se realizaron a través de IPv6. Lo más importante que no necesité usar un dispositivo físico para crear VPNs como un firewall, lo cual me puede ahorrar costos pero por otra parte los tiempos de respuesta de conectividad entre las 2 máquinas pueden llegar a ser más altos debido a que esta conectividad usa un servicio de relay para lograr la conectividad.

    ¡Espero les sea de utilidad! Nos vemos en la próxima entrega.

     

     

     

     

     

     

     

     

     


     

  • INFORMACION DE INTERES SI QUIERES SABER DE SOPORTE Y LICENCIAMIENTO MICROSOFT

    Hola amigos, muchos de ustedes me han preguntado acerca de las opciones de soporte y licenciamiento de Microsoft.

    Les quiero contar que hemos estado mejorando y enriqueciendo las iniciativas disponibles para la comunidad, para brindarles más apoyo en su trabajo así como en su crecimiento profesional.
    Cada semestre hacemos una encuesta para que nos cuenten en qué podemos mejorar y con base en su retroalimentación detectamos áreas de mejora, sobre las cuales trabajamos permanentemente.

    Por ejemplo, en la encuesta del semestre pasado, los temas principales que ustedes nos contaron por ejemplo fue que querían tener mejor información de licenciamiento, soporte y eventos. Hemos actualizado la información sobre soporte y licenciamiento en nuestro sitio web Activa (www.microsoftactiva.com) y además hemos compilado todos los recursos disponibles en este documento http://sdrv.ms/13Gy07V, que les recomiendo para que descarguen y tengan a mano permanentemente.

    Adicionalmente, cada mes estamos enviando un correo con los eventos técnicos de Microsoft, así como información de las comunidades profesionales. Además, esta información se encuentra también en nuestro sitio web de Activa www.microsoftactiva.com