Virtualización “La gran revolución”

Seguramente muchos de nosotros hemos escuchado el término “virtualización” y de cómo esta tecnología se encuentra revolucionando los sistemas computacionales. Ahora bien pero ¿Que es la Virtualización? ¿Cómo funciona? ¿Qué podemos virtualizar? ¿Qué beneficios me brinda? de estas y muchas otras preguntas estaremos hablando a lo largo de una liga de post que estaré compartiendo dentro de este espacio.

Cuando hablamos de virtualización nos referimos a una tecnología que nos permite ejecutar una o más máquinas virtuales sobre un equipo físico, todo esto gracias a un software de virtualización (hipervisor) que planifica la ejecución de estas máquinas virtuales y gestiona el acceso compartido a los recursos de hardware reales. Ahora bien para Microsoft “La Virtualización” en un ambiente de TI es esencialmente la separación o aislamiento de los recursos de una computadora.

¿Cómo funciona la virtualización?

El modelo tradicional que conocemos en un equipo es el siguiente:

clip_image002

Tenemos por un lado el hardware tanto de equipos de escritorio como servidores; por encima del hardware tenemos el sistema operativo el cual se instala directamente sobre el hardware creando un enlace directo entre ellos y una dependencia; sobre este sistema operativo instalamos las aplicaciones directamente sobre un sistema operativo especifico y un hardware especifico creando una dependencia entre las tres capas; finalmente tenemos los datos y configuración del usuario y las aplicaciones.

Al ver este modelo tradicional podemos apreciar la carencia de tolerancia a fallos, de tal forma que si el hardware falla en consecuencia el sistema operativo estaría fallando así como las aplicaciones y los datos; en otra caso si el que falla es el sistema operativo no podríamos utilizar las aplicaciones ni acceder a los datos; adicionalmente a esto se generan otras complicaciones en temas como la administración y el mantenimiento de los equipos. Partiendo de estos problemas nace la virtualización gracias a la necesidad de aislar o separar componentes en la búsqueda de flexibilidad y reducción de la complejidad de este modelo.

Básicamente, la virtualización nos va a permitir utilizar el software para transformar o “virtualizar” los recursos de hardware de un equipo, incluidos CPU, memoria RAM, HDD, dispositivos de red, entre otros, para crear una máquina virtual completamente funcional que puede ejecutar su propio sistema operativo y aplicaciones de la misma forma que lo hace un ordenador “real”. Estas máquinas virtuales compartirán recursos de hardware sin interferir entre sí de modo que se puedan ejecutar simultáneamente y de forma segura varios sistemas operativos y aplicaciones en un único equipo.

Dos conceptos claves para entender sin problemas la virtualización son los de anfitrión e invitado:

Seguir leyendo

Publicado en Virtualizacion | Etiquetado , , | Deja un comentario

Un paso más adentro de Windows Azure !!!

Windows Azure es un sistema operativo basado en la nube que sirve para desarrollo, servicios de hosting, y manejador de servicios los cuales van orientados hacia  la plataforma  Windows Azure. Esta provee a los desarrolladores la facilidad de que “bajo demanda” adquiera un equipo que sea host, escalable y que maneje aplicaciones web las cuales son alojadas y mostradas en internet a través de los Microsoft datacenters.
Microsoft Data Centers

Microsoft Data Centers

Windows Azure es una plataforma flexible, soporta múltiples lenguajes y se integra con el entorno existente en los equipos o instalaciones previas de las empresas. Para crear aplicaciones y servicios de Windows Azure, los desarrolladores pueden utilizar básicamente sus conocimientos previos de Microsoft Visual Studio, además, Windows Azure apoya estándares, protocolos y lenguajes populares incluyendo  SOAP, REST, XML, Java, PHP y Ruby. Windows Azure está disponible actualmente en 40 países.

Escenarios de Aplicación:

Windows Azure es un servicio que permite a los desarrolladores correr aplicaciones y alojar datos en los servidores propios, estos son alojados y operados por Microsoft, estas aplicaciones en la nube pueden ser objetivas tanto para negocios como para clientes o ambos a la vez. Algunos de ejemplos de ello tenemos:

  • Las empresas que utilizan Windows Azure para ejecutar su propia línea de negocio, el procesamiento por lotes o cálculos de gran volumen.
  • Un proveedor de software independiente (ISV or Independent Software Vendor) que crea una aplicación SaaS (Software as a Services) dirigidos a usuarios empresariales.
  • Realizar el almacenamiento de gran volumen, el procesamiento por lotes, intenso o cálculos de gran volumen.
  • Un ISV (Independent Software Vendor) que se crea una aplicación SaaS (Software as a Services)  dirigidas a los consumidores.

Características de las maquinas en Windows Azure:

Entre los equipos mas comunes tenemos:

  • Windows Server 2008R2 x64
  • CPU: 1.6GHz
  • RAM: 1.75GHz
  • HD: 225Gb

 Entre otras maquinas tenemos:

Equipos Windows Azure

Esquema de Windows Azure:

Esquema de Windows AzureBeneficios:

Agilidad: Se Aprovechan las herramientas de desarrollo, gestión de servicios automatizados y la presencia de centros de datos mundiales para responder más rápidamente a las necesidades del cliente, y así centrarse en sus diferenciadores competitivos y llegar a nuevos mercados.

Eficiencia: En Windows Azure mejora la eficiencia y aumenta la productividad operativa, al reducir los costes de capital inicial. Los clientes y socios pueden obtener una reducción en el coste total de las operaciones de algunas cargas de trabajo hasta en un 30 – 40% durante un período de 3 años. El consumo basado en los precios, paquetes y descuentos para los socios bajar la barrera de entrada para la nube de servicios de adopción y garantizar un previsible gasto en TI.

Enfoque: El Enfoque en la prestación de servicios y valor a los clientes y no en la gestión de infraestructura tecnológica. Windows Azure permite dedicar menos tiempo a los obstáculos operativos y más tiempo a centrarse en sus diferenciadores competitivos.  

Simplicidad: Al poder utilizar las habilidades existentes en los lenguajes conocidos, como NET, Java y PHP para crear y administrar aplicaciones y servicios web.

Confiable: El servicio de clase empresarial respaldado por acuerdos de nivel de un servicio confiable y una rica experiencia de los servicios en línea.

 Windows Azure Logo

Conclusión:

Windows Azure nos proporciona una plataforma extremadamente ágil. Permite ampliar o reducir las características de la plataforma que nuestras aplicaciones requieran según sus necesidades. Permite que los desarrolladores muestren su creatividad en una plataforma que habla su mismo idioma: PHP, .Net, Java… Da igual el lenguaje que necesiten o el lugar que elijan, ahora hay un lugar donde los desarrolladores manden. Con un modelo de negocio hecho para empresas tanto pequeñas como grandes como es el de pago por uso, así no malgastaremos nuestro dinero con servicios que una vez pensamos, los necesitamos, pero que nunca los hemos utilizado al 100%. Se trata de una situación beneficiosa para ambas partes.

Cada día más miles de empresas y organismos están apuntando hacia la nube con la ayuda de Microsoft, tales como:

  • ICFES
  • Toyota
  • Nokia
  • Novell

Mario Fernando Prada de Avila
Microsoft Student Partner
Microsoft® Certified Application Specialist
Mas Info: http://about.me/literathus

Barranquilla – Colombia – Latino América

*Nota: Todas las imagenes en este post tienen propiedad intelectual de sus respectivos dueños, fueron tomadas solamente de manera ilustrativa.
Publicado en Uncategorized | Etiquetado , , | Deja un comentario

Mi primera aproximación a Windows Azure

 

 

La plataforma de servicios Windows Azure es la solucion en la nube que ofrece Microsoft para Desarrolladores y grandes empresas que deseen un espacio en donde sus aplicaciones Web puedan crecer ágil y dinámicamente.


Windows Azure es el sistema operativo en la Nube ofrecido como Servicio por Microsoft que actúa como servidor de hosting y administración de servicios dentro de la plataforma de servicios Windows Azure.

Windows Azure proporciona a desarrolladores servicios como procesamiento, almacenamiento, escalabilidad y administración de aplicaciones web a través de los datacenters de Microsoft

Este sistema operativo en la nube es muy flexible y soporta múltiples lenguajes e integraciones con los servicios on premise ya existentes. Además de esto también soporta estándares, protocolos y lenguajes incluyendo SOAP, REST, XML, Java, PHP y Ruby.


Para desarrollar aplicaciones y servicios web sobre Windows Azure desde Visual Studio, solo basta con contar con los recursos de Software y Hardware que nos mencionan en este post:

Requerimientos para desarrollar en Windows Azure (Software – Hardware)

Como desarrolladores, el poder enfocarnos en nuestras aplicaciones y no en la infraestructura de las mismas, el hecho de poder escalar nuestros desarrollos a unos cuantos clics o el monitorear la demanda de los estos en tiempo real, Le da valor de negocio a lo que en realidad nos importa: La calidad de nuestro producto.

No olviden aprovechar el Windows Azure Free Trial para probar sus desarrollos en esta plataforma:


(Incluye 750 horas de una instancia de cómputo Extra Small, 1gb para una Web Edition DataBase entre otras características, completamente Gratis)

Publicado en Herramientas de desarrollo | Etiquetado , , | 1 Comentario

Introducción a la Gestión del Ciclo de Vida de las Aplicaciones (ALM) y TFS 2010

En este post, un primer acercamiento a Application Lifecycle Management (ALM) que incluye una recopilación de los recursos más interesantes para conocer más sobre un tema cada día más relevante en el ámbito laboral.

En la actualidad, las empresas buscan optimizar sus procesos y reducir costos[1]. En muchos negocios surge la necesidad de gestionar proyectos, hacer seguimiento de los mismos, tener en claro las actividades realizadas y los entregables o productos liberados de los mismos; además, es importante probar que todo cumpla con lo requerido, obteniendo un resultado eficiente y de alta calidad. Así mismo, esto no termina en la entrega del producto final sino que también debemos rescatar las experiencias para seguir mejorando, monitoreando que nuestro producto satisface las necesidades surgidas en el proceso, dar mantenimiento y ofrecer mejoras o actualizaciones de acuerdo a diferentes contextos que se planteen.

