b4t2 - Virtualización Flashcards

1
Q

Qué es un CPD?

A

Centro de procesamiento de datos: Donde las empresas tienen los servidores, cabinas de almacenamiento, electrónica, etc ..

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cómo se llama al sofware de virtualización?

A

Hipervisor o VMM (Virtual Machine Monitor)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qué tipos de virtualización hay?

A
  1. Virtualización de máquinas
  2. Virtualización del amacenamiento (LVM, RAID, SAN, VSAN, NFS, CIFS, …)
  3. Virtualización del back-up (VTL: Virtual Tape Library)
  4. Virtualización del puesto de usuario (Infraestructura VDI + Acceso RPD/X-windows)
  5. Virtualización ligera
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qué diferencia hay entre Hipervisores de Tipo 1 y de Tipo 2?

A

En el Hiperisor de tipo 1 no es necesario instalar un SO entre el hardware y el hipervisor. Son llamados baremetal.
En el Hipervisor de tipo 2 sí es necesario instalar un SO entre el hardware y el hipervisor. Menos eficiente, más para uso doméstico

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué es VT-x?

A

Es la tecnología de virtualización de Intel para sus procesadores que soportan virtualización
Dentro de VT-x hay dos ramas, VT-d y VT-c

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cómo se llama la tecnología de los porocesadores AMD que soportan virtualización?

A

AMD-v

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Productos de Hipervisores de tipo 1 (baremetal)

A

VMWare ESX
KVM - Kernel-based Virtual Machine (es opensource, linux se convierte en hipervisor tipo 1)
Proxmox VE -> entorno de virtualización que usa KVM. Es opensource
Hyper-V
XEN o XENApp -> Es de Citrix
PowerVM -> IBM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Productos de Hipervisores de tipo 2

A

VMWare Player
VirtualBox
Parallels (MAC)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Productos de Virtualización del puesto de usuario, del escritorio y de aplicaciones

A

Escritorio
- WMWare Horizon
- XEN Desktop

Aplicaciones
- Citrix

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qué es la Virtualización Ligera?

A

Se llama también OS-Virtualization, ya que no se virtualiza el hw, sino el kernel del SO. Habiendo un solo kernel, este se multiplexa para los distintos “clientes” o aplicaciones.
Ya no hay varias máquinas virtuales, cada una con un SO instalado. Ahora se crea una capa Docker Engine sobre un solo SO, sobre la que van los contenedores donde están las aplicaciones.
Esto se usa más para aplicaciones, ya que son más pequeñas, y no tanto para un Oracle, un servidor de correo, un DNS, …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Productos de Virtualización Ligera

A

Docker
Podman
RKT (Rockit)
Messos
LXC
OpenVZ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

En Docker, qué diferencia hay entre Imagen y Contenedor?

A

Imagen contiene el sowftware
Contenedor es la imagen en ejecución

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuál es el funcionamiento de Docker?

A
  1. Crear un fichero Dockerfile con la configuración de nuestra imagen (ageneralmente a partir de otra). O se puede descargar una imagen con docker pull
  2. Crear la imagen a partir del fichero Dockerfile con el comando docker build -t < nombre>
  3. Levantar un contenedor Docker a partir de la imagen construida con docker run -name mysql01 -d < nombre imagen> -p 1443:1443 (puertos)
  4. Hay que asignarle un volumen al contenedor, para que al cerrarlo no se pierda y todo quede persistido. También se le puede haber asignado un volumen en el fichero docker file
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Dónde están la librería de imágenes de Docker que está en la nube?

A

Docker Hub

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Producto para repositar imágenes de Docker

A

Artifactory Package

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qué son los comandos del Docker file
FROM
RUN
VOLUME
EXPOSE

A

FROM indica la imagen de origen para crear la nuestra
RUN ejecutar comandos sobre la imgen para personalizarla
VOLUME para tener almacenamiento persistente aunque se elimine el contenedor (filosofía usar y tirar)
EXPOSE para configurar los puertos para los servicios

