[Azure Storage] ¿Cómo mantener blobs desde Visual Studio?

No sé que tan gracioso suene, pero la primera vez que aprendí sobre los blobs en las cuentas de almacenamiento de Microsoft Azure (en ese entonces se llamaba Windows Azure) yo creía que la única forma de subirlos o eliminarlos, por ejemplo, era a través de código.

No sé si otras personas compatirán la misma idea que yo en ese entonces, pero para tal caso hice este post.

Lo primero que hay que hacer es iniciar sesión en el Cloud Explorer, si es que no puedes verlo anda a View -> Cloud Explorer

Una vez hecho esto tienes que configurar con que suscripciones de Azure quieres conectarte desde el explorer.

Luego, ubica la cuenta de almacenamiento (Storage Account) a la cual necesites acceder y dale doble click o selecciona la opción “Abrir editor de contenedores de blob”.

Y listo, lo demás es intuitivo. Como ven es muy fáci subir, descargar y eliminar archivos de la nube.

Ahora si lo que quieres es definir niveles de accesos dinámicos o accesos basados en tokens, etc. te super recomiendo que revises el siguiente enlace: https://azure.microsoft.com/es-es/documentation/articles/storage-dotnet-shared-access-signature-part-1/

[Azure Security] Coadministrador de Servicios Azure

Tarde o temprano nos veremos en la necesidad de compartir ciertos privilegios como por ejemplo, en este caso, la capacidad de crear y/o administrar recursos (App Services, Storage Accounts, etc.) en alguna de las Suscripciónes de Azure que poseemos. Para agregar un Coadministrador de Servicios a una de nuestras Suscripciones de Azure tenemos que seguir los siguientes pasos:
Ingresamos al Portal Clásico de Azure, vamos a Configuración y nos ubicamos en la vista de Administradores.

Como la cuenta con la que ingresé es una Cuenta Organizativa, sólo puedo agregar como coadministrador a una cuenta de Microsoft o una cuenta de la misma organización. Para mayor información: https://azure.microsoft.com/es-es/support/changing-service-admin-and-co-admin/

Una vez ingresado una cuenta válida, ya podemos cerrar sesión e ingresar con la otra cuenta para verificar que efectivamente ya tiene los privilegios de coadministrador.

[Azure App Service] Introducción a Azure WebJobs

Con motivo del Global Azure Bootcamp y los últimos proyectos que he estado haciendo, consideré que dar una Introducción sobre los WebJobs sería un buen aporte.

Recursos:

Azure WebJobs 105 – Scaling out Web Jobs
http://azure.microsoft.com/en-us/documentation/videos/azure-webjobs-scaling-out/

Azure WebJobs 106 – The WebJobs Dashboard as a Site Extension
http://azure.microsoft.com/en-in/documentation/videos/azure-webjobs-dashboard-site-extension/

What is the Azure WebJobs SDK
http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk/

YouTube

SlideShare

Vimeo

[Azure App Service] Introducción a Azure App Service

Azure App Service (Servicio de Aplicaciones de Azure) es el único servicio de la nube que integra todo lo que tu necesitas para que rápida y fácilmente construyas aplicaciones web y móviles para cualquier plataforma y cualquier dispositivo. Construido para los desarrolladores, Azure App Service es una plataforma como servicio (PaaS) con poderosas capacidades, tales como DevOps integrado, integración continua con Visual Studio Online y GitHub, soporte para stagging y production slots, y parcheo automático.

Azure App Service es un único servicio que incluye todas las capacidades existentes de los servicios de Azure Websites, Azure Mobile Services y Azure Biztalsk Services, al tiempo que añade nuevas capacidades. Si quieres conocer más acerca de la relación de Azure App Service y los servicios previamente mencionados ingresa al siguiente enlace.

¿Por qué Azure App Service?

Centrado en el desarrollo rápido de aplicaciones web y móviles, así como la automatización de procesos de negocios, Azure App Service proporciona un conjunto integrado de capacidades empresariales a través de una única experiencia en el desarrollo y gestión que le ofrece las siguientes ventajas:

  • Construye aplicaciones web y móvil rápido – Construye, implementa y administra aplicaciones web y móviles para los empleados o clientes usando un solo back-end. Usa los lenguajes que ya dominas – .NET, Java, NodeJS, PHP o Python. Acelera el desarrollo con el acceso a una rica gealeria de APIs, conectores y lógicas disponibles en el Marketplace de Azure.
  • Conecta con cualquier servicio y desbloquea tus datos – Conecta tu aplicación web o móvil a un sistema empresarial o SaaS en minutos con los conectores integrados. Elija entre más de 50 conectores para sistemas empresariales como SAP, Siebel y Oracle, para servicios SaaS empresariales populares como Salesforce y Office 365, para servicios de internet populares como Facebook, Twitter y Dropbox.
  • Integración simplificada – Integra datos a través de las nubes y automatiza los procesos de negocio en cuestión de minutos con una experiencia de diseño visual simple. Integra fácilmente tu lógica con cualquier aplicación móvil o web a través del Standard APIs REST. Construye la integración de sofisticadas aplicaciones empresariales, soluciones B2B usando EDI, políticas de negocio (motor de reglas), y más basado en la industria de la plataforma líder de BizTalk.
  • Productividad del desarrollador incomparable – Optimizado para DevOps, con soporte para integración continua con Visual Studio Online and Github, para que puedas concéntrate en mejorar rápidamente tus aplicaciones sin preocuparte sobre la infraestructura. Despliega actualizaciones de tu aplicación con las capacidades de prueba integradas de staging, roll-back and in-production.
  • Empresa lista – Disfrute de la paz mental con la seguridad y la gestión de calidad empresarial. Proporcione administración delegada y basada en roles; proteja y administre fácilmente el flujo de datos a sus aplicaciones móviles; y proteja sus bienes con las capacidades integradas de respaldo y restauración. Descanse con confianza sabiendo que Azure App Service es compatible con PCI. Mantenga el control con entornos dedicados, y la habilidad de desplegar a través de nubes públicas y privadas. Benefíciate de los más de 25 años de experiencia en Microsoft y su Acuerdo de Nivel de Servicio empresarial (SLA).
  • Planes de servicio – Representan un conjunto de características y capacidades que puede compartir a través de sus aplicaciones. Los planes de servicios soportan algunos niveles de precios (por ejemplo Free, Shared, Basic, y Standard), donde cada nivel tiene sus propias capacidades. Usted puede cambiar rápidamente el plan de servicios de una aplicación hospedad sin ocasionar tiempo de inactividad. Leer más

Tipos de aplicaciones

Azure App Service te permite crear los siguientes tipos de aplicación desde una única experiencia desarrollo:

  • Web Apps – Crea y despliega rápidamente aplicaciones web de misión crítica que escalen con su negocio.

  • Mobile AppsInvolucra empleados, socios y clientes en cualquier dispositivo, en cualquier momento.
  • API AppsConstruya y consuma fácilmente APIs de la nube y participa en el mercado de las APIs.
  • Logic AppsAutomatiza el acceso y el uso de datos a través de la nube sin necesidad de escribir código.

Como un solo servicio integrado, Azure App Service hace fácil componer los tipos de aplicaciones anteriores en una sola solución, lo que permite crear fácilmente aplicaciones que se dirigen tanto a la web y los clientes móviles utilizando el mismo back-end y la integración con los sistemas on-premise, así como con servicios populares como Twitter, Facebook, Office 365 y salesforce.com.

[Azure App Service] ¿Cómo depurar mis Sitios web de Azure usando Visual Studio?

Hoy aprenderemos lo sencillo que es depurar nuestros Sitios web de Azure desde Visual Studio. Para ello empecemos creando un proyecto web.

Como elegí un proyecto ASP.NET MVC Vacío lo único que haremos es agregar un Controller llamado Home, definir un punto de interrupción dentro del método Index y crear la vista para el Index.

Una vez hecho esto ya podemos empezar a publicar nuestro sitio web. Si ya contamos con algún perfil de publicación lo podemos importar, sino también podemos crear un nuevo sitio web desde Visual Studio luego de iniciar sesión en Microsoft Azure.

Si queremos depurar nuestro Sitio Web, en configuración debemos asegurarnos que este seleccionado Debug y no Release.

Luego de publicar exitosamente nuestro sitio, ubiquemos el sitio en el Server Explorer y seleccionemos View Settings.

Activemos la opción Remote Dubugging ya que por defecto esta desactivado y guardemos los cambios.

También podemos hacerlo desde el Portal de Microsoft Azure.

Finalmente seleccionemos la opción Attach Debugger

Y terminamos..

[Azure Storage] ¿Cómo migrar mis blobs programaticamente?

Antes de empezar, a los que no conocen el Azure Storage Service les recomiendo visitar el siguiente enlace http://azure.microsoft.com/en-us/services/storage/
Ahora, el hecho de Exportar e Importar los datos de una cuenta de almacenamiento de Azure ya es posible usando el Azure Management Portal.

Con el detalle de que tenemos que descargar el Drive Preparation Tool, luego enviar nuestros Hard Drives hacia la región en donde se encuentra registrada nuestra cuenta de almacenamiento y detallar nuestra información de contacto. Probablemente todo esto no sea necesario si es que aun no manejamos Teras de información y para ello es este post.

Así que imaginemos la situación en que no solo queremos descargar “todos” nuestros blobs(obviamente lo puedes filtrar programáticamente alterando el código que se compartirá luego), sino que queremos pasarlos hacia otra cuenta de almacenamiento. Para ello empecemos creando una nueva cuenta de almacenamiento.

Luego creamos un proyecto de Consola en Visual Studio y agregamos las referencias a Windows Azure Storage usando NuGet.

Ahora en nuestro Main agregamos las referencias a los siguientes espacios de nombres y creamos las instancias del CloudStorageClient para las cuentas de almacenamiento de origen y destino usando el nombre y llave que obtuvimos en Manage Access Keys según corresponda:

Y finalmente este es el código que pasará los datos de un lado a otro (recomiendo completar con sus respectivos try catch):

Public Blobs

Private Blobs

Este ejemplo ha sido ejecutado usando Blobs, pero la misma lógica se puede aplicar para los Tables y los Queues.

CodePlex

Código fuente disponible en: Microsoft Azure -> BlobsMigration