sábado, 8 de octubre de 2011

¿Qué es Cloud Computing o computación en la nube?


Hay muchos mitos sobre este tema, mucho marketing y muchos conceptos mezclados. Hay quienes dicen que el Cloud Computing ya existía hace mucho tiempo, hay quienes dicen que es toda una tecnología nueva. Las empresas lo venden como una revolución tecnológica. Todos ellos tienen un poco de razón y muchos tienen un poco de exageración. Según un estándar que busca seguir EEUU, en una nota publicada por el MIT, este mes, el Cloud Computing es:

"a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

Para mi, algo más simple sería:

"Cloud Computing es una forma de brindar servicios bajo demanda sobre Internet"

¿Es cierto que es una tecnología nueva? No tanto, en realidad la tecnología que soporta que el servicio este online 99,9% del tiempo está muy desarrollada y automatizada cada día más.
En parte, el motor que hace mover los servicios de Cloud es la virtualización y la computación distribuida al estilo GRID. Tecnologías bastante desarrolladas desde el siglo pasado, sin embrago no alcanza porque también, estos servicios, tienen un alto grado de automatización que no es muy fácil de desarrollar en cualquier entorno de virtualización.
¿Es cierto que es un término nuevo? En realidad el término si es nuevo, pero por una cuestión de marketing. Este tipo de servicios ya se venían dando. Tenemos por ejemplo el correo web, los repositorios de fotografías, los repositorios de código fuente, de música, etc, todos pueden considerarse un servicio de Cloud.
¿Es cierto que el Cloud Computing no está offline nunca? Bueno, esto no es del todo cierto, salvo que los servicios que dicen llamarse servicios Cloud estén bajo un sistema de virtualización, en Cluster, que soporte el HA (High Availability - Alta Disponibilidad), DRS (Distributed Resourced Scheduling - o también distribución de carga). Estas características permiten que los equipos físicos puedan romperse sin necesidad de que el servicio deje de ofrecerse, pueden apagarse equipos para mantenimiento, pueden migrarse Datacenters enteros a otra región física, pueden soporta grandes cargas de trabajo y también son muy fácil de escalar y actualizar. Más allá de que el sistema sea virtualizado o no debe contener estas características antes nombradas. Google, por ejemplo, da servicios que podrían categorizarse como servicios Cloud pero un poco diferente a los demás. Utiliza computación distribuida o grid computing con un lenguaje de programación interpretado. Es el rey de la computación distribuida, sus servidores son enjambres de máquinas chicas, sin carcasa y casi atadas con cinta, de bajo costo, pero de un gran potencial  (....no me cabe duda que si juntamos un par de celulares tengamos el mismo o mejor potencial que un servidor actual..... la Nasa por ejemplo, recopiló varios Play Station para hacer una super computadora de alta resolución gráfica para mapas de navegación satelital.....).




Existen tres tipos básicos de servicios Cloud:

  • Los que se refieren a servicios de Infraestructura correspondiente a la entrega de servidores virtuales, capacidades de storage, capacidades de memoria ram, de red, se llaman IaaS
  • los servicios basados en software como por ejemplo un Correo Web, aplicaciones de escritorio web como Google Docs, Office Online, Sales Force, Facebook y otros, que se llaman SaaS
  • y también los que entregan una plataforma de desarrollo bajo demanda, por ejemplo Google App Engine, SourceForge, GemFire, y varios más, llamados PaaS.

A su vez, si hablamos de IaaS podemos encontrar tres tipos de Cloud Computing, dependiendo de si el servicio es dentro de una empresa, en ese caso es privado, sino el servicio es público y por último tenemos una combinación de estos dos llamado mixto. La gran incógnita de todos cuando se habla de Cloud Computing es:

¿Como se hacen los servicios de Cloud Computing privados o para el público?