17
Q

Imagen muy ligera de Docker de sólo 5 MB

A

alpine

18
Q

Qué se usa para distribuir (orquestar) los contenedores cuando hay muchos?

A

Kubernetes / Docker Swarm
Kubernetes usa el concepto de Pod dentro de cada nodo, que es lo que administra, y en los pods están los contenedores

19
Q

Qué es Docker Compose?

A

Herramienta para de cara al desarrollo, poder levantar (hacer run) de los contenedores que tienen los servicios del entorno de desarrollo (por ej. el sql, el nginx, etc…), definiendo de forma declarativa en docker-compose.yml

20
Q

Qué son productos Cri-O y Containerd?

A

Son otras implementaciones de runtimes de contenedores que cumplen el api CRI (Container Runtime Interface) para que Kubernetes pueda usarlos también, en lugar de Docker

21
Q

Que es OCI?

A

Open Container Initiative: Proyecto de la Linux Foundation para diseñar un estándar abierto para virtualización a nivel de sistema operativo. Tiene varias especificaciones
- OCI Runtime Specification: Define el motor de ejecución de los contenedores
- OCI Image Format: Define el formato de las imágenes. También conocido como OCF Open Container Format
- OCI Distribution Specification: Estandariza la distribución de imágenes

https://www.tutorialworks.com/difference-docker-containerd-runc-crio-oci

22
Q

Qué es runc?

A

Es la implementación de OCI para crear y correr contenedores, esto podrá correr sobre el runtime containerd, CRI-O, o el propio runtime de Docker

23
Q

Indica productos de IaaS

A

Amazon AWS
RedHat Openstack
Azure (Microsoft)
Google Cloud
Nube Sara (para la Adm. Pública)

24
Q

Indica los servicios importantes que ofrece Amazon AWS

A

S3: Simple Storage Service -> Almacenamiento modo objeto (ficheros y http)
EC2: Elastic Compute Cloud -> maquinas virtuales
EBS: Elastick Block Store -> Almacenamiento modo bloque

25
Q

Indica los servicios importantes que ofrece RedHat Openstack

A

Swift: Almacenamiento modo objeto
NOVA: máquinas virtuales
Cinder: Almacenamiento modo bloque
Neutron: Recursos de red
Horizon: Cuadro de mandos web

26
Q

Qué es PaaS. 5 productos importantes

A

Platform as a service: Ofrece una plataforma para montar a través de una consola web entornos de ejecución (desarrollo, pre, pro…) para todo el cliclo de vida de la aplicación, seleccionando los productos que se quieren (java, php, mysql, …) y lo crea, creando y distribuyendo los contenedores necesarios.