Todo lo descrito también aplica al negocio del software. Es a partir de esto que nace la Gestión del Ciclo de Vida de las Aplicaciones (Application LifeCycle Management – ALM de ahora en adelante).

En Wikipedia[2] podemos encontrar la siguiente definición de ALM:

Es un proceso continuo de la gestión de la vida de una aplicación a través de la gobernanza, desarrollo y mantenimiento. ALM es el enlace de la gestión empresarial con la ingeniería de software que brinda las herramientas que facilitan e integran la gestión de requerimientos, la arquitectura, codificación, pruebas, seguimiento y versiones

Dentro de esta definición podemos encontrar 3 puntos clave íntimamente conectados, descritos por David Chappell en What is Application LifeCycle Management[3]

Gobernanza: asegurarse que la aplicación siempre provea lo que el negocio necesite.

Desarrollo: la parte fundamental de ALM. Es la construcción del producto a generar, que ocurre periódicamente en varias fases o iteraciones.

Operaciones: el planeamiento y ejecución del despliegue y monitoreo de la aplicación.

clip_image001

Ilustración 1: 3 Aspectos fundamentales de ALM – Fuente: What is Application LifeCycle Management?, David Chappell

Entonces, bajo estos puntos, surgen diferentes tipos de herramientas que durante el tiempo han ido evolucionando. Esto debido a que muchas herramientas se enfocaron más en el aspecto de Desarrollo, fundamentalmente en el Control de Versiones.

Actualmente, los proveedores de soluciones ALM han alcanzado a entender estos 3 aspectos ofreciendo suites de herramientas integradas que ofrecen muchas características contempladas por ALM; sin embargo cabe decir que no todas cumplen a cabalidad los 3 aspectos, esto debido a la complejidad y lo sofisticado que es el desarrollo de software. A los aspectos claves, también podemos añadir la visión de la infraestructura requerida por muchas de las empresas y comunidades de desarrollo que aplican ALM en su día a día:

image

Ilustración 2: Visión de la infraestructura cubierta por ALM

Bajo todos estos puntos, una de las soluciones más completas y utilizadas en el mercado es Team Foundation Server (TFS) de Microsoft, el cual engloba procesos, gestión de proyectos, compilaciones, monitoreo, control de versiones, entre otras. En este gráfico podemos visualizar en resumen cómo es que TFS, en conjunto con las herramientas de desarrollo Visual Studio, de gestión Office, prototipado SketchFlow y gestión de documentos de proyecto en SharePoint, entre otras, llega a satisfacer lo que buscan las empresas con ALM.

image

Ilustración 3: Suite de ALM de Microsoft. Fuente: Microsoft

Hemos revisado así las necesidades y la herramienta que cubre las mismas. Entonces por qué ALM debería ser un tema a estudiar:

  • Conocemos le gestión del proyecto de software
  • Integramos herramientas y actividades
  • Enfoque en la calidad, cumplimiento de las necesidades de negocio
  • Brindamos productividad y mejoras de procesos en la organización

En los siguientes posts revisaremos tanto uso y beneficios de Team Foundation Server 2010 y su conjunción con ALM.

Antes de terminar este post, déjenme compartir tanto las referencias que dieron origen a este artículo y también videos y lecturas a revisar para profundizar más en el tema:

Espero que esta información les haya sido de utilidad Smile.

¡Hasta la próxima!

Post.End();


[1] Enterprise And SMB Software Survey, North America And Europe, Q4 2009 / Forrester Research

[2] Application LifeCycle Management – http://en.wikipedia.org/wiki/Application_lifecycle_management

[3] What is Application LifeCycle Management? – David Chappell http://www.davidchappell.com/writing/white_papers/What_is_ALM_v2.0–Chappell.pdf

Publicado en Herramientas de desarrollo | Etiquetado , , | 4 comentarios

Los estudiantes tienen la palabra

Este es un espacio brindado por Microsoft para la comunidad académica. Aquí encontrarás artículos producidos por estudiantes destacados, reconocidos como Microsoft Student Partners, a través de los cuales puedes seguir de cerca las novedades más importantes del mundo de la tecnología y continuar capacitándote para ser un gran profesional.

Hemos creado este blog con el objetivo de estar más conectados y de reforzar los lazos de la comunidad académica. Por eso, pensamos que lo mejor es que sean los propios estudiantes quienes escriban y den forma a este espacio, y hemos convocado a varios MSP´s (Microsoft Students Partners), como colaboradores.

Te invitamos a visitarnos cada semana, para encontrarte con tus colegas y enterarte tanto de las últimas novedades en tecnología, como de los eventos y recursos que están a tu disposición. ¡Participa de la comunidad! 

Recuerda que puedes  estar al tanto de las novedades también a través de Facebook. http://www.facebook.com/MSEstudiantes

Hasta pronto

Publicado en Acerca de | 2 comentarios