Tus primeros pasos con ASP.NET 5 en IBM Bluemix

Tus primeros pasos con ASP.NET 5 en IBM Bluemix

En Octubre de 2014, IBM y Microsoft anunciaron un acuerdo de colaboración para traer la tecnología .NET a la plataforma de desarrollo e innovación de negocio IBM Bluemix, ¡hoy esta promesa es una realidad!

El anuncio oficial fue dando dentro del marco del Cloud Foundry Summit y desde ya los desarrolladores y las compañías interesadas pueden encontrar el runtime de ASP.NET 5 en el cada vez más extenso catálogo de servicios de IBM Bluemix.

ASP.NET 5 en IBM Bluemix nos permite a los desarrolladores:

  • Trabajar en aplicaciones ASP.NET 5  y construir servicios en ASP.NET 5 utilizando la rica cartera de servicios Bluemix como Watson y Internet de las Cosas, o elegir entre los servicios asociados como Twilio.
  • Estandarizar y hacer más ágil nuestro trabajo alrededor de una plataforma única como lo es Bluemix para ejecutar aplicaciones y servicios en .NET, Java, Node.js, PHP, Python, Ruby, Go, y más.
  • Utilizar los servicios de IBM DevOps integrados con Bluemix para publicar y gestionar automáticamente los cambios de Visual Studio para Bluemix vía código vinculado en Github y para agilizar y hacer más eficiente nuestro trabajo en equipo.
  • Soportar las estrategias de nube híbrida y multi-cloud. El servicio de Bluemix Secure Gateway  forma permite un acceso seguro, rápido y sencillo desde Bluemix a otras aplicaciones de SQL Server que se pueden estar ejecutando en su centro de datos, en Azure o en otra nube.

Para todos los desarrolladores .NET este anuncio significa la posibilidad y las ventajas de construir apps usando inteligencia cognitiva de Watson, bases de datos no estructuradas con Cloudant entre otros servicios que funcionan en Bluemix.

A continuación tus primeros pasos con ASP.NET en IBM Bluemix

Contenido

Etapa 0: Empezando con Bluemix

En pocas palabras, Bluemix es una implementación de la Arquitectura de Nube Abierta de IBM, basada en Cloud Foundry, plataforma como servicio opensource (PaaS por sus siglas en inglés). Los desarrolladores podemos rápidamente construir, publicar y administrar aplicaciones en la nube, mientras trabajamos con un portafolio enriquecido de servicios, runtimes y frameworks.

Si esta es tu primera vez con Bluemix, te invito a ver el siguiente material en inglés y hacerme tus preguntas en español:

Puedes registrarte para tu periodo de prueba entrando en Bluemix y ¡empezar ahora! Luego de la etapa de prueba puedes activar tu cuenta y seguir trabajando, con la ventaja que puedes tener tus ambientes de desarrollo y pruebas sin costo. Contáctame en página de contacto interactivo si tienes preguntas sobre este u otros temas de Bluemix.
Volver a Contenido…

Etapa 1: “Hola Mundo” (al estilo .NET)

  • Ingresa en Bluemix, una vez dentro te encontrarás con el Panel de Control (Dashboard) en el que podrás visualizar un resumen del espacio activo de Bluemix para tu organización.
  • Desde el Panel de Control en Bluemix, da clic en CREAR UNA APP y luego en WEB
    Crear una app en Bluemix
  • Selecciona ASP.NET 5 y da clic en CONTINUAR
    App ASP.NET 5 en Bluemix
  • Dale un nombre a tu aplicación y clic en FINALIZAR
    Nombrando app en Bluemix

Detrás de Cámara

Ahora tu aplicación se está provisionando – Mono, el Administrador de Versiones .NET y el entorno de ejecución (runtime) de .NET se están instalando en el contenedor de la aplicación. Entonces paquetes requeridos por la aplicación se descargan de NuGet.

La tecnología para el lanzamiento inicial es ASP.NET 5 usa Mono como la capa de emulación de Windows. Vamos a pasar de mono a la oficial de Microsoft .NET para Linux Core una vez que la tecnología esté lista.

  • En la página con la Visión general puedes acceder a la visual del ESTADO DE LA APP (APP HEALTH) y del REGISTRO DE ACTIVIDADES (ACTIVITY LOG) y a administrar tu aplicación. Una vez el estado sea “La app se está ejecutando.” (“Your app is running.”), da clic en el link al frente de Rutas para ver tu aplicación funcionando:
    App ASP.NET en Bluemix
  • Ahora puedes ver tu primera aplicación “Hello World” funcionando en Bluemix (esto se pondrá mejor, lo prometo).
    Hello world ASP.NET 5 en Bluemix

