Escolar Documentos
Profissional Documentos
Cultura Documentos
operativos en red
1. Arquitectura cliente/servidor
Las caractersticas de
una implantacin
cliente/servidor deben
ser:
Transparencia.
Independencia.
Protocolos asimtricos.
Recursos compartidos.
Servicio.
Encapsulamiento.
Integridad.
Acoplamiento dbil.
Escalabilidad.
Se facilitar la escalabilidad, de manera que sea fcil aadir nuevos clientes a la infraestructura
(escalabilidad horizontal) o aumentar la potencia del servidor o servidores, aumentando su nmero
o su capacidad de clculo (escalabilidad vertical)
El servidor
Cuando hablamos de una forma genrica, si mencionamos a un servidor, nos referimos a un
ordenador, normalmente con prestaciones elevadas, que ejecuta servicios para atender las demandas
de diferentes clientes.
Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un servidor es un proceso que
ofrece el recurso (o recursos) que administra a los clientes que lo solicitan (consultar la definicin
de cliente ms abajo).
Es muy frecuente que, para referirse a un proceso servidor, se utilice
el trmino back-end.
Segn el tipo de servidor implantado, tendremos un tipo de
arquitectura cliente/servidor diferente.
Por ltimo, mencionar que en algunas ocasiones, un servidor puede
actuar, a su vez, como cliente de otro servidor.
En ocasiones, los
servicios tambin
reciben el nombre
dedemonios (daemons
en ingls).
Se trata de una
terminologa que
proviene del mundo
Unix/Linux.
El cliente
Igual que antes, al hablar de forma genrica sobre un cliente, nos referimos a un ordenador,
normalmente con prestaciones ajustadas, que requiere los servicios de un equipo servidor.
Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un cliente es un proceso que
solicita los servicios de otro, normalmente a peticin de un usuario.
En entornos cliente/servidor, suele utilizarse el trmino front-end para referirse a un proceso cliente.
Normalmente, un proceso cliente se encarga de interactuar con el
usuario, por lo que estar construido con alguna herramienta que
permita implementar interfaces grficas (GUI). Adems, se
encargar de formular las solicitudes al servidor y recibir su
respuesta, por lo que deber encargarse de una parte de la lgica de
la aplicacin y de realizar algunas validaciones de forma local.
El Middleware
Es la parte del software del sistema que se encarga del transporte de
los mensajes entre el cliente y el servidor, por lo que se ejecuta en
ambos lados de la estructura.
El middleware permite independizar a los clientes y a los servidores,
sobre todo, gracias a los sistemas abiertos, que eliminan la necesidad
de supeditarse a tecnologas propietarias.
Por lo tanto, el middleware facilita el desarrollo de aplicaciones, porque resuelve la parte del
transporte de mensajes y facilita la interconexin de sistemas heterogneos sin utilizar tecnologas
propietarias.
Adems, ofrece ms control sobre el negocio, debido a que permite obtener informacin desde
diferentes orgenes (uniendo tecnologas y arquitecturas distintas) y ofrecerla de manera conjunta.
Podemos estructurar el middleware en tres niveles:
El protocolo de transporte, que ser comn para otras aplicaciones del sistema.
El sistema operativo de red
El protocolo del servicio, que ser especfico del tipo de sistema cliente/servidor que estemos
considerando.
El funcionamiento bsico
Aunque es probable que a estas alturas ya te hagas una idea sobre el funcionamiento general del
modelo cliente/servidor, vamos a concretarlo a continuacin:
1.Lo primero que debe ocurrir es que se inicie el servidor. Esto ocurrir durante el arranque del
sistema operativo o con la intervencin posterior del administrador del sistema. Cuando termine de
iniciarse, esperar de forma pasiva las solicitudes de los clientes.
2.En algn momento, uno de los clientes conectados al sistema realizar una solicitud al servidor.
3.El servidor recibe la solicitud del cliente, realiza cualquier verificacin necesaria y, si todo es
correcto, la procesa.
4.Cuando el servidor disponga del resultado solicitado, lo enva al cliente.
5.Finalmente, el cliente recibe el resultado que solicit. A continuacin realiza las comprobaciones
oportunas (si son necesarias) y, si era ese el objetivo final, se lo muestra al usuario.
En una transaccin,
una serie de operaciones
que estn relacionadas
entre s se efectan
como un todo (por
ejemplo, la actualizacin
de los datos de
diferentes tablas en la
base de datos).
Si una parte de la
operacin fracasa,
fracasa la transaccin
completa.
Esto asegura la
integridad de los datos
almacenados.
En la programacin
orientada a objetos
(OOP, Object Oriented
Programming), las
aplicaciones estn
formadas por objetos
que interactan entre
ellos a travs de sus
mtodos.
Se basa en tcnicas
como la encapsulacin,
la herencia y el
polimorfismo.
En la actualidad es la
forma ms extendida de
programar aplicaciones.
El IEEE define la
interoperabilidad como
la habilidad de dos o
ms sistemas o
componentes para
intercambiar
informacin y utilizarla
posteriormente.
Uno de los aspectos ms importantes que debemos atender cuando estudiamos los requisitos de una
infraestructura cliente/servidor es la interoperabilidad. Es decir, debemos conseguir que todos los
elementos que participan interacten de forma adecuada para obtener los resultados que esperamos
de ellos.
Por lo tanto, algunas de las preguntas que deberemos hacernos son las siguiente:
Qu sistema operativo me ofrecer mejor rendimiento en el lado servidor?. Por ejemplo, dado un
determinado ordenador, deberemos averiguar si un sistema operativo tendr un mejor
comportamiento que otro. Para ello, podremos comprobar sus requisitos mnimos y recomendados.
La interoperabilidad entre el sistema operativo del lado servidor y los servicios que debe ofrecer
son adecuados?. Por ejemplo, si estamos planificando la instalacin de un servidor de datos,
deberemos averiguar si el sistema operativo que pensamos elegir funciona correctamente con el
sistema gestor de bases de datos que hemos pensado utilizar.
Qu sistema operativo me ofrecer mejor rendimiento en el lado cliente?. Las mayora de las
veces, los ordenadores del lado cliente sern los que tengan una capacidad de clculo ms ajustada
y, adems, son los que ms tardan en actualizarse o sustituirse dentro de la estructura de una
empresa.
La interoperabilidad entre el lado cliente y el lado servidor es adecuada? Es lgico que deba
existir un buen entendimiento entre el lado cliente y el lado servidor para que la instalacin sea
verdaderamente productiva. Afortunadamente, en los ltimos tiempos esto ha mejorado
considerablemente, resultando sencillo hacer que redes heterogneas funcionen con toda
naturalidad. Merecen una mencin especial las situaciones donde lo que se implanta es unservidor
de aplicaciones. Cada vez son ms frecuentes los programas diseados para funcionar en un entorno
cliente/servidor que utilizan una interfaz web para interactuar con el usuario. En estos casos
prcticamente ser responsabilidad del navegador ofrecer el grado correcto de interoperabilidad con
el servidor.
Los sistemas operativos elegidos soportan todo el hardware necesario?, disponen de los drivers
adecuados? Es muy frecuente que algunos sistemas operativos, sobre todo en el lado servidor, no
dispongan de todos los drivers necesarios para todos los modelos de impresoras, escneres, u otros
dispositivos que podamos necesitar en el presente o en el futuro. Por esto, la eleccin del sistema
operativo puede verse condicionada por los dispositivos que ya tenemos o, al contrario, la
adquisicin de nuevos dispositivos estar supeditada al sistema operativo por el que nos hayamos
decantado.
Los costes arrojados por el diseo son asumibles para la empresa? Un error comn es
sobredimensionar todo el diseo para asegurarnos de que cumple con todas las necesidades
presentes y futuras, pero esto nos puede llevar a plantear un coste excesivo. Por este motivo,
debemos hacer el estudio con el mximo rigor y ofrecer un resultado ajustado a las necesidades
reales.
Procesador
Memoria
RAM
Tarjeta
grfica
Espacio en
disco
Unidades
Otros
dispositivos
Requisitos mnimos
Requisitos recomendados
1 Ghz en x861.4 Ghz en x86-64
2 Ghz o ms
2 GB o msEdicin estndar
512 MB(a costa de un
rendimiento reducido y la
prdida de algunas
caractersticas)
Mximo en x86: 6 GB
Mximo en x86-64: 32 GB
Ediciones Enterprise y DataCenter:
Mximo en x86: 64 GB
Mximo en x86-64: 2 TB
10 GB
DVD-ROM
Procesador
Memoria RAM
Tarjeta grfica
Espacio en
disco
Unidades
Otros
dispositivos
Como puedes ver, en este caso, los requerimientos de Ubuntu son ligeramente inferiores a los de
Windows. Sin embargo, en ambos son muy inferiores a las prestaciones medias de un servidor
actual, por lo que no deberan representar ningn inconveniente.
9. Elaboracin de la
instalacin e incidencias
documentacin
sobre
la
Uno de los aspectos que ms se descuidan cuando se procede a implantar una infraestructura
cliente/servidor es la documentacin del proceso. Sin embargo, debemos pensar que un sistema
operativo en red es algo vivo que ir creciendo y adaptndose a las necesidades del entorno en el
que se encuentra. Por este motivo, no debemos pensar en la instalacin como algo que haremos una
vez y de lo que nos podemos olvidar, sino que realizaremos diferentes modificaciones a lo largo del
tiempo.
De lo dicho anteriormente, se puede deducir que, cuanto mas precisa sea la documentacin que
generemos, menos problemas tendremos para retomar el trabajo de instalacin o configuracin un
tiempo despus de haberlo dado por concluido.
En este sentido, una de las primeras cuestiones a las que debemos enfrentarnos es a la
nomenclatura. Es buena idea asignar a cada equipo de nuestra red un identificativo nico, que puede
estar relacionado, por ejemplo, con la funcin que realiza, su ubicacin dentro de la empresa, rea
en la que se emplea, etc. El objetivo es poder referirnos a cada elemento de la red de una forma
abreviada y cmoda.
Por ejemplo, un servidor podra tener asignado un identificador como SRV01-CONTA (Servidor n
1 del departamento de Contabilidad).
La idea es disponer de un documento con el perfil de la instalacin para cada uno de los equipos
incluidos en nuestra infraestructura (sean servidores o no)
En este sentido, cada uno de estos documentos debera tener, adems del identificador que hemos
comentado antes, los siguientes datos:
Datos de hardware: Debern describir, de una forma precisa, las caractersticas del ordenador que
estamos definiendo. Incluir su ubicacin, el tipo de procesador que incorpora, el tipo y cantidad de
memoria, su disco duro, su tarjeta de red, tarjeta grfica, etc.Tambin debemos dejar constancia de
los dispositivos conectados al ordenador, como impresoras, faxes, escneres, etc.
Datos sobre las impresoras de red que estarn accesibles desde el equipo. Al menos deberemos
contemplar su direccin IP, su nombre y su ubicacin fsica.
La descripcin del sistema operativo instalado. Debe ser lo ms detallada posible y, como mnimo,
incluir su nombre y versin, la fecha y la hora de instalacin, el usuario que acta como
administrador y su contrasea, las licencias instaladas, etc.Cuando instalamos sistemas operativo
privativos, como es el caso de Windows, un dato que no siempre se incluye en la documentacin,
pero que es muy importante para futuras operaciones de actualizacin es la clave de producto
(Product Key, en ingls). Se trata de la secuencia de nmeros y letras, normalmente organizadas en
grupos y separadas por guiones, que suele venir adherida al embalaje del medio de almacenamiento
en el que se distribuye el producto.
Otro aspecto que ser muy importante documentar es la configuracin de la red.Es frecuente que
los servidores dispongan de una direccin IP fija, por lo que procederemos a anotar dicha direccin
IP y mscara de subred, as como la puerta de enlace, el servidor DNS que estamos utilizando y, en
su caso, el nombre del dominio o grupo de trabajo en el que se integra el equipo.
Tambin dejaremos constancia de los clientes que se conectan al servidor. Si hemos seguido el
patrn que comenzbamos al principio de este apartado, dichos clientes estarn identificados por un
cdigo identificativo, y dispondrn de su propia documentacin sobre la instalacin. Por esto, aqu
nos limitaremos a tomar nota nicamente de su identificador.
Tambin es comn que un servidor se apoye en otros servidores de la red para llevar a cabo su
cometido (por ejemplo, servidores de datos o servidores de impresin). Por lo tanto, anotaremos qu
servidores se utilizan y describiremos los motivos.
Si pensamos que la lgica de este ltimo ejemplo se aplica a todos los recursos que emplea la
mquina virtual, podremos entender fcilmente cmo consigue la virtualizacin optimizar el uso del
hardware disponible.
Dado que una mquina virtual est encapsulando un ordenador completo, su compatibilidad con
todos los sistemas operativos, controladores de dispositivo y aplicaciones para arquitecturas x86
ser total, lo que nos permitir probar diferentes sistemas y configuraciones sin perjudicar la
configuracin del anfitrin y sin necesitar ordenadores complementarios.
Ventajas de la virtualizacin
Aunque ya pueden deducirse algunas de las ventajas que ofrece la virtualizacin, vamos a tratar de
recogerlas todas a continuacin de un modo ms sistemtico:
1.Sacar ms partido de los recursos existentes, permitiendo el uso compartido de los mismos. Antes
de virtualizar, es frecuente que el ndice de uso de los recursos no supere el 50%, de hecho, es muy
comn que no supere el 15%.
2. Reducir los costes de los centros de datos reduciendo su infraestructura fsica. Esto deriva en una
necesidad menor de espacio y una reduccin en el consumo de energa y en las necesidades de
refrigeracin, lo que, adems de suponer un ahorro, contribuye a la mejora del medio ambiente en
consonancia con las nuevas tendencias en Green Computing (conocido tambin como Green-IT)
que podramos traducir al espaol Tecnologas Verdes.
3.Reducir el tiempo dedicado a la administracin, ya que se dispone de herramientas ms
avanzadas. Adems, podemos tener agrupada toda la capacidad de proceso en varios servidores
fsicos, entre los que se produce un balanceo dinmico de las mquinas virtuales, administrando de
forma centralizada toda la capacidad de clculo, memoria, almacenamiento, red, etc., y
garantizando que cada mquina virtual se ejecuta sobre el host ms adecuado en cada momento.
4.Otra forma de reducir el tiempo de administracin es fragmentar los servicios porque, en lugar de
tener un gran servidor que centralice todos los servicios de la empresa, podemos definir pequeos
servidores virtuales, especializados cada uno de ellos en un servicio concreto (un servidor web, un
servidor de impresin, un servidor de centralita telefnica, etc.). De este modo, se simplifica la
administracin de cada uno de ellos y se evitan las posibles interrelaciones no deseadas.
5.Relacionado con lo anterior, podemos mencionar el aislamiento entre las diferentes mquinas
virtuales, que repercutir en que un fallo en una de ellas no afecte al resto.
6.Aumentar la disponibilidad, ya que se puede disponer de mecanismos de copia de seguridad y
clonacin de mquinas virtuales completas para migrarlas a un hardware diferente, eliminando
tiempos de inactividad y recuperndose de forma inmediata de cualquier problema. En ocasiones, la
migracin de un sistema a otro puede hacerse incluso en caliente (sin parar el host y sin dejar de
ofrecer servicio).
7.Aumentar la flexibilidad de la implantacin, para responder de una forma ms rpida a los
posibles cambios que deban realizarse. Por ejemplo, podemos aadir recursos a los servidores
virtualizados de una forma rpida y sencilla.
8.Disponer de un mtodo para crear entornos de prueba que nos permitan analizar nuevas
soluciones antes de que puedan afectar al resto de la infraestructura.
9.Administrar y gestionar sistemas de escritorio seguros que estn accesibles a los usuarios de
forma local o remota desde casi cualquier ordenador del lado cliente.
Despus de todo lo dicho, no debemos extraarnos de que, cada vez ms, empresas de todos los
tamaos utilicen la virtualizacin para implementar sus infraestructuras de red.
Software de virtualizacin
Cuando hablamos de software de virtualizacin, disponemos de un amplio abanico de posibilidades
entre las que podemos encontrar opciones muy diferentes, que se adaptarn en mayor o menor
medida al uso que pensemos hacer de ellas.
Por este motivo, a continuacin vamos a hacer un repaso de las herramientas ms frecuentes,
indicando sus caractersticas ms destacadas:
VMware: VMware Inc. es, probablemente la empresa de referencia en el mundo de la
virtualizacin. Dispone de dos lneas de producto diferentes:
Las versiones de escritorio: Pueden utilizar como sistema operativo anfitrin a cualquiera de los
tres sistemas operativos de escritorio ms extendidos Microsoft Windows, GNU/Linux y Apple Mac
OS X. En las mquinas virtuales que creemos, podremos instalar cualquier sistema operativo que
sea compatible con la arquitectura x86 o x86-64. Vmware comercializa tres productos diferentes en
este segmento:
VMware Workstation, que es la versin comercial, para sistemas de escritorio que se instala sobre
Microsoft Windows y GNU/Linux.
VMware Fusion, que ofrece una funcionalidad similar en sistemas de Apple que se ejecuten sobre
procesadores Intel.
VMware Player, es la versin gratuita, con menos funcionalidad, orientada a un uso no comercial.
Al principio no permita crear nuevas mquinas virtuales (slo usar las creadas con alguna versin
de pago), pero esa limitacin desapareci en la versin 3.0.1
Las versiones empresariales: Estn orientadas a implantaciones de mayor envergadura. Dos de las
tres soluciones que propone la empresa se ejecutan directamente sobre el ordenador, ya que
disponen de su propio sistema operativo, embebido dentro del producto, lo que deriva en un mayor
rendimiento del producto. Se comercializan tres soluciones distintas:
VMware ESX, se instala directamente sobre el hardware, ofrece un alto rendimiento y facilita el
uso, ms o menos directo, del hardware por parte de los sistemas virtuales. Adems, incorpora
vCenter que aglutina un conjunto de servicios complementarios para mejorar la fiabilidad y la
usabilidad. Entre sus componentes, podemos destacar:
Vmotion, que permite cambiar una mquina virtual, que se est ejecutando, de un host ESX a otro.
Storage Vmotion, que puede trasladar una mquina virtual, que se est ejecutando, de un
dispositivo de almacenamiento a otro.
DRS (Distributed Resource Scheduler, en espaol, Planificador de Recursos Distribuidos), que
facilita el balanceo automtico de carga de un cluster ESX utilizando Vmotion.
HA (High Availability, en espaol, Alta disponibilidad). Consigue que, en caso de fallo de uno de
los hosts del cluster, los servidores virtuales que se estaban ejecutando en l se
reinicien automticamente en un host distinto.
VMware ESXi es un producto similar a VMware ESX, pero se ha eliminado la Consola de
Servicio, ahorrando una considerable cantidad de almacenamiento en disco y en memoria RAM,
pero esto hace que la administracin de los hosts deba realizarse a travs de un servidor de
VirtualCenter. Adems, desde el verano de 2008, existe una versin de pago y otra con licencia
freeware, a la que tambin se le han eliminado algunas caractersticas, como Vmotion y Storage
Vmotion. Se diseo para ejecutarse desde dispositivos SSD, pero puede instalarse en cualquier
disco duro. Desde el verano de 2008, VMware ESXi es gratuita.
Vmware Server es una versin que se encuentra un tanto obsoleta. Se ofrece con licencia freeware
para uso no comercial y se trata de la nica solucin orientada al mbito empresarial, que se instala
sobre un sistema Linux o Windows anfitrin, por lo que su rendimiento es menor que el de las
versiones comentadas anteriormente. Anteriormente, Vmware Server era conocido como Vmware
GSX Server.
Dada la variedad de versiones que podemos encontrar en Vmware, las hemos organizado en la
siguiente tabla, donde aparecen clasificadas en funcin de que necesiten, o no, un sistema operativo
anfitrin e indicando en cada versin si es gratuita o de pago:
Parallels Desktop for Mac: Se trata de un producto de la empresa Parallels, Inc., que ofrece
virtualizacin en ordenadores Apple con procesadores Intel y sistema operativo Mac OS X.
x86.
Windows Virtual PC: Originalmente, Virtual PC fue creado por una empresa llamada Connectix
para sistemas Apple basados en procesadores PowerPC. Posteriormente, Connectix produce una
versin para Windows.En 2003, Microsoft adquiere el producto y en 2006 se convierte en un
producto gratuito. El mismo ao dejaron de aparecer versiones para Apple, cuando esta empresa
dej de utilizar procesadores PowerPC en favor de la arquitectura Intel. En la actualidad, Windows
Virtual PC slo es compatible con hosts basados en Windows 7 y posteriores y slo permite
mquinas virtuales con sistemas operativos Windows XP SP3 o posteriores. En principio, se pueden
crear mquinas virtuales que ejecuten distribuciones GNU/Linux, pero carecen de soporte oficial y
carecen de controladores avanzados (llamados Virtual Machine Additions).
Xen: es un software de virtualizacin creado originalmente en el Laboratorio de Informtica de la
Universidad de Cambridge, pero desde 2010 es mantenido por la comunidad Xen, que lo desarrolla
y lo mantiene bajo licencia GPLv2. Xen se instala directamente sobre el hardware del host, ya que
su hipervisor se basa en una versin modificada de Linux, NetBSD y Solaris. Adems, es
compatible con arquitecturas hardware basadas en procesadores IA-32, x86-64, Itanium y ARM.
Entre sus caractersticas avanzadas se encuentra la posibilidad de migrar mquinas virtuales entre
diferentes hosts sin tener que pararlas.En cuanto a las mquinas virtuales (llamadas aqu dominios
de usuario) tenemos dos opciones:
Cuando el procesador del ordenador anfitrin soporta virtualizacin x86 (por ejemplo Intel VT-x o
AMD-V) se pueden instalar versiones estndares de sistemas operativos libres o propietarios
(incluido Microsoft Windows)
En caso contrario, necesitaremos un sistema operativo especialmente modificado para ser
virtualizado, que incluya drivers para soportar las caractersticas avanzadas de Xen. Esta opcin,
mucho ms restrictiva, ofrece tambin un rendimiento mucho mayor.
Xen utiliza una tcnica llamada paravirtualizacin que alcanza un rendimiento elevado (las
penalizaciones de rendimiento estn entre el 2 y el 8 por ciento, mientras que en otras soluciones
rondan el 20).
OpenVZ: es un software de virtualizacin exclusivo para sistemas GNU/Linux. Es decir, tanto los
sistemas anfitriones como los invitados deben ser GNU/Linux, aunque puede tratarse de diferentes
distribuciones. Al tratarse de un sistema tan acotado, una de sus principales ventajas es que ofrece
un mejor rendimiento y una mayor escalabilidad. Adems de simplificar la administracin de la
instalacin. OpenVZ est basado en Virtuozzo, un producto comercial de la empresa SWsoft, Inc.,
pero se trata de software libre publicado bajo licencia GPLv2.
Conclusin.
Hemos hablado de diferentes soluciones de virtualizacin, quizs las ms difundidas, pero se nos
han quedado en el tintero un buen nmero de ellas. A pesar de todo, creo que han sido suficientes
para entender que las posibles soluciones son diversas y que ser fcil encontrar alguna que se
adapte a nuestras necesidades.
En lo referente al resto de este texto, para que puedas poner en prctica todos los contenidos que
iremos desgranando, utilizaremos mquinas virtuales basadas en VirtualBox. De esta forma, podrs
hacer todas las pruebas que consideres necesarias sin que se vea afectado tu entorno de trabajo
habitual y sin que tengas que dedicar un ordenador para realizar las tareas que vayamos explicando.
** Fuente: http://somebooks.es/?p=3357