Enviado por suzanneelhada el Lun, 01/07/2019 - 17:35
kubernetes

Hablemos de Virtualización, Paravirtualización, Emuladores...

Hola un saludo hoy vamos a hablar sobre un tema que está llamando la atención en el mundo: la virtualización. Quiero que entiendas bien de lo que trata y por eso voy a comenzar con virtualización vs paravirtualización como aperitivo para contenedores y kubernetes.

Pensemos en Virtualización de la siguiente forma:

Vamos a situarnos en un mundo donde ha ocurrido una catástrofe mundial y entonces más del 80% del planeta se ha quedado a oscuras y nosotros formamos parte de ese porcentaje “afortunado” que aún cuenta con un ápice de luz eléctrica, imagina todo el panorama tipo “Soy Leyenda”, bueno ya he dado un contexto bastante hostil, pero es necesario que uses tu super poder de imaginación para entender el tema; vamos a adentrarnos en virtualización ¿estás preparado?

Fuente: https://wallpapercave.com/destroyed-city-background

Edición de Imagen: @elhada3d

Hemos dicho que estamos como protagonistas de “Soy Leyenda” entonces; debemos buscar comida y debemos buscar dónde almacenar dicho recurso vital. Por lo pronto hemos caminado por las ruinas de la ciudad y hemos recolectado una serie de cosas que deben ser almacenadas, resguardadas celosamente (sino nos quedamos sin comida y se acaba la película), y no queremos eso, entonces continuemos.

Decidimos llenar y guardar lo que hemos encontrado (cosas que deben de refrigerarse) en unas neveras  pero estas se ubican en puntos distintos de una colmena de edificios semi destruidos, en un inicio vamos llenando las neveras con un 30% de contenido según vamos encontrando luego de que hemos acabado la búsqueda, nos damos cuenta que podemos optimizar el tiempo, las energías y ahorrar la poca luz que puede quedar en la zona, si movilizamos el contenido de una de las neveras y lo ponemos en una sola. 

Fuente: http://www.wallcoo.net/human/Urban_Ruins_02_1920x1200/index2.html

Edición de imagen: @elhada3d

Observamos que estamos ahorrando recursos y resguardando algunos e “inutilizando” otro que podemos ocupar más adelante, la virtualización tiene sus bases en este principio “Optimización de recursos” gestionamos hasta 3 máquinas usando una sola de manera física mientras que las otras  son “Leyenda” es decir no existen son virtuales.

Fuente: http://www.wallcoo.net/human/Urban_Ruins_02_1920x1200/index2.html

Edición de Imagen: @elhada3d

En concreto en la mera virtualización nos encontramos con el ahorro de recursos físicos, pero salta al frente algo que no es muy óptimo y es que el hardware no reconoce que la máquina virtual VM (Virtual Machine) no es real y entonces demanda una serie de componentes para poder correr o funcionar, esto debido a que la virtualización se da por medio de un software en este caso para el ejemplo usaremos virtualbox este software se encarga de gestionar una o más máquinas virtuales como vemos en la gráfica cada una utiliza todos los componentes que ocupa una máquina física (tarjeta gráfica, memoria, entre otros), en cuanto a recursos vemos como la virtualización es tardada y dependiendo de la condición de la máquina física dependerá el rendimiento de las máquinas virtuales. (Los sistemas operativos donde se pueden ejecutar dichas máquinas virtuales son: GNU Linux en todas sus distribuciones, windows en todas sus versiones, macOS)

virtualizacion

Ya que sabemos lo que es la virtualización (ver ejemplos de virtualización), vamos a tocar la Paravirtualización, esta nos habla de que el hardware asignado para correr la VM dentro del sistema (VMware Esxi) es cargado con un Sistema Operativo Nativo (WIN7 por ejemplo) que ya reconoce que se está configurando una máquina virtual y entonces solo utilizará los recursos o componentes que nosotros le asignemos previamente y esta correrá sin problemas. La diferencia es significativa en cuanto a optimización de tiempos de ejecución de tareas para manejo de bases de datos extensas y es precisamente este un antecedente importante para adentrarnos en el tema de contenedores. 

paravirtualizacion

Ejemplos de Virtualización:

-Virtualización de Escritorio

“Simula” un entorno que procesa todas tus aplicaciones en cuantos equipos tengas a la mano, toda vez que los mismos son responsables de “proyectar un escritorio” y correr tus programas cuando se enlazan a un servicio administrativo remoto.

Ventaja: Cada máquina tiene un acceso privilegiado independiente y, por tanto, un ataque de seguridad o un fallo en una aplicación sólo afectará a esa máquina y el resto seguirá funcionando.

-Virtualización de Servidores

Implica utilizar un software para emular un host físico. Esto crea un entorno de sistema operativo independiente que permite que varios sistemas operativos corran simultáneamente en una única máquina física.