Volver a Contenido…

Etapa 2: Entregas continuas con los servicios IBM DevOps y Git

Ahora que ya estás ejecutando tu primera aplicación .NET en Bluemix, puedes ver y modificar el código usando los servicios DevOps integrados.

¿Qué son los servicios DevOps?

IBM® Bluemix Servicios DevOps es el software como servicio (SaaS) en la nube que permite trabajar en las entregas continuas de proyectos de desarrollo. Con los Servicios IBM Bluemix DevOps, podemos desarrollar, realizar seguimiento, planificar y desplegar el software en un solo lugar. Puedes acceder a todo lo que necesitas para construir todo tipo de aplicaciones relacionadas con uno o varios de tus proyectos.

Además, para simplificar el trabajo en equipo, DevOps ofrece herramientas de colaboración que puedes utilizar. Después de construir una aplicación, puedes publicarla y ejecutarla en IBM Bluemix. Así, en minutos puedes ir desde el código fuente de una aplicación hasta su ejecución.

Los Servicios Bluemix DevOps ofrecen las siguientes capacidades:

  • Planeación ágil, usando el servicio Track & Plan
  • Un ambiente de desarrollo en la web (Web-IDE) para editar, administrar y controlar tu código fuente como desarrollador solitario o como parte de un equipo.
  • Administración y control de código fuente a través de Git, Jazz SCM o GitHub
  • Automatización de entrega de builds a través del servicio de Delivery Pipeline.

¡Empecemos!

  • En la página de Visión general da clic en AÑADIR GIT (ADD GIT)
    ADD GIT IBM Bluemix

Detrás de Cámara

Esto creará un proyecto IBM DevOps Services (IDS), un repositorio Git que contiene el código de la aplicación y un pipeline para entregas que, por defecto, automáticamente hace re-deploy cada vez que se haga un “git-push” en tu aplicación.

NOTA: Si esta es tu primera vez usando los IBM DevOps Services, verás un formulario de registro. Usa tu mismo IBM id y crea un alias.

  • Asegúrate de que la opción “Populate the repository with the starter application package and enable Delivery Pipeline (Build & Deploy)” está seleccionada y da clic en CONTINUE
    Creando un repositorio Git con DevOps y Bluemix
  •  Da clic en EDITAR CÓDIGO (EDIT CODE) para ver el contenido de tu nuevo proyecto IBM DevOps Services (la opción de AÑADIR GIT debió ser reemplazada automáticamente por la de EDITAR CÓDIGO).
    Editar código DevOps en Bluemix

Volver a Contenido…

Etapa 3a: Actualiza tu aplicación con Visual Studio

  • Copia la dirección Git URL para que puedas clonarla en tu estación de trabajo local
    Git URL para usar en Visual Studio
  • Clona el proyecto en Visual Studio 2015
    clone
  • Abre el proyecto en Visual Studio usando el archivo de solución (.sln)
    solution
  • Modifica la aplicación (por ahora solo modificaremos el mensaje de “Hello World” en index.cshtml)
    Visual Studio .NET conectado con Bluemix DevOps
  • Haz commit y push con tus cambios
    Proyecto .NET con Visual Studio conectado Bluemix DevOps
  • Regresa a la pantalla de DevOps Services
    DevOps Services en IBM Bluemix

Detrás de Cámara

La cadena de entrega (delivery pipeline) en IBM DevOps Services inició automáticamente el build para posteriormente re-desplegarlo sobre tu git una vez hecho el commit y el push.

Accediendo a la pestaña de BUILD & DEPLOY en IBM DevOps Services podemos visualizar lo que está sucediendo. Cuando la etapa de publicación (deploy) termina, tu aplicación estará actualizada en Bluemix.

  • ¡Y listo! Ya tenemos nuestro “Hello Universe” muy al estilo .NET
    Hello World and Universe en .NET funcionando en IBM Bluemix

Volver a Contenido…

Etapa 3b: Actualiza tu aplicación con <tu IDE de desarrollo favorito>