OpenShift (RedHat
Heroku
Cloud Foundry (VMWare)
Engine Yard
Google App Egine
Azure Pipelines
AWS Beanstalk
Digital Ocean

27
Q

Qué diferencia hay entre PaaS e IaaS?

A

IaaS son servicios de infraestructura en la nube, como maquinas virtuales, almacenamiento, recursos de red, etc…
PaaS son entornos de ejecución para desarrollo, pre, pro… etc.. que se personalizan desde una consola web gráfica

28
Q

En la virtualización de máquinas clásica, qué es VMDK?
Y VHD? Y VDI?

A

Virtual Machine Disk: formato de los ficheros donde se almacenan los datos de las máqunias virtuales, son como los discos duros pero virtualizados.
Este formato inicialmente era de VMWare, pero ahora otros fabricantes usan ese mismo formato.

VHD es Virtual Hard Disk, que es similar pero solo de Hyper-V
VDI es una imagen de VirtualBox

29
Q

En la virtualización de máquinas clásica, qué es OVF u OVA?

A

Open Virtual Format / Open Virtual Apliance
Es el formato estándar del software que se puede ejecutar en una máquina virtual. No está asociado a ningún hipervisor concreto.
Es como el equivalente en contenedores al formato abierto de imagen

OVF es el formato y OVA es el empaquetado

30
Q

Probar los comandos docker en el pc

A
31
Q

Qué hacen los siguientes comandos Docker?
docker images
docker image ls
docker ps
docker build
docker run -dit 8080:80
docker exec
docker volume ls/create/inspect/rm/prune
docker start
docker stop
docker kill
docker commit

A

docker images -> listar las imágenes creadas en la máquina
docker image ls -> listar las imágenes crear en la máquina, igual que el anterior
docker ps -> listar los contenedores levantados
docker build -> construir imagen a partir de su docker file
docker run -dit -> arrancar contenedor. -d (en background) i (interactivo), y el puerto físico 8080 relacionado con el puerto del contenedor 80
docker exec -> ejecutar un comando contra un contenedor activo
docker volume ls/create/inspect/rm/prune -> listar los volúmenes/crear/ver detalles/borrar/borrar todos los volúmenes sin usar
docker start -> arrancar un contenedor parado
docker stop -> parar un contenedor
docker kill -> para un contenedor por la fuerza, sin darle tiempo a shutdown como sop
docker commit -> hacer una imagen de un contenedor ya tuneado a posteriori

32
Q

Qué son las siguientes palabras del docker file?
FROM
ENV
ARG
WORKDIR
USER
COPY
ADD
RUN
CMD
ENTRY POINT
EXPOSE
VOLUME

A

FROM -> Imagen base
ENV -> configurar variables de entorno para el proceso de build, se queda configurada en el contenedor
ARG -> crear una variable para el proceso build, similar al anterior, pero en el contenedor no se queda
WORKDIR -> establece el directorio de trabajo
USER -> Con qué usuario ejecutamos las instrucciones en el contenedor
COPY -> Para añadir ficheros y directorios a la imagen
ADD -> Para añadir ficheros y directorios a la imagen, como el anterior
RUN -> Ejecutar comandos durante el build de la imagen
CMD -> comandos a ejecutar cuando se levante el contenedor
ENTRY POINT -> similar al anterior
EXPOSE -> exponer puertos en el contenedor
VOLUME -> definir el directorio (el volume) donde se persistirá la información

33
Q

Qué son las apis OCI y CRI y quién las implementa?

A

The Open Container Initiative (OCI) which publishes specifications for containers and their images. La implementa runc

The Kubernetes Container Runtime Interface (CRI), which defines an API between Kubernetes and a container runtime underneath. La implementa CRI-O, containerd

34
Q

Productos más conocidos de AWS, leer.

A

Amazon EC2: Amazon Elastic Compute Cloud (EC2) es un servicio de computación en la nube que proporciona capacidad informática escalable en la nube. Permite a los usuarios lanzar y administrar instancias de servidores virtuales con diferentes configuraciones.

Amazon ECS (Elastic Container Service) es el servicio de orquestación de contenedores en la nube de AWS

Amazon S3: Amazon Simple Storage Service (S3) es un servicio de almacenamiento en la nube altamente escalable y duradero. Permite almacenar y recuperar grandes cantidades de datos de forma segura desde cualquier ubicación.

AWS Lambda: AWS Lambda es un servicio de computación sin servidor que permite ejecutar código en respuesta a eventos sin la necesidad de aprovisionar ni administrar servidores. Es ideal para ejecutar funciones pequeñas y autónomas en la nube.

Amazon RDS: Amazon Relational Database Service (RDS) es un servicio de base de datos administrado que facilita la configuración, operación y escalado de bases de datos relacionales en la nube. Admite varias bases de datos populares como MySQL, PostgreSQL, Oracle, entre otras.

Amazon DynamoDB: Amazon DynamoDB es una base de datos NoSQL completamente administrada y escalable. Proporciona un rendimiento rápido y predecible con latencia baja y se adapta automáticamente a las cargas de trabajo.

Amazon SNS: Amazon Simple Notification Service (SNS) es un servicio de mensajería y notificaciones que permite enviar mensajes de forma segura a través de múltiples plataformas, como correo electrónico, SMS, notificaciones push, entre otros.

Amazon SQS: Amazon Simple Queue Service (SQS) es un servicio de cola de mensajes completamente administrado que permite desacoplar y escalar los componentes de una aplicación. Ayuda a garantizar la entrega segura de mensajes entre diferentes sistemas y componentes.

Amazon CloudFront: Amazon CloudFront es un servicio de distribución de contenido (CDN) que ofrece una entrega rápida y segura de contenido, como imágenes, videos, aplicaciones web, a través de una red global de servidores en ubicaciones estratégicas.

AWS S3 Glacier: AWS S3 Glacier es un servicio de almacenamiento de objetos a largo plazo y de archivo. Está diseñado para almacenar datos que no se acceden con frecuencia, ofreciendo una opción rentable y duradera para retener información.

AWS IAM: AWS Identity and Access Management (IAM) es un servicio de gestión de identidades y accesos que permite administrar de forma segura el acceso a los recursos de AWS. Permite crear y gestionar usuarios, grupos, roles y políticas de seguridad.

Amazon CloudWatch: Es un servicio de monitoreo y observabilidad que recopila y rastrea datos de rendimiento y estado de los recursos de AWS y las aplicaciones que se ejecutan en ellos.

Amazon SNS: Simple Notification Service (SNS) es un servicio de mensajería y notificaciones que permite enviar mensajes a diferentes endpoints, como correos electrónicos, SMS y servicios de mensajería push.

Amazon SES: Simple Email Service (SES) es un servicio de correo electrónico escalable y económico que permite enviar y recibir correos electrónicos utilizando la infraestructura de AWS.

Amazon Route 53: Es un servicio de Sistema de Nombres de Dominio (DNS) escalable y altamente disponible que ayuda a dirigir el tráfico de Internet a los recursos de AWS y a otros servicios externos.

AWS CloudFormation: Es un servicio de aprovisionamiento y administración de recursos de AWS que permite describir la infraestructura como código y crear y gestionar pilas de recursos de manera automatizada.

AWS Glue: Es un servicio de preparación y transformación de datos que facilita la creación y administración de flujos de trabajo para la extracción, transformación y carga (ETL) de datos.

AWS Kinesis: Es un servicio para la ingestión, procesamiento y análisis en tiempo real de datos de streaming a gran escala.

AWS Step Functions: Es un servicio de orquestación de flujos de trabajo que permite coordinar y automatizar tareas en aplicaciones distribuidas.

AWS CloudTrail: Es un servicio que realiza un seguimiento y audita todas las acciones realizadas en la cuenta de AWS, proporcionando registros de eventos para el cumplimiento normativo, la seguridad y la solución de problemas.

AWS Elastic Beanstalk: Es un servicio que simplifica la implementación y administración de aplicaciones web escalables, permitiendo a los desarrolladores centrarse en el código sin preocuparse por la infraestructura subyacente.

Amazon EKS: Amazon Elastic Kubernetes Service (EKS) es un servicio administrado que facilita la ejecución de aplicaciones en contenedores utilizando Kubernetes.

AWS Lambda: Es un servicio de computación sin servidor que permite ejecutar código de forma escalable y sin necesidad de administrar servidores.

Amazon RDS: Amazon Relational Database Service (RDS) es un servicio de bases de datos relacionales totalmente administrado que admite varios motores de bases de datos, como MySQL, PostgreSQL, Oracle y SQL Server.

AWS Redshift: Es un servicio de almacenamiento y análisis de datos en la nube que permite la creación de data warehouses altamente escalables y de alto rendimiento.

Amazon EMR: Amazon Elastic MapReduce (EMR) es un servicio de big data que permite procesar grandes volúmenes de datos utilizando frameworks como Apache Spark, Hadoop y Presto.

AWS IoT: Es una plataforma que facilita la conexión, administración y análisis de dispositivos de Internet de las cosas (IoT), permitiendo la creación de soluciones escalables y seguras.

AWS S3 Glacier: Es un servicio de almacenamiento de datos a largo plazo y archivo que ofrece opciones de almacenamiento de baja latencia y baja frecuencia de acceso para datos que no se requieren con frecuencia.

Amazon CloudFront: Es un servicio de entrega de contenido (CDN) que acelera la distribución de contenido estático y dinámico a través de una red global de servidores.

AWS Secrets Manager: Es un servicio que ayuda a proteger y gestionar de forma segura las credenciales, claves y secretos utilizados en aplicaciones y servicios de AWS.

Amazon Elastic File System (EFS): Es un servicio de almacenamiento en la nube que proporciona un sistema de archivos escalable y completamente administrado para instancias de EC2.

AWS CodeBuild: Es un servicio de compilación completamente administrado que compila, prueba y despliega automáticamente aplicaciones. Permite compilar y probar el código fuente en un entorno configurado previamente, generando artefactos listos para el despliegue.

35
Q

Productos del ecosistema de IA

A

productos y herramientas de inteligencia artificial para desarrolladores:

TensorFlow: Es de GOOGLE Es una popular biblioteca de código abierto para aprendizaje automático desarrollada por Google. Proporciona una amplia gama de herramientas y recursos para construir y entrenar modelos de IA, desde redes neuronales hasta algoritmos de clasificación y regresión.

PyTorch: Es otra biblioteca de aprendizaje automático de código abierto que se ha vuelto muy popular en la comunidad de desarrolladores. PyTorch es conocido por su facilidad de uso y su enfoque en la flexibilidad y la programación dinámica.

Keras: Es una capa de abstracción de alto nivel sobre bibliotecas de aprendizaje automático como TensorFlow y Theano. Keras facilita la construcción y el entrenamiento de redes neuronales y se utiliza ampliamente en aplicaciones de IA.

Scikit-learn: Es una biblioteca de aprendizaje automático de código abierto para Python. Proporciona una amplia gama de algoritmos y herramientas para tareas comunes de aprendizaje automático, como clasificación, regresión, agrupamiento y selección de características.

OpenCV: Es una biblioteca de visión por computadora de código abierto ampliamente utilizada. Proporciona herramientas y algoritmos para el procesamiento de imágenes y videos, detección de objetos, reconocimiento facial y más.

Natural Language Toolkit (NLTK): Es una biblioteca de Python que se utiliza para el procesamiento del lenguaje natural. Proporciona herramientas y recursos para tareas como tokenización, etiquetado de partes del discurso, análisis sintáctico y análisis de sentimientos.

Apache Spark: Es un marco de procesamiento distribuido diseñado para el análisis de grandes conjuntos de datos. Spark proporciona una interfaz amigable para realizar cálculos distribuidos y se utiliza en aplicaciones de IA para el procesamiento de datos a gran escala.

H2O.ai: Es una plataforma de inteligencia artificial de código abierto que permite a los desarrolladores crear y desplegar modelos de aprendizaje automático a gran escala. Proporciona un conjunto completo de herramientas y algoritmos para el análisis de datos y la creación de modelos.

Apache Kafka: Es una plataforma de streaming distribuido que se utiliza para procesar y almacenar grandes volúmenes de datos en tiempo real. Kafka es ampliamente utilizado en aplicaciones de IA para la ingesta y el procesamiento de datos en tiempo real.

Microsoft Cognitive Services: Es una colección de servicios en la nube ofrecidos por Microsoft que permiten a los desarrolladores agregar características de IA a sus aplicaciones. Estos servicios incluyen reconocimiento de voz, reconocimiento facial, traducción automática, análisis de sentimientos y más.