Browse by Tags
We've categorized the glossary terms. Use the filters to browse terms by tag.
Abstração
No contexto computacional, uma abstração é uma representação que oculta especificidades para um consumidor de serviços, tornando sua utilização mais genérica e de fácil entendimento. Um bom exemplo é o sistema operacional (S.O) do seu laptop. Ele abstrai todos os detalhes de como o computador funciona. Você não precisa ter nenhum conhecimento sobre CPU, memória e como os programas são executados, você apenas opera o S.O e o S.O lida com os detalhes...
API Gateway
Um gateway de API é uma ferramenta que agrega aplicações APIs exclusivas, tornando-as todas disponíveis em um só lugar. Ele permite que as organizações movam funções importantes, como autenticação e autorização ou limitação do número de solicitações entre aplicativos, para um local com gerenciamento centralizado. Um gateway de API funciona como uma interface comum para consumidores de API (geralmente externos). Problema relacionado Se você estiver disponibilizando APIs para consumidores externos, precisará de um ponto de entrada para gerenciar e controlar todo o acesso...
Aplicações Distribuídas
Uma aplicação distribuída é uma aplicação em que a funcionalidade é dividida em várias partes menores independentes. As aplicações distribuídas geralmente são compostas de microsserviços individuais que lidam com diferentes preocupações dentro da aplicação mais ampla. Em um ambiente nativo da nuvem, os componentes individuais normalmente são executados como contêineres em um cluster. Problema relacionado A execução de uma aplicação em um único computador representa um único ponto de falha — se esse computador falhar, a aplicação ficará indisponível...
Aplicações Monolíticas
Uma aplicação monolítica contém todas as funcionalidades em um único programa. Este é muitas vezes o lugar mais simples e fácil para começar ao fazer uma aplicação. No entanto, uma vez que a aplicação cresce em complexidade, os monólitos podem se tornar difíceis de manter. Com mais desenvolvedores trabalhando na mesma base de código, a probabilidade de mudanças conflitantes e a necessidade de comunicação interpessoal entre desenvolvedores aumenta. Problema relacionado A conversão de uma aplicação em microsserviços aumenta sua sobrecarga operacional — existe mais coisas para testar, implantar e executar...
Aplicações Nativas em Nuvem
As aplicações nativas em nuvem são projetadas especificamente para aproveitar as inovações em computação em nuvem. Essas aplicações se integram facilmente às suas respectivas arquiteturas de nuvem, aproveitando, assim, os recursos e o dimensionamento da nuvem. Também se refere a aplicativos que aproveitam as inovações da infraestrutura impulsionadas pela computação em nuvem. Hoje, as aplicações nativas em nuvem incluem aplicativos que são executados tanto em datacenter de um provedor de nuvem pública, quanto em plataformas de nuvens privadas...
Aplicações Stateful
Quando falamos das aplicações stateful e stateless, nos referimos a todos os dados que a aplicação precisa armazenar para funcionar como projetada. Qualquer tipo de loja online que lembre do seu carrinho é uma aplicação stateful, por exemplo. Problema relacionado O uso de uma aplicação geralmente requer várias requisições. Por exemplo, ao fazer as transações bancárias on-line, você se autenticará digitando sua senha (requisição #1), então você pode transferir o dinheiro para um amigo (requisição #2) e, finalmente, você vai querer ver os detalhes da transferência (requisição #3)...
Arquitetura Acoplada
Arquitetura acoplada é um estilo de arquitetura em que vários componentes da aplicação são interdependentes (o paradigma oposto de arquiteturas desacopladas). Isso significa que uma mudança em um componente provavelmente afetará outros componentes. Geralmente é mais fácil de implementar do que estilos de arquitetura desacopladas, mas pode deixar um sistema mais vulnerável a falhas em cascata. Esse estilo de arquitetura também tende a exigir implementações coordenadas de componentes, o que pode se tornar um obstáculo à produtividade do desenvolvedor...
Arquitetura Cliente Servidor
Em uma arquitetura cliente-servidor (client-server), a lógica (ou código) que compõe uma aplicação é dividida entre dois ou mais componentes: O Cliente, que solicita uma função a ser executada (por exemplo, o site do Gmail sendo executado no seu navegador) e um ou mais servidores que atendam essa requisição (por exemplo, o serviço “enviar-email” executado nos computadores do Google na nuvem). Neste exemplo, os e-mails que você escreve são enviandos pelo cliente (aplicação web sendo executada no seu navegador) para o servidor (computadores do Gmail, que encaminham seus e-mails para os destinatários)...
Arquitetura de Confiança Zero
A arquitetura de confiança zero (do inglês “Zero trust architecture”) prescreve uma abordagem para o projeto e implementação de sistemas de TI onde a confiança é completamente removida. O princípio central é “nunca confie, sempre verifique”, dispositivos ou sistemas em si, enquanto se comunicam com outros componentes de um sistema, sempre se verificam antes de fazê-lo. Atualmente, em muitas redes, dentro da rede corporativa, os sistemas e dispositivos internos podem se comunicar livremente uns com os outros, pois estão dentro do perímetro confiável da rede corporativa...
Arquitetura Orientada por Eventos
A arquitetura orientada por Eventos é uma arquitetura de software que promove a criação, o processamento, e o consumo de eventos. Um evento é qualquer alteração no estado de uma aplicação ou sistema. Por exemplo, solicitar uma corrida em um aplicativo de transporte representa um evento. Essa arquitetura cria a estrutura na qual os eventos podem ser adequadamente roteados da sua fonte (o aplicativo requisitante da corrida) para os seus receptores desejados (os aplicativos dos motoristas disponíveis nas proximidades)...
Auto scaling
O Auto scaling é a capacidade de um sistema de escalar automaticamente, normalmente, em termos de recursos computacionais. Com um sistema de auto scaling, os recursos são adicionados automaticamente quando necessário e podem ser dimensionados para atender às variações de demanda dos usuários. O processo de auto scaling varia e é configurável para escalar com base em diferentes métricas, como memória ou tempo de processamento. Os serviços gerenciados na nuvem geralmente estão associados à funcionalidade de auto scaling, pois há mais opções e implementações disponíveis do que a maioria das implantações no modelo on premise...
Blue Green Deployment
O Blue-green deployment é uma estratégia para atualizar os sistemas de computador em execução com o mínimo de tempo de indisponibilidade. O operador mantém dois ambientes, chamados “blue” e “green”. Um atende ao tráfego de produção (a versão que os usuários estão usando atualmente), enquanto o outro é atualizado. Depois que o teste é concluído no ambiente inativo (green), o tráfego de produção é redirecionado (geralmente com o uso de um baleanceador de carga - load balancer)...
Cluster
Um cluster é um grupo de máquinas ou aplicações que trabalham juntos para um objetivo comum. No contexto da computação nativa em nuvem, o termo é mais frequentemente aplicado ao Kubernetes. Um cluster Kubernetes é um conjunto de serviços (ou cargas de trabalho) executados em seus próprios contêineres, geralmente em máquinas diferentes. O conjunto de todos esses serviços contêinerizados, conectados em uma rede, representam um cluster. Problema relacionado Um software executado em uma única máquina, apresenta um único ponto de falha, por exemplo, se essa máquina travar ou alguém desconectar acidentalmente o cabo de alimentação, algum sistema crítico para os negócios pode ficar offline...
Como Contribuir
O projeto do glossário Cloud Native é mantido nesse repositório do Github, onde você consegue encontrar todas as issues, pull requests e discussões em aberto. Você pode contribuir de três formas: Sugerindo novos termos Atualizando termos existentes Traduzindo o glossário para seu idioma nativo Faça parte da comunidade do glossário Considere participar das nossas reuniões mensais do grupo de trabalho do glossário se quiser contribuir regularmente. Você pode encontrar detalhes da reunião no calendário da CNCF...
Computação em Nuvem
Computação em nuvem é um modelo que oferece recursos computacionais, como CPU, rede e disco, sob demanda através da internet. A computação em nuvem permite que usuários acessem e usem poder computacional a partir de um local físico remoto. Provedores de nuvem, como AWS, GCP, Azure, Digital Ocean e outros, oferecem a terceiros a capacidade de alugar acesso a recursos computacionais em múltiplas localizações geográficas. Problema relacionado As organizações tradicionalmente enfrentavam dois problemas principais ao tentar expandir seu uso de poder computacional...
Confiabilidade
Do ponto de vista nativo da nuvem, a confiabilidade refere-se ao quão bem um sistema responde a falhas. Se temos um sistema distribuído que continua funcionando à medida que a infraestrutura é alterada e os componentes individuais falham, ele é confiável. Por outro lado, se falhar facilmente e os operadores precisarem intervir manualmente para mantê-lo funcionando, não é confiável. O objetivo das aplicação nativas em nuvem é construir um sistema inerentemente confiável...
Contêineres
Um contêiner é um processo em execução com restrições de recursos e capacidade gerenciadas pelo sistema operacional. Os arquivos disponíveis para o processo de contêiner são empacotados como uma imagem de contêiner. Os contêineres são executados um ao lado do outro na mesma máquina, mas normalmente o sistema operacional impede que os processos de contêiner separados interajam entre si. Problema relacionado Antes da existência dos contêineres, eram necessárias máquinas separadas eram para executar os aplicativos...
Contêinerização
A conteinerização é o processo de agrupar uma aplicação e suas dependências em uma imagem de contêiner. O processo de criação do contêiner requer adesão ao padrão Open Container Initiative (OCI). Desde que a saída seja uma imagem de contêiner que atenda a esse padrão, a ferramenta de conteinerização usada não importa. Problema relacionado Antes que o uso de contêineres se tornasse mais comum , as organizações usavam máquinas virtuais (VMs) para orquestrar várias aplicações em uma única máquina bare metal...
Debugging
Debugging é o processo ou atividade de encontrar e resolver bugs (ou erros) de programas de computador, software ou sistemas para obter o resultado desejado. Um bug é um defeito ou um problema que leva a resultados incorretos ou inesperados. Problema relacionado O desenvolvimento de software é uma atividade complexa que torna quase impossível escrever um código sem introduzir bugs. Esses bugs levam a um código que provavelmente não funcionará como desejado (comportamento indefinido) quando executado...
Desenvolvimento Ágil de Software
Um conjunto de práticas que enfatizam ciclos de desenvolvimento iterativo e equipes auto-organizadas. Em contraste com projetos do tipo cascata, onde o valor é gerado apenas no final de um projeto, o desenvolvimento ágil de software se concentra em uma entrega incremental e contínua de valor e na melhoria evolutiva do próprio processo. Problema relacionado Definir, comunicar e entender os requisitos de todas as partes interessadas em um projeto é algo dificil de se fazer, se não impossível...
DevOps
DevOps é uma metodologia em que times são responsáveis por todo o processo desde o desenvolvimento da aplicação até a operação em produção, por isso o nome DevOps (Dev e Ops). Esta metodologia vai além da implementação de um conjunto de tecnologias, requer uma mudança profunda na cultura e nos processos. Além disso, DevOps orienta que o trabalho dos times seja focado em pequenos componentes (ao invés de uma funcionalidade completa), diminuindo as tranferências de responsabilidade ( handoffs ), que são uma fonte comum de erros...
DevSecOps
O termo DevSecOps refere-se a uma fusão cultural das responsabilidades de desenvolvimento, operação e de segurança. Ele estende a abordagem DevOps para incluir prioridades de segurança com interrupção mínima ou nenhuma no fluxo de trabalho operacional e do desenvolvedor. Assim como o DevOps, o DevSecOps é uma mudança cultural, impulsionada pelas tecnologias adotadas, com métodos de adoção exclusivos. Problema relacionado As práticas do DevOps incluem integração contínuae entrega contínua e aceleram os ciclos de desenvolvimento e lançamento das aplicações...
Edge Computing
A computação de borda é um modelo de sistema distribuído que transfere parte da capacidade de armazenamento e processamento do data center principal para as fontes de dados. Os dados coletados são processados localmente (por exemplo, em uma fábrica, em uma loja ou em toda uma cidade) em vez de serem enviados para um data center centralizado para processamento e análise. Essas unidades ou dispositivos de processamento locais representam a borda do sistema, enquanto o data center é o seu centro...
Engenharia de Confiabilidade de Sites
Engenharia de Confiabilidade de Sites (do inglês Site Reliability Engineering - SRE) é uma disciplina que combina operações e engenharia de software. Este último é aplicado especificamente a problemas de infraestrutura e operações. Ou seja, em vez de criar recursos do produto, os Engenheiros de Confiabilidade criam sistemas para rodar aplicativos. Existem semelhanças com o DevOps, mas enquanto o DevOps se concentra em colocar o código em produção, o SRE garante que o código em execução na produção funcione corretamente...
Engenharia do Caos
A Engenharia do Caos, ou CE, é a disciplina de experimentar em um sistema distribuído em produção para construir confiança na capacidade do sistema de resistir a condições turbulentas e inesperadas. Problema relacionado As práticas de SRE e DevOpsfocam em técnicas para aumentar a resiliência e confiabilidade do produto. A capacidade de um sistema de tolerar falhas enquanto garante qualidade de serviço adequada é tipicamente um requisito de desenvolvimento de software...
Entrega Contínua (CD)
A entrega contínua, muitas vezes conhecida como CD, é um conjunto de práticas nas quais as alterações de código são implantadas automaticamente em um ambiente de aceitação (ou, no caso de implantação contínua, na produção). A entrega contínua inclui procedimentos cruciais para garantir que o software seja testado adequadamente antes da implantação e fornecer uma maneira de reverter as alterações, se necessário. A integração contínua (CI) é o primeiro passo para a entrega contínua (ou seja, as alterações precisam se fundir de forma limpa antes de serem testadas e implantadas)...
Escala de Contribuição
<p>Olá! 👋 Obrigado pelo seu interesse em contribuir com o projeto CNCF Glossário Cloud Native. Há muitas maneiras de se tornar um membro ativo desta comunidade - seja contribuindo com novos termos, ajudando a localizar o glossário em seu idioma nativo ou ajudando outras pessoas a começar a contribuir. Este documento descreve as diferentes funções do colaborador no projeto e as responsabilidades e privilégios que as acompanham.</p> <ol> <li>Contribuidores O glossário é para todos.</li> </ol>..
Escalabilidade
Escalabilidade refere-se ao quão bem um sistema pode crescer. Isso está aumentando a capacidade de fazer o que o sistema deveria fazer. Por exemplo, um cluster Kubernetes é dimensionado através do aumento ou redução do número de aplicações em um contêiner, mas essa escalabilidade depende de vários fatores. Quantos nós ele tem, quantos contêineres cada nó pode manipular e quantos registros e operações a camada de gerenciamento pode suportar? Um sistema escalável torna fácil a adição de mais capacidade...
Escalonamento Vertical
O escalonamento vertical, também conhecido como “escalonamento para cima e para baixo”, é uma técnica em que a capacidade de um sistema adiciona CPU e memória aos nós individuais à medida que a carga de trabalho aumenta. Digamos que você tenha um computador de 4GB de RAM e queira aumentar sua capacidade para 16GB de RAM, escalar verticalmente significa mudar para um sistema de 16GB de RAM. (Consulte escalonamento horizontal para obter uma abordagem de dimensionamento diferente...
Função como um Serviço (FaaS)
Função como um Serviço, (FaaS - Function as a Service ), é um tipo de serviço de computação em nuvem sem servidor que permite a execução de código em resposta a eventos sem manter a complexa infraestrutura normalmente associado à criação e lançamento de aplicações de microsserviços. Com FaaS, os usuários gerenciam apenas funções e dados enquanto o provedor de nuvem gerencia a aplicação. Isso permite que os desenvolvedores obtenham as funções necessárias sem pagar pelos serviços quando o código não está em execução...
Glossário Cloud Native
Glossário Cloud Native O Glossário Cloud Native é um projeto liderado pelo CNCF Business Value Subcommittee (BVS). Seu objetivo é explicar os conceitos de aplicações nativas de nuvem (do inglês, cloud native applications) em linguagem clara e simples, sem exigir nenhum conhecimento técnico prévio. Contribuições Todas as pessoas são convidadas a sugerir alterações e melhorias ao glossário. Empregamos um processo orientado pela comunidade governado pela CNCF para desenvolver e melhorar este vocabulário compartilhado...
Guia de Estilo
Este guia de estilo ajudará você a entender o público alvo do glossário, estrutura das definições, nível de detalhamento necessário e como manter um estilo consistente. O glossário Cloud Native segue o guia de estilo padrão da CNCF. Além disso, segue as seguintes regras: Use uma linguagem simples e acessível, evitando jargões técnicos e buzzwords Evite usar linguagem coloquial Use uma linguagem literal e concreta Evite usar contrações Use a voz passiva com moderação Busque usar declarações de forma positiva Em citações, não use pontos de exclamação fora das aspas Evita usar exageros Evite usar repetições Seja conciso Público alvo O glossário foi escrito para um público alvo técnico e não técnico...
Idempotência
Em matemática ou na ciência da computação, a idempotência descreve uma operação que sempre leva o mesmo resultado, não importando quantas vezes você execute a operação. Se os parâmetros forem os mesmos, uma operação idempotente não afetará o aplicativo que é chamado por ela...
Implantação Canário
Implantação Canário é uma estratégia de implantação que começa com dois ambientes: um com tráfego e outro contendo o código atualizado sem tráfego. O tráfego é gradualmente movido da versão original do aplicativo para a versão atualizada. Pode começar movendo 1% do tráfego, depois 10%, 25% e assim por diante, até que tudo esteja passando pela versão atualizada. As organizações podem testar a nova versão do software em produção, obter feedback, diagnosticar erros e reverter rapidamente para a versão estável, se necessário...
Implantaçāo Contínua
Implantação contínua (continuous deployment - CD), vai um passo além da entrega contínua ao implantar o software finalizado diretamente na produção. A implantação contínua anda de mãos dadas com a entrega contínua e é frequentemente referida como CI/CD. O processo de CI testa se as alterações feitas em um determinado aplicativo são válidas, e o processo de CD implanta automaticamente as mudanças de código através dos ambientes de uma organização, desde teste até a produção...
Infraestrutura como Código
Infraestrutura como código é a prática de armazenar a definição da infraestrutura como um ou mais arquivos. Isso substitui o modelo tradicional em que a infraestrutura como serviço era provisionada manualmente, geralmente por meio de scripts shell ou outras ferramentas de configuração. Problema relacionado A criação de aplicações nativa em nuvem requer que a infraestrutura seja descartável e reproduzível. Também precisa ser dimensionada sob demanda de maneira automatizada e repetível, preferencialmente sem intervenção humana...
Infraestrutura como Serviço (IaaS)
Infraestrutura como serviço, ou IaaS, é um modelo de serviço de computação em nuvem que oferece máquinas físicas ou virtualizadas, armazenamento e recursos de rede sob demanda em um modelo pague conforme o uso. Os provedores de nuvem possuem e operam o hardware e o software, disponíveis para os consumidores em implantações de nuvem pública, privada ou híbrida. Problema relacionado Em configurações tradicionais (on-premise), as organizações geralmente concentram seus esforços no uso efetivo de recursos de computação...
Integração Contínua
A integração contínua (continuous integration - CI), é a prática de integrar mudanças de código da maneira mais regular possível. A integração contínua é um pré-requisito para a entrega contínua. Tradicionalmente, o processo de integração contínua começa quando as alterações do código são confirmadas em um sistema de controle de código-fonte (Git, Mercurial ou Subversion) e termina com o artefato testado e pronto para ser consumido por um sistema de entrega contínua...
Interface de Programação de Aplicações
Uma API (interface de programação de aplicações - do inglês: applications protocol interface) é um modo como programas de computador interagem uns com os outros. Assim como humanos interagem com um site através de uma página web, uma API permite que programas de computador interajam uns com os outros. Ao contrário das interações humanas, as APIs possuem limitações sobre o que pode e o que não pode ser solicitado a elas...
Kubernetes
Kubernetes, normalmente abreviado como K8s, é um orquestrador de contêineres de código aberto. Ele automatiza o ciclo de vida de aplicações em contêineres em infraestruturas modernas, funciona como um “sistema operacional de datacenter” que gerencia aplicativos em um sistema distribuído. O Kubernetes planeja os contêineres entre nós de um cluster, agrupando vários recursos de infraestrutura como balanceador de carga, armazenamento persistente, etc., para executar aplicações em contêineres. O Kubernetes permite automação e extensibilidade, permitindo que os usuários implantem aplicativos declarativamente (veja abaixo) de maneira reproduzível...
Máquina Bare Metal
Bare metal refere-se a um computador físico, mais especificamente um servidor, que tem um, e apenas um sistema operacional. A distinção é importante na computação moderna porque muitos, se não a maioria, servidores são máquinas virtuais. Um servidor físico geralmente é um computador com grande capacidade e com hardware embutido. Instalar um sistema operacional e executar aplicativos diretamente nesse hardware físico, sem virtualização, é conhecido como executar em “bare metal”...
Máquina Virtual
Uma máquina virtual ou VM (do inglês “Virtual Machine”) é a inexistência de vínculo de um computador e seu sistema operacional a um hardware específico. As VMs dependem da virtualização para transformar um único computador físico em vários computadores virtuais. Essa separação permite que organizações e provedores de infraestrutura criem e destruam facilmente VMs sem afetar o hardware fisicamente. Problema relacionado As máquinas virtuais se aproveitam da virtualização. Quando uma máquina bare metal está vinculada a um único sistema operacional, os recursos da máquina que podem ser usados são um pouco limitado...
Microsserviços
Os microsserviços têm uma abordagem moderna para o desenvolvimento de aplicações que aproveita as tecnologias nativas da nuvem. Embora as aplicações modernas, como a Netflix, pareçam ser uma única aplicação, elas são na verdade uma coleção de serviços menores - todos trabalhando em colaboração. Por exemplo, uma única página que permite acessar, pesquisar e visualizar vídeos provavelmente é alimentada por serviços menores que lidam com um aspecto (por exemplo, pesquisa, autenticação e execução de visualizações no seu navegador)...
Nós
Um nó é um computador que trabalha em conjunto com outros computadores, ou nós, para realizar uma tarefa comum. Pegue seu laptop, modem e impressora, por exemplo. Eles estão todos conectados pela sua rede wifi se comunicando e colaborando, cada um representando um nó. Na computação em nuvem, um nó pode ser um computador físico, um computador virtual, conhecido como VM, ou até mesmo um contêiner. Problema relacionado Embora uma aplicação possa (e muitas fazem) ser executada em uma única máquina, existem alguns riscos envolvidos com isso...
Observabilidade
Observabilidade é a capacidade de gerar e descobrir continuamente insights acionáveis com base em sinais do sistema sob observação. Em outras palavras, a observabilidade permite que os usuários entendam o estado de um sistema a partir de sua saída externa e tome ação (corretiva). Problema relacionado Os sistemas de computador são medidos observando os sinais de baixo nível, tais como o tempo de CPU, a memória, o espaço em disco e os sinais de alto nível e de lógica de negócios, incluindo tempos de resposta de uma API, erros, transações por segundo, etc...
Portabilidade
Uma característica do software, a portabilidade é uma forma de reutilização que ajuda a evitar o “travamento” em determinados ambientes operacionais, por exemplo, provedores de nuvem, sistemas operacionais ou fornecedores. Tradicionalmente, o software é geralmente construído para ambientes específicos (ex. AWS ou Linux). O software portátil, por outro lado, funciona em diferentes ambientes operacionais sem a necessidade de um grande retrabalho. Uma aplicação é considerada portátil se o esforço necessário para adaptá-la a um novo ambiente estiver dentro de limites razoáveis...
Segurança Nativa da Nuvem
A segurança nativa da nuvem é uma abordagem que transforma a segurança em aplicações nativas em nuvem. Isso garante que a segurança faça parte de todo o ciclo de vida do aplicativo, desde o desenvolvimento até a produção. A segurança nativa da nuvem busca garantir os mesmos padrões que os modelos de segurança tradicionais, enquanto se adapta aos detalhes dos ambientes nativos da nuvem, ou seja, mudanças rápidas de código e infraestrutura altamente efêmera...
Serverless
Serverless é um modelo de desenvolvimento nativo na nuvem que permite que desenvolvedores criem aplicações sem que seja necessário gerenciar servidores. Ainda existem servidores no modelo serverless, mas eles são abstraídos do desenvolvimento. Um provedor de computação em nuvem se encarrega do provisionamento, manutenção e escala da infraestrutura de servidores. Desenvolvedores podem simplesmente carregar o código em contêineres para implantação. Uma vez implantadas, aplicações serverless respondem automaticamente à demanda, escalando para cima e para baixo conforme necessário...
Serviço
Observe que, em Tecnologia da Informação, o termo serviço tem vários significados. Vamos nos concentrar na mais tradicional: serviço como no microsserviço. Como ou mesmo se os serviços diferem dos microsserviços é sutil, e pessoas diferentes podem ter opiniões diferentes. Para uma definição de alto nível, vamos tratá-los da mesma forma. Consulte a definição microsserviço...
Shift Left
Esquerda em Shift Left se refere aos estágios iniciais no ciclo de desenvolvimento de software, pensando no ciclo como uma linha onde os estágios são executados da esquerda para a direita. Shift left é a prática de implementar testes, segurança ou outras práticas de desenvolvimento no início do ciclo de desenvolvimento de software e não no final. Embora originalmente usado para se referir ao processo de teste de forma antecipada, Shift Left agora também pode ser aplicado para outros aspectos do desenvolvimento de software e DevOps, como segurança e implementação (deployment)...
Sistemas Distribuídos
Um sistema distribuído é uma coleção de elementos de computação autônomos conectados por uma rede que aparece para os usuários como um único sistema coerente. Geralmente referidos como nós, esses componentes podem ser dispositivos de hardware (por exemplo, computadores, telefones móveis) ou processos de software. Os nós são programados para alcançar um objetivo comum e, para colaborar, eles trocam mensagens pela rede. Problema relacionado Hoje, inúmeras aplicações modernas são tão grandes que precisariam de supercomputadores para operar...
Streaming de Eventos
O streaming de eventos é uma abordagem em que o software envia dados de eventos de uma aplicação para outra para comunicar continuamente o que eles estão fazendo. Imagine um serviço transmitindo tudo o que faz para todos os outros serviços. Cada atividade realizada por um serviço é referida como um evento, portanto, streaming de evento. Por exemplo, a NASDAQ obtém atualizações sobre preços de ações e commodities a cada segundo...
Tecnologia Nativa da Nuvem
As tecnologias nativas da nuvem, também conhecidas como a stack nativa da nuvem, são as tecnologias usadas para criar aplicativos nativos da nuvem. Essas tecnologias permitem que as organizações criem e executem aplicações escaláveis em ambientes modernos e dinâmicos, tais como as nuvens públicas, privadas e híbridas, ao mesmo tempo em que aproveitam ao máximo os benefícios da computação em nuvem. Eles são projetados desde o início para explorar os recursos de computação em nuvem e contêineres, serviços em malha, microsserviços e infraestrutura imutável exemplificam essa abordagem...
TLS
Transport Layer Security (TLS) é um protocolo projetado para fornecer maior segurança à comunicação através de uma rede. Garante a entrega segura de dados enviados pela Internet, evitando possíveis monitoramentos e/ou alterações dos dados. Este protocolo é amplamente utilizado em aplicações como mensagens, e-mail, etc. Problema relacionado Sem o TLS, informações confidenciais, como hábitos de navegação, correspondência por e-mail, bate-papos on-line e chamadas de conferência, podem ser facilmente rastreadas e modificadas por outras pessoas durante a transmissão...
Virtualização
A virtualização, no contexto da computação nativa da nuvem, refere-se ao processo de pegar um computador físico, às vezes chamado de servidor, e permitir que ele execute vários sistemas operacionais isolados. Esses sistemas operacionais isolados e seus recursos de computação dedicados (CPU, memória e rede) são chamados de máquinas virtuais ou VMs (do inglês “Virtual Machine”). Quando falamos de uma máquina virtual, estamos falando de um computador definido por software. Algo que parece e age como um computador real, mas está compartilhando hardware com outras máquinas virtuais...