Computación en la nube (Cloud Computing) – Conceptos básicos

2. noviembre 2011 10:59 by Ines Gonzalez Llanos in Argentina, IT Pros, Uruguay  //  Tags:   //   Comentarios (0)

Indice

Introducción
Nube pública – Servicios
Nube privada – Tecnologías
Beneficios
Desarrollo de servicios en la nube - Primeros pasos
Construcción de nubes privadas – Primeros pasos
Introducción

Así cómo es posible utilizar herramientas informáticas que están instaladas y funcionando en una PC de escritorio o en una computadora portátil (notebook o netbook), en una tableta (tablet) o en un teléfono inteligente (smart phone), también existe la posibilidad de utilizar sistemas que están alojados en “la nube”. Esto quiere decir que son aplicaciones o recursos informáticos provistos a través de Internet por algún proveedor. A priori, esto puede no sonar nuevo, pero tal ha sido la evolución de las tecnologías y las telecomunicaciones en los últimos años, que el concepto se ha desarrollado y ahora abarca otro tipo de posibilidades.

Las empresas, por ejemplo, suelen tener un servidor o conjunto de servidores donde alojan las diferentes aplicaciones de software que utilizaban internamente; las de mayor porte cuentan con su propio centro de cómputos (datacenter). A todas estas organizaciones, la computación en la nube les brinda la posibilidad de contar con casi todas las mismas funcionalidades que tienen con la infraestructura local, pero consumiéndolas en forma remota a través de Internet o de vínculos privados de telecomunicaciones.

Si se accede a través de Internet y si se utilizan servicios que puede contratar cualquiera, hablaremos de “nube pública”; en cambio, si son servicios creados por una compañía, que solo podrán consumir los empleados de esa organización, o las personas externas que ésta autorice, hablaremos de “nube privada”, ya sea que los usuarios accedan a través de enlaces exclusivos o incluso a través de Internet pero con niveles superiores de seguridad en la transmisión de datos.

Nube pública - Servicios

Cada día aparecen nuevas aplicaciones que pueden utilizarse a través de Internet en el modelo de software como servicio; ya no se trata solo de consumir contenidos sino de utilizar la Red de manera activa en base a diversas funcionalidades que están disponibles. Quizás la aplicación en línea más popular sea el web-mail (por ejemplo Hotmail), utilizado por cientos de millones de personas, ya que permite manejar la correspondencia electrónica desde cualquier lugar en el que haya una computadora conectada a Internet e incluso desde dispositivos móviles, sean equipos propios o no. También la mensajería instantánea (como Windows Live Messenger) o la plataforma de publicación y consumo de videos online (el más popular sin dudas es YouTube).

Progresivamente todos los actores y tecnologías que giran en torno a la Era Digital han avanzado, lo que llevó a que se haya enriquecido la oferta de servicios en la nube pública. También los usuarios han madurado y cada día demandan más y más aplicaciones. En la actualidad es posible utilizar software típicamente de escritorio, como el procesador de textos o las planillas de cálculo, en esta modalidad de software como servicio; tal es el caso de Windows Live Skydrive que permite no solo almacenar cualquier tipo de archivo –ya que se trata de un disco rígido virtual- sino también editar en línea y compartir archivos de Word, Excel o PowerPoint en forma totalmente gratuita; o bien Office365®, que tiene un modelo de pago por usuario y por mes solo en la medida en que sea utilizado. Existen otras herramientas disponibles públicamente a través de Internet, que brindan servicio a todo aquel que se inscriba (en los que son gratuitos) o desee contratarlos; tal es el caso de Google.

También existen en la nube pública otro tipo de aplicaciones, como los juegos en línea por ejemplo y hasta las redes sociales (como Facebook , Twitter o Windows Live Spaces) surgen bajo este paradigma.

Otros sistemas –típicamente utilizados por empresas- han incorporado la modalidad online para satisfacer las necesidades de sus usuarios. Encontramos en este terreno, por ejemplo, los sistemas de gestión empresarial o de gestión de relacionamiento con clientes (CRM) que también se pueden consumir como servicio, desde la nube, para prescindir de la instalación y mantenimiento de la infraestructura tecnológica que suelen requerir ese tipo de soluciones.

