Lo primero es extraer la imagen de ESPHome Docker de Docker Hub (en línea).
docker pull esphome/esphome
Luego, inicie el asistente ESPHome. Este asistente le preguntará sobre su tipo de dispositivo, el nombre de su dispositivo, sus credenciales de WiFi y finalmente generará un archivo yaml que contiene todas las configuraciones para usted.
docker run --rm -v "${PWD}":/config -it esphome/esphome wizard stl.yaml
dmesg | grep ttyUSB
docker run --rm -v "${PWD}":/config --device=/dev/ttyUSB1 -it esphome/esphome run stl.yaml
python3 --version
pip3 install wheel esphome
pip3 install --user esphome
esphome wizard stl-python.yaml
esphome run stl-python.yaml
Volver a la cima
OpenWrt Project es un sistema operativo Linux dirigido a dispositivos integrados. En lugar de intentar crear un firmware estático único, OpenWrt proporciona un sistema de archivos totalmente grabable con administración de paquetes. Se utiliza principalmente en dispositivos integrados para enrutar el tráfico de red.
Descargue la imagen OpenWrt adecuada para su Raspberry PI accediendo al enlace de arriba.
Raspberry Pi Imager es la forma rápida y sencilla de instalar Raspberry Pi OS y otros sistemas operativos en una tarjeta microSD, lista para usar con su Raspberry Pi.
La placa enrutadora Raspberry Pi para módulo CM4 (Costo: $55 USD) es una placa de expansión basada en el módulo de cómputo Raspberry Pi 4. Ofrece a Raspberry Pi CM4 dos puertos de red gigabit de alta velocidad y ofrece mejor rendimiento, menor uso de CPU y mayor estabilidad. Funciona durante mucho tiempo en comparación con una tarjeta de red USB. Es compatible con el sistema operativo Raspberry Pi, Ubuntu Server y otros sistemas Raspberry Pi.
Placa enrutadora Raspberry Pi para módulo CM4
Especificaciones técnicas:
Volver a la cima
Watchdog Timer (WDT) es un temporizador que monitorea los programas del microcontrolador (MCU) para ver si están fuera de control o han dejado de funcionar.
Para habilitar el mecanismo de vigilancia, debe cambiar los parámetros de arranque agregando dtparam=watchdog=on en /boot/config.txt usando un editor de texto como nano, vim, gedit, etc. Además, instale el paquete de vigilancia y habilítelo para que comience en puesta en marcha. Además, asegúrese de reiniciar su Raspberry Pi para que esta configuración surta efecto.
pi@raspberrypi:~ $ sudo apt install watchdog
pi@raspberrypi:~ $sudo systemctl enable watchdog
El archivo de configuración de watchdog se puede encontrar en /etc/watchdog.conf .
max-load-1 = 24
watchdog-device = /dev/watchdog
realtime = yes
priority = 1
Para iniciar el servicio WTD:
pi@raspberrypi:~ $ sudo systemctl start watchdog
Verificar el estado del perro guardián:
pi@raspberrypi:~ $ sudo systemctl status watchdog
Para detener el servicio:
pi@raspberrypi:~ $ sudo systemctl stop watchdog
Volver a la cima
Estuches para Raspberry Pi de Pi-Shop US
Cajas para Raspberry Pi de The Pi Hut
La placa de expansión X825 proporciona una solución de almacenamiento completa para la Raspberry Pi 4 Modelo B más nueva, admite unidades de disco duro (HDD) / unidades de estado sólido (SSD) SATA de hasta 4 TB y 2,5 pulgadas.
Sabrent M.2 SSD [NGFF] a USB 3.0 / SATA III Adaptador de caja de aluminio de 2,5 pulgadas
Samsung 970 EVO 250GB - NVMe PCIe M.2 2280 SSD
SSD interno Western Digital WD Blue SN550 NVMe de 1 TB
SSD portátil SAMSUNG T5
Samsung SSD 860 EVO 250 GB mSATA SSD interno
Samsung 850 EVO 120GB SSD mSATA
Volver a la cima
Grafana es una plataforma de análisis que le permite consultar y visualizar datos, luego crear y compartir paneles basados en sus visualizaciones. Visualice fácilmente métricas, registros y seguimientos de múltiples fuentes como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres, Fluentd, Fluentbit, Logstash y muchos más.
Primeros pasos con Grafana
Comunidad Grafana
Formación en servicios profesionales de Grafana | Laboratorios Grafana
Capacitación profesional de Grafana AWS | Laboratorios Grafana
Tutoriales de Grafana
Los mejores cursos de Grafana en Udemy
Cursos de formación en línea de Grafana | Aprendizaje en LinkedIn
Cursos de formación de Grafana - NobleProg
Configurando Grafana para visualizar nuestro curso de métricas en Coursera
Grafana Cloud es una plataforma de observabilidad componible que integra métricas, seguimientos y registros con Grafana. Aproveche el mejor software de observabilidad de código abierto, incluidos Prometheus, Loki y Tempo, sin los gastos generales de instalación, mantenimiento y ampliación de su pila de observabilidad.
Integraciones en la nube de Grafana. Fuente: Grafana
Grafana Enterprise es un servicio que incluye funciones que brindan mejor escalabilidad, colaboración, operaciones y gobernanza en un entorno autogestionado.
Pila empresarial de Grafana. Fuente: Grafana
Grafana Tempo es un backend de tarcing distribuido de alta escala y código abierto. Tempo es rentable, solo requiere almacenamiento de objetos para funcionar y está profundamente integrado con Grafana, Loki y Prometheus.
Grafana MetricTank es una plataforma de series temporales multiinquilino para Graphite desarrollada por Grafana Labs. MetricTank proporciona alta disponibilidad (HA) y almacenamiento, recuperación y procesamiento eficiente a largo plazo para entornos a gran escala.
Grafana Tanka es una sólida utilidad de configuración para su clúster de Kubernetes, impulsada por el lenguaje Jsonnet.
Grafana Loki es un sistema de agregación de registros multiinquilino, de alta disponibilidad (HA) y escalable horizontalmente inspirado en Prometheus.
Cortex es un proyecto que permite a los usuarios consultar métricas de muchos servidores Prometheus en un solo lugar, sin espacios en los archivos debido a fallas del servidor. Además, Cortex le permite almacenar métricas de Prometheus para la planificación de la capacidad y el análisis del rendimiento a largo plazo.
Graphite es un sistema de monitoreo de código abierto.
Volver a la cima
cURL es un proyecto de software informático que proporciona una biblioteca y una herramienta de línea de comandos para transferir datos utilizando varios protocolos de red (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP LDAPS, MQTT, POP3, POP3S, RTMP , RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP o SMTPS). cURL también se utiliza en automóviles, televisores, enrutadores, impresoras, equipos de audio, teléfonos móviles, tabletas, decodificadores, reproductores multimedia y es el motor de transferencia de Internet para miles de aplicaciones de software en más de diez mil millones de instalaciones.
cURL Fuzzer es una prueba de control de calidad para el proyecto curl.
DoH es una aplicación independiente para búsquedas y resolución de nombres DoH (DNS sobre HTTPS).
Authelia es un servidor de autenticación de código abierto de alta disponibilidad que proporciona capacidad de inicio de sesión único y autenticación de dos factores para aplicaciones que se ejecutan detrás de NGINX.
nginx(motor x) es un servidor proxy inverso y HTTP, un servidor proxy de correo y un servidor proxy TCP/UDP genérico, escrito originalmente por Igor Sysoev.
Proxmox Virtual Environment (VE) es una plataforma completa de código abierto para la virtualización empresarial. Incluye una interfaz web incorporada que le permite administrar fácilmente máquinas virtuales y contenedores, almacenamiento y redes definidos por software, agrupación en clústeres de alta disponibilidad y múltiples herramientas listas para usar en una única solución.
Wireshark es un analizador de protocolos de red muy popular que se utiliza comúnmente para la resolución de problemas, el análisis y el desarrollo de protocolos de comunicaciones de la red. Obtenga más información sobre las otras herramientas útiles de Wireshark disponibles.
HTTPie es un cliente HTTP de línea de comandos. Su objetivo es hacer que la interacción CLI con los servicios web sea lo más amigable posible para los humanos. HTTPie está diseñado para probar, depurar y, en general, interactuar con API y servidores HTTP.
HTTPStat es una herramienta que visualiza estadísticas de curl en un diseño simple.
Wuzz es una herramienta CLI interactiva para la inspección HTTP. Se puede utilizar para inspeccionar/modificar solicitudes copiadas desde el inspector de red del navegador con la función "copiar como cURL".
Websocat es un cliente de línea de comandos para WebSockets, como netcat (o curl) para ws:// con funciones avanzadas similares a socat.
• Connection: In networking, a connection refers to pieces of related information that are transferred through a network. This generally infers that a connection is built before the data transfer (by following the procedures laid out in a protocol) and then is deconstructed at the at the end of the data transfer.
• Packet: A packet is, generally speaking, the most basic unit that is transferred over a network. When communicating over a network, packets are the envelopes that carry your data (in pieces) from one end point to the other.
Los paquetes tienen una parte de encabezado que contiene información sobre el paquete, incluido el origen y el destino, marcas de tiempo y saltos de red. La parte principal de un paquete contiene los datos reales que se están transfiriendo. A veces se le llama cuerpo o carga útil.
• Network Interface: A network interface can refer to any kind of software interface to networking hardware. For instance, if you have two network cards in your computer, you can control and configure each network interface associated with them individually.
Una interfaz de red puede estar asociada con un dispositivo físico o puede ser una representación de una interfaz virtual. El dispositivo "loop-back", que es una interfaz virtual para la máquina local, es un ejemplo de esto.
• LAN: LAN stands for "local area network". It refers to a network or a portion of a network that is not publicly accessible to the greater internet. A home or office network is an example of a LAN.
• WAN: WAN stands for "wide area network". It means a network that is much more extensive than a LAN. While WAN is the relevant term to use to describe large, dispersed networks in general, it is usually meant to mean the internet, as a whole.
Si una interfaz está conectada a la WAN, generalmente se supone que se puede acceder a ella a través de Internet.
• Protocol: A protocol is a set of rules and standards that basically define a language that devices can use to communicate. There are a great number of protocols in use extensively in networking, and they are often implemented in different layers.
Algunos protocolos de bajo nivel son TCP, UDP, IP e ICMP. Algunos ejemplos familiares de protocolos de capa de aplicación, basados en estos protocolos inferiores, son HTTP (para acceder a contenido web), SSH, TLS/SSL y FTP.
• Port: A port is an address on a single machine that can be tied to a specific piece of software. It is not a physical interface or location, but it allows your server to be able to communicate using more than one application.
• Firewall: A firewall is a program that decides whether traffic coming into a server or going out should be allowed. A firewall usually works by creating rules for which type of traffic is acceptable on which ports. Generally, firewalls block ports that are not used by a specific application on a server.
• NAT: Network address translation is a way to translate requests that are incoming into a routing server to the relevant devices or servers that it knows about in the LAN. This is usually implemented in physical LANs as a way to route requests through one IP address to the necessary backend servers.
• VPN: Virtual private network is a means of connecting separate LANs through the internet, while maintaining privacy. This is used as a means of connecting remote systems as if they were on a local network, often for security reasons.
While networking is often discussed in terms of topology in a horizontal way, between hosts, its implementation is layered in a vertical fashion throughout a computer or network. This means is that there are multiple technologies and protocols that are built on top of each other in order for communication to function more easily. Each successive, higher layer abstracts the raw data a little bit more, and makes it simpler to use for applications and users. It also allows you to leverage lower layers in new ways without having to invest the time and energy to develop the protocols and applications that handle those types of traffic.
As data is sent out of one machine, it begins at the top of the stack and filters downwards. At the lowest level, actual transmission to another machine takes place. At this point, the data travels back up through the layers of the other computer. Each layer has the ability to add its own "wrapper" around the data that it receives from the adjacent layer, which will help the layers that come after decide what to do with the data when it is passed off.
One method of talking about the different layers of network communication is the OSI model. OSI stands for Open Systems Interconnect.This model defines seven separate layers. The layers in this model are:
• Application: The application layer is the layer that the users and user-applications most often interact with. Network communication is discussed in terms of availability of resources, partners to communicate with, and data synchronization.
• Presentation: The presentation layer is responsible for mapping resources and creating context. It is used to translate lower level networking data into data that applications expect to see.
• Session: The session layer is a connection handler. It creates, maintains, and destroys connections between nodes in a persistent way.
• Transport: The transport layer is responsible for handing the layers above it a reliable connection. In this context, reliable refers to the ability to verify that a piece of data was received intact at the other end of the connection. This layer can resend information that has been dropped or corrupted and can acknowledge the receipt of data to remote computers.
• Network: The network layer is used to route data between different nodes on the network. It uses addresses to be able to tell which computer to send information to. This layer can also break apart larger messages into smaller chunks to be reassembled on the opposite end.
• Data Link: This layer is implemented as a method of establishing and maintaining reliable links between different nodes or devices on a network using existing physical connections.
• Physical: The physical layer is responsible for handling the actual physical devices that are used to make a connection. This layer involves the bare software that manages physical connections as well as the hardware itself (like Ethernet).
El modelo TCP/IP, más comúnmente conocido como conjunto de protocolos de Internet, es otro modelo de capas que es más simple y ha sido ampliamente adoptado. Define las cuatro capas separadas, algunas de las cuales se superponen con el modelo OSI:
• Application: In this model, the application layer is responsible for creating and transmitting user data between applications. The applications can be on remote systems, and should appear to operate as if locally to the end user.
La comunicación se realiza entre redes de pares.
• Transport: The transport layer is responsible for communication between processes. This level of networking utilizes ports to address different services. It can build up unreliable or reliable connections depending on the type of protocol used.
• Internet: The internet layer is used to transport data from node to node in a network. This layer is aware of the endpoints of the connections, but does not worry about the actual connection needed to get from one place to another. IP addresses are defined in this layer as a way of reaching remote systems in an addressable manner.
• Link: The link layer implements the actual topology of the local network that allows the internet layer to present an addressable interface. It establishes connections between neighboring nodes to send data.
Las interfaces son puntos de comunicación de red para su computadora. Cada interfaz está asociada con un dispositivo de red físico o virtual. Normalmente, su servidor tendrá una interfaz de red configurable para cada tarjeta Ethernet o de Internet inalámbrica que tenga. Además, definirá una interfaz de red virtual llamada "loopback" o interfaz localhost. Esto se utiliza como una interfaz para conectar aplicaciones y procesos en una sola computadora a otras aplicaciones y procesos. Puede ver esto referenciado como la interfaz "lo" en muchas herramientas.
La creación de redes funciona mediante la combinación de varios protocolos diferentes, uno encima del otro. De esta manera, un dato se puede transmitir utilizando múltiples protocolos encapsulados uno dentro de otro.
El control de acceso a medios (MAC) es un protocolo de comunicaciones que se utiliza para distinguir dispositivos específicos. Se supone que cada dispositivo debe obtener una dirección MAC única durante el proceso de fabricación que lo diferencia de cualquier otro dispositivo en Internet. Direccionar el hardware mediante la dirección MAC le permite hacer referencia a un dispositivo mediante un valor único incluso cuando el software superior puede cambiar el nombre de ese dispositivo específico durante la operación. El control de acceso a los medios es uno de los únicos protocolos de la capa de enlace con el que es probable que interactúe de forma regular.
El protocolo IP es uno de los protocolos fundamentales que permiten que Internet funcione. Las direcciones IP son únicas en cada red y permiten que las máquinas se dirijan entre sí a través de una red. Se implementa en la capa de Internet en el modelo IP/TCP. Las redes se pueden vincular entre sí, pero el tráfico debe enrutarse cuando cruza los límites de la red. Este protocolo asume una red no confiable y múltiples rutas hacia el mismo destino entre las cuales puede cambiar dinámicamente. Hay varias implementaciones diferentes del protocolo. La implementación más común hoy en día es IPv4, aunque IPv6 está ganando popularidad como alternativa debido a la escasez de direcciones IPv4 disponibles y las mejoras en las capacidades de los protocolos.
ICMP: protocolo de mensajes de control de Internet se utiliza para enviar mensajes entre dispositivos para indicar la disponibilidad o condiciones de error. Estos paquetes se utilizan en una variedad de herramientas de diagnóstico de red, como ping y traceroute. Por lo general, los paquetes ICMP se transmiten cuando un paquete de otro tipo encuentra algún tipo de problema. Básicamente, se utilizan como mecanismo de retroalimentación para las comunicaciones de red.
TCP: El protocolo de control de transmisión se implementa en la capa de transporte del modelo IP/TCP y se utiliza para establecer conexiones confiables. TCP es uno de los protocolos que encapsula datos en paquetes. Luego los transfiere al extremo remoto de la conexión utilizando los métodos disponibles en las capas inferiores. En el otro extremo, puede comprobar si hay errores, solicitar que se reenvíen ciertas piezas y volver a ensamblar la información en una pieza lógica para enviarla a la capa de aplicación. El protocolo establece una conexión antes de la transferencia de datos mediante un sistema llamado protocolo de enlace de tres vías. Esta es una forma para que los dos extremos de la comunicación reconozcan la solicitud y acuerden un método para garantizar la confiabilidad de los datos. Una vez enviados los datos, la conexión se interrumpe mediante un protocolo de enlace similar de cuatro vías. TCP es el protocolo elegido para muchos de los usos más populares de Internet, incluidos WWW, FTP, SSH y correo electrónico. Es seguro decir que la Internet que conocemos hoy no estaría aquí sin TCP.
UDP: el protocolo de datagramas de usuario es un protocolo complementario popular de TCP y también se implementa en la capa de transporte. La diferencia fundamental entre UDP y TCP es que UDP ofrece una transferencia de datos poco confiable. No verifica que se hayan recibido datos en el otro extremo de la conexión. Esto puede parecer algo malo y, para muchos propósitos, lo es. Sin embargo, también es extremadamente importante para algunas funciones. No es necesario esperar la confirmación de que se recibieron los datos y obligarlos a reenviarlos, UDP es mucho más rápido que TCP. No establece una conexión con el host remoto, simplemente envía los datos a ese host y no le importa si se aceptan o no. Dado que UDP es una transacción simple, es útil para comunicaciones simples como consultas de recursos de red. Tampoco mantiene un estado, lo que lo hace ideal para transmitir datos desde una máquina a muchos clientes en tiempo real. Esto lo hace ideal para VOIP, juegos y otras aplicaciones que no pueden permitirse retrasos.
HTTP: El protocolo de transferencia de hipertexto es un protocolo definido en la capa de aplicación que forma la base para la comunicación en la web. HTTP define una serie de funciones que le dicen al sistema remoto lo que está solicitando. Por ejemplo, GET, POST y DELETE interactúan con los datos solicitados de forma diferente.
FTP: el protocolo de transferencia de archivos se encuentra en la capa de aplicación y proporciona una forma de transferir archivos completos de un host a otro. Es intrínsecamente inseguro, por lo que no se recomienda para ninguna red externa a menos que se implemente como un recurso público de descarga exclusiva.
DNS: el sistema de nombres de dominio es un protocolo de capa de aplicación que se utiliza para proporcionar un mecanismo de denominación amigable para los humanos para los recursos de Internet. Es lo que vincula un nombre de dominio a una dirección IP y le permite acceder a sitios por su nombre en su navegador.
SSH: Secure Shell es un protocolo cifrado implementado en la capa de aplicación que se puede utilizar para comunicarse con un servidor remoto de forma segura. Se crean muchas tecnologías adicionales en torno a este protocolo debido a su ubicuidad y cifrado de extremo a extremo. Hay muchos otros protocolos que no hemos cubierto y que son igualmente importantes. Sin embargo, esto debería brindarle una buena visión general de algunas de las tecnologías fundamentales que hacen posible Internet y las redes.
REST (REpresentational State Transfer) es un estilo arquitectónico para proporcionar estándares entre sistemas informáticos en la web, lo que facilita que los sistemas se comuniquen entre sí.
JSON Web Token (JWT) es un medio compacto seguro para URL para representar reclamaciones que se transferirán entre dos partes. Las notificaciones en un JWT están codificadas como un objeto JSON firmado digitalmente mediante JSON Web Signature (JWS).
OAuth 2.0 es un marco de autorización de código abierto que permite a las aplicaciones obtener acceso limitado a cuentas de usuario en un servicio HTTP, como Amazon, Google, Facebook, Microsoft, Twitter GitHub y DigitalOcean. Funciona delegando la autenticación del usuario al servicio que aloja la cuenta del usuario y autorizando a aplicaciones de terceros a acceder a la cuenta del usuario.
Volver a la cima
Arquitectura de contenedores. Fuente: Containerd.io
Programa de formación de Docker
Certificación Docker Certified Associate (DCA)
Documentación de Docker | Documentación acoplable
El taller de Docker
Cursos de Docker en Udemy
Cursos de Docker en Coursera
Cursos Docker en edX
Cursos Docker sobre aprendizaje en Linkedin
Docker es una plataforma abierta para desarrollar, enviar y ejecutar aplicaciones. Docker le permite separar sus aplicaciones de su infraestructura para que pueda entregar software rápidamente trabajando en colaboración con proveedores de nube, Linux y Windows, incluido Microsoft.
Docker Enterprise es una suscripción que incluye software, plataforma de contenedores compatible y certificada para CentOS, Red Hat Enterprise Linux (RHEL), Ubuntu, SUSE Linux Enterprise Server (SLES), Oracle Linux y Windows Server 2016, así como para los proveedores de nube AWS y Azur. En noviembre de 2019, Mirantis adquirió el negocio de plataforma empresarial de Docker.
Docker Desktop es una aplicación para máquinas MacOS y Windows para crear y compartir aplicaciones y microservicios en contenedores. Docker Desktop ofrece la velocidad, las opciones y la seguridad que necesita para diseñar y entregar aplicaciones en contenedores en su escritorio. Docker Desktop incluye la aplicación Docker, herramientas de desarrollo, Kubernetes y sincronización de versiones con Docker Engines de producción.
Docker Hub es la biblioteca y comunidad de imágenes de contenedores más grande del mundo. Explore más de 100.000 imágenes de contenedores de proveedores de software, proyectos de código abierto y la comunidad.
Docker Compose es una herramienta desarrollada para ayudar a definir y compartir aplicaciones de múltiples contenedores. Con Docker Compose, puede crear un archivo YAML para definir los servicios y, con un solo comando, puede activar o desactivar todo.
Docker Swarm es un sistema de agrupación en clústeres nativo de Docker. Es una herramienta sencilla que controla un clúster de hosts Docker y lo expone como un único host "virtual".
Dockerfile es un documento de texto que contiene todos los comandos que un usuario puede llamar en la línea de comando para ensamblar una imagen. Al utilizar Docker Build, los usuarios pueden crear una compilación automatizada que ejecute varias instrucciones de línea de comandos seguidas.
Docker Containers es una unidad estándar de software que empaqueta código y todas sus dependencias para que la aplicación se ejecute de forma rápida y confiable de un entorno informático a otro.
Docker Engine es un tiempo de ejecución de contenedor que se ejecuta en varios sistemas operativos Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE y Ubuntu) y Windows Server. Docker crea herramientas simples y un enfoque de empaquetado universal que agrupa todas las dependencias de la aplicación dentro de un contenedor que luego se ejecuta en Docker Engine.
Docker Images es un paquete de software ejecutable, liviano e independiente que incluye todo lo necesario para ejecutar una aplicación: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema y configuraciones. Las imágenes tienen capas intermedias que aumentan la reutilización, disminuyen el uso del disco y aceleran la compilación de Docker al permitir que cada paso se almacene en caché. Estas capas intermedias no se muestran por defecto. El TAMAÑO es el espacio acumulado que ocupan la imagen y todas sus imágenes principales.
Docker Network es una que muestra información detallada sobre una o más redes.
Docker Daemon es un servicio iniciado por una utilidad del sistema, no manualmente por un usuario. Esto hace que sea más fácil iniciar Docker automáticamente cuando la máquina se reinicia. El comando para iniciar Docker depende de su sistema operativo. Actualmente, solo se ejecuta en Linux porque depende de una serie de características del kernel de Linux, pero también hay algunas formas de ejecutar Docker en MacOS y Windows configurando las utilidades del sistema operativo.
Docker Storage es un controlador que controla cómo se almacenan y administran las imágenes y los contenedores en su host Docker.
Kitematic es una aplicación sencilla para administrar contenedores Docker en Mac, Linux y Windows que le permite controlar los contenedores de su aplicación desde una interfaz gráfica de usuario (GUI).
Open Container Initiative es una estructura de gobernanza abierta con el propósito expreso de crear estándares industriales abiertos en torno a formatos y tiempos de ejecución de contenedores.
Buildah es una herramienta de línea de comandos para crear imágenes de Open Container Initiative (OCI). Se puede utilizar con Docker, Podman, Kubernetes.
Podman es una herramienta nativa de Linux, de código abierto y sin demonio, diseñada para facilitar la búsqueda, ejecución, creación, uso compartido e implementación de aplicaciones utilizando contenedores e imágenes de contenedores de Open Containers Initiative (OCI). Podman proporciona una interfaz de línea de comandos (CLI) familiar para cualquiera que haya utilizado Docker Container Engine.
Containerd es un demonio que gestiona el ciclo de vida completo del contenedor de su sistema host, desde la transferencia y el almacenamiento de imágenes hasta la ejecución y supervisión del contenedor, el almacenamiento de bajo nivel, los archivos adjuntos de red y más. Está disponible para Linux y Windows.
Volver a la cima
Kubernetes (K8s) es un sistema de código abierto para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores.
Obtener certificaciones de Kubernetes
Comenzando con Kubernetes en AWS
Kubernetes en Microsoft Azure
Introducción al servicio Azure Kubernetes
Azure Red Hat OpenShift
Comenzando con Google Cloud
Comenzando con Kubernetes en Red Hat
Comenzando con Kubernetes en IBM
Red Hat OpenShift en la nube de IBM
Habilite la virtualización de OpenShift en Red Hat OpenShift
Conceptos básicos de YAML en Kubernetes
Nube elástica en Kubernetes
Docker y Kubernetes
Ejecutando Apache Spark en Kubernetes
Kubernetes en VMware vRealize Automation
Cuadrícula de VMware Tanzu Kubernetes
Todas las formas en que VMware Tanzu funciona con AWS
Educación de VMware Tanzu
Uso de Ansible en un entorno de Kubernetes nativo de la nube
Administrar objetos de Kubernetes (K8s) con Ansible
Configurar un clúster de Kubernetes usando Vagrant y Ansible
Ejecutando MongoDB con Kubernetes
Kubernetes fluido
Comprender el nuevo agente GitLab Kubernetes
Introducción al proceso local con Kubernetes para Visual Studio 2019
Colaboradores de Kubernetes
KubeAcademia de VMware
Tutoriales de Kubernetes de Pulumi
Zona de juegos de Kubernetes por Katacoda
Curso de Microservicios Escalables con Kubernetes de Udacity
Open Container Initiative es una estructura de gobernanza abierta con el propósito expreso de crear estándares industriales abiertos en torno a formatos y tiempos de ejecución de contenedores.
Buildah es una herramienta de línea de comandos para crear imágenes de Open Container Initiative (OCI). Se puede utilizar con Docker, Podman, Kubernetes.
Podman es una herramienta nativa de Linux, de código abierto y sin demonio, diseñada para facilitar la búsqueda, ejecución, creación, uso compartido e implementación de aplicaciones utilizando contenedores e imágenes de contenedores de Open Containers Initiative (OCI). Podman proporciona una interfaz de línea de comandos (CLI) familiar para cualquiera que haya utilizado Docker Container Engine.
Containerd es un demonio que gestiona el ciclo de vida completo del contenedor de su sistema host, desde la transferencia y el almacenamiento de imágenes hasta la ejecución y supervisión del contenedor, el almacenamiento de bajo nivel, los archivos adjuntos de red y más. Está disponible para Linux y Windows.
Google Kubernetes Engine (GKE) es un entorno administrado y listo para producción para ejecutar aplicaciones en contenedores.
Azure Kubernetes Service (AKS) es un Kubernetes sin servidor, con una experiencia integrada de integración continua y entrega continua (CI/CD), y seguridad y gobernanza de nivel empresarial. Una a sus equipos de desarrollo y operaciones en una única plataforma para crear, entregar y escalar aplicaciones rápidamente y con confianza.
Amazon EKS es una herramienta que ejecuta instancias del plano de control de Kubernetes en varias zonas de disponibilidad para garantizar una alta disponibilidad.
AWS Controllers for Kubernetes (ACK) es una nueva herramienta que le permite administrar directamente los servicios de AWS desde Kubernetes. ACK simplifica la creación de aplicaciones Kubernetes escalables y de alta disponibilidad que utilizan servicios de AWS.
Container Engine for Kubernetes (OKE) es un servicio de orquestación de contenedores administrado por Oracle que puede reducir el tiempo y el costo de crear aplicaciones nativas de la nube modernas. A diferencia de la mayoría de los demás proveedores, Oracle Cloud Infrastructure ofrece Container Engine para Kubernetes como un servicio gratuito que se ejecuta en computación de mayor rendimiento y menor costo.
Anthos es una plataforma moderna de gestión de aplicaciones que proporciona una experiencia de operaciones y desarrollo consistente para entornos locales y en la nube.
Red Hat Openshift es una plataforma Kubernetes totalmente administrada que proporciona una base para implementaciones locales, híbridas y multinube.
OKD es una distribución comunitaria de Kubernetes optimizada para el desarrollo continuo de aplicaciones y la implementación multiinquilino. OKD agrega herramientas centradas en operaciones y desarrolladores además de Kubernetes para permitir un desarrollo rápido de aplicaciones, una implementación y escalamiento sencillos y un mantenimiento del ciclo de vida a largo plazo para equipos grandes y pequeños.
Odo es una herramienta CLI rápida, iterativa y sencilla para desarrolladores que escriben, crean e implementan aplicaciones en Kubernetes y OpenShift.
Kata Operador es un operador para realizar la gestión del ciclo de vida (instalación/actualización/desinstalación) de Kata Runtime en Openshift así como en el clúster de Kubernetes.
Thanos es un conjunto de componentes que se pueden componer en un sistema métrico de alta disponibilidad con capacidad de almacenamiento ilimitada, que se puede agregar sin problemas a las implementaciones existentes de Prometheus.
OpenShift Hive es un operador que se ejecuta como un servicio sobre Kubernetes/OpenShift. El servicio Hive se puede utilizar para aprovisionar y realizar la configuración inicial de clústeres de OpenShift 4.
Rook es una herramienta que convierte los sistemas de almacenamiento distribuido en servicios de almacenamiento autoadministrados, autoescalables y autorreparables. Automatiza las tareas de un administrador de almacenamiento: implementación, arranque, configuración, aprovisionamiento, escalado, actualización, migración, recuperación ante desastres, monitoreo y gestión de recursos.
VMware Tanzu es una plataforma de administración centralizada para operar y proteger de manera consistente su infraestructura de Kubernetes y sus aplicaciones modernas en múltiples equipos y nubes públicas y privadas.
Kubespray es una herramienta que combina Kubernetes y Ansible para instalar fácilmente clústeres de Kubernetes que se pueden implementar en AWS, GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental) o Baremetal.
KubeInit proporciona guías y roles de Ansible para la implementación y configuración de múltiples distribuciones de Kubernetes.
Rancher es una pila de software completa para equipos que adoptan contenedores. Aborda los desafíos operativos y de seguridad de administrar múltiples clústeres de Kubernetes, al tiempo que proporciona a los equipos de DevOps herramientas integradas para ejecutar cargas de trabajo en contenedores.
K3s es una distribución de Kubernetes certificada y de alta disponibilidad diseñada para cargas de trabajo de producción en ubicaciones remotas, desatendidas y con recursos limitados o dentro de dispositivos IoT.
Helm es una herramienta de administrador de paquetes de Kubernetes que facilita la instalación y administración de aplicaciones de Kubernetes.
Knative es una plataforma basada en Kubernetes para crear, implementar y gestionar cargas de trabajo modernas sin servidor. Knative se encarga de los detalles operativos generales de la creación de redes, el escalado automático (incluso a cero) y el seguimiento de revisiones.
KubeFlow es una herramienta dedicada a hacer que las implementaciones de flujos de trabajo de aprendizaje automático (ML) en Kubernetes sean simples, portátiles y escalables.
Etcd es un almacén distribuido de valores clave que proporciona una forma confiable de almacenar datos a los que debe acceder un sistema distribuido o un grupo de máquinas. Etcd se utiliza como backend para el descubrimiento de servicios y almacena el estado y la configuración del clúster para Kubernetes.
OpenEBS es una herramienta basada en Kubernetes para crear aplicaciones con estado utilizando Container Attached Storage.
Container Storage Interface (CSI) es una API que permite que las plataformas de orquestación de contenedores como Kubernetes se comuniquen sin problemas con los datos almacenados a través de un complemento.
MicroK8s es una herramienta que ofrece la experiencia completa de Kubernetes. En una implementación completamente en contenedores con actualizaciones inalámbricas comprimidas para operaciones ultra confiables. Es compatible con Linux, Windows y MacOS.
Charmed Kubernetes es una plataforma de Kubernetes compatible, llave en mano y bien integrada, optimizada para sus entornos de múltiples nubes desarrollada por Canonical.
La aplicación Grafana Kubernetes es un peaje que le permite monitorear el rendimiento de su clúster de Kubernetes. Incluye 4 paneles: clúster, nodo, pod/contenedor e implementación. Permite la implementación automática de los exportadores de Prometheus necesarios y una configuración de extracción predeterminada para usar con la implementación de Prometheus en el clúster.
KubeEdge es un sistema de código abierto para extender las capacidades nativas de orquestación de aplicaciones en contenedores a hosts en Edge. Está construido sobre Kubernetes y proporciona soporte de infraestructura fundamental para redes y aplicaciones. implementación y sincronización de metadatos entre la nube y el borde.
Lens es el IDE más potente para las personas que necesitan lidiar con clústeres de Kubernetes a diario. Tiene soporte para los sistemas operativos MacOS, Windows y Linux.
Flux CD es una herramienta que garantiza automáticamente que el estado de su clúster de Kubernetes coincida con la configuración que proporcionó en Git. Utiliza un operador en el clúster para desencadenar implementaciones dentro de Kubernetes, lo que significa que no necesita una herramienta de entrega continua independiente.
Platform9 Managed Kubernetes (PMK) es un Kubernetes como servicio que garantiza operaciones del día 2 totalmente automatizadas con un SLA del 99,9 % en cualquier entorno, ya sea en centros de datos, nubes públicas o en el borde.
Volver a la cima
Guía de desarrollo de Mac Ansible por Jeff Geerling
Ansible es un motor de automatización de TI simple que automatiza el aprovisionamiento de la nube, la gestión de la configuración, la implementación de aplicaciones, la orquestación dentro de los servicios y muchas otras necesidades de TI. Utiliza un lenguaje muy simple (YAML, en forma de Ansible Playbooks) que le permite describir sus trabajos de automatización de una manera que se aproxima al inglés simple. Anisble funciona en Linux (Red Hat EnterPrise Linux (RHEL) y Ubuntu) y Microsoft Windows.
Entrenamiento de Red Hat para Ansible
Los mejores cursos de Ansible en línea de Udemy
Introducción a Ansible: los fundamentos de Coursera
Aprendizaje de los fundamentos de Ansible en Pluralsight
Presentamos la plataforma de automatización Red Hat Ansible 2.1
Documentación ansible
Guía del usuario de Ansible Galaxy
Casos de uso de Ansible
Integraciones ansibles
Descripción general de las colecciones de Ansible
Trabajar con manuales
Ejemplos de Ansible para DevOps por Jeff Geerling
Primeros pasos: escribir su primer libro de estrategias - Ansible
Trabajar con módulos en Ansible
Mejores prácticas de Ansible: funciones y módulos
Trabajar con herramientas de línea de comandos para Ansible
Cifrar contenido con Ansible Vault
Usando Vault en libros de jugadas con Ansible
Usando Ansible con Azure
Configuración de Ansible en una máquina virtual de Azure
Cómo utilizar Ansible: una guía de hojas de referencia de Ansible de DigitalOcean
Introducción a Ansible en Linode | Laboratorios espaciales
Ansible Automation Hub es la ubicación oficial para descubrir y descargar colecciones compatibles, incluidas como parte de una suscripción de plataforma de automatización Ansible. Estas colecciones de contenido contienen módulos, complementos, roles y libros de jugadas en un paquete descargable.
Las colecciones son un formato de distribución para contenido ansible que puede incluir libros de jugadas, roles, módulos y complementos. A medida que los módulos se mueven del repositorio ansible de núcleo a las colecciones, la documentación del módulo se moverá a las páginas de colecciones.
Ansible Lint es una herramienta de línea de comandos para pelucos de jugadores, roles y colecciones dirigidas a cualquier usuario de Ansible. Su objetivo principal es promover prácticas, patrones y comportamientos probados, al tiempo que evita las dificultades comunes que pueden conducir fácilmente a errores o dificultar el código de mantener.
Ansible CMDB es una herramienta que toma la salida de la recopilación de hechos de Ansible y la convierte en una página de descripción general HTML estática que contiene información de configuración del sistema.
Ansible Inventory Grapher muestra visualmente las jerarquías de herencia de inventario y en qué nivel se define una variable en el inventario.
Ansible Playbook Grapher es una herramienta de línea de comandos para crear un gráfico que represente sus tareas y roles de libro de jugadas Ansible.
Ansible Shell es una carcasa interactiva para Ansible con la finalización de la pestaña incorporada para todos los módulos.
Ansible Silo es un entorno de Ansible autónomo de Docker.
Ansigenome es una herramienta de línea de comandos diseñada para ayudarlo a administrar sus roles de Ansible.
Ara es un libro de jugadas de Ansible de registros y hace que los datos grabados estén disponibles e intuitivos para usuarios y sistemas integrándose con Ansible como complemento de devolución de llamada.
Capistrano es una herramienta de automatización de servidores remotos. Admite la secuencia de comandos y la ejecución de tareas arbitrarias, e incluye un conjunto de flujos de trabajo de implementación de defecto sano.
La tela es una biblioteca de Python de alto nivel (2.7, 3.4+) diseñada para ejecutar comandos de shell de forma remota sobre SSH, produciendo objetos útiles de Python a cambio. Se basa en la parte superior de Invoke (ejecución de comandos de subprocesos y características de línea de comandos) y Paramiko (implementación del protocolo SSH), extendiendo sus API para complementarse entre sí y proporcionar funcionalidad adicional.
Ansible-Rol-WireGuard es un papel Ansible para instalar WireGuard VPN. Apoya a Ubuntu, Debian, Archlinx, Fedora y Centos Stream.
WireGuard_cloud_gateway es un papel ansible para configurar WireGuard como un servidor VPN de puerta de enlace para redes en la nube.
Red Hat OpenShift se centra en la seguridad en todos los niveles de la pila de contenedores y durante todo el ciclo de vida de la aplicación. Incluye soporte empresarial a largo plazo de uno de los principales colaboradores de Kubernetes y compañías de software de código abierto.
OpenShift Hive es un operador que se ejecuta como un servicio sobre Kubernetes/OpenShift. El servicio de colmena se puede utilizar para aprovisionar y realizar la configuración inicial de OpenShift 4 Clusters.
Volver a la cima
SQL es un lenguaje estándar para almacenar, manipular y recuperar datos en bases de datos relacionales.
NoSQL es una base de datos que se conoce indistintamente como "no relacional o" no SQL "para resaltar que la base de datos puede manejar enormes volúmenes de datos de cambio rápidos y no estructurados de diferentes maneras que una base de datos relacional (basada en SQL) con filas y tablas .
Transact-SQL (T-SQL) es una extensión de Microsoft de SQL con todas las herramientas y aplicaciones que se comunican a una base de datos SQL enviando comandos T-SQL.
Introducción a Transact-SQL
Tutorial SQL por W3Schools
Aprenda habilidades de SQL en línea desde Coursera
Cursos SQL en línea desde Udemy
Cursos de capacitación en línea SQL de LinkedIn Learning
Aprenda SQL gratis de CodeCademy
Guía de estilo SQL de Gitlab
ORACLEDB BASICS DE GUÍA DE ESTILO
Tableau CRM: software y herramientas de BI
Bases de datos en AWS
Las mejores prácticas y recomendaciones para la agrupación de servidores SQL en AWS EC2.
Conectando desde Google Kubernetes Engine a una instancia de Cloud SQL.
Recursos educativos de Microsoft Azure SQL
Certificaciones MySQL
Bases de datos SQL vs. NoSQL: ¿Cuál es la diferencia?
¿Qué es NoSQL?
NetData es monitoreo y resolución de problemas de infraestructura de alta fidelidad, el agente de monitoreo en tiempo real recopila miles de métricas de sistemas, hardware, contenedores y aplicaciones con configuración cero. Se ejecuta permanentemente en todos sus servidores físicos/virtuales, contenedores, implementaciones de nubes y dispositivos EDGE/IoT, y es perfectamente seguro instalar en sus sistemas a mitad de inversión sin ninguna preparación.
Azure Data Studio es una herramienta de administración de datos de código abierto que permite trabajar con SQL Server, Azure SQL DB y SQL DW de Windows, MacOS y Linux.
Rstudio es un entorno de desarrollo integrado para R y Python, con una consola, un editor de iluminación de sintaxis que admite la ejecución de código directo y herramientas para trazar, historia, depuración y gestión del espacio de trabajo.
MySQL es un servicio de base de datos totalmente administrado para implementar aplicaciones nativas de nube utilizando la base de datos de código abierto más popular del mundo.
PostgreSQL es un poderoso sistema de base de datos relacionado con objetos de código abierto con más de 30 años de desarrollo activo que le ha ganado una sólida reputación de confiabilidad, robustez y rendimiento.
Amazon DynamoDB es una base de datos de valor clave y documentos que ofrece un rendimiento de milisegundos de un solo dígito a cualquier escala. Es una base de datos duradera totalmente administrada, multimaster y duradera con seguridad incorporada, copia de seguridad y restauración, y almacenamiento en caché en memoria para aplicaciones a escala de Internet.
Apache Cassandra ™ es una base de datos distribuida de código abierto que confía en miles de compañías por escalabilidad y alta disponibilidad sin comprometer el rendimiento. Cassandra proporciona escalabilidad lineal y tolerancia a fallas comprobada en el hardware de productos básicos o la infraestructura en la nube lo convierten en la plataforma perfecta para los datos críticos de la misión.
Apache HBase ™ es un almacén de big data de código abierto, NoSQL. Permite acceso aleatorio, estrictamente consistente y en tiempo real a petabytes de datos. HBase es muy efectivo para manejar conjuntos de datos grandes y escasos. HBase sirve como una entrada y salida directa al marco Apache MapReduce para Hadoop, y funciona con Apache Phoenix para habilitar consultas similares a SQL sobre las tablas HBase.
Hadoop Distributed File System (HDFS) es un sistema de archivos distribuido que maneja grandes conjuntos de datos que se ejecutan en hardware de productos básicos. Se usa para escalar un solo clúster de Apache Hadoop a cientos (e incluso miles) de nodos. HDFS es uno de los principales componentes de Apache Hadoop, los demás son MapReduce e hilo.
Apache Mesos es un administrador de clúster que proporciona un aislamiento de recursos eficiente y compartir en aplicaciones o marcos distribuidos. Puede ejecutar Hadoop, Jenkins, Spark, Aurora y otros marcos en un grupo de nodos compartidos dinámicamente.
Apache Spark es un motor de análisis unificado para el procesamiento de big data, con módulos incorporados para transmisión, SQL, aprendizaje automático y procesamiento de gráficos.
Elasticsearch es un motor de búsqueda basado en la Biblioteca Lucene. Proporciona un motor de búsqueda de texto completo distribuido y con capacidad multititantán con una interfaz web HTTP y documentos JSON sin esquema. Elasticsearch se desarrolla en Java.
Logstash es una herramienta para administrar eventos y registros. Cuando se usa genéricamente, el término abarca un sistema más grande de actividades de recopilación, procesamiento, almacenamiento y búsqueda de registros de registros.
Kibana es un complemento de visualización de datos de código abierto para Elasticsearch. Proporciona capacidades de visualización además del contenido indexado en un clúster Elasticsearch. Los usuarios pueden crear barra,