Bueno, es bastante largo de contar y es muy oscuro el camino detrás del Cloud Computing, veremos muchos obstáculos para llegar a la verdad.... Me ha tocado ver las soluciones propuestas por varios vendors de la mano de grandes gerentes de venta y casi todos están muy verdes. Lo que se vende hoy como Cloud computing es una especie de automatización del sistema de virtualización que corre abajo pero falta mucho. Amazon lo logro, después de un montón de desarrollo y utilizando KVM como motor, pero esto funciona muy bien en EEUU donde las redes son otras, por nuestra región, en Argentina, esos servicios de Amazon sufren de mucho delay. VMware vende el Cloud Director pero su solución de Cloud Privado es mucho más visionaria, tiene software en desarrollo, aún le falta un poco. Microsoft tiene todo por hacer, todo es teórico y empresas como IBM o EMC también tienen sus soluciones pero todas muy complejas, sin nada de documentación ni clientes que se puedan visitar para asegurar su funcionamiento, hay que instalar 1000 aplicaciones y coordinarlas entre ellas. Por mi parte estoy estudiando una solución que me pareció bastante original que viene a un ritmo firme llamada OpenStack (originariamente un proyecto libre de la empresa Rackspace y la Nasa). Más adelante hablaremos de esta extraordinaria opción.

Si tendríamos que definir los pasos para construir un Cloud Privado, se nos podría ocurrir algo como los siguientes pasos según la lógica nos deja ver:
......primero y principal, podemos utilizar virtualización o grid computing. En nosotros queda la decisión de asegurar que contemos con los servicios antes nombrados. Luego de definir la base del hardware,  vamos a necesitar un sistema de automatización, de creación de equipos virtuales, normalización de templates, medidores de costos, facturación, asignaciones de disco según templates, autocrecimiento y decrecimiento de la granja virtual, monitoreos, alarmas que provoquen acciones, control de inventario y capacity planning, por último, un sistema web que tome todas esas cuestiones y las resuelva en una linda interfaz para cada nivel de usuario, con workflows de aprobaciones, controles, disparadores de emails y confirmaciones, etc. Sin duda, no es soplar y hacer botellas como se nos está vendiendo en el mercado pero tarde o temprano estas soluciones van a ver la luz y se van a ir simplificando.

Empresas:
http://www.openstack.org
http://www.google.com/apps
http://www.emc.com/leadership/programs/cloud_computing.htm
http://www.ibm.com/ar/services/cloud.phtml
http://hpcloud.com/

Estándares y definiciones:
MIT definition (2011): Cloud Computing Defined
NIST Cloud Computing Reference Architecture: Recommendations of the National Institute of Standards and Technology

domingo, 25 de septiembre de 2011

¿Qué es Virtualización?

Este es el primer post publicado en el nuevo blog http://virtualizacionycloud.blogspot.com/

¿Qué es la Virtualización? Si investigamos un poco por la web vamos a encontrar un montón de definiciones. La más escuchadas es la siguiente:

"Es la forma de re-aprovechar los recursos físicos de una computadora, donde ayer funcionaba solamente una hoy funcionan dos, tres o más ". 

Hoy no es la más acertada porque tenemos distintos tipos de virtualización como veremos más adelante. Pero vamos a ejemplificar para que vayamos entendiendo más a fondo este concepto. Imaginen tener una laptop en la mano, tienen un gran poder de procesamiento y cómputo que no siempre está siendo utilizado todo el tiempo. Hoy en una misma laptop podemos tener funcionando dos por el mismo precio, para el fin que nosotros queramos e imaginemos, pero hoy es posible. 