Interfaz de línea de comandos Cloud Foundry + tu editor favorito IDE

  • Desde el Panel de Control Bluemix, da clic en la opción “Empezar a escribir código” (Start Coding) ubicada en el menú izquierdo
  • Haga clic en el icono de la interfaz de línea de mandatos CF. En esta pestaña encuentras una guía con los pasos para usar los comandos de Cloud Foundry cf para actualizar tu aplicación y proporciona comandos contextuales personalizados con tu nombre de usuario, aplicación, etc. Básicamente, esta es la aproximación a “descarga tu código, utilice editor favorito y haz push cf”.

Servicio DevOps – Entorno de desarrollo integrado en la web (WebIDE)

El ambiente Web IDE en IBM DevOps está basado en el proyecto opensource Eclipse Orion.

  • Da clic en OVERVIEW para regresar a la visualización general de la aplicación.
  • Una vez estés en la Vista General de tu aplicación, da clic en EDITAR CÓDIGO (EDIT CODE)

Esto te dará acceso a IBM DevOps y tu proyecto se abrirá en el WebIDE. Desde aquí, puede editar archivos con sintaxis y guías de colores, empujar cambios a Git que ya está integrado, y como lo hicimos anteriormente, poner en marcha el pipeline con la opción Build & Deploy.

Volver a Contenido…

Etapa 4: Más allá del “Hola Mundo” (cuando inicia lo épico)

Ahora si, ¡iniciamos con el verdadero poder que Bluemix entrega a los desarrollos en .NET!

Da un paseo alrededor del Catálogo Bluemix… desde sus aplicaciones hechas con tecnología ASP.NET 5, podrás acceder y consumir una gran variedad de servicios únicos y exclusivos para diferenciar tus aplicaciones de otras y posicionarte mejor en el mercado. No hay necesidad de instalar nada, no hay necesidad de configurar nada. Todo está allí, listo para usar, ¡listo para jugar!.

¿Recuerdas que antes mencionamos a Watson & Cloudant?

Los puedes encontrar en el catálogo de Bluemix.

IBM ha agregado dos nuevos contenedores modelo (o boilerplates) que muestran cómo iniciar con el uso de estos servicios con tan sólo un clic. Puedes empezar a construir utilizando estos moldes o simplemente echar un vistazo y aprender a utilizarlos.

Una app para empezar: ASP.NET 5 + Watson QA

La aplicación ASP.NET 5 Watson QA ilustra cómo comunicarse con el servicio de preguntas y respuestas (Q&A) de Watson para hacer preguntas relacionadas con los viajes Watson, como se los harías a un agente de turismo. Esta es una aplicación de ejemplo que puedes usar para estudiar su código y funcionalidad.

App de ejemplo: ASP.NET 5 + Cloudant

Esta app de ejemplo crea una lista de tareas que demuestra cómo .NET puede conectarse a una base de datos NoSQL (Cloudant) y realizar operaciones CRUD.


Volver a Contenido…

Etapa 5: Más a allá de Bluemix – Conectándose con el mundo exterior (nubes híbridas)

¿Cómo se puede conectar tu app en Bluemix con tu data center, to nube y en algún momento, con sistemas en otro universo? (próximamente). Lo bello de correr aplicaciones en Bluemix es que tenemos acceso a servicios, ¡servicios para casi todo!

De cualquier modo, el servicio en Bluemix llamado Secure Gateway facilita la integración de escenarios de nube híbrida al crear una conexión segura con Bluemix desde el mundo exterior – que puede ser el data center de tu compañía o con un proveedor de nube como Microsoft Azure o IBM Softlayer. Este servicio establece un túnel entre tu organización en Bluemix y la locación remota con la que te deseas conectar.

¿Y qué hay de SQL Server? ¿O Sharepoint? Muchas personas ya tienen datos viviendo en sus sistemas de registro existentes como Microsoft SQL Server. Un buen caso de uso es el poder crear aplicaciones enriquecidas y superiores con Bluemix que luego pueden acceder a datos en un SQL Server, independiente del lugar donde se ejecute.

Si deseas conectar tu desarrollo en Bluemix con un sistema fuera de la plataforma, revisa el siguiente material que es de tu interés:

Ok… ahora es tu turno… pruébalo por tu cuenta y cuéntanos tus impresiones. ¿Tienes preguntas? Aquí se habla español.

Información Adicional:

Especialista de Arquitecturas Cloud y Consultor de negocios en el día, Emprendedor en las tardes y Estudiante en Platzi.com por las noches. Esposo y amigo de tiempo completo. Contacto interactivo en: http://ibm.germanacosta.co

TUS COMENTARIOS: