A primeira coisa é extrair a imagem ESPHome Docker do Docker Hub (Online).
docker pull esphome/esphome
Em seguida, inicie o assistente ESPHome. Este assistente perguntará sobre o tipo de dispositivo, o nome do dispositivo, suas credenciais WiFi e, finalmente, gerará um arquivo yaml contendo todas as configurações para você.
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
Voltar ao topo
OpenWrt Project é um sistema operacional Linux voltado para dispositivos embarcados. Em vez de tentar criar um firmware único e estático, o OpenWrt fornece um sistema de arquivos totalmente gravável com gerenciamento de pacotes. É usado principalmente em dispositivos incorporados para rotear o tráfego de rede.
Baixe a imagem OpenWrt apropriada para o seu Raspberry PI acessando o link acima.
Raspberry Pi Imager é a maneira rápida e fácil de instalar o Raspberry Pi OS e outros sistemas operacionais em um cartão microSD, pronto para uso com seu Raspberry Pi.
Raspberry Pi Router Board para módulo CM4 (Custo: $ 55 USD) é uma placa de expansão baseada no Raspberry Pi Compute Module 4. Ela traz ao Raspberry Pi CM4 duas portas de rede gigabit de velocidade total e oferece melhor desempenho, menor uso de CPU e maior estabilidade funciona por muito tempo em comparação com uma placa de rede USB. É compatível com Raspberry Pi OS, Ubuntu Server e outros sistemas Raspberry Pi.
Placa roteador Raspberry Pi para módulo CM4
Especificações técnicas:
Voltar ao topo
Watchdog Timer (WDT) é um temporizador que monitora programas de microcontroladores (MCU) para ver se eles estão fora de controle ou pararam de operar.
Para habilitar o watchdog você deve alterar os parâmetros de inicialização adicionando dtparam=watchdog=on em /boot/config.txt usando um editor de texto como nano, vim, gedit, etc.. Além disso, instale o pacote watchdog e habilite-o para iniciar em comece. Além disso, certifique-se de reiniciar o Raspberry Pi para que essas configurações tenham efeito.
pi@raspberrypi:~ $ sudo apt install watchdog
pi@raspberrypi:~ $sudo systemctl enable watchdog
O arquivo de configuração do watchdog pode ser encontrado em /etc/watchdog.conf .
max-load-1 = 24
watchdog-device = /dev/watchdog
realtime = yes
priority = 1
Para iniciar o serviço WTD:
pi@raspberrypi:~ $ sudo systemctl start watchdog
Verifique o status do watchdog:
pi@raspberrypi:~ $ sudo systemctl status watchdog
Para interromper o serviço:
pi@raspberrypi:~ $ sudo systemctl stop watchdog
Voltar ao topo
Estojos Raspberry Pi da Pi-Shop EUA
Estojos Raspberry Pi da The Pi Hut
A placa de expansão X825 fornece uma solução de armazenamento completa para o mais novo Raspberry Pi 4 Modelo B, suporta unidades de disco rígido (HDD) / unidade de estado sólido (SSD) SATA de até 4 TB de 2,5 polegadas.
Sabrent M.2 SSD [NGFF] para USB 3.0 / SATA III Adaptador de gabinete de alumínio de 2,5 polegadas
SSD Samsung 970 EVO 250 GB - NVMe PCIe M.2 2280
SSD interno Western Digital 1 TB WD Blue SN550 NVMe
SSD portátil SAMSUNG T5
SSD interno Samsung 860 EVO 250 GB mSATA
Samsung 850 EVO 120GB SSD mSATA
Voltar ao topo
Grafana é uma plataforma analítica que permite consultar e visualizar dados e, em seguida, criar e compartilhar painéis com base em suas visualizações. Visualize facilmente métricas, logs e rastreamentos de diversas fontes, como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres, Fluentd, Fluentbit, Logstash e muito mais.
Primeiros passos com Grafana
Comunidade Grafana
Treinamento em Serviços Profissionais Grafana | Laboratórios Grafana
Treinamento Grafana Pro AWS | Laboratórios Grafana
Tutoriais Grafana
Principais cursos Grafana na Udemy
Cursos de treinamento on-line Grafana | Aprendizagem no LinkedIn
Cursos de treinamento Grafana - NobleProg
Configurando o Grafana para visualizar nosso curso de métricas no Coursera
Grafana Cloud é uma plataforma de observabilidade combinável, integrando métricas, rastreamentos e logs com Grafana. Aproveite o melhor software de observabilidade de código aberto – incluindo Prometheus, Loki e Tempo – sem a sobrecarga de instalação, manutenção e dimensionamento de sua pilha de observabilidade.
Integrações Grafana Cloud. Fonte: Grafana
Grafana Enterprise é um serviço que inclui recursos que proporcionam melhor escalabilidade, colaboração, operações e governança em um ambiente autogerenciado.
Pilha Empresarial Grafana. Fonte: Grafana
Grafana Tempo é um back-end de tarcing distribuído de alta escala e código aberto. O Tempo é econômico, exigindo apenas armazenamento de objetos para operar, e está profundamente integrado com Grafana, Loki e Prometheus.
Grafana MetricTank é uma plataforma de série temporal multilocatário para Graphite desenvolvida pela Grafana Labs. O MetricTank fornece alta disponibilidade (HA) e armazenamento, recuperação e processamento eficientes de longo prazo para ambientes de grande escala.
Grafana Tanka é um utilitário de configuração robusto para seu cluster Kubernetes, desenvolvido com a linguagem Jsonnet.
Grafana Loki é um sistema de agregação de log multilocatário, escalonável horizontalmente e altamente disponível (HA), inspirado no Prometheus.
Cortex é um projeto que permite aos usuários consultar métricas de vários servidores Prometheus em um único local, sem lacunas nos grpahs devido a falhas no servidor. Além disso, o Cortex permite armazenar métricas do Prometheus para planejamento de capacidade de longo prazo e análise de desempenho.
Graphite é um sistema de monitoramento de código aberto.
Voltar ao topo
cURL é um projeto de software de computador que fornece uma biblioteca e ferramenta de linha de comando para transferência de dados usando vários protocolos de rede (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP LDAPS, MQTT, POP3, POP3S, RTMP , RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP ou SMTPS). cURL também é usado em carros, aparelhos de televisão, roteadores, impressoras, equipamentos de áudio, telefones celulares, tablets, decodificadores, reprodutores de mídia e é o mecanismo de transferência de Internet para milhares de aplicativos de software em mais de dez bilhões de instalações.
cURL Fuzzer é um teste de garantia de qualidade para o projeto curl.
DoH é um aplicativo independente para resoluções e pesquisas de nomes DoH (DNS sobre HTTPS).
Authelia é um servidor de autenticação de código aberto altamente disponível que fornece capacidade de logon único e autenticação de dois fatores para aplicativos executados por trás do NGINX.
nginx(engine x) é um servidor HTTP e proxy reverso, um servidor proxy de correio e um servidor proxy TCP/UDP genérico, originalmente escrito por Igor Sysoev.
Proxmox Virtual Environment (VE) é uma plataforma completa de código aberto para virtualização empresarial. Ele inclui uma interface da web integrada que permite gerenciar facilmente VMs e contêineres, armazenamento e rede definidos por software, clustering de alta disponibilidade e várias ferramentas prontas para uso em uma única solução.
Wireshark é um analisador de protocolo de rede muito popular, comumente usado para solução de problemas de rede, análise e desenvolvimento de protocolo de comunicação. Saiba mais sobre outras ferramentas úteis do Wireshark disponíveis.
HTTPie é um cliente HTTP de linha de comando. Seu objetivo é tornar a interação CLI com serviços da web o mais amigável possível. HTTPie foi projetado para teste, depuração e interação geral com APIs e servidores HTTP.
HTTPStat é uma ferramenta que visualiza estatísticas curl em um layout simples.
Wuzz é uma ferramenta CLI interativa para inspeção HTTP. Ele pode ser usado para inspecionar/modificar solicitações copiadas do inspetor de rede do navegador com o recurso "copiar como cURL".
Websocat é um cliente de linha de comando para WebSockets, como netcat (ou curl) para ws:// com funções avançadas semelhantes 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.
Os pacotes têm uma parte de cabeçalho que contém informações sobre o pacote, incluindo origem e destino, carimbos de data e hora e saltos de rede. A parte principal de um pacote contém os dados reais que estão sendo transferidos. Às vezes é chamado de corpo ou 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.
Uma interface de rede pode estar associada a um dispositivo físico ou pode ser uma representação de uma interface virtual. O dispositivo “loop-back”, que é uma interface virtual para a máquina local, é um exemplo disso.
• 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.
Se uma interface estiver conectada à WAN, geralmente presume-se que ela pode ser acessada pela 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.
Alguns protocolos de baixo nível são TCP, UDP, IP e ICMP. Alguns exemplos familiares de protocolos da camada de aplicação, construídos sobre esses protocolos inferiores, são HTTP (para acessar conteúdo da web), SSH, TLS/SSL e 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).
O modelo TCP/IP, mais comumente conhecido como conjunto de protocolos da Internet, é outro modelo de camadas mais simples e amplamente adotado. Ele define as quatro camadas separadas, algumas das quais se sobrepõem ao 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.
A comunicação ocorre entre pares de rede.
• 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.
Interfaces são pontos de comunicação de rede para o seu computador. Cada interface está associada a um dispositivo de rede físico ou virtual. Normalmente, seu servidor terá uma interface de rede configurável para cada placa Ethernet ou de Internet sem fio que você possui. Além disso, definirá uma interface de rede virtual chamada "loopback" ou interface localhost. Isso é usado como uma interface para conectar aplicativos e processos em um único computador a outros aplicativos e processos. Você pode ver isso referenciado como interface "lo" em muitas ferramentas.
A rede funciona pegando carona em vários protocolos diferentes, uns sobre os outros. Dessa forma, um dado pode ser transmitido usando vários protocolos encapsulados uns nos outros.
Media Access Control (MAC) é um protocolo de comunicação usado para distinguir dispositivos específicos. Cada dispositivo deve obter um endereço MAC exclusivo durante o processo de fabricação que o diferencia de todos os outros dispositivos na Internet. O endereçamento do hardware pelo endereço MAC permite referenciar um dispositivo por um valor exclusivo, mesmo quando o software na parte superior pode alterar o nome desse dispositivo específico durante a operação. O controle de acesso à mídia é um dos únicos protocolos da camada de enlace com o qual você provavelmente interagirá regularmente.
O protocolo IP é um dos protocolos fundamentais que permitem o funcionamento da Internet. Os endereços IP são únicos em cada rede e permitem que as máquinas se enderecem entre si através de uma rede. É implementado na camada internet no modelo IP/TCP. As redes podem ser interligadas, mas o tráfego deve ser roteado ao cruzar os limites da rede. Este protocolo assume uma rede não confiável e vários caminhos para o mesmo destino, entre os quais pode alternar dinamicamente. Existem várias implementações diferentes do protocolo. A implementação mais comum hoje é o IPv4, embora o IPv6 esteja crescendo em popularidade como alternativa devido à escassez de endereços IPv4 disponíveis e às melhorias nas capacidades do protocolo.
ICMP: protocolo de mensagens de controle da Internet é usado para enviar mensagens entre dispositivos para indicar disponibilidade ou condições de erro. Esses pacotes são usados em diversas ferramentas de diagnóstico de rede, como ping e traceroute. Normalmente, os pacotes ICMP são transmitidos quando um pacote de tipo diferente encontra algum tipo de problema. Basicamente, eles são usados como mecanismo de feedback para comunicações em rede.
TCP: O protocolo de controle de transmissão é implementado na camada de transporte do modelo IP/TCP e é usado para estabelecer conexões confiáveis. TCP é um dos protocolos que encapsula dados em pacotes. Em seguida, ele os transfere para a extremidade remota da conexão usando os métodos disponíveis nas camadas inferiores. Por outro lado, ele pode verificar se há erros, solicitar o reenvio de certas peças e remontar as informações em uma peça lógica para enviar à camada de aplicação. O protocolo cria uma conexão antes da transferência de dados usando um sistema chamado handshake de três vias. Esta é uma forma de as duas extremidades da comunicação reconhecerem a solicitação e chegarem a um acordo sobre um método para garantir a confiabilidade dos dados. Após o envio dos dados, a conexão é interrompida usando um handshake de quatro vias semelhante. TCP é o protocolo preferido para muitos dos usos mais populares da Internet, incluindo WWW, FTP, SSH e e-mail. É seguro dizer que a Internet que conhecemos hoje não existiria sem o TCP.
UDP: O protocolo de datagrama do usuário é um protocolo complementar popular ao TCP e também é implementado na camada de transporte. A diferença fundamental entre UDP e TCP é que o UDP oferece transferência de dados não confiável. Ele não verifica se os dados foram recebidos na outra extremidade da conexão. Isso pode parecer ruim e, para muitos propósitos, é. No entanto, também é extremamente importante para algumas funções. Não é necessário esperar pela confirmação de que os dados foram recebidos e forçado a reenviar os dados, o UDP é muito mais rápido que o TCP. Ele não estabelece uma conexão com o host remoto, simplesmente envia os dados para esse host e não se importa se são aceitos ou não. Como o UDP é uma transação simples, é útil para comunicações simples, como consultar recursos de rede. Ele também não mantém um estado, o que o torna excelente para transmitir dados de uma máquina para vários clientes em tempo real. Isso o torna ideal para VOIP, jogos e outros aplicativos que não podem sofrer atrasos.
HTTP: O protocolo de transferência de hipertexto é um protocolo definido na camada de aplicação que forma a base para a comunicação na web. HTTP define uma série de funções que informam ao sistema remoto o que você está solicitando. Por exemplo, GET, POST e DELETE interagem com os dados solicitados de maneira diferente.
FTP: O protocolo de transferência de arquivos está na camada de aplicação e fornece uma maneira de transferir arquivos completos de um host para outro. É inerentemente inseguro, por isso não é recomendado para nenhuma rede externa, a menos que seja implementado como um recurso público somente para download.
DNS: O sistema de nomes de domínio é um protocolo de camada de aplicação usado para fornecer um mecanismo de nomenclatura amigável para recursos da Internet. É o que vincula um nome de domínio a um endereço IP e permite acessar sites pelo nome em seu navegador.
SSH: Secure Shell é um protocolo criptografado implementado na camada de aplicação que pode ser usado para se comunicar com um servidor remoto de forma segura. Muitas tecnologias adicionais são construídas em torno deste protocolo devido à sua criptografia ponta a ponta e onipresença. Existem muitos outros protocolos que não abordamos e que são igualmente importantes. No entanto, isso deve lhe dar uma boa visão geral de algumas das tecnologias fundamentais que tornam a Internet e as redes possíveis.
REST (REpresentational State Transfer) é um estilo de arquitetura para fornecer padrões entre sistemas de computador na web, facilitando a comunicação entre sistemas.
JSON Web Token (JWT) é um meio compacto e seguro para URL de representar reivindicações a serem transferidas entre duas partes. As declarações em um JWT são codificadas como um objeto JSON assinado digitalmente usando JSON Web Signature (JWS).
OAuth 2.0 é uma estrutura de autorização de código aberto que permite que aplicativos obtenham acesso limitado a contas de usuários em um serviço HTTP, como Amazon, Google, Facebook, Microsoft, Twitter GitHub e DigitalOcean. Ele funciona delegando a autenticação do usuário ao serviço que hospeda a conta do usuário e autorizando aplicativos de terceiros a acessar a conta do usuário.
Voltar ao topo
Arquitetura de contêineres. Fonte: Containerd.io
Programa de treinamento Docker
Certificação Docker Certified Associate (DCA)
Documentação do Docker | Documentação do Docker
Oficina Docker
Cursos Docker na Udemy
Cursos Docker no Coursera
Cursos Docker no edX
Cursos Docker sobre Linkedin Learning
Docker é uma plataforma aberta para desenvolvimento, envio e execução de aplicativos. O Docker permite separar seus aplicativos de sua infraestrutura para que você possa fornecer software rapidamente trabalhando em colaboração com fornecedores de nuvem, Linux e Windows, incluindo a Microsoft.
Docker Enterprise é uma assinatura que inclui software, plataforma de contêiner suportada e certificada para CentOS, Red Hat Enterprise Linux (RHEL), Ubuntu, SUSE Linux Enterprise Server (SLES), Oracle Linux e Windows Server 2016, bem como para provedores de nuvem AWS e Azul. Em novembro de 2019, o negócio de plataforma empresarial da Docker foi adquirido pela Mirantis.
Docker Desktop é um aplicativo para máquinas MacOS e Windows para a construção e compartilhamento de aplicativos e microsserviços em contêineres. O Docker Desktop oferece a velocidade, as opções e a segurança que você precisa para projetar e entregar aplicativos em contêineres em seu desktop. Docker Desktop inclui Docker App, ferramentas de desenvolvedor, Kubernetes e sincronização de versão para Docker Engines de produção.
Docker Hub é a maior biblioteca e comunidade do mundo para imagens de contêineres. Navegue por mais de 100.000 imagens de contêineres de fornecedores de software, projetos de código aberto e da comunidade.
Docker Compose é uma ferramenta desenvolvida para ajudar a definir e compartilhar aplicações multi-container. Com o Docker Compose, você pode criar um arquivo YAML para definir os serviços e, com um único comando, pode aumentar ou diminuir tudo.
Docker Swarm é um sistema de cluster nativo do Docker. O swarm é uma ferramenta simples que controla um cluster de hosts Docker e o expõe como um único host "virtual".
Dockerfile é um documento de texto que contém todos os comandos que um usuário pode chamar na linha de comando para montar uma imagem. Usando docker build, os usuários podem criar uma compilação automatizada que executa várias instruções de linha de comando em sucessão.
Docker Containers é uma unidade padrão de software que empacota o código e todas as suas dependências para que o aplicativo seja executado de forma rápida e confiável de um ambiente de computação para outro.
Docker Engine é um tempo de execução de contêiner executado em vários sistemas operacionais Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE e Ubuntu) e Windows Server. O Docker cria ferramentas simples e uma abordagem de empacotamento universal que agrupa todas as dependências do aplicativo dentro de um contêiner que é então executado no Docker Engine.
Docker Images é um pacote de software leve, independente e executável que inclui tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema, bibliotecas e configurações do sistema. As imagens têm camadas intermediárias que aumentam a capacidade de reutilização, diminuem o uso do disco e aceleram a construção do docker, permitindo que cada etapa seja armazenada em cache. Estas camadas intermediárias não são mostradas por padrão. O SIZE é o espaço cumulativo ocupado pela imagem e todas as suas imagens pai.
Docker Network é uma rede que exibe informações detalhadas sobre uma ou mais redes.
Docker Daemon é um serviço iniciado por um utilitário do sistema, não manualmente por um usuário. Isso torna mais fácil iniciar automaticamente o Docker quando a máquina for reinicializada. O comando para iniciar o Docker depende do seu sistema operacional. Atualmente, ele funciona apenas no Linux porque depende de vários recursos do kernel do Linux, mas existem algumas maneiras de executar o Docker no MacOS e no Windows, configurando os utilitários do sistema operacional.
Docker Storage é um driver que controla como imagens e contêineres são armazenados e gerenciados em seu host Docker.
Kitematic é um aplicativo simples para gerenciar contêineres Docker no Mac, Linux e Windows, permitindo controlar os contêineres de seus aplicativos a partir de uma interface gráfica de usuário (GUI).
A Open Container Initiative é uma estrutura de governança aberta com o propósito expresso de criar padrões abertos da indústria em torno de formatos e tempos de execução de contêineres.
Buildah é uma ferramenta de linha de comando para construir imagens da Open Container Initiative (OCI). Pode ser usado com Docker, Podman, Kubernetes.
Podman é uma ferramenta nativa do Linux, de código aberto e sem daemon, projetada para facilitar a localização, execução, construção, compartilhamento e implantação de aplicativos usando contêineres e imagens de contêiner da Open Containers Initiative (OCI). Podman fornece uma interface de linha de comando (CLI) familiar para qualquer pessoa que tenha usado o Docker Container Engine.
Containerd é um daemon que gerencia o ciclo de vida completo do contêiner de seu sistema host, desde a transferência e armazenamento de imagens até a execução e supervisão do contêiner, armazenamento de baixo nível, anexos de rede e muito mais. Está disponível para Linux e Windows.
Voltar ao topo
Kubernetes (K8s) é um sistema de código aberto para automatizar a implantação, o escalonamento e o gerenciamento de aplicativos em contêineres.
Obtendo certificações Kubernetes
Primeiros passos com Kubernetes na AWS
Kubernetes no Microsoft Azure
Introdução ao serviço Azure Kubernetes
Red Hat OpenShift do Azure
Primeiros passos com o Google Cloud
Primeiros passos com Kubernetes no Red Hat
Introdução ao Kubernetes na IBM
Red Hat OpenShift na nuvem IBM
Habilite a virtualização OpenShift no Red Hat OpenShift
Noções básicas de YAML no Kubernetes
Nuvem elástica no Kubernetes
Docker e Kubernetes
Executando Apache Spark no Kubernetes
Kubernetes no VMware vRealize Automation
Grade VMware Tanzu Kubernetes
Todas as maneiras pelas quais o VMware Tanzu funciona com a AWS
VMware Tanzu Educação
Usando Ansible em um ambiente Kubernetes nativo da nuvem
Gerenciando objetos Kubernetes (K8s) com Ansible
Configurando um cluster Kubernetes usando Vagrant e Ansible
Executando MongoDB com Kubernetes
Kubernetes Fluente
Compreendendo o novo agente GitLab Kubernetes
Introdução ao processo local com Kubernetes para Visual Studio 2019
Colaboradores do Kubernetes
KubeAcademy da VMware
Tutoriais Kubernetes de Pulumi
Parque Kubernetes por Katacoda
Curso de microsserviços escaláveis com Kubernetes da Udacity
A Open Container Initiative é uma estrutura de governança aberta com o propósito expresso de criar padrões abertos da indústria em torno de formatos e tempos de execução de contêineres.
Buildah é uma ferramenta de linha de comando para construir imagens da Open Container Initiative (OCI). Pode ser usado com Docker, Podman, Kubernetes.
Podman é uma ferramenta nativa do Linux, de código aberto e sem daemon, projetada para facilitar a localização, execução, construção, compartilhamento e implantação de aplicativos usando contêineres e imagens de contêiner da Open Containers Initiative (OCI). Podman fornece uma interface de linha de comando (CLI) familiar para qualquer pessoa que tenha usado o Docker Container Engine.
Containerd é um daemon que gerencia o ciclo de vida completo do contêiner de seu sistema host, desde a transferência e armazenamento de imagens até a execução e supervisão do contêiner, armazenamento de baixo nível, anexos de rede e muito mais. Está disponível para Linux e Windows.
O Google Kubernetes Engine (GKE) é um ambiente gerenciado e pronto para produção para executar aplicativos em contêineres.
O Azure Kubernetes Service (AKS) é um Kubernetes sem servidor, com uma experiência integrada de integração contínua e entrega contínua (CI/CD), além de segurança e governança de nível empresarial. Reúna suas equipes de desenvolvimento e operações em uma única plataforma para criar, entregar e dimensionar aplicativos rapidamente e com confiança.
O Amazon EKS é uma ferramenta que executa instâncias do plano de controle do Kubernetes em várias zonas de disponibilidade para garantir alta disponibilidade.
AWS Controllers for Kubernetes (ACK) é uma nova ferramenta que permite gerenciar diretamente serviços AWS do Kubernetes. O ACK simplifica a criação de aplicativos Kubernetes escalonáveis e altamente disponíveis que utilizam serviços da AWS.
Container Engine for Kubernetes (OKE) é um serviço de orquestração de contêineres gerenciado pela Oracle que pode reduzir o tempo e o custo para construir aplicativos modernos nativos da nuvem. Ao contrário da maioria dos outros fornecedores, o Oracle Cloud Infrastructure fornece o Container Engine for Kubernetes como um serviço gratuito executado em computação de maior desempenho e menor custo.
O Anthos é uma plataforma moderna de gerenciamento de aplicativos que oferece uma experiência consistente de desenvolvimento e operações para ambientes locais e na nuvem.
O Red Hat Openshift é uma plataforma Kubernetes totalmente gerenciada que fornece uma base para implantações locais, híbridas e multicloud.
OKD é uma distribuição comunitária de Kubernetes otimizada para desenvolvimento contínuo de aplicativos e implantação multilocatário. OKD adiciona ferramentas centradas no desenvolvedor e nas operações ao Kubernetes para permitir o rápido desenvolvimento de aplicativos, fácil implantação e escalonamento e manutenção do ciclo de vida de longo prazo para equipes pequenas e grandes.
Odo é uma ferramenta CLI rápida, iterativa e direta para desenvolvedores que escrevem, constroem e implantam aplicativos em Kubernetes e OpenShift.
Kata Operator é um operador para realizar o gerenciamento do ciclo de vida (instalação/atualização/desinstalação) do Kata Runtime no Openshift, bem como do cluster Kubernetes.
Thanos é um conjunto de componentes que podem ser compostos em um sistema métrico altamente disponível com capacidade de armazenamento ilimitada, que pode ser adicionado perfeitamente às implantações existentes do Prometheus.
OpenShift Hive é um operador que funciona como um serviço sobre Kubernetes/OpenShift. O serviço Hive pode ser usado para provisionar e executar a configuração inicial de clusters OpenShift 4.
Rook é uma ferramenta que transforma sistemas de armazenamento distribuído em serviços de armazenamento autogerenciados, autoescaláveis e autocorretivos. Ele automatiza as tarefas de um administrador de armazenamento: implantação, inicialização, configuração, provisionamento, dimensionamento, atualização, migração, recuperação de desastres, monitoramento e gerenciamento de recursos.
VMware Tanzu é uma plataforma de gerenciamento centralizado para operar e proteger de forma consistente sua infraestrutura Kubernetes e aplicativos modernos em várias equipes e nuvens públicas/privadas.
Kubespray é uma ferramenta que combina Kubernetes e Ansible para instalar facilmente clusters Kubernetes que podem ser implantados em AWS, GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental) ou Baremetal.
KubeInit fornece manuais e funções do Ansible para a implantação e configuração de várias distribuições do Kubernetes.
Rancher é uma pilha de software completa para equipes que adotam contêineres. Ele aborda os desafios operacionais e de segurança do gerenciamento de vários clusters Kubernetes, ao mesmo tempo que fornece às equipes de DevOps ferramentas integradas para executar cargas de trabalho em contêineres.
K3s é uma distribuição Kubernetes certificada e altamente disponível, projetada para cargas de trabalho de produção em locais remotos autônomos e com recursos limitados ou dentro de dispositivos IoT.
Helm é uma ferramenta de gerenciamento de pacotes Kubernetes que facilita a instalação e o gerenciamento de aplicativos Kubernetes.
Knative é uma plataforma baseada em Kubernetes para construir, implantar e gerenciar cargas de trabalho modernas sem servidor. O Knative cuida dos detalhes operacionais de rede, escalonamento automático (até zero) e rastreamento de revisão.
KubeFlow é uma ferramenta dedicada a tornar as implantações de fluxos de trabalho de aprendizado de máquina (ML) no Kubernetes simples, portáteis e escalonáveis.
Etcd é um armazenamento distribuído de chave-valor que fornece uma maneira confiável de armazenar dados que precisam ser acessados por um sistema distribuído ou cluster de máquinas. Etcd é usado como back-end para descoberta de serviço e armazena o estado e a configuração do cluster para Kubernetes.
OpenEBS é uma ferramenta baseada em Kubernetes para criar aplicativos com estado usando Container Attached Storage.
Container Storage Interface (CSI) é uma API que permite que plataformas de orquestração de contêineres como o Kubernetes se comuniquem perfeitamente com os dados armazenados por meio de um plug-in.
MicroK8s é uma ferramenta que oferece a experiência completa do Kubernetes. Em uma implantação totalmente em contêineres com atualizações over-the-air compactadas para operações ultraconfiáveis. É compatível com Linux, Windows e MacOS.
Charmed Kubernetes é uma plataforma Kubernetes bem integrada, pronta para uso e em conformidade, otimizada para seus ambientes multinuvem desenvolvidos pela Canonical.
Grafana Kubernetes App é uma ferramenta que permite monitorar o desempenho do seu cluster Kubernetes. Inclui 4 painéis, Cluster, Nó, Pod/Contêiner e Implantação. Ele permite a implantação automática dos exportadores Prometheus necessários e uma configuração de raspagem padrão para usar com sua implantação do Prometheus em cluster.
KubeEdge é um sistema de código aberto para estender recursos nativos de orquestração de aplicativos em contêineres para hosts no Edge. Ele é construído sobre kubernetes e fornece suporte de infraestrutura fundamental para rede e aplicativos. implantação e sincronização de metadados entre nuvem e borda.
Lens é o IDE mais poderoso para pessoas que precisam lidar com clusters Kubernetes diariamente. Possui suporte para sistemas operacionais MacOS, Windows e Linux.
Flux CD é uma ferramenta que garante automaticamente que o estado do seu cluster Kubernetes corresponda à configuração que você forneceu no Git. Ele usa um operador no cluster para acionar implantações dentro do Kubernetes, o que significa que você não precisa de uma ferramenta de entrega contínua separada.
Platform9 Managed Kubernetes (PMK) é um Kubernetes como serviço que garante operações de dia 2 totalmente automatizadas com SLA de 99,9% em qualquer ambiente, seja em data centers, nuvens públicas ou na borda.
Voltar ao topo
Manual de desenvolvimento Ansible para Mac, de Jeff Geerling
Ansible é um mecanismo simples de automação de TI que automatiza o provisionamento de nuvem, o gerenciamento de configuração, a implantação de aplicativos, a orquestração intra-serviço e muitas outras necessidades de TI. Ele usa uma linguagem muito simples (YAML, na forma de Ansible Playbooks) que permite descrever seus trabalhos de automação de uma forma que se aproxima do inglês simples. Anisble funciona em Linux (Red Hat EnterPrise Linux (RHEL) e Ubuntu) e Microsoft Windows.
Treinamento da Red Hat para Ansible
Principais cursos on-line do Ansible da Udemy
Introdução ao Ansible: os fundamentos do Coursera
Aprendendo os fundamentos do Ansible no Pluralsight
Apresentando o Red Hat Ansible Automation Platform 2.1
Documentação Ansible
Guia do usuário do Ansible Galaxy
Casos de uso Ansible
Integrações Ansible
Visão geral das coleções Ansible
Trabalhando com manuais
Exemplos de Ansible para DevOps por Jeff Geerling
Primeiros passos: escrevendo seu primeiro manual - Ansible
Trabalhando com módulos em Ansible
Melhores práticas do Ansible: funções e módulos
Trabalhando com ferramentas de linha de comando para Ansible
Criptografando conteúdo com Ansible Vault
Usando o Vault em playbooks com Ansible
Usando Ansible com Azure
Configurando o Ansible em uma VM do Azure
Como usar o Ansible: um guia de dicas do Ansible da DigitalOcean
Introdução ao Ansible no Linode | Laboratórios Espaciais
O Ansible Automation Hub é o local oficial para descobrir e baixar coleções suportadas, incluídas como parte de uma assinatura da Ansible Automation Platform. Essas coleções de conteúdo contêm módulos, plugins, funções e manuais em um pacote para download.
As coleções são um formato de distribuição para conteúdo Ansible que pode incluir playbooks, funções, módulos e plugins. À medida que os módulos se movem do principal repositório Ansible para as coleções, a documentação do módulo passará para as páginas de coleções.
Ansible Lint é uma ferramenta de linha de comando para manuais de linha, funções e coleções destinadas a qualquer usuário do Ansible. Seu principal objetivo é promover práticas, padrões e comportamentos comprovados, evitando armadilhas comuns que podem facilmente levar a bugs ou dificultar a manutenção do código.
O Ansible CMDB é uma ferramenta que leva a saída da coleta de fatos da Ansible e a converte em uma página de visão geral HTML estática que contém informações de configuração do sistema.
A Ansible Grapher de inventário exibe visualmente hierarquias de herança do inventário e em que nível uma variável é definida no inventário.
O Ansible Playbook Grapher é uma ferramenta de linha de comando para criar um gráfico que representa suas tarefas e funções de manual de manuais Ansible.
A Ansible Shell é um shell interativo para Ansible com a conclusão de guias embutida para todos os módulos.
O Silo Ansible é um ambiente Ansible independente do Docker.
Ansigenome é uma ferramenta de linha de comando projetada para ajudá -lo a gerenciar suas funções Ansible.
O ARA é um manual de registros de registros e disponibiliza os dados gravados e intuitivos para usuários e sistemas, integrando -se com Ansible como um plug -in de retorno de chamada.
Capistrano é uma ferramenta de automação de servidor remoto. Ele suporta o script e a execução de tarefas arbitrárias e inclui um conjunto de fluxos de trabalho de implantação sã de antecedentes.
O Fabric é uma biblioteca de alto nível Python (2.7, 3,4+) projetada para executar comandos de shell remotamente sobre SSH, produzindo objetos úteis em Python em troca. Ele se baseia no topo do Invoke (execução do comando de subprocesso e recursos da linha de comando) e Paramiko (implementação do protocolo SSH), estendendo suas APIs para se complementar e fornecer funcionalidade adicional.
Ansible-wireguard é um papel Ansible para a instalação de Wireguard VPN. Suporta Ubuntu, Debian, Archlinx, Fedora e CentOS Stream.
Wireguard_cloud_gateway é uma função Ansible para configurar o WireGuard como um servidor VPN do gateway para redes em nuvem.
O Red Hat OpenShift está focado na segurança em todos os níveis da pilha de contêineres e durante todo o ciclo de vida do aplicativo. Inclui o suporte corporativo de longo prazo de um dos principais colaboradores da Kubernetes e empresas de software de código aberto.
O OpenShift Hive é um operador que é executado como um serviço no topo do Kubernetes/OpenShift. O serviço Hive pode ser usado para provisão e executar a configuração inicial dos clusters OpenShift 4.
De volta ao topo
O SQL é um idioma padrão para armazenar, manipular e recuperar dados em bancos de dados relacionais.
O NOSQL é um banco de dados que é intercambiável referido como "não relacional, ou" não-SQL "para destacar que o banco de dados pode lidar com enormes volumes de dados não estruturados em rápida mudança de maneira diferente de um banco de dados relacional (baseado em SQL) com linhas e tabelas .
Transact-SQL (T-SQL) é uma extensão da Microsoft do SQL com todas as ferramentas e aplicativos que se comunicam a um banco de dados SQL enviando comandos T-SQL.
Introdução ao Transact-SQL
Tutorial SQL da W3Schools
Aprenda habilidades SQL online com Coursera
Cursos SQL online da Udemy
Cursos de treinamento on -line do SQL do LinkedIn Learning
Aprenda SQL gratuitamente de codecademy
Guia de estilo SQL do Gitlab
Guia de estilo SQL Oracledb Basics
Tableau CRM: software e ferramentas de BI
Bancos de dados na AWS
Melhores práticas e recomendações para o cluster do SQL Server no AWS EC2.
Conectando o mecanismo do Google Kubernetes a uma instância SQL em nuvem.
Recursos educacionais do Microsoft Azure SQL
Certificações MySQL
Banco de dados SQL vs. NoSQL: Qual é a diferença?
O que é NoSQL?
O NetData é o monitoramento de infraestrutura de alta fidelidade e a solução de problemas, o agente de monitoramento em tempo real coleta milhares de métricas de sistemas, hardware, contêineres e aplicativos com configuração zero. Ele é executado permanentemente em todos os seus servidores físicos/virtuais, contêineres, implantações em nuvem e dispositivos Edge/IoT, e é perfeitamente seguro para instalar em seus sistemas no meio do incidente sem qualquer preparação.
O Azure Data Studio é uma ferramenta de gerenciamento de dados de código aberto que permite trabalhar com o SQL Server, o Azure SQL DB e o SQL DW do Windows, MacOS e Linux.
O RSTUDIO é um ambiente de desenvolvimento integrado para R e Python, com um editor de console, síntaxe que suporta execução direta de código e ferramentas para plotagem, história, depuração e gerenciamento de espaço de trabalho.
O MySQL é um serviço de banco de dados totalmente gerenciado para implantar aplicativos nativos em nuvem usando o banco de dados de código aberto mais popular do mundo.
O PostgreSQL é um poderoso sistema de banco de dados de objetos de código aberto, com mais de 30 anos de desenvolvimento ativo que lhe rendeu uma forte reputação de confiabilidade, robustez e desempenho.
O Amazon DynamoDB é um banco de dados de valor-chave e documento que oferece desempenho de milissegundos de um dígito em qualquer escala. É um banco de dados totalmente gerenciado, multirregião, multimaster e durável, com segurança, backup e restauração integrada e cache de memória para aplicativos em escala na Internet.
O Apache Cassandra ™ é um banco de dados distribuído NOSQL de código aberto, confiável por milhares de empresas para escalabilidade e alta disponibilidade sem comprometer o desempenho. O Cassandra fornece escalabilidade linear e tolerância a falhas comprovada no hardware de commodities ou na infraestrutura de nuvem o tornam a plataforma perfeita para dados de missão crítica.
O Apache Hbase ™ é um armazenamento de big data de big data de código aberto, NOSQL. Permite acesso aleatório, estritamente consistente e em tempo real a petabytes de dados. O HBase é muito eficaz para lidar com conjuntos de dados grandes e esparsos. O HBase serve como uma entrada e saída direto na estrutura do Apache MapReduce para o Hadoop e trabalha com o Apache Phoenix para permitir consultas do tipo SQL em tabelas HBase.
O Sistema de Arquivos Distribuídos do Hadoop (HDFS) é um sistema de arquivos distribuído que lida com grandes conjuntos de dados em execução no hardware de commodity. É usado para dimensionar um único cluster do Apache Hadoop para centenas (e até milhares) de nós. O HDFS é um dos principais componentes do Apache Hadoop, sendo os outros mapeados e fios.
O Apache Mesos é um gerenciador de cluster que fornece isolamento e compartilhamento de recursos eficientes em aplicativos ou estruturas distribuídas. Ele pode executar o Hadoop, Jenkins, Spark, Aurora e outras estruturas em um conjunto de nós dinamicamente compartilhados.
O Apache Spark é um mecanismo de análise unificado para processamento de big data, com módulos internos para streaming, SQL, aprendizado de máquina e processamento de gráficos.
Elasticsearch é um mecanismo de pesquisa baseado na Biblioteca Lucene. Ele fornece um mecanismo de pesquisa de texto completo distribuído e com capacidade múltipla com uma interface da Web HTTP e documentos JSON sem esquema. Elasticsearch é desenvolvido em Java.
O Logstash é uma ferramenta para gerenciar eventos e logs. Quando usado genericamente, o termo abrange um sistema maior de atividades de coleta de logs, processamento, armazenamento e pesquisa.
Kibana é um plug -in de visualização de dados de código aberto para o Elasticsearch. Ele fornece recursos de visualização sobre o conteúdo indexado em um cluster Elasticsearch. Os usuários podem criar barra,