Lleven esta imagen hoy a los servidores (las grandes PCs de los centros de cómputos), es el mismo concepto: donde ayer corría un servidor hoy podemos correr dos, tres o más servidores con el mismo hardware. Entonces, no solo se re-aprovechan los recursos de una máquina sino que se re-aprovechan los recursos de la empresa también.
Con esta primera impresión podemos comenzar a entender que la virtualización genera grandes cantidades de ahorros y genera el máximo uso de recursos posible. También se ve una continua independencia del hardware y software donde ambos conceptos se comienzan a abstraer.
Cómo dijimos antes, hoy aparecen virtualizaciones de distintas cosas, hay distintos tipos de virtualización, no solo de servidores o máquinas de escritorio, sino que hoy hablamos también de virtualización de aplicaciones, virtualización de storage (discos, dispositivos de almacenamientos) y hasta virtualización de celulares. Pero todos persiguen el mismo fin.
La virtualización de aplicaciones busca re-aprovechar el poder de cálculo de los servidores centralizando el uso de las aplicaciones dentro de una empresa, re-aprovecha el poder del software de la empresa. Un ejemplo sería instalar un Word en un servidor y darle acceso a utilizarlo a las distintas laptops de la empresa. Estás máquinas de escritorio no tendrían que instalarse localmente la aplicación, la verían como local pero la utilizarían desde el servidor.
La virtualización del storage plantea un concepto mucho más dificil de entender pero a grandes razgos significa que no importaría que tantos tipos de storage utilicemos sino que lo podemos utilizar en cualquier lugar cuando lo necesitemos. Podemos tener en la empresa 3 o 4 tipos de cajas de storage y verlas como un solo sistema de disparador de recursos de almacenamiento. Otra vez, se busca re-aprovechar los recursos de storage de una empresa o grupo económico.
La virtualización de celulares es un concepto mucho más humano, se busca que las personas no tengan que llevar dos o tres dispositivos en sus bolsillos, uno para el trabajo, uno personal, otro para guardias, etc. La virtualización de celulares unifica todos en un sólo equipo. Este concepto, más que re-aprovechar hardware, re-aprovecha comodidad y estilo de vida. En sintesis gastamos menos vida llevando un dispositivo que cargando con 3. Nos baja el peso que llevamos encima todo el día, nos baja los niveles de radiación probocados por estos dispositivos y también por supuesto nos baja el nivel de stress y nos brinda comodidad. En síntesis, podemos definir la Virtualización como:
Aprovechar al máximo los recursos disponibles.
Yo creo que esta es una simple y concreta definición que podemos asociar con cualquier tipo de virtualización. No queda duda que la virtualización está cambiando los conceptos de la vieja computación, está cambiando los negocios y modelos de empresa, está cambiando las comunicaciones y hasta el estilo de vida de las personas. Los invito a que sigan aprendiendo más sobre esta tecnología ;)

Datos iniciales

Datos avanzados
White Paper de VMware: Patente de la tecnología de virtualización para plataformas x86

viernes, 23 de septiembre de 2011

Nuevo Blog!!

Hoy decidí comenzar con una serie de post sobre Virtualización y Cloud computing, como me di cuenta que era mucha información he decidido comenzar un nuevo blog. No voy a dejar de escribir en este blog, mi primer blog, sino que voy a publicar mis posts también aquí y dejar solo lo de virtualización en el otro blog para que se transforme en un blog especializado en estas tecnologías. De esta forma va a ser mucho más fácil acceder a la información publicada.
En mi país, en Argentina, falta mucho material local, no así en otros países. Por eso escribí mi primer libro, por eso hoy comienzo esta iniciativa.
Este es mi primer blog y es la herramienta con la que crecí profesionalmente. Invito a otros especialistas a escribir artículos sobre los conocimientos que tengan, a liberar los conocimientos. Si sos lector del mismo no te preocupes porque no voy a dejar de publicar mis posts de Ingeniería en Sistemas ni mucho menos. Van a crecer en cantidad e ingenio.
Te invito a darte una vuelta por mi nuevo blog y apoyar su crecimiento.

http://virtualizacionycloud.blogspot.com/

Saludos y abrazos lectores!


lunes, 13 de junio de 2011

Error al instalar ESXi: vmkctl.hostctlexception


Este error afecta a las versiones de blade siguientes:

  • HP BL 685c G7
  • HP BL 495c G5
  • HP BL 465c G7
  • HP BL 460c G7
  • HP BL 490c G7

Se produce cuando queremos instalar un ESXi en uno de estos equipos. El servidor bootea y parece comenzar la instalación correctamente pero cuando aceptamos el contrato de licencia con F11 nos devuelve un error:
vmkctl.hostctlexception: unable to load module /usr/lib/vmware/vmkmod/vmfs3: failure
Este error lo produce la falta de un driver de red. Como estos equipos son muy nuevos, debemos bajar una versión de ESXi con los drivers integrados. HP dió el aviso de este fallo y puso a disposición del público la versión de ESXi que funciona correctamente. La pueden ubicar en este link:

Pueden encontrar más información en esta KB de VmWare:

lunes, 30 de mayo de 2011

Arquitectura de ESXi

Hoy quería escribirles sobre las principales diferencias entre ESX y ESXi. Ambos son sistemas Hypervisores de VmWare, ya lo sabemos, pero, aparte de ser gratis la version ESXi que otra cosa la diferencia? Es realmente cierto que es 100% gratis? que cosas podemos hacer con ella? Me tome el atrevimiento de empezar a usar una nueva tecnología que está muy piola para realizar artículos. Les adjunto el que escribi yo. Que lo disfruten:

miércoles, 25 de mayo de 2011

Diferencias entre ESX y ESXi

ESXi es igual a ESX en funcionalidad pero que tan diferente son.... debemos entenderlo porque a partir de vSphere 5 no se soporta más la versión ESX.
  • Consola de servicios
  • File System
  • Logs
  • Parches
  • Herramientas
  • Consolas
  • Licencias
  • SNMP
  • Versiones
En principio, como bien se sabe ESXi no trae más la consola de servicio basada en Linux. Se puede decir que trabaja como un Firmware. Todos los archivos de configuración, administración y logs van a un file system en memoria RAM. Aparte de este file system sigue manejando un file system VMFS para las máquinas virtuales. Esta característica hace que por ejemplo, si se reincia el host perdemos los logs. Por eso es recomendable configurar los logs en otro lado (más adelante escribire como podemos hacer estas configuraciones que son varias). Todo lo que antes se hacía desde la consola de servicio ahora se puede hacer con herramientas remotas. Podemos trabajar con el vCenter Client, con vCLI, con PowerCLI y con VMA. Después tenemos una API llamada CIM que es la que utilizan softwares de terceros para realizar acciones remotas sobre el ESXi. El más recomendado aparte del vCenter Client es la opción de VMA. Es un appliance virtual el cual importamos y queda funcional. Está lleno de rutinas en Perl con las cuales podemos adminsitrar centralizadamente todos los nodos ESXi directamente o a traves del vCenter. Hay dos consolas más que podemos llegar a utilizar con mínimas intrucciones y posibilidades. Una es la DCUI, es la interfaz que queda accesible al mejor estilo BIOS cuando el host queda encendido. Es solo accesible por consola física. La otra consola es la de Troubleshooting a la cual accedemos parados en la DCUI oprimimos ALT+F2. Está deshabilitada por default, podemos habilitarla desde la DCUI o desde el vCenter. Otro cambio importante está en los parches. Anteriormente en los ESX un parche presedia a otro y necesitabamos instalar todos. Como ESXi se ve como un Firmware, si instalamos el último parche tenemos también embebidos todos los anteriores. La licencia de ESXi es gratuita pero si queremos utilizarlo en un cluster con HA, VMotion, etc... .hay que licenciarlo. También al licenciarlo se habilita el soporte SNMP para monitoreo. Hay versiones particulares de ESXi de empresas de Hardware más que nada (HP, IBM,etc), homologadas por VMware las cuales traen versiones particulares de CIM para dialogar directamente con la parte física del Host. Espero haber aclarado un poco el panorama de las diferencias de estos sistemas de virtualización. Cualquier consulta que tengan estoy para responderles.

miércoles, 18 de mayo de 2011

Mi Primer Libro

Hace mucho tiempo que tengo olvidado a mi público pero es porque estuve muy ocupado escribiendo un libro para la editorial PcUsers, ya soy Analista de Sistemas también y actualmente estoy trabajando en HP......
Ya está a la venta y pueden conseguirlo por ahora desde la web de Users:
http://www.redusers.com/noticias/libros-administrador-de-servidores
 


martes, 8 de marzo de 2011

Drupal dejo de funcionar en IE

Este es un artículo para la gente que esté desarrollando en Drupal, quien nunca ha desarrollado con Drupal no lo va a entender.
Como algunos saben, estoy tratando de terminar mi proyecto en Drupal para una materia en la Universidad. Después de romperme un poco la cabeza encontré una solución sencilla a este problema. Resulta que venía trabajando muy bien con Drupal, agregando módulos y configurando varias cosas sin que se rompiera nada (igualmente recomiendo un backup cada tanto....) de repente, con tan solo activar un modulo llamdo Date.... mi sitio se desconfiguró todo en Internet Explorer, sin embrago seguía funcionando en Firefox y Chrome.
Supuse que era un tema de CSS y di en la solución. REsulta que parece que IE tiene un límite de carga para los estilos. Luego de cargar varios dice basta y no carga más. Es por eso que vamos a ver nuestro sitio totalmente desastrozo en IE y funcionando correctamente en otros navegadores más serios.
La solución sencilla es instalar un módulo, con el cual esta limitación desaparece ya que administra los estilos de una forma diferente. Hay dos módulos que van a poder encontrar, uno se llama IE CSS Optimizer que es más viejito y el otro se llama IE Unlimmitted CSS Loader. Les dejo el link de este último para qu epuedan volver a sonreir. http://drupal.org/project/unlimited_css