Nube privada - Tecnologías

Como decíamos al comienzo, una nube privada es generada por una organización determinada –puede ser una empresa, un gobierno o una gran entidad no gubernamental- para su uso exclusivo. Hay dos modelos posibles; uno es contratar la infraestructura informática como servicio (IAAS por sus siglas en inglés), o sea alquilar en forma remota el hardware y a lo sumo el sistema operativo con algunos otros sistemas esenciales, pero que deben ser configurados y administrados completamente por la organización usuaria con personal técnico especializado (por ejemplo, Amazon tiene una oferta en este sentido). Otra variante es contratar la plataforma informática como servicio (PAAS), que incluye mayor cantidad de prestaciones de software y un entorno de TI administrado por el proveedor, que ajusta los servicios que entrega según las necesidades del cliente (es el caso de Microsoft Azure).

Si bien ya existían desde hace años conceptos tales como housing o co-location (donde una compañía alojaba un servidor propio en el datacenter de un proveedor de servicios Internet o hosting), la novedad con la “computación en la nube” es que esa misma compañía ya no debe preocuparse por la compra del equipamiento, ni por su ubicación física, ni por el mantenimiento o la provisión de energía eléctrica o la refrigeración del centro de cómputos, las actualizaciones de versión del software, los seguros, etc. En ambos casos, infraestructura o plataforma como servicio, se paga por lo que se utiliza (Pay-as-you-go, en inglés), y no hay grandes inversiones iniciales que en muchas empresas constituyen el primer obstáculo para innovar en materia informática. Muchos proveedores de web hosting tradicionales están incorporando en su oferta los servidores privados virtuales (VPS, por sus siglas en inglés Virtual Private Server), tanto como infraestructura básica como así también con prestaciones de plataforma como servicio, acompañando la creciente adopción de estos modelos de computación en la nube.

La otra posibilidad es construir la propia nube utilizando el mismo paradigma de servicios disponibles desde cualquier lugar, con altos niveles de flexibilidad y una modalidad que, como veremos más adelante, eleva los niveles de disponibilidad al máximo aun ante incidentes inesperados.

La tecnología clave para sostener el modelo de computación en la nube es la virtualización, tanto de servidores como de equipos de escritorio. Básicamente, en el caso de los servidores, consiste en multiplicar la capacidad de los servidores físicos –hardware- a través de tecnología de software que genera en cada equipo varios servidores virtuales, completamente independientes uno de otro; en cada uno se implementa una “máquina virtual” que fácilmente puede ser trasladada de un sitio a otro con todos sus componentes (memoria, “cpu”, almacenamiento, etc.). La administración de memoria y recursos de almacenamiento es dinámica y flexible. Para hacer esto se requiere de software específico (como el componente Hyper-V de Windows Server 2008 R2, por ejemplo) que tiene la capacidad, precisamente, de generar un entorno informático virtualizado.

Dada la facilidad con que se pueden crear nuevos servidores virtuales, resulta oportuno señalar que es importante considerar la forma en que se administrarán y monitorearán las máquinas virtuales que utiliza una organización. Si bien Hyper-V, VMWare y otras soluciones del mercado ofrecen algunas herramientas de gestión del entorno virtual, existen herramientas específicas para esto (como Microsoft System Center Virtual Machine Manager) que provee una consola unificada desde la cual se pueden crear, configurar, administrar y monitorear cada uno de los componentes de la infraestructura virtual.

Beneficios

La computación en la nube tiene múltiples beneficios. Sin inversiones iniciales en hardware o software, es posible contar con una completa infraestructura tecnológica, flexible, que puede crecer dinámicamente según las necesidades del negocio. Incrementar la capacidad de procesamiento o de almacenamiento ante incrementos inesperados de demanda, puede ser cuestión de horas e incluso minutos. Ante cualquier necesidad se puede mover una máquina virtual con todos sus componentes, de un servidor a otro, muy rápidamente. Y la empresa usuaria no debe disponer ni de espacio físico ni consumir energía, en sus propios centros de cómputo.

Desarrollo de servicios en la nube

En este curso, señalaremos los primeros pasos del desarrollo de servicios o aplicaciones en la nube, utilizando la plataforma Microsoft dado que constituye la tecnología con mayor cantidad de usuarios en el mundo. Por lo tanto, el primer punto tiene que ver con conocer la plataforma Windows Azure (que incluye también una base de datos en la nube, SQL Azure).

Los programadores cuentan con un SDK (Software Development Kit) específico para este entorno, que integra un conjunto de recursos pre-configurados para acelerar el desarrollo.

Hay una completa plataforma web de Microsoft disponible para descarga (WebMatrix o Web Platform Installer), sin cargo, que es un buen punto de inicio. Contiene aplicaciones web de las tecnologías más populares como ASP.NET y PHP (incluyendo DotNetNuke, Joomla, Umbraco y WordPress, entre otras), el .NET Framework que es requerido para construir aplicaciones en la tecnología de desarrollo de Microsoft .NET; también instala el Internet Information Server (IIS) que es fundamental para soportar aplicaciones web, lo mismo que SQL Server Express, como motor de base de datos y Visual Web Developer 2010.

Una vez instalado el software con el que habrá de trabajar, tendrá que familiarizarse con el entorno en el que hospedará las aplicaciones. Windows Azure proporciona las capacidades básicas para el procesamiento y almacenamiento de aplicaciones basadas en la nube, es decir, será su CPU y su disco rígido virtual, ambos recursos necesarios para impulsar sus aplicaciones, permitir que éstas se comuniquen entre sí y entregar los datos a los usuarios finales de manera eficiente. Si quiere conocer en detalle ahora cuáles son las funcionalidades de Windows Azure, visite este sitio.

Y ya que hablamos de bases de datos, señalemos que SQL Azure proporciona capacidades de base de datos relacional. También se encuentran disponibles SQL Azure Reporting (una versión de SQL Server Reporting Services) y SQL Azure Data Sync, que permite sincronizar datos entre bases de datos locales y otras que están en la nube.

Otro componente a descubrir es Windows Azure AppFabric, que proporciona servicios de infraestructura que le permiten crear sofisticadas aplicaciones distribuidas en la nube. Algunos de estos servicios son: bus de servicio (que permite que sus aplicaciones expongan interfaces en la nube para que puedan ser accedidas por otras aplicaciones), control de acceso (para que sus aplicaciones admitan el acceso autenticado desde una amplia gama de identidades digitales como Active Directory, Windows Live, Google o Facebook), y servicios de almacenamiento en caché (para mejorar el rendimiento de sus aplicaciones de Windows Azure).

Puede conocer mucho más acerca de Windows Azure mirando estos videos. Si planea mover aplicaciones existentes a la nube, le será de suma utilidad esta guía de arquitectura con las mejores prácticas recomendadas.

Construcción de nubes privadas

Como decíamos al comienzo, en la plataforma Microsoft las tecnologías necesarias para construir una nube privada son Windows Server 2008 R2 Hyper-V y System Center. El primer paso es determinar qué aplicaciones o servicios van a estar alojados en ese entorno, evaluar el volumen de información que se prevé tener y el tráfico que se podría generar. Con esta información habrá que validar la configuración que se requerirá del hardware y el software de base para el entorno virtualizado.

Para la fase siguiente existen un conjunto de guías Guías (Hyper-V Cloud Deployment Guides) que aceleran la implementación, reducen los costos de entrenamiento y acotan los riesgos ya que aportan ejemplos reales basados en la experiencia. Además de Windows Server 2008 R2 Hyper-V, estos documentos incluyen información sobre otros componentes de la solución como System Center Virtual Machine Manager 2008 R2, y Virtual Machine Manager Self-Service Portal 2.0. Las guías tratan temas como la arquitectura, la implementación (deployment), las operaciones y modelos de documentación del proyecto.

Como no hay mejor entrenamiento que la práctica, es posible probar la computación en la nube descargando el software en forma gratuita aquí. Y le agradó esta información y desea seguir aprendiendo sobre computación en la nube, considere la academia virtual, gratuita y en español de: “Cloud Computing”.

No se aceptan más comentarios