ARQUITECTURA122
ARQUITECTURA122
ARQUITECTURA122
Dentro del contexto de desarrollo web, esta arquitectura hace referencia a un modelo de
comunicación que vincula a varios dispositivos con un servidor a través de internet.
REQUEST / SOLICITUD
Es la solicitud que hacemos a través del navegador (el cliente) a un servidor, en este
ejemplo, la página de Facebook que está almacenada en sus servidores.
RESPONSE/ RESPUESTA
El servidor recibe nuestra solicitud, la procesa, y envía como resultado una respuesta al
cliente (navegador), en este ejemplo devolverá la página principal del sitio.
Front-End
Aquí se incluyen todos los elementos gráficos que conforman la interfaz del sitio.
Los lenguajes que se manejan son HTML, para la estructura, CSS, para los estilos visuales
y Javascript, para la interacción dentro del sitio.
Back-End
Es todo lo que pasa del lado del servidor.
Aquí se incluye todo el funcionamiento interno y lógica del sitio. Es lo que permite que se
carguen todas las peticiones solicitadas por el cliente.
Algunos de los lenguajes que se manejan son MySQL, para base de datos, PHP, para sitios
webs dinámicos, entre otros.
Tipos de Servidores
Servidor de archivos: un servidor de archivos se encarga de almacenar los datos a los que
acceden los diferentes clientes a través de una red. Las empresas apuestan por dicha gestión
de archivos para que sea mayor el número de grupos de trabajo que tengan acceso a los
mismos datos. Un servidor de archivos contrarresta los conflictos originados por las
diferentes versiones de archivos locales y hace posible tanto la creación automática de las
diferentes versiones de datos como la realización de una copia de seguridad central de la
totalidad de datos de la empresa. En el acceso al servidor de archivos por medio de Internet
entran en juego protocolos de transmisión como FTP (File Transfer Protocol), SFTP
(Secure File Transfer Protocol), FTPS (FTP over SSL) o SCP (Secure Copy). Los
protocolos SMB (Server Message Block) y NFS (Network File System) se encuentran
habitualmente en las redes de área locales (LAN).
Servidor proxy: el servidor proxy sirve como interfaz de comunicación en las redes
informáticas. En su papel de intermediario, el servidor proxy recibe las solicitudes de red y
las transmite a través de su propia dirección IP. Los servidores proxy se usan para filtrar la
comunicación, para controlar el ancho de banda, para aumentar la disponibilidad a través
del reparto de cargas, así como para guardar datos temporalmente (caching). Además, los
servidores proxy permiten una amplia anonimización, ya que la dirección IP del cliente
queda oculta en el proxy.
En teoría, un único dispositivo físico puede alojar diferentes tipos de servidores. Sin
embargo, es habitual alojar cada uno de los servidores en un ordenador independiente o que
estos se repartan en más de un ordenador. De esta manera, se evita que la utilización del
hardware de un servicio repercuta en el rendimiento de otros servicios.
https://youtu.be/XZmGGAbHqa0
algunas de las instalaciones del Data Center de la empresa Google y como es un el personal
que trabaja en esos centros de información.
Un Data Center es, tal y como su nombre indica, un “centro de datos” o “Centro de Proceso
de Datos” (CPD). Esta definición engloba las dependencias y los sistemas asociados gracias
a los cuales:
Los primeros Data Centers se diseñaron siguiendo las arquitecturas clásicas de informática
de red, en las que los equipos eran “apilables” en mesas, armarios o racks como la siguiente
imagen:
La necesidad de fácil gestión y de optimización del espacio han hecho que se evolucione
hacia sistemas basados en equipos cuyas dimensiones permiten aprovechar al máximo el
volumen disponible en los racks (equipos “enracables”), logrando una alta densidad de
equipos por unidad de espacio.
Un Datacenter físico puede alojar Datacenters virtuales, cuyo costo es menor gracias a la
virtualización. Cada Centro de Datos virtual es independiente del resto y dispone de
máximas garantías de seguridad, disponibilidad y flexibilidad.
Los Data Center iniciales tampoco estaban diseñados para proporcionar facilidades de red
avanzadas, ni los requerimientos mínimos de ancho de banda y velocidad de las
arquitecturas actuales. La rápida evolución de Internet y la necesidad de estar conectados en
todo momento han obligado a las empresas a requerir un alto nivel de fiabilidad y
seguridad, de tal forma que se proteja la información corporativa y esté disponible sin
interrupciones o degradación del acceso, con el objetivo de no poner en peligro sus
negocios, sean del tamaño que sean. El cumplimiento de estos requisitos, cada día mas
demandados, es posible dentro de un Data Center. Igual que un banco es el mejor sitio para
guardar y gestionar el dinero, un centro de datos lo es para albergar los equipos y sistemas
de información.
Los datos almacenados, no son datos estáticos, están en constante movimiento, se
interrelacionan unos con otros y dan como resultado nuevos datos. Su crecimiento es
constante y ello implica no solo que deben estar protegidos mediante las medidas de
seguridad adecuadas, sino también dotados de estupendos “motores que les permitan
moverse ágilmente por las autopistas de la información”.
El crecimiento exponencial del número de usuarios de los servicios online ha llevado a las
empresas a subcontratar la gestión, mantenimiento y administración de sus equipos
informáticos y de comunicaciones en los Data Center. Esto les permite centrarse en el
desarrollo de su propio negocio y olvidarse de complejidades tecnológicas derivadas de las
características anteriormente comentadas, así como prestar el servicio sin la necesidad de
realizar una inversión elevada en equipamiento dedicado a este fin.
Que busca una empresa contratando infraestructura externa?
El modelo de Datacenter se ha replicado y mejorado con el tiempo para que las empresas
clientes puedan solicitar:
· Ancho de banda: Es necesario contar con una gran capacidad de transferencia de datos,
de tal forma que no sea apreciable ningún tipo de “retardo” provocado por la utilización de
la red.
El hosting VPS es uno de los servicios de alojamiento más populares que puedes elegir para
tu sitio web. Utiliza tecnología de virtualización para proporcionarte recursos dedicados
(privados) en un servidor con múltiples usuarios.
Es una solución más segura y estable que el hosting compartido donde no se obtiene
espacio de servidor dedicado. Sin embargo, es de menor escala y más barato que alquilar un
servidor completo.
El hosting VPS generalmente es elegido por los propietarios de sitios web que tienen un
tráfico de nivel medio que excede los límites de los planes de hosting compartido pero que
aún no necesitan los recursos de un servidor dedicado.
Las soluciones de VPS generalmente ofrecen varios planes de alojamiento. Por ejemplo,
una empresa de alojamiento, tiene seis planes de hosting VPS que se adaptan a las
diferentes necesidades y te permiten escalar tu sitio sin problemas cuando necesites más
recursos.
Por lo tanto, un servidor privado virtual (VPS) es tanto virtual como privado porque tienes
control absoluto. Está separado de otros usuarios del servidor a nivel del sistema operativo.
De hecho, la tecnología VPS es similar a la creación de particiones en tu computadora
cuando quieres ejecutar más de un sistema operativo (por ejemplo, Windows y Linux) sin
tener que reiniciar.
Un VPS te permite configurar tu sitio web dentro de un contenedor seguro con recursos
garantizados (memoria, espacio en disco, núcleos de CPU, etc.) que no tienes que compartir
con otros usuarios. Con el hosting VPS, tienes el mismo acceso de nivel raíz que si
alquilaras un servidor dedicado, pero a un costo mucho más bajo.
Hosting Compartido
El hosting compartido es la solución para los propietarios de sitios web con menos tráfico.
Es el punto de partida de la mayoría de las pequeñas empresas y bloggers. Con el hosting
compartido, se divide el mismo servidor físico entre varios clientes de la empresa de
hosting. No obtienes recursos dedicados para ti, ya que tu sitio se ejecuta en el mismo
sistema operativo que el de los demás.
Por lo tanto, la memoria y el poder de computación que tu sitio puede usar se ven afectados
por las necesidades de los otros usuarios del servicio. Por ejemplo, si hay un pico de tráfico
repentino en un sitio web alojado en el mismo servidor, puede aumentar el tiempo de carga
de tu página. Tampoco puedes elegir tu sistema operativo ni otro software de servidor, ya
que todos los usuarios usan la misma configuración. En definitiva, es tu proveedor de
hosting el que se encarga de cada aspecto de tu entorno de hosting compartido.
Cloud Hosting
Con el cloud hosting o hosting en la nube no usas un solo servidor, sino un clúster (varias
computadoras interconectadas) que se ejecuta en la nube. Cada servidor en el clúster
almacena una copia actualizada de tu sitio web. Cuando uno de los servidores está
demasiado ocupado, el clúster redirige automáticamente el tráfico a uno que no lo esté
tanto. Como resultado, el hosting en la nube no tiene tiempo de inactividad (downtime), ya
que siempre hay un servidor en el clúster que puede atender las solicitudes de los visitantes
de tu sitio web.
Hosting WordPress
El hosting WordPress es un servicio específicamente ofrecido para los propietarios de sitios
de WordPress. Viene con varias características relacionadas con WordPress que solo
puedes usar si tienes un sitio de WordPress, como instalación con un solo clic, plugins
preinstalados o una interfaz de línea de comandos de WP. Los servidores están
configurados para las necesidades de WordPress. Por lo tanto, los proveedores de hosting
ofrecen hosting para WordPress como parte de su servicio de hosting compartido.
Hosting dedicado
Con hosting dedicado, alquilas un servidor físico completo para tu negocio. Si tienes un
sitio web de alto tráfico, el hosting dedicado puede ser la mejor solución para ti, ya que los
servidores dedicados son rápidos, flexibles y totalmente personalizables. Sin embargo, el
servicio también viene con un precio, por eso no es la mejor solución para todos,
especialmente si tienes un sitio web pequeño o mediano.
Si bien el hosting VPS te permite elegir y configurar tu sistema operativo y aplicaciones del
servidor, el hosting dedicado va un paso más allá. No solo te permite configurar el software
sino también el hardware, ya que todo el servidor es tuyo y nadie tiene voz en cuanto a la
configuración. También puedes ejecutar un servidor dedicado en el sitio (por ejemplo, en tu
oficina), sin embargo, no obtendrás el apoyo de un equipo de hosting profesional en ese
caso.
Pros
• Es más rápido y más confiable que un servidor de hosting compartido.
• Dado que los recursos del servidor, como la memoria o la potencia de
procesamiento, están garantizados, existe una fluctuación de cero a mínima en los recursos
disponibles.
• Los problemas y aumentos de tráfico de otros usuarios del servidor no afectan a tu
sitio.
• Obtienes acceso de superusuario (raíz) a tu servidor.
• Obtienes mayor privacidad, ya que tus archivos y bases de datos están bloqueados
para otros usuarios del servidor.
• Es un servicio fácil de escalar. A medida que tu sitio web crece, puedes mejorar
fácilmente los recursos de tu servidor (RAM, CPU, espacio en disco, ancho de banda, etc.).
Contras
• Es más caro que el hosting compartido.
• Se requiere más conocimiento técnico para administrar tu servidor.
• Los servidores mal configurados pueden generar vulnerabilidades de seguridad.
Sin embargo, hay otros casos de uso en los que puede ser una buena idea comenzar con un
plan de VPS desde el principio. Por ejemplo, los sitios web de comercio electrónico donde
se necesita garantizar pagos seguros con un entorno rápido y estable pueden beneficiarse
mucho de un servidor privado virtual. De hecho, si almacenas cualquier tipo de
información confidencial o tienes que procesar pagos en línea, un VPS puede ayudarte a
reducir el riesgo de violaciones de seguridad y robo de identidad.
El VPS administrado sigue siendo una novedad en el mercado, sin embargo cada vez más
proveedores de hosting lo ofrecen a sus clientes. Por ejemplo, proporcionar un entorno de
hosting totalmente administrado con planes de cloud hosting.
Un servidor es un dispositivo virtual que le brinda espacio y estructura a los sitios web para
que almacenen sus datos y manejen sus páginas.
¿Alguna vez te has preguntado dónde están localizados todos los contenidos de tu estrategia
de marketing digital que subes a tu página web?
Es, pues, en los servidores web. Estos son fundamentales para Internet y si ellos no
existieran, navegar por la web sería muy diferente a lo que conocemos hoy en día.
Con la transformación digital y el creciente uso de Internet era más que necesario crear
servidores que fueran capaces de almacenar y emitir la biblioteca de información (casi
infinita) que encontramos en la web.
¿Qué es un servidor?
Un servidor web (server) es un ordenador de gran potencia que se encarga de “prestar el
servicio” de transmitir la información pedida por sus clientes (otros ordenadores,
dispositivos móviles, impresoras, personas, etc.)
Los servidores web (web server) son un componente de los servidores que tienen como
principal función almacenar, en web hosting, todos los archivos propios de una página web
(imágenes, textos, videos, etc.) y transmitirlos a los usuarios a través de los navegadores
mediante el protocolo HTTP (Hipertext Transfer Protocol).
Este proceso, para los internautas no dura más que un segundo, sin embargo, a nivel del
web server es una secuencia más complicada de lo que parece.
Para cumplir con sus funciones el servidor deberá tener la capacidad de estar siempre
encendido para evitar interrumpir el servicio que le ofrece a sus clientes. Si dicho servidor
falla o se apaga, los internautas tendrán problemas al ingresar al sitio web.
Para saber cómo funciona, primero es necesario conocer que el web server está
permanentemente en espera de una solicitud de información.
Además, ten en cuenta que toda computadora, smartphone o tablet tiene una dirección IP
única e irrepetible que lo identifica de otro dispositivo en la red, así es como el servidor
web envía la información exacta que el internauta está esperando.
Ahora bien, para que el web server pueda cumplir con su función es necesario que reciba la
petición por parte de un navegador, en otras palabras, se envía un pedido desde una
dirección IP hacia la dirección IP del servidor que aloja los archivos del sitio en cuestión.
Este resultado se le muestra a los internautas y es lo que siempre sucede cuando se navega
en sitios de Internet. Cuando este proceso se completa podemos decir que el web server ha
cumplido con su función.
A nivel de software
Sistema Operativo
Se encarga de que el hardware funcione y logre interactuar con los servicios que corre el
sistema. Algunos ejemplos son:
Unix,
Linux,
o Windows.
Sistemas de archivos
Es una guía lógica que permite que el sistema pueda ubicar, ordenar y filtrar datos en el
disco duro, con el fin de que podamos leerlos, modificarlos o eliminarlos.
Virtual Hosting
Permite que bajo el mismo web server e IP se alojen en varios sitios web distinto.
JPG,
GIF,
PNG,
BMP,
CSS,
TXT,
HTML,
Javascript,
MP3
y MP4.
Los ficheros dinámicos funcionan para información y se basan en archivos que serán
procesados por el servidor dependiendo generalmente de un lenguaje de desarrollo, por
ejemplo: en PHP, ASP, Python, Ruby y GO.
Sistema de seguridad
El sistema de seguridad de un servidor debe:
A nivel de hardware
Rack y gabinete
El rack se refiere al lugar donde se alojan los servidores físicamente y el gabinete es el
armazón que sostiene los componentes de hardware de una computadora.
CPU
Es el centro de procesamiento de datos del servidor desde donde se realizan todos los
cálculos lógicos y matemáticos para que el usuario pueda manipular y acceder a los datos
como necesita.
Memoria RAM
Se utiliza para almacenar información y datos de forma temporal dependiendo de la
demanda del usuario a través del sistema operativo.
Unidades de almacenamiento
El almacenamiento de servidores web se hace en discos duros, los cuales permiten
almacenar la información del sistema operativo, los servicios de sistema, y en última
instancia los datos cargados por el usuario.
Puerto de red
El ancho de banda es el que te permite tener un volumen suficiente para transmitir
información de ida y vuelta hacia y desde tu servidor web.
Apache
Es el más común y utilizado en el mundo, sin embargo, ha perdido popularidad frente a
Microsoft IIS y Nginx.
Entre las ventajas de Apache está que es un código abierto, con software gratuito y
multiplataforma, y entre sus desventajas su bajo rendimiento cuando recibe miles de
requests (peticiones) simultáneas en procesamiento de contenido dinámico o archivos
estáticos.
Nginx
Conocido y popularizado como una de las mejores alternativas de Apache. Nginx es un
servidor web de código abierto y gratuito (aunque también existe una versión comercial)
que se destaca por su alto rendimiento.
Entre sus beneficios resalta una configuración simple, ligera, rápida y excelente en cuanto a
seguridad y rendimiento, además permite ser configurado para integrarse nativamente con
casi cualquier tecnología y lenguaje de programación moderno.
Como desventajas podemos encontrar que no soporta los archivos .htaccess (de Apache),
aunque incluye su propio lenguaje de rewrites.
LiteSpeed
Es un software de despacho HTTP desarrollado por LiteSpeedTech, existe una versión de
código abierto (open source) y una versión comercial que incluye diferentes tipos de
licencia.
Microsoft IIS
Internet Information Services o IIS se ha popularizado para ofrecer servicios en la nube,
principalmente en Azure (la plataforma de Cloud Hosting de Microsoft).
Además, su perfecta integración con Windows (claro está), Visual Studio y sus
herramientas hicieron que este web server se posicionara como el servidor líder en el
mundo empresarial.
Cada servidor web es indicado para ciertas funciones, por lo que escoger cuál vas a usar va
a depender de lo que pretendas hacer con ellos.
En resumen:
No olvides que al considerar elegir un web server debes tener en cuenta:
Los servidores Web no solo permiten publicar tu sitio en Internet, sino que también
entregan el contenido a tus lectores. Conocer cuál se adapta más a ti y a tus lectores es
fundamental para que el web server que elijas cumpla adecuadamente sus funciones.
Arquitectura de servidores: Cliente-Servidor y
Multicapa
Ya sabemos lo que es un servidor. Se trata de una computadora, con alta capacidad que se
encarga de compartir toda clase de información con un número casi infinito de otras
computadoras en todo el mundo, siempre y cuando estén conectados a él.
Esta conexión usualmente es inalámbrica pero puede ser alámbrica también. Sin embargo,
muchos aún desconocen cómo funcionan estas arquitecturas. Hablaremos ahora sobre la
arquitectura de servidores: Cliente-Servidor y Multicapa.
En este contexto, el cliente establece una conexión con el servidor a través de una red de
área local (LAN) o una red de área amplia (WAN), como Internet. Una vez que el servidor
ha cumplido la solicitud del cliente, la conexión finaliza. Debido a que varios programas de
clientes comparten los servicios del mismo programa de servidor, un servidor especial
llamado “daemond” puede activarse solo para esperar las solicitudes de los clientes.
En los primeros días de Internet, la mayoría del tráfico de red era entre clientes remotos que
solicitaban contenido web y los servidores del centro de datos que proporcionaban el
contenido. Este patrón de tráfico se conoce como tráfico norte-sur. Hoy, con la madurez de
la virtualización y la computación en la nube, es más probable que el tráfico de red sea de
servidor a servidor, un patrón conocido como tráfico este-oeste.
Protocolos cliente-servidor
Los clientes generalmente se comunican con los servidores mediante el conjunto de
protocolos TCP / IP. TCP es un protocolo orientado a la conexión, lo que significa que se
establece y mantiene una conexión hasta que los programas de aplicación en cada extremo
hayan terminado de intercambiar mensajes.
Determina cómo dividir los datos de la aplicación en paquetes que las redes pueden
entregar, envía paquetes y acepta paquetes de la capa de red, gestiona el control de flujo y
maneja la retransmisión de paquetes descartados o confusos, así como el reconocimiento de
todos los paquetes que llegan. En el modelo de comunicación de interconexión de sistemas
abiertos (OSI), TCP cubre partes de la capa 4, la capa de transporte y partes de la capa 5, la
capa de sesión.
Por el contrario, IP es un protocolo sin conexión, lo que significa que no hay una conexión
continua entre los puntos finales que se están comunicando.
Cada paquete que viaja a través de Internet se trata como una unidad de datos
independiente sin ninguna relación con ninguna otra unidad de datos. (La razón por la que
los paquetes se colocan en el orden correcto es debido a TCP). En el modelo de
comunicación de Interconexión de Sistemas Abiertos (OSI), IP está en la capa 3, la Capa de
Redes.
Modelo Multicapa
Cuando hablamos del modelo multicapa, hablamos del modelo OSI que significa
interconexión de sistemas abiertos. Ha sido desarrollado por ISO (Organización
Internacional de Normalización), en el año 1974. Es una arquitectura de 7 capas, cada una
tiene una funcionalidad específica para realizar. Todas estas 7 capas trabajan en
colaboración para transmitir los datos de una persona a otra en todo el mundo. Te las
explicamos a continuación:
Topologías físicas: la capa física especifica la forma en que los diferentes dispositivos /
nodos se organizan en una red, es decir, topología de bus, estrella o malla.
Modo de transmisión: la capa física también define la forma en que los datos fluyen entre
los dos dispositivos conectados. Los diversos modos de transmisión posibles son: Simplex,
half-duplex y full-duplex.
El paquete recibido de la capa de red se divide en tramas dependiendo del tamaño de trama
de la NIC (tarjeta de interfaz de red). DLL también encapsula la dirección MAC del
remitente y del receptor en el encabezado. La dirección MAC del receptor se obtiene
colocando una solicitud ARP (Protocolo de resolución de direcciones) en el cable
preguntando "¿Quién tiene esa dirección IP?" Y el host de destino responderá con su
dirección MAC.
Enrutamiento: los protocolos de la capa de red determinan qué ruta es adecuada desde el
origen hasta el destino. Esta función de la capa de red se conoce como enrutamiento.
En el lado del remitente: la capa de transporte recibe los datos formateados de las capas
superiores, realiza la segmentación y también implementa el control de flujo y error para
garantizar una transmisión de datos adecuada. También agrega el número de puerto de
origen y destino en su encabezado y reenvía los datos segmentados a la capa de red.
Estas aplicaciones producen los datos, que deben transferirse a través de la red. Esta capa
también sirve como una ventana para que los servicios de la aplicación accedan a la red y
para mostrar la información recibida al usuario.
Las funciones de la capa de aplicación son:
Arquitectura cliente/servidor
Según TIC, (2016)La estructura cliente - servidor es una arquitectura de computación en la
que se consigue un procesamiento cooperativo de la información por medio de un conjunto
de procesadores, de tal forma que uno o varios clientes, distribuidos geográficamente o no,
solicitan servicios de computación a uno o más servidores.
Servicio: unidad básica de diseño. El servidor los proporciona y el cliente los utiliza.
Lo normal es que los servicios de un mismo servidor puedan ser utilizados por múltiples
clientes distintos. Tanto los programas cliente como los servidores son con frecuencia parte
de un programa o aplicación mayores.
Nivel de comunicación: Agrupa a todos los elementos que hacen posible la comunicación
entre los componentes Cliente y servidor.
Nivel de base de datos: Agrupa a todas las actividades asociadas al acceso de los datos.
Elementos principales
CLIENTE
Un cliente es todo proceso que reclama servicios de otro. Una definición un poco más
elaborada podría ser la siguiente: cliente es el proceso que permite al usuario formular los
requerimientos y pasarlos al servidor. Se lo conoce con el término front-end.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
Cliente basado en lógica de negocio. Toma datos suministrados por el usuario y/o la base
de datos y efectúa los cálculos necesarios según los requerimientos del usuario.
SERVIDOR
MIDDLEWARE
• Protocolo de transporte.
• Network Operating System (NOS).
• Protocolo específico del servicio.
Él NOS:
• Intercepta la llamada.
• Redirige la llamada al servidor apropiado.
• Devuelve la contestación.
Este tipo de clasificación se basa en los grados de libertad que brinda el modelo
Cliente/Servidor para balancear la carga de proceso entre los niveles de presentación,
aplicación y base de datos.
Dependiendo de qué segmento de las capas de software tenga que soportar la mayor o
menor carga de procesamiento, se habla de Fat Client (Thin Server) o Fat server (Thin
Client).
En general este tipo de arquitectura presenta una flexibilidad mayor para desarrollar una
gran variedad de aplicaciones, incluyendo los sistemas de misión crítica a través de
servidores de transacciones.
SERVIDORES DE FICHEROS
Con un servidor de archivos, un cliente lo que hace es requerimientos de los mismos sobre
una red. Esta es una forma muy primitiva de servicios de datos, la cual necesita intercambio
de muchos mensajes sobre una red para hallar el dato requerido.
Los servidores de archivos usan recursos compartidos sobre la red y son necesarios para
crear repositorios de documentos, imágenes y archivos grandes sobre la red.
Este análisis está elaborado desde el punto de vista del modelo Cliente/Servidor, y está
directamente relacionado con la arquitectura en dos planos, que se describirá en el apartado
siguiente.
SERVIDORES DE TRANSACCIONES
SERVIDORES DE OBJETOS
Con un servidor de objetos, las aplicaciones Cliente/Servidor son escritas como un conjunto
de objetos que se comunican. Los objetos cliente se comunican con los objetos servidores
usando un Object Request Broker (ORB). El cliente invoca un método de un objeto remoto.
El ORB localiza el método del objeto en el servidor, y lo ejecuta para devolver el resultado
al objeto cliente.
SERVIDORES WEB
La primera aplicación cliente servidor que cubre todo el planeta es el World Wide Web.
Este nuevo modelo consiste en clientes simples que hablan con servidores Web. Un
servidor Web devuelve documentos cuando el cliente pregunta por el nombre de los
mismos. Los clientes y los servidores se comunican usando un protocolo basado en RPC,
llamado HTTP. Este protocolo define un conjunto simple de comandos, los parámetros son
pasados como cadenas y no provee tipos de datos. La Web y los objetos distribuidos están
comenzando a crear un conjunto muy interactivo de computación Cliente/Servidor.
Modelos cliente/servidor
Una de las clasificaciones mejor conocidas de las arquitecturas Cliente/Servidor se basa en
la idea de planos (tier), la cual es una variación sobre la división o clasificación por tamaño
de componentes.
A nivel de software
Este enfoque o clasificación es el más generalizado y el que más se ajusta a los enfoques
modernos, dado que se fundamenta en los componentes lógicos de la estructura
Cliente/Servidor y en la madurez y popularidad de la computación distribuida
En este esquema el cliente envía mensajes con solicitudes SQL al servidor de bases de
datos y el resultado de cada instrucción SQL es devuelto por la red, no importando si son
uno, diez, cien o mil registros. Es el mismo cliente quien debe procesar todos los registros
que le fueron devueltos por el servidor de base de datos, según el requerimiento que él
mismo hizo.
Ventajas:
Inconvenientes:
Por su bajo rendimiento esta estructura tiene un bajo espectro de aplicación, limitándose a
la construcción de sistemas no críticos.
En este esquema el cliente envía llamadas a funciones que residen en la base de datos, y es
ésta quien resuelve y procesa la totalidad de las instrucciones SQL agrupadas en la
mencionada función.
Ventajas: Presenta las mismas ventajas de una arquitectura dos planos con procedimientos
almacenados, pero mejora considerablemente el rendimiento sobre ésta, dado que reduce el
tráfico por la red al procesar los datos en la misma base de datos, haciendo viajar sólo el
resultado final de un conjunto de instrucciones SQL.
Esta estructura se caracteriza por elaborar la aplicación en base a dos capas principales de
software, más la capa correspondiente al servidor de base de datos. Al igual que en la
arquitectura dos capas, y según las decisiones de diseño que se tomen, se puede balancear
la carga de trabajo entre el proceso cliente y el nuevo proceso correspondiente al servidor
de aplicación.
Ventajas:
Reduce el tráfico de información en la red por lo que mejora el rendimiento de los sistemas
(especialmente respecto a la estructura en dos planos).
Inconvenientes:
A nivel de hardware
Esta clasificación del modelo Cliente/Servidor se basa igualmente en la distribución de los
procesos y elementos entre sus componentes, pero centrándose en la parte física del mismo,
en el que la administración de la interfaz gráfica se asocia a los clientes PC y la seguridad e
integridad de los datos quedan asociados a ambientes mainframe o por lo menos a
servidores locales y/o centrales.
MODELO CLIENTE / SERVIDOR 2 CAPAS
Los clientes son conectados vía LAN a un servidor de aplicaciones local, el cual,
dependiendo de la aplicación puede dar acceso a los datos administrados por él.
Los clientes son conectados vía LAN a un servidor de aplicaciones local, el cual a su vez se
comunica con un servidor central de bases de datos. El servidor local tiene un
comportamiento dual, dado que actúa como cliente o servidor en función de la dirección de
la comunicación.
Tipos de Servidores según el servicio realizado
FTP – Correo – Web – IMAP - Streaming
Un servidor o server, en el lenguaje informático, es un ordenador y sus programas, que
están al servicio de otros ordenadores.
El servidor atiende y responde a las peticiones que le hacen los otros ordenadores. Los otros
ordenadores, que le hacen peticiones, serán los "clientes" del servidor.
Un servidor deberá estar siempre encendido, ya que si se apaga dejará de dar servicio a los
demás. Cuando un servidor falla (se apaga o tiene errores) hace que los demás usuarios de
la red tengan problemas, porque no disponen de los servicios que proporciona ese servidor.
Por ejemplo, un usuario puede configurar un servidor para controlar el acceso a una red,
enviar/recibir correo electrónico, gestionar los trabajos de impresión, o alojar un sitio web.
La red más conocida y más grande es Internet, y está llena de servidores. Pero ojo hay
servidores dentro de redes pequeñas y particulares, incluso tu puedes hacer que tu propio
ordenador sea un servidor.
Dependiendo del servicio que de el servidor, tiene que disponer de software (programas)
específicos capaces de ofrecer esos servicios. El hardware es simplemente un ordenador,
aunque es recomendable que sea de gama alta, para dar respuesta a las peticiones lo más
rápido posible.
servidores de internet
Normalmente, la mayoría de los servidores están diseñadas para operar sin ninguna
intervención manual durante su funcionamiento. Eso sí, antes se deberán configurar
correctamente.
Tipos de Servidores
Vamos a ver los principales tipos de servidores y explicar para qué sirve cada uno:
- Servidor de Correo Electrónico o Mail Server: Es un ordenador dentro de una red que
funciona como una oficina de correo virtual. Transfiere y almacena los mensajes de correo
electrónico a través de una red.
Estos servidores tienen programas capaces de almacenar correos para los usuarios locales y
con un conjunto de reglas definidas por el usuario que determinan cómo el servidor de
correo debe reaccionar ante el destino de un mensaje específico.
Normalmente estos servidores se dividen en otros 2 diferentes, una para el correo entrante
(llamados POP3) y otro para el correo saliente (llamados SMTP).
Los servidores POP3 retienen los mensajes de correo electrónico entrantes hasta que el
usuario compruebe su correo y entonces los transfieren al equipo cuando el usuario lo pide.
Los servidores SMTP administran el envío de los mensajes de correo electrónico a Internet.
El servidor SMTP administra el correo electrónico saliente y se utiliza en combinación con
un servidor POP3 o IMAP de correo electrónico entrante. Cuando el usuario da la orden de
enviar, el servidor lo envía.
Otro tipo de servidores de correo son los IMAP que permiten trabajar con los mensajes de
correo electrónico sin necesidad de descargarlos antes al equipo. Puedes obtener una vista
previa, eliminar y organizar los mensajes directamente en el servidor de correo sin
descargarlos en tu equipo. Ejemplos son los correos de yahoo, Hotmail, etc.
También están los servidores Fax que hacen lo mismo que los de correo, pero para la
recepción y transmisión de faxes.
- Servidor FTP: Se trata de uno de los más antiguos en Internet, "file transfer protocol" o
en Español Protocolo Para la Transferencia de Archivos. Se utilizan para realizar una
transferencia segura de archivos entre ordenadores (envío de archivos de un sitio a otro).
Los FTP garantiza la seguridad de los archivos y control de su transferencia.
En este caso el cliente 1 envía una petición al servidor FTP para que le envíe un archivo al
cliente 2. El servidor se lo envía y el cliente 2 lo recibe. Todo este proceso se realiza
mediante un programa llamado FTP instalado en el cliente 1 y en el 2. El servidor
dispondrá de otro programa (software) que se encargará de la recepción y el envío.
Este tipo de servidores se utilizan para subir archivos de páginas web a los servidores web,
archivos de imágenes, videos, para hacer backup (copias de seguridad), etc.
- Web Server o Servidor Web: Todas las páginas web que puedes ver por internet están
almacenadas en servidores, llamados servidores web.
Un servidor web almacena los archivos de una web y los proporciona a los clientes que los
solicitan haciendo la transferencia de los archivos a través de la red mediante los
navegadores. El cliente lo pide a través de su navegador y el servidor web lo envía al
mismo navegador del cliente pare que este lo pueda visualizar.
Los archivos web incluyen texto, imágenes, videos, etc.. y que solo los navegadores pueden
visualizar.
El servidor "sirve" (envía) el archivo web (por ejemplo una web en formato html) al
navegador del cliente para que lo pueda visualizar. El servidor, el navegador y la
comunicación a través de la red seguirán unas normas llamadas "protocolo HTTP".
El espacio que te dejan estos servidores para alojar tu web se llama Hosting. Hay dos tipos
principales de hosting:
Hosting Compartido: en el servidor web hay varias páginas alojadas de distintos clientes.
Hosting Dedicado: tienes un servidor para ti solito donde puedes alojar tus webs.
Lógicamente son más caros.
Muchas veces se dice servidor web compartido o dedicado para hacer referencia a este tipo
de hosting.
Los servidores web utilizan programas específicos para administrar sus servicios. En
función del programa que utiliza el servidor web para administrar y servir las páginas web
pueden ser de varios tipo. Todos los tipos que vamos a ver a continuación son realmente
programas de gestión del servidor web (software).
- Microsoft IIS es un Servidor Web de alto rendimiento de Microsoft. Este servidor Web se
ejecuta en plataformas Windows NT / 2000 y 2003 (y en la próximas nuevas versiones de
Windows también). IIS viene incluido con Windows NT / 2000 y 2003; Dado que IIS está
estrechamente integrado con el sistema operativo, es relativamente fácil administrarlo.
- Jigsaw (Servidor de W3C) proviene del World Wide Web Consortium. Es de código
abierto y libre y puede ejecutarse en varias plataformas como Linux, Unix, Windows, Mac
OS X Free BSD, etc. Jigsaw ha sido escrito en Java y se puede ejecutar scripts CGI y
programas PHP.
- El servidor Ngnix es un servidor Web muy ligero y trabaja sobre sistemas Unix y
Windows. Se ha convertido en el 4º servidor HTTP más popular de la red y también se
distribuye bajo licencia BSD. Se utiliza en el 19% de los servidores web.
Dentro de la red de internet hay unos servidores que se llaman DNS que son los que se
encargan de gestionar los nombres de los dominios de las páginas web (las direcciones de
las webs). Estos servidores se llaman Servidores DNS. Para saber más sobre esto visita el
siguiente enlace: ¿Qué es el DNS y servidores DNS?.
- Servidores de Bases de Datos: Son ordenadores preparados para alojar bases de datos
para ser utilizadas por uno o más clientes. Además estos servidores realizan tareas como el
análisis de los datos, el almacenamiento, la manipulación de datos, y otras tareas
específicas.
Estos servidores disponen de software que permite colaborar a los usuarios del servidor
independientemente de donde están ubicados, permitiéndoles así hacer un trabajo
colaborativo.
Los archivos y datos almacenados en un servidor groupware pueden ser alterados, acceder
y recuperados por los miembros del grupo de trabajo. Groupware también se conoce como
software de colaboración.
- Servidor Telnet: Son servidores que nos permiten iniciar sesión en cualquier ordenador y
realizar tareas en otro ordenador. Podemos trabajar con nuestro ordenador de forma remota,
es decir desde otro ordenador.
- Servidores Cloud: Realmente estos servidores lo único que hacen es dejarte o alquilarte
un espacio del servidor. La mayoría se utilizan para almacenar grandes cantidades de
información en el servidor y tenerla protegida fuera de nuestro ordenador. Muchas
empresas alquilan servidores cloud (en la nube) para tener en ellos toda la valiosa
información de la empresa, utilizándola cuando quieran y realizando el propio servidor
copias de seguridad.
Normalmente nos encontramos con diferentes preguntas como: ¿es mejor una
infraestructura física o en la nube? ¿Cual es la mejor opción en la nube? ¿Cual opción es
más barata? ¿que beneficios tienen cada una?.
Esto representa un impedimento para los proyectos que no cuentan con grandes
presupuestos, sin embargo, existen grandes compañías que ya están apostando por las
tecnologías de virtualización para el procesamiento de datos a gran escala.
En la actualidad existen 3 empresas que reinan en el mundo del Cloud Computing como
son: Microsoft Azure, Google Cloud Platform y Amazon Web Service, cada uno con una
amplia gama de productos que cumplen diversas funciones.
En esta oportunidad abordaremos los tres al mismo tiempo para explorar cual elegir al
momento de desarrollar proyectos propios o cuando vendemos servicios.
Productos y Soluciones
Vamos a utilizar los términos “productos” y “servicios” indistintamente; una solución, sin
embargo, es un concepto más específico que se escucha mucho cuando se trata de servicios
en la nube.
Uno de los grandes beneficios de los proveedores de servicios Cloud como Amazon Web
services, GCP y otros, son sus estrategias de precios competitivos y flexibles.
Estas empresas están en una constante lucha para brindar la mejor oferta al consumidor, en
su mayoría apuestan al método de Pago por Uso (PAYG por sus siglas en inglés).
Anteriormente se pagaba por uso mensual, sin embargo las cosas están cambiando y
girando hacia la tendencia de cobrar por segundo de potencia en cómputo.
Precios en AWS.
La novedosa tendencia del PAYG hace que los precios se ajusten a las necesidades del
proyecto, no es necesario comprar costosas soluciones de nube privada que se vuelven
obsoleta en poco tiempo. Con Amazon Web Services solo necesita ajustar su máquina
virtual y la nube de AWS se adaptará según los requerimientos, para solo pàgar por el
poder de cómputo usado.
Amazon puede ser ideal para colocar grandes bases de datos en la nube pero cuando se trata
de subir aplicaciones la nube de Microsoft Azure está mejor equipada.
Estos detalles de precios de AWS son útiles porque, como Azure y Google, los niveles de
niveles de nube varían mucho y es bueno compararlos con los requisitos que necesite
nuestro proyecto.
También tenemos el Costo Total de la Propiedad (TCO por sus siglas en inglés) que es
importante cuando se construye un caso de negocios y se obtiene una mejor estimación de
lo que se necesita para satisfacer las necesidades de la organización.
Esta forma agresiva de marcar costos es con la finalidad de liderar los monopolios Cloud,
como es el segmento de mover aplicaciones a la nube donde compite de manera agresiva
por esta cuota de mercado.
Para Azure, la calculadora de costo total de la propiedad hace las siguientes preguntas:
¿Cuáles son los ahorros de costos estimados de migrar cargas de trabajo de aplicaciones a
Microsoft Azure?
Más allá de comparar el precio de estos tres pesos pesados de la nube, sus características
también son un factor muy interesante a la hora de comparar.
En general, estas comparaciones son muy útiles cuando se considera que partner de la nube
es el más adecuado para el resultado deseado.
Por ejemplo, aunque todos pueden cubrir análisis de datos y visualización, se puede pensar
que AWS es el más progresivo en esta área.
Los tres AWS, Azure y Google tienen su propia forma de categorizar los diferentes
elementos, por lo que sugerimos comenzar a evaluar según las necesidades del proyecto y
como cada herramienta se ajusta según sus características.
AWS: características
Al igual que los otros dos proveedores de servicios en la nube, AWS tiene diferentes
algoritmos con nombres para desglosar sus productos y dividirlos en las siguientes
categorías:
Compute
Storage
Database
Migration
Networking & Content Delivery
Developer Tools
Management Tools
Security, Identity & Compliance
Analytics
Artificial Intelligence
Mobile Services
Applications Services
Messaging
Business Productivity
Desktop & App Streaming
Software
Internet of Things
Game Development
Además de esta amplia gama de opciones, en AWS tienen productos específicos con un
alto grado de categorización.
Estas soluciones cubren:
Sitios web
Copia de seguridad y recuperación
Archivo
Recuperación de desastres
DevOps
Big Data
Asegurar esta superioridad es una jugada bastante audaz del gigante de la computación, a
pesar de tener un rango de características muy similar a AWS, sin embargo esto lo hacen
con la finalidad de buscar que sus clientes depositen la confianza en su nube.
Con todas estas características de cada una de las herramientas, no es fácil saber cual es la
más conveniente, sin embargo con este análisis podrás tener una visión más amplia y
ajustar todo según tus requerimientos y recursos.
¿Cual elegir?
Ya vimos en detalle los precios, características e implementación, todo con la finalidad de
informarte cuando necesites tomar una decisión tan importante.
Si bien no es nada fácil llegar a una decisión concreta por el número de variables
involucradas, al menos tendrás el conocimiento necesario para discernir por la opción
correcta de soluciones cloud para tu empresa.