domingo, 20 de febrero de 2011

Curso de Drupal entero en español

Bueno, me parece necesario dejarles los links de este curso de Drupal extraordinario, similar al post anterior. Hay muchos videos truchos con el mismo nombre así que espero que les sirva.
Adjunto el listado:
Tutorial 1: Instalación y uso del Cron
Tutorial 2: Interfacede administración
Tutorial 3: Personalización del sitio
Tutorial 4: Administración de usuarios
Tutorial 5: Formularios
Tutorial 6: Crear Contenido
Tutorial 7: Nodos
Tutorial 8: Crear Contenido y Tipos
Tutorial 9: Blogs, Foros y Encuestas
Tutorial 10: Taxonomia
Tutorial 11: Feeds
Tutorial 12: Entradas y comentarios
Tutorial 13: Personalización de temas
Tutorial 14: Instalar temas
Tutorial 15: Modulos
Tutorial 16: Uso de Menús
Tutorial 17: Crear libros
Tutorial 18: Usar PHP

Drupal - Taxonomía

Les quería dejar en este breve psot un video tutorial de algo que no está muy bien explicado cuando hablamos de manejador de contenidos. Tenemos varios manejadores para elegir como Wordpress, Joomla o Drupal, pero este último es el que más se ha desarrollado en estos últimos años y el más robusto de todos. Se basa en una comunidad open source asique todo es gratis en Drupal. Hay muchas cosas nuevas que aprender cuando diseñamos sitios con los CMS. Una de ellas es la Taxonomía y es un término que no se ve para otros manejadores, es por eso que Drupal ha sido el manejador más utilizado profesionalmente. La taxonomía le da una gran flexibilidad. La Taxonomía es la ciencia de la clasificación y es en lo que se basan los sitios en drupal. Debemos generar contenido y a ese contenido crearle un vocabulario para clasificarlo. Cuando vean el video lo van a entender mejor, pero básicamente debemos crear vocabularios que a su vez tienen términos y estos términos pueden ser sinónimos entre si. Estos términos pueden convertirse en etiquetas para ser utilizadas en cualquier tipo de contenido. Bueno, sin más introducciones el video

jueves, 13 de enero de 2011

Copiar archivos web a carpeta local con Power Shell

Hace mucho que no les doy una mano. Estoy terminando de escribir un libro que creo que les va a gustar muchísimo para la editorial USERS sobre administración de servidores corporativos. Hoy estuve trabajando en un script en Power Shell para traer archivos desde un sharepoint a una carpeta local para realizar copias programadas. Tuve que investigar bastante, espero que le sea útil a quien encuentre esta información. En un principio debemos asegurarnos de tener permisos de lectura y copiado en el site Sharepoint y permisos de escritura en la carpeta donde vamos a dejar los archivos ya que el script va a correr con nuestras credenciales. VAmos a tener dos archivos, uno va a ser el script propiamente dicho y el otro va a ser un txt con las direcciones completas de la ubicación de cada archivo en el Sharepoint. Por ejemplo: www.sharepoint.com/sites/IT/texto.txt
Vamos a tener varias líneas las cuales ira recorriendo el script para copiar los archivos.

$SvcTxtPath = "C:\Temp\Scripts\urls.txt"
[int]$lineCount = (Get-Content $SvcTxtPath ).Count
Read-Host $lineCount
#echo $lineCount
$Services = Get-Content $SvcTxtPath
$wc=new-object system.net.webclient
$wc.UseDefaultCredentials = $true
#echo $Services[1]
$num=0
for([int]$i=$lineCount-1; $i -ge 0;$i--){

$strURL = $Services[$i]
$a = $strURL.split(“/”)
$wc.downloadfile($strURL,"C:\projects_web\"+$a[$a.length-1])
$num++
}

Debemos cambiar solo lo que está en color y cargar el archivo con las urls que deseemos. Por supuesto, para correr el script debemos abrir una consola de Power Shell y correr el archivo anteponiendo ./