cloud-riders.ES Azure,DevOps,GNU/Linux Pequeño compendio DevOps (V)

Pequeño compendio DevOps (V)Pequeño compendio DevOps (V)

Hola a todos!

Ahora ya hemos tratado un poco Apache, lo mínimo, minimo para empezar, que seguramente ampliemos con el tiempo.

Hora de aprender un poco de NGINX.

Nginx es un servidor web (http), ampliamente utilizado como servidor web de alto volumen tráfico, usado por ejemplo en GitHub, Heroku.

Las características más importantes que ofrece Nginx son:

  • Equilibrio de carga.
  • Almacenamiento en caché.
  • Proxy inverso o reverso, según donde se lea.

Vamos a hablar un poco de ellas.

Equilibrio de carga:

Si tenemos un sitio web de gran volumen de tráfico que recibe por ejemplo 10k peticiones cada segundo, y tenemos un solo un servidor para atender todas las solicitudes se sobrecargará el servidor y empezará a tardar en responder o incluso se quedará enganchado.

Por contra, si ponemos una granja de servidores para atender las peticiones, se reducirá el tiempo de respuesta y no fallará el servicio.

Así que, la solución que debemos adoptar es preparar más servidores y distribuir la carga a todos los servidores por igual.

De esta manera, para esas 10k solicitudes, estas se distribuirán entre los servidores de manera ecuanima.

Por ejemplo: 10K peticiones con 10 servidores, tendríamos que cada uno atendería 1K solicitudes.

Proxy inverso: (o reverso)

Si tenemos varias aplicaciones en el servidor y solo puede ejecutar una aplicación por puerto, Y tenemos la aplicación en el puerto 80 (Aplicación = app.com:80) no podremos usar otra más en ese puerto porque ya se está usando.

Si necesitamos ejecutar múltiples aplicaciones, necesitamos asignar los puertos de manera correcta. Aplicación2 = app2.com:81).

Para no especificar el puerto en la URL podemos usar Nginx que intercepta las peticiones y verá que la siguiente solicitud es para la segunda app enrutando la solicitud a esa aplicación que se ejecuta en el puerto 81.

Hablando de Proxy directo y proxy inverso:

La palabra «Proxy» (representante en castellano/español) describe a algo o a alguien que actúa en nombre de otra persona, que en informática eso es un servidor que actúa en nombre de otra computadora.

Proxy de reenvío:

Actuando en nombre de un solicitante (o consumidor de servicios), el «proxy de reenvío» recupera datos de otro sitio web en nombre del solicitante original.

En el proxy de reenvío tendremos tres equipos:

  • A: Equipo «cliente» en Internet.
  • B: El servidor del sitio web proxy (proxy.example.org).
  • C: El servidor del sitio web que queremos visitar (www.example.net).

Normalmente, en una arquitectura sin proxy, conectaríamos directamente desde A hasta C.

Sin embargo, en algunos escenarios, se usan los Proxy y realmente es B el que conecta a C, en nombre de A, que espera a la respuesta de B, por lo que se encadena la secuencia de peticiones de la siguiente manera: A – B – C y se entrega la información C – B – A.

¿Por qué usar proxy de reenvío?:

Por ejemplo, podemos encontrarnos con que A no puede acceder directamente a C.

Puede ser por múltiples razones, como por ejemplo que la configuración de la red lo impida.

Pero no es el único panorama en el que podemos tener esta situación, esto nos puede pasar por ejemplo si alguien con autoridad administrativa sobre la conexión de A o de C ha decidido bloquear todo acceso directo entre estos dos puntos. Esto podemos encontrarlo por ejemplo con los bloqueos de determinadas páginas de RRSS en empresas.

Proxy inverso:

El proxy reverso puede actuar en nombre de unos servicios o contenidos y nos encontraremos nuyevamente con una arquitectura similar a la de antes.

  • A: Equipo «cliente» en Internet.

  • B: El servidor del sitio web proxy (proxy.example.org).
  • C: El servidor del sitio web que queremos visitar (www.example.net).
  • Al igual que antes, normalmente, en una arquitectura sin proxy, conectaríamos directamente desde A hasta C.

    Sin embargo, en algunos escenarios, se usan los Proxy y realmente es B el que conecta a C, en nombre de A, que espera a la respuesta de B, por lo que se encadena la secuencia de peticiones de la siguiente manera: A – B – C y se entrega la información C – B – A.

    ¿Por qué usar proxy inverso?:

    Podemos tener varios motivos para que esto sea así:

    C quiere obligar a todo el tráfico a su sitio web a pasar primero por B.

    Otro caso puede ser que C tenga un sitio web que millones de personas quieran visitar, y que un solo servidor web no puede manejar, por lo que C instala muchos servidores y coloca un proxy inverso que reenviará a los usuarios al servidor más cercano cuando lo intenten para visitar C.

    Otro caso más podría ser que el administrador de C esté preocupado por problemas legales dado que aloja contenido penado en su país y no quiere exponer el servidor principal directamente al público sino que usa una pantalla.

    Seguimos mañana o cuando tenga un momento.

    Espero que os sea útil.

    Un saludo

    Etiquetas: ,

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Related Post