Ventaja: Entre los tipos de virtualización exitosa, la de servidores te permite la ejecución de un comando para acceder rápidamente a procesos, documentos o información, englobando datos y programas que utilizan los usuarios para trabajar simultáneamente sin perder la continuidad de sus procesos.

-Virtualización de Almacenamiento

Genera la participación de un servidor físico en múltiples entornos, administrando recursos sobre una misma infraestructura (un servidor más grande) que conserva archivos y datos por más tiempo, ejecutándolos en paralelo con funciones diarias.

Ventaja: Al disponerse de una copia de los ficheros y archivos de configuración de la máquina virtual, la recuperación será muy rápida si es que se presenta un desastre informático, evitando la reinstalación, recuperar backups y otros procedimientos largos que se aplican en las máquinas físicas.

-Virtualización de Aplicaciones

Dicha alternativa de virtualización exitosa te permitirá digitalizar programas que son entregados desde un servidor, de manera que, en vez de que este se veas obligado a iniciar sesión en tu computadora, pueda hacerlo directamente en el software por medio de una plataforma determinada, convirtiéndola en uno de los tipos de virtualización exitosa más buscados.

Ventaja: Los elementos de configuración de una app pueden ser “migrados” a otro servidor físico, virtualizando sus funciones en lugares que cuenten con conexión a internet. Esto también permite que el acceso a tales aplicaciones sea flexible para el usuario y ejecutar varias versiones del mismo programa simultáneamente.

-Virtualización de Redes

La operatividad de elementos físicos de una red, como un router, un switch o un firewall, son emulados para gestionar de la mejor manera canales de comunicación, de forma que los recursos pueden ser gestionados de conformidad a su carga de trabajo.

Ventaja: Si quieres crear, por ejemplo, 10 máquinas virtuales en un servidor físico y que estén funcionando simultáneamente, hay tecnologías que permiten hacerlo con una sola CPU física, permitiendo asignar múltiples procesos o servidores a un mismo núcleo.

 

Ahora hablemos de emulación: 

Quién no ha sentido las ganas de volver a jugar aquellos increíbles y divertidos juegos de nintendo, por ejemplo, pero se han encontrado con la triste realidad de que ya estas consolas de juego han desaparecido del mercado; sin embargo hay buenas noticias, podemos acceder a estos juegos mediante nuestro ordenador actual mediante softwares que “emulan” dichas consolas,veamos algunos ejemplos. (Confieso que escribí esta parte solo porque me gusta jugar video juegos y entonces así fue como di con la emulación, “welcome to the jungle”) 

En sí, ¿qué es un emulador, cómo funciona, para qué se usa?

Se trata de un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. 

Un uso popular de los emuladores es el de imitar la experiencia de los videojuegos de máquinas recreativas o videoconsolas en computadoras personales, o el poder ser jugados en otras videoconsolas o dispositivos diferentes a los originales, y de esta forma recrear el entorno y hasta los sentimientos de recordar viejos tiempos, se ven involucrados en este caso.

Ejemplo: Jugando Mario Kart 64 en emulador android (MegaN64)

 

Vamos a listar algunos de los emuladores existentes:

Video Consolas:

Project64 – Emulador de la consola de nintendo 64

Dolphin – Emulador de las consolas Wii y Game cube

NullDC/Reicast – Emulador de sega dreamcast

PPSSPP – Emulador de la consola sony psp

Epsxe – Emulador de play station one

Pcsx2 – Emulador de play station 2

Openemu -Emulador de diferentes consolas retro

DoSBox – Emulador juegos de DOS

GBA-M – Emulador de Game Boy, Game Boy Color y Game Boy Advance

Desmume – Emulador de nintendo DS

Citra – Emulador de nintendo 3ds

Mame – Emulador arcade

Kega – Emulador sega Mega drive

Emulando Android:

Emulador oficial de Android (AVD)

BlueStacks 4

ARChon

Genymotion

Bliss OS

MEmu

KOPlayer

 

Es todo por esta primera entrega, espero que me sigan en la II Parte de este artículo.

Registrate en el foro, síguenos en FacebookTwitterunete a nuestro chat en Discord y no olvides compartirnos en las redes sociales.

Acerca del autor

Diseñadora Gráfica al servicio del software libre, amante de la tecnología. Experta en marketing internacional. Fundadora del equipo multidisciplinario Tecnotribu. Miembro activo de staff de: securityhacklabs.net, linuxespanol.net, maratonlinuxero.org
Graphic designer at the service of free software, technology-loving. Expert in international marketing. Founder of the Tecnotribu multidisciplinary team. Active staff member: securityhacklabs.net, linuxespanol.net , maratonlinuxero.org

Comentarios

Hola, Susana. Muchas gracias por ese excelente artículo, muy bien explicado y detallado, la redacción impecable y el detalle técnico se puede entender fácilmente.

Feclicitaciones :) y esperamos el próximo.