diff --git a/.github/settings.yml b/.github/settings.yml index a34302f576..add2e33633 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -73,13 +73,19 @@ collaborators: - username: Garima-Negi permission: push - - username: sayantani11 + - username: jayesh-srivastava permission: push - - username: anubha-v-ardhan + - username: abhay-raj19 permission: push - - username: jayesh-srivastava + - username: aj11anuj + permission: push + + - username: kumarankit999 + permission: push + + - username: bishal7679 permission: push # l10n de approvers @@ -227,6 +233,9 @@ collaborators: - username: kirkonru permission: push + - username: tym83 + permission: push + branches: # Default branch of this repository for configurations and English contents @@ -301,9 +310,11 @@ branches: # hi approvers users: - Garima-Negi - - sayantani11 - - anubha-v-ardhan - jayesh-srivastava + - abhay-raj19 + - aj11anuj + - kumarankit999 + - bishal7679 teams: [] enforce_admins: null required_linear_history: null @@ -529,6 +540,7 @@ branches: users: - shurup - kirkonru + - tym83 teams: [] enforce_admins: null required_linear_history: null diff --git a/CODEOWNERS b/CODEOWNERS index dc1651172c..7a7ab702f5 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -39,8 +39,8 @@ /i18n/fr.toml @huats @fydrah @Krast76 @sestegra @guillaumebernard84 # Approvers for Hindi contents -/content/hi/ @Garima-Negi @sayantani11 @anubha-v-ardhan @jayesh-srivastava -/i18n/hi.toml @Garima-Negi @sayantani11 @anubha-v-ardhan @jayesh-srivastava +/content/hi/ @Garima-Negi @jayesh-srivastava @abhay-raj19 @aj11anuj @kumarankit999 @bishal7679 +/i18n/hi.toml @Garima-Negi @jayesh-srivastava @abhay-raj19 @aj11anuj @kumarankit999 @bishal7679 # Approvers for Italian contents /content/it/ @fsbaraglia @ugho16 @annalisag-spark @sistella @@ -59,8 +59,8 @@ /i18n/pt-br.toml @edsoncelio @brunoguidone @jessicalins @MrErlison # Approvers for Russian contents -/content/ru/ @shurup @kirkonru -/i18n/ru.toml @shurup @kirkonru +/content/ru/ @shurup @kirkonru @tym83 +/i18n/ru.toml @shurup @kirkonru @tym83 # Approvers for Turkish contents /content/tr/ @aliok @halil-bugol @developer-guy @eminalemdar diff --git a/content/en/microservices-architecture.md b/content/en/microservices-architecture.md index e52661718a..804c623df3 100644 --- a/content/en/microservices-architecture.md +++ b/content/en/microservices-architecture.md @@ -25,7 +25,7 @@ Traditionally (monolithic approach), the entire app would have to be [scaled](/s Monolithic architectures also make it easy for developers to succumb to design pitfalls. Because all the code is in one place, it is easier to make that code [tightly coupled](/tightly-coupled-architectures/) and harder to enforce the principle of separation of concerns. -Monoliths also often require developers to understand the entire codebase before deploying any chances. +Monoliths also often require developers to understand the entire codebase before deploying any changes. Microservices architecture is a response to these challenges. diff --git a/content/pt-br/abstraction.md b/content/pt-br/abstraction.md index fc49197b44..f3eb971b74 100644 --- a/content/pt-br/abstraction.md +++ b/content/pt-br/abstraction.md @@ -2,7 +2,7 @@ title: Abstração status: Completed category: propriedade -tags: ["arquitetura", "", ""] +tags: ["fundamento", "", ""] --- 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. Todos esses detalhes são ocultos por trás das cortinas do S.O - ou seja, uma abstração. diff --git a/content/pt-br/application-programming-interface.md b/content/pt-br/application-programming-interface.md index 1be6b66999..c931469757 100644 --- a/content/pt-br/application-programming-interface.md +++ b/content/pt-br/application-programming-interface.md @@ -2,7 +2,7 @@ title: Interface de Programação de Aplicações status: Completed category: tecnologia -tags: ["arquitetura", "", ""] +tags: ["arquitetura", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/auto-scaling.md b/content/pt-br/auto-scaling.md index 0e0b8f24e2..3076503ce5 100644 --- a/content/pt-br/auto-scaling.md +++ b/content/pt-br/auto-scaling.md @@ -2,7 +2,7 @@ title: Auto scaling status: Completed category: propriedade -tags: ["aplicação", "infraestrutura", "arquitetura"] +tags: ["infraestrutura", "", ""] --- 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. diff --git a/content/pt-br/blue-green-deployment.md b/content/pt-br/blue-green-deployment.md index 8502e7f148..92ab741946 100644 --- a/content/pt-br/blue-green-deployment.md +++ b/content/pt-br/blue-green-deployment.md @@ -2,7 +2,7 @@ title: Blue Green Deployment status: Completed category: conceito -tags: ["aplicação", "", ""] +tags: ["metodologia", "aplicação", ""] --- ## O que é diff --git a/content/pt-br/canary-deployment.md b/content/pt-br/canary-deployment.md index facce5c49f..b8719cc0b9 100644 --- a/content/pt-br/canary-deployment.md +++ b/content/pt-br/canary-deployment.md @@ -2,7 +2,7 @@ title: Implantação Canário status: Completed category: conceito -tags: ["aplicação", "", ""] +tags: ["metodologia", "aplicação", ""] --- ## O que é diff --git a/content/pt-br/client-server-architecture.md b/content/pt-br/client-server-architecture.md index 761982e889..fb210b4c20 100644 --- a/content/pt-br/client-server-architecture.md +++ b/content/pt-br/client-server-architecture.md @@ -2,7 +2,7 @@ title: Arquitetura Cliente Servidor status: Completed category: conceito -tags: ["arquitetura", "", ""] +tags: ["arquitetura", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/cloud-computing.md b/content/pt-br/cloud-computing.md index 873b40c021..e35ef8d78a 100644 --- a/content/pt-br/cloud-computing.md +++ b/content/pt-br/cloud-computing.md @@ -2,7 +2,7 @@ title: Computação em Nuvem status: Completed category: conceito -tags: ["infraestrutura", "", ""] +tags: ["infraestrutura", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/cloud-native-apps.md b/content/pt-br/cloud-native-apps.md index 983ac62205..b736317ab8 100644 --- a/content/pt-br/cloud-native-apps.md +++ b/content/pt-br/cloud-native-apps.md @@ -2,7 +2,7 @@ title: Aplicações Nativas em Nuvem status: Completed category: conceito -tags: ["aplicação", "", ""] +tags: ["aplicação", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/cloud-native-tech.md b/content/pt-br/cloud-native-tech.md index c496b5ce99..064edfa49d 100644 --- a/content/pt-br/cloud-native-tech.md +++ b/content/pt-br/cloud-native-tech.md @@ -2,7 +2,7 @@ title: Tecnologia Nativa da Nuvem status: Completed category: conceito -tags: ["fundamentos", "", ""] +tags: ["fundamento", "", ""] --- ## O que é diff --git a/content/pt-br/cluster.md b/content/pt-br/cluster.md index ade32615e6..37b67c8a40 100644 --- a/content/pt-br/cluster.md +++ b/content/pt-br/cluster.md @@ -2,7 +2,7 @@ title: Cluster status: Completed category: conceito -tags: ["infraestrutura", "arquitetura", ""] +tags: ["infraestrutura", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/container.md b/content/pt-br/container.md index 50946b5049..0022db3387 100644 --- a/content/pt-br/container.md +++ b/content/pt-br/container.md @@ -2,7 +2,7 @@ title: Contêineres status: Completed category: tecnologia -tags: ["aplicação", "", ""] +tags: ["aplicação", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/continuous-delivery.md b/content/pt-br/continuous-delivery.md index f3e27d46af..a0df9395f2 100644 --- a/content/pt-br/continuous-delivery.md +++ b/content/pt-br/continuous-delivery.md @@ -2,7 +2,7 @@ title: Entrega Contínua (CD) status: Completed category: conceito -tags: ["aplicação", "metodologia", ""] +tags: [metodologia", "aplicação", ""] --- ## O que é diff --git a/content/pt-br/continuous-deployment.md b/content/pt-br/continuous-deployment.md new file mode 100644 index 0000000000..cec0ebfb24 --- /dev/null +++ b/content/pt-br/continuous-deployment.md @@ -0,0 +1,23 @@ +--- +title: Implantaçāo Contínua +status: Completed +category: conceito +tags: ["aplicação", "metodologia", ""] +--- + +## O que é + +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](/pt-br/continuous-delivery/) 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. + +## Problema relacionado + +Lançar novas versões de software pode ser um processo trabalhoso e propenso a erros. Além disso, muitas vezes é algo que as organizações só desejam fazer com pouca frequência para evitar incidentes de produção e reduzir a quantidade de tempo em que os engenheiros precisam estar disponíveis fora do horário comercial regular. Modelos tradicionais de implantação de software deixam as organizações em um ciclo vicioso em que o processo de lançamento de software não atende às necessidades organizacionais de estabilidade e velocidade de recursos. + +## Como isso ajuda + +Automatizando o ciclo de lançamento e forçando as organizações a lançar na produção com mais frequência, a CD faz pelo time de operações o que a CI fez pelos times de desenvolvimento. Especificamente, ela obriga os times de operações a automatizar as partes dolorosas e propensas a erros das implantações de produção, reduzindo o risco geral. Isso também torna as organizações mais aptas a aceitar e se adaptar às mudanças de produção, o que resulta em maior estabilidade. + +## Termos relacionados + +* [Integração Contínua](/pt-br/continuous-integration/) +* [Entrega Contínua (CD)](/pt-br/continuous-delivery/) \ No newline at end of file diff --git a/content/pt-br/data-center.md b/content/pt-br/data-center.md index bfc2d05aca..c25916748a 100644 --- a/content/pt-br/data-center.md +++ b/content/pt-br/data-center.md @@ -2,7 +2,7 @@ title: Data Center status: Feedback Appreciated category: tecnologia -tags: ["", "", ""] +tags: ["infraestrutura", "", ""] --- ## O que é diff --git a/content/pt-br/debugging.md b/content/pt-br/debugging.md index 4e9eb66139..94154fb178 100644 --- a/content/pt-br/debugging.md +++ b/content/pt-br/debugging.md @@ -2,7 +2,7 @@ title: Debugging status: Completed category: conceito -tags: ["aplicação", "", ""] +tags: ["aplicação", "metodologia", ""] --- ## O que é diff --git a/content/pt-br/devsecops.md b/content/pt-br/devsecops.md index e8d19aa9f5..d462367c11 100644 --- a/content/pt-br/devsecops.md +++ b/content/pt-br/devsecops.md @@ -2,7 +2,7 @@ title: DevSecOps status: Completed category: conceito -tags: ["metodologia", "", ""] +tags: ["metodologia", "segurança", ""] --- ## O que é diff --git a/content/pt-br/distributed-systems.md b/content/pt-br/distributed-systems.md new file mode 100644 index 0000000000..38fb84b1a3 --- /dev/null +++ b/content/pt-br/distributed-systems.md @@ -0,0 +1,22 @@ +--- +title: Sistemas Distribuídos +status: Completed +category: conceito +tags: ["arquitetura", "", ""] +--- + +## O que é + +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](/pt-br/nodes/), 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. Pense no Gmail ou Netflix. Nenhum computador único é suficientemente poderoso para hospedar toda a aplicação. Ao conectar vários computadores, o poder computacional se torna praticamente ilimitado. Sem a computação distribuída, muitas das aplicações das quais dependemos hoje não seriam possíveis. + +Tradicionalmente, os sistemas seriam [escalados](/pt-br/scalability) verticalmente. Isso significa adicionar mais CPU ou memória a uma máquina individual. A [escalabilidade vertical](/pt-br/vertical-scaling/) é demorada, requer tempo de inatividade e atinge seu limite rapidamente. + +## Como ajuda + +Sistemas distribuídos permitem a [escalabilidade horizontal](/horizontal-scaling/) (por exemplo, adicionar mais nós ao sistema sempre que necessário). Isso pode ser automatizado, permitindo que um sistema lide com um aumento repentino na carga de trabalho ou no consumo de recursos. + +Um sistema não distribuído expõe-se a riscos de falhas, porque se uma máquina falhar, o sistema inteiro falha. Um sistema distribuído pode ser projetado de tal maneira que, mesmo se algumas máquinas falharem, o sistema geral ainda pode continuar funcionando para produzir o mesmo resultado. diff --git a/content/pt-br/event-driven-architecture.md b/content/pt-br/event-driven-architecture.md new file mode 100644 index 0000000000..7353efe1da --- /dev/null +++ b/content/pt-br/event-driven-architecture.md @@ -0,0 +1,26 @@ +--- +title: Arquitetura Orientada por Eventos +status: Completed +category: conceito +tags: ["arquitetura", "", ""] +--- + +## O que é + +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). + +## Problema relacionado + +À medida que mais dados são gerados em tempo real, encontrar maneiras confiáveis de garantir que os eventos sejam capturados e roteados para o [serviço](/pt-br/service/) apropriado, que deve processar as solicitações de eventos, se torna cada vez mais desafiador. +Os métodos tradicionais de manipulação de eventos geralmente não têm como garantir que as mensagens sejam roteadas adequadamente, ou mesmo que sejam realmente enviadas ou recebidas. +À medida que os aplicativos começam a escalar, se torna mais desafiador orquestrar eventos. + +## Como isso ajuda + +As arquiteturas orientadas por eventos estabelecem um hub central, um concentrador, para todos os eventos (por exemplo, [Apache Kafka](http://kafka.apache.org/)). +Em seguida, você define os produtores de eventos (origem) e os consumidores (receptor) e o hub de eventos central garante o fluxo de eventos. +Essa arquitetura garante que os serviços permaneçam desacoplados e os eventos sejam roteados adequadamente do produtor ao consumidor. +O produtor receberá o evento de entrada, geralmente pelo protocolo HTTP, e roteará as informações do evento. diff --git a/content/pt-br/event-streaming.md b/content/pt-br/event-streaming.md index 4623564aed..e09b1141ea 100644 --- a/content/pt-br/event-streaming.md +++ b/content/pt-br/event-streaming.md @@ -2,6 +2,7 @@ title: Streaming de Eventos status: Completed category: conceito +tags: ["metodologia", "rede", ""] --- ## O que é diff --git a/content/pt-br/firewall.md b/content/pt-br/firewall.md index bb0ebfd5ab..e03dd0f300 100644 --- a/content/pt-br/firewall.md +++ b/content/pt-br/firewall.md @@ -1,8 +1,8 @@ --- title: Firewall -status: Completed +status: Deprecated category: tecnologia -tags: ["segurança", "", ""] +tags: ["descontinuado", "", ""] --- ## O que é diff --git a/content/pt-br/function-as-a-service.md b/content/pt-br/function-as-a-service.md new file mode 100644 index 0000000000..bfa3647336 --- /dev/null +++ b/content/pt-br/function-as-a-service.md @@ -0,0 +1,29 @@ +--- +title: Função como um Serviço (FaaS) +status: Completed +category: Tecnologia +tags: ["infraestrutura", "", ""] +--- + +## O que é + +Função como um Serviço, (FaaS - Function as a Service ), é um tipo de [serviço](/pt-br/service/) de [computação em nuvem](/pt-br/cloud-computing/) [sem servidor](/pt-br/serverless/) 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](/microservices/). + +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. + +## Problema relacionado + +Em um cenário tradicional, uma empresa gerencia e mantém seu próprio data center local. A empresa deve investir em servidores, armazenamento, software e outras tecnologias e possivelmente contratar uma equipe de TI ou terceirizados para comprar, gerenciar e atualizar todos os equipamentos e licenças. O data center deve ser construído para atender a demanda de pico, mesmo quando as cargas de trabalho diminuem e esses recursos ficam ociosos. Por outro lado, o departamento de TI pode ter dificuldades para acompanhar se o negócio se expandir. + +Sob um modelo padrão de computação em nuvem [Infrastructure-as-a-Service (IaaS)](/infrastructure-as-a-service/), os usuários compram antecipadamente unidades de capacidade, o que significa que será pago a um provedor de nuvem pública por componentes de servidor sempre ativos para executar suas aplicações. É, portanto, responsabilidade do usuário aumentar a capacidade do servidor durante períodos de alta demanda e reduzir quando essa capacidade não for mais necessária. + +A infraestrutura de nuvem necessária para executar uma aplicação está ativa mesmo quando a aplicação não está sendo usado. + +## Como isso ajuda + +O FaaS oferece aos desenvolvedores uma [abstração](/pt-br/abstraction/) para executar aplicações Web em resposta a eventos sem gerenciar servidores. Por exemplo, carregar um arquivo pode acionar um código personalizado que transcreve o arquivo em vários formatos. + +A infraestrutura FaaS dimensionará automaticamente o código para uso pesado, e o desenvolvedor não precisa gastar tempo ou recursos criando o código para [escalabilidade](/pt-br/scalability/). + +O faturamento é baseado apenas no tempo de computação, o que significa que as empresas não precisam pagar quando as funções não estiverem em uso. diff --git a/content/pt-br/idempotence.md b/content/pt-br/idempotence.md index 9e90f37643..80ab749b31 100644 --- a/content/pt-br/idempotence.md +++ b/content/pt-br/idempotence.md @@ -2,7 +2,7 @@ title: Idempotência status: Completed category: propriedade -tags: ["infraestrutura", "arquitetura", ""] +tags: ["propriedade", "", ""] --- 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. diff --git a/content/pt-br/infrastructure-as-a-service.md b/content/pt-br/infrastructure-as-a-service.md new file mode 100644 index 0000000000..46b1739756 --- /dev/null +++ b/content/pt-br/infrastructure-as-a-service.md @@ -0,0 +1,27 @@ +--- +title: Infraestrutura como Serviço (IaaS) +status: Completed +category: tecnologia +tags: ["infraestrutura", "", ""] +--- + +## Como é + +Infraestrutura como serviço, ou IaaS, é um modelo de serviço de [computação em nuvem](/pt-br/cloud-computing/) que oferece máquinas [físicas](/pt-br/bare-metal-machine/) ou [virtualizadas](/pt-br/virtualization/), 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. +Os _data centers_ precisam ser construídos para potencializar o pico da demanda, mesmo que seja necessário em apenas 1% do tempo. +Durante a menor demanda, esses recursos de computação ficam ociosos. +E, se a carga de trabalho aumentar acima da demanda esperada, existirá uma carência de recursos de computação para processar a carga de trabalho. +Essa falta de escalabilidade leva ao aumento dos custos e ao uso ineficaz de recursos. + +## Como isso ajuda + +Com o IaaS, as organizações podem evitar a compra e manutenção em ativos computacionais e _data center_ para suas aplicações. +Uma infraestrutura sob demanda permite que as organizações aluguem recursos de computação conforme necessário e adiem grandes gastos de capital, ou [CAPEX](https://pt.wikipedia.org/wiki/CAPEX), ao mesmo tempo em permite a flexibilidade de aumentar ou diminuir a escala. + +O IaaS reduz os custos iniciais para testar uma nova aplicação e para fornecer as instalações para implantar rapidamente uma infraestrutura. +Um provedor de nuvem é uma excelente opção para ambientes de desenvolvimento ou teste, o que ajuda os desenvolvedores a experimentar e inovar. diff --git a/content/pt-br/infrastructure-as-code.md b/content/pt-br/infrastructure-as-code.md index b98c1b4352..81d56c371b 100644 --- a/content/pt-br/infrastructure-as-code.md +++ b/content/pt-br/infrastructure-as-code.md @@ -2,7 +2,7 @@ title: Infraestrutura como Código status: Completed category: conceito -tags: ["infraestrutura", "", ""] +tags: ["infraestrutura", "metodologia", ""] --- ## O que é diff --git a/content/pt-br/kubernetes.md b/content/pt-br/kubernetes.md new file mode 100644 index 0000000000..1079e28308 --- /dev/null +++ b/content/pt-br/kubernetes.md @@ -0,0 +1,33 @@ +--- +title: Kubernetes +status: Completed +category: tecnologia +tags: ["infraestrutura", "fundamental", ""] +--- + +## O que é + +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](/distributed-systems/). + +O Kubernetes planeja os [contêineres](/pt-br/container/) entre [nós](/pt-br/nodes/) de um [cluster](/pt-br/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. É extensível por meio de sua [API](/pt-br/application-programming-interface/), permitindo que profissionais experientes do Kubernetes aproveitem seus recursos de automação de acordo com suas necessidades. + +## Problema relacionado + +A automação de infraestrutura e o gerenciamento declarativo de configuração são conceitos importantes há muito tempo, mas se tornaram mais prementes à medida que a [computação em nuvem](/pt-br/cloud-computing/) ganhou popularidade. +À medida que a demanda por recursos de computação aumenta e as organizações precisam fornecer mais recursos operacionais com menos engenheiros, novas tecnologias e métodos de trabalho são necessários para atender a essa demanda. + +## Como isso ajuda + +De forma similar às ferramentas tradicionais de [infraestrutura como código](/pt-br/infrastructure-as-code/), o Kubernetes ajuda na automação e tem a vantagem de trabalhar com contêineres. +Os contêineres são mais resistentes ao desvio de configuração do que [máquinas virtuais](/pt-br/virtual-machine/) ou físicas. + +Adicionalmente, o Kubernetes funciona de forma declarativa, o que significa que, em vez de fornecer instruções ao Kubernetes os operadores descrevem o que desejam - geralmente com arquivos de manifesto (por exemplo, no formato YAML) - definindo como a infraestrutura deve ser. + +Kubernetes cuida então do "como" e isso o torna extremamente compatível com a infraestrutura como código. + +O Kubernetes também possui [auto recuperação](/self-healing/). +O estado real do cluster sempre corresponderá ao estado desejado pelo operador. Se for detectado um desvio ao que foi descrito nos arquivos de manifesto um controlador do Kubernetes entrará em ação e procederá com a correção. +Embora a infraestrutura que o Kubernetes possa estar em constante mudança, o Kubernetes se adapta de forma constante e automática a estas mudanças, garantindo que o estado desejado permaneça. diff --git a/content/pt-br/microservices.md b/content/pt-br/microservices.md new file mode 100644 index 0000000000..4aefb95ad1 --- /dev/null +++ b/content/pt-br/microservices.md @@ -0,0 +1,32 @@ +--- +title: Microsserviços +status: Completed +category: conceito +tags: ["arquitetura", "", ""] +--- + +## O que é + +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). +Em resumo, os microsserviços referem-se a um padrão de arquitetura de aplicações geralmente contrária as [aplicações monolíticas](/monolithic-apps/). + +## Problema relacionado + +Os microsserviços são uma resposta aos desafios colocados por aplicações monolíticas. +Geralmente, diferentes partes de uma aplicação precisarão ser dimensionadas separadamente. +Por exemplo, uma loja online terá mais visualizações de produtos do que a finalização da compra. +Isso significa que você precisará de mais cópias da funcionalidade de visualização do produto em execução do que a conclusão da compra. +Em uma aplicação monolítica, essa lógica não pode ser implantada individualmente. +Se você não conseguir dimensionar a funcionalidade do produto individualmente, terá que duplicar toda a aplicação com todos os outros componentes que não precisa - um uso ineficiente de recursos. +As aplicações monolíticas também tornam mais fácil para os desenvolvedores sucumbirem às armadilhas do projeto. +Como todo o código está em um só lugar, é mais fácil tornar esse [código bem acoplado](/pt-br/tightly-coupled-architectures/) e mais difícil de impor o princípio da separação de responsabilidades. +Os monólitos geralmente exigem que os desenvolvedores entendam toda a base de código antes que possam ser produtivos. + +## Como isso ajuda + +Separar a funcionalidade em diferentes microsserviços facilita a implantação, atualização e escala de forma independente. +Ao permitir que diferentes equipes se concentrem em sua própria e pequena parte de uma aplicação maior, você também torna mais fácil para elas trabalharem em suas aplicações sem afetar negativamente o resto da organização. +Embora os microsserviços resolvam muitos problemas, eles também criam sobrecarga operacional — as coisas que você precisa para implantar e acompanhar têm um aumento na ordem de grandeza ou mais. +Muitas [tecnologias nativas da nuvem](/pt-br/cloud-native-tech/) visam tornar os microsserviços mais fáceis de implantar e gerenciar. diff --git a/content/pt-br/monolithic-apps.md b/content/pt-br/monolithic-apps.md new file mode 100644 index 0000000000..83d73a9aba --- /dev/null +++ b/content/pt-br/monolithic-apps.md @@ -0,0 +1,25 @@ +--- +title: Aplicações Monolíticas +status: Completed +category: conceito +tags: ["arquitetura", "", ""] +--- + +## O que é + +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](/microservices/) aumenta sua sobrecarga operacional — existe mais coisas para testar, implantar e executar. +No início do ciclo de vida de um produto, pode ser vantajoso adiar essa complexidade e construir uma aplicação monolítica até que o produto seja determinado como bem-sucedido. + +## Como isso ajuda + +Um monólito bem projetado pode manter os princípios *lean*, sendo a maneira mais simples de colocar uma aplicação em funcionamento. +Quando o valor comercial da aplicação monolítica prova ser bem-sucedido, ela pode ser decomposta em microsserviços. +Desenvolver uma aplicação com base em microsserviços antes que ela tenha se mostrado valiosa pode ser um gasto prematuro de esforço de engenharia. +Se a aplicação não produzir valor, esse esforço se torna desperdiçado. diff --git a/content/pt-br/nodes.md b/content/pt-br/nodes.md index e104d295ca..a63eaef0b0 100644 --- a/content/pt-br/nodes.md +++ b/content/pt-br/nodes.md @@ -2,7 +2,7 @@ title: Nós status: Completed category: conceito -tags: ["arquitetura", "", ""] +tags: ["infraestrutura", "fundamento", ""] --- ## O que é diff --git a/content/pt-br/observability.md b/content/pt-br/observability.md new file mode 100644 index 0000000000..5a33f18482 --- /dev/null +++ b/content/pt-br/observability.md @@ -0,0 +1,24 @@ +--- +title: Observabilidade +status: Completed +category: conceito +tags: ["metodologia", "aplicação", "infraestrutura"] +--- + +## O que é + +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. + +A observabilidade de um sistema tem um impacto significativo em seus custos operacionais e de desenvolvimento. +Sistemas observáveis produzem dados significativos e acionáveis para seus operadores, permitindo que eles obtenham resultados favoráveis (resposta mais rápida a incidentes, aumento da produtividade do desenvolvedor) e menos trabalho e tempo de inatividade. + +## Como isso ajuda + +Entender que mais informações não se traduzem necessariamente em um sistema mais observável é fundamental. +Na verdade, às vezes, a quantidade de informações geradas por um sistema pode dificultar a identificação de sinais valiosos a partir de ruído gerado pela aplicação. +A observabilidade requer os dados certos no momento certo para que o consumidor certo (humano ou software) tome as decisões certas. diff --git a/content/pt-br/platform-as-a-service.md b/content/pt-br/platform-as-a-service.md index a2489f2f78..18e5546183 100644 --- a/content/pt-br/platform-as-a-service.md +++ b/content/pt-br/platform-as-a-service.md @@ -1,8 +1,8 @@ --- title: Plataforma como serviço (PaaS) -status: Completed +status: Deprecated category: tecnologia -tags: ["fundamentos", "plataforma", ""] +tags: ["descontinuado", "", ""] --- ## O que é diff --git a/content/pt-br/portability.md b/content/pt-br/portability.md index 4c5b98cfa5..f4274b8dd0 100644 --- a/content/pt-br/portability.md +++ b/content/pt-br/portability.md @@ -2,7 +2,7 @@ title: Portabilidade status: Completed category: propriedade -tags: ["fundamentos", "", ""] +tags: ["fundamento", "propriedade", ""] --- 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. diff --git a/content/pt-br/reliability.md b/content/pt-br/reliability.md index d40781feba..9d51cfff4b 100644 --- a/content/pt-br/reliability.md +++ b/content/pt-br/reliability.md @@ -2,7 +2,7 @@ title: Confiabilidade status: Completed category: propriedade -tags: ["fundamentos", "", ""] +tags: ["fundamento", "propriedade", ""] --- Do ponto de vista nativo da nuvem, a confiabilidade refere-se ao quão bem um sistema responde a falhas. diff --git a/content/pt-br/scalability.md b/content/pt-br/scalability.md index 90bb936c7e..cf6d741d29 100644 --- a/content/pt-br/scalability.md +++ b/content/pt-br/scalability.md @@ -2,7 +2,7 @@ title: Escalabilidade status: Completed category: propriedade -tags: ["fundamentos", "", ""] +tags: ["fundamento", "propriedade", ""] --- Escalabilidade refere-se ao quão bem um sistema pode crescer. diff --git a/content/pt-br/serverless.md b/content/pt-br/serverless.md index 1ff9e227a5..cb6293b05e 100644 --- a/content/pt-br/serverless.md +++ b/content/pt-br/serverless.md @@ -2,7 +2,7 @@ Title: Serverless Status: Completed Category: tecnologia -tags: ["infraestrutura", "", ""] +tags: ["arquitetura", "", ""] --- ## O que é diff --git a/content/pt-br/service.md b/content/pt-br/service.md index a31add7c14..3e727142ee 100644 --- a/content/pt-br/service.md +++ b/content/pt-br/service.md @@ -2,7 +2,7 @@ title: Serviço status: Completed category: conceito -tags: ["arquitetura", "", ""] +tags: ["aplicação", "fundamento", ""] --- -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](/microservices/). \ No newline at end of file +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](/microservices/). diff --git a/content/pt-br/software-as-a-service.md b/content/pt-br/software-as-a-service.md index 5977ec85dc..d74aa4b0c1 100644 --- a/content/pt-br/software-as-a-service.md +++ b/content/pt-br/software-as-a-service.md @@ -1,8 +1,8 @@ --- Title: Software como Serviço -Status: Completed +Status: Deprecated Category: tecnologia -tags: ["fundamentos", "plataforma", ""] +tags: ["descontinuado", "", ""] --- ## O que é diff --git a/content/pt-br/stateful-apps.md b/content/pt-br/stateful-apps.md index ffb9caeb46..07032e792f 100644 --- a/content/pt-br/stateful-apps.md +++ b/content/pt-br/stateful-apps.md @@ -2,7 +2,7 @@ title: Aplicações Stateful status: Completed category: conceito -tags: ["fundamentos", "", ""] +tags: ["fundamento", "aplicação", ""] --- ## O que é diff --git a/content/pt-br/stateless-apps.md b/content/pt-br/stateless-apps.md index add6fde209..0b48896079 100644 --- a/content/pt-br/stateless-apps.md +++ b/content/pt-br/stateless-apps.md @@ -2,7 +2,7 @@ title: Aplicações Stateless status: Feedback Appreciated category: tecnologia -tags: ["fundamentos", "", ""] +tags: ["fundamento", "aplicação", ""] --- ## O que é diff --git a/content/pt-br/tightly-coupled-architectures.md b/content/pt-br/tightly-coupled-architectures.md index a9ce413378..476b105c0c 100644 --- a/content/pt-br/tightly-coupled-architectures.md +++ b/content/pt-br/tightly-coupled-architectures.md @@ -2,7 +2,7 @@ title: Arquitetura Acoplada status: Completed category: propriedade -tags: ["fundamentos", "", ""] +tags: ["fundamento", "arquitetura", "propriedade"] --- Arquitetura acoplada é um estilo de arquitetura em que vários componentes da aplicação são interdependentes (o paradigma oposto de [arquiteturas desacopladas](/loosely-coupled-architecture/)). 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. diff --git a/content/pt-br/transport-layer-security.md b/content/pt-br/transport-layer-security.md index 3f8edab924..7aa7f484bd 100644 --- a/content/pt-br/transport-layer-security.md +++ b/content/pt-br/transport-layer-security.md @@ -2,7 +2,7 @@ title: TLS status: Completed category: conceito -tags: ["segurança", "", ""] +tags: ["segurança", "rede", ""] --- ## O que é diff --git a/content/pt-br/version-control.md b/content/pt-br/version-control.md index c487d4580f..5ff30a6530 100644 --- a/content/pt-br/version-control.md +++ b/content/pt-br/version-control.md @@ -1,8 +1,8 @@ --- title: Controle de Versão -status: Completed +status: Deprecated category: tecnologia -tags: ["metodologia", "", ""] +tags: ["descontinuado", "", ""] --- ## O que é diff --git a/content/pt-br/virtual-machine.md b/content/pt-br/virtual-machine.md index ddb8d912f0..44a23ba6d4 100644 --- a/content/pt-br/virtual-machine.md +++ b/content/pt-br/virtual-machine.md @@ -2,7 +2,7 @@ title: Máquina Virtual status: Completed category: tecnologia -tags: ["fundamentos", "infraestrutura", ""] +tags: ["fundamento", "infraestrutura", ""] --- ## O que é diff --git a/content/pt-br/virtualization.md b/content/pt-br/virtualization.md index bb00140260..8c37647c1e 100644 --- a/content/pt-br/virtualization.md +++ b/content/pt-br/virtualization.md @@ -2,7 +2,7 @@ title: Virtualização status: completed category: tecnologia -tags: ["fundamentos", "infraestrutura", ""] +tags: ["fundamento", "infraestrutura", "metodologia"] --- ## O que é diff --git a/content/zh-tw/_TEMPLATE.md b/content/zh-tw/_TEMPLATE.md new file mode 100644 index 0000000000..3c7a4437ca --- /dev/null +++ b/content/zh-tw/_TEMPLATE.md @@ -0,0 +1,21 @@ +--- +title: 定義範本 +status: Feedback Appreciated +category: 概念 +--- + +## 是什麼 {#what-it-is} + +快速總結概念及其意義。 + +## 解決的問題 {#problem-it-addresses} + +定義它要解決的問題。理想情況下,甚至不要提及您正在定義的術語。 + +## 如何幫助我們 {#how-it-helps} + +描述該術語如何解決上述問題。 + +## 相關術語 {#related-terms} + +新增相關術語表術語(如果適用的話) diff --git a/content/zh-tw/blue-green-deployment.md b/content/zh-tw/blue-green-deployment.md index 2139ef91bf..a1c09deedf 100644 --- a/content/zh-tw/blue-green-deployment.md +++ b/content/zh-tw/blue-green-deployment.md @@ -24,7 +24,7 @@ tags: ["方法論", "應用程式", ""] 在這樣的情況下,兩者需要同時改變。 如果在正式環境這樣做,客戶會注意到停機時間。 -## 如何幫助 {#how-it-helps} +## 如何幫助我們 {#how-it-helps} 對於需要以最小的停機時間進行更新的非雲端原生軟體來說,藍綠部署是一種適合的方法。 然而,它的使用通常是一種 "警訊",老舊系統需要重新設計,以便可以單獨更新元件。 diff --git a/content/zh-tw/cloud-native-tech.md b/content/zh-tw/cloud-native-tech.md index 59ae528165..bcfb30596f 100644 --- a/content/zh-tw/cloud-native-tech.md +++ b/content/zh-tw/cloud-native-tech.md @@ -8,8 +8,8 @@ tags: ["基本原理", "", ""] ## 什麼是雲端原生技術 {#what-it-is} 雲端原生技術,也稱為雲端原生技術棧,是用於構建[雲端原生應用程式](/zh-tw/cloud-native-apps/)的技術。 -這些技術使組織能夠在現代和動態環境中構建和運行可擴展的應用程式,例如公有、私有和混合雲,同時充分利用[雲計算](/zh-tw/cloud-computing/)的好處。 -它們從頭開始設計,以利用雲計算和容器,服務網格、微服務和不可變基礎設施的能力。 +這些技術使組織能夠在現代和動態環境中構建和運行可擴展的應用程式,例如公有、私有和混合雲,同時充分利用[雲端計算](/zh-tw/cloud-computing/)的好處。 +它們從頭開始設計,以利用雲端計算和容器,服務網格、微服務和不可變基礎設施的能力。 ## 解決的問題 {#problem-it-addresses} diff --git a/content/zh-tw/infrastructure-as-code.md b/content/zh-tw/infrastructure-as-code.md new file mode 100644 index 0000000000..9aaa049e25 --- /dev/null +++ b/content/zh-tw/infrastructure-as-code.md @@ -0,0 +1,23 @@ +--- +title: 基礎設施即程式碼 +status: Completed +category: 概念 +tags: ["基礎設施", "方法論", ""] +--- + +## 是什麼 {#what-it-is} + +基礎設施即程式碼是將基礎設施的定義儲存為一個或多個檔案的做法。 +這取代了人工佈建基礎設施即服務的傳統模型,通常透過 shell 腳本或其他設定工具。 + +## 解決的問題 {#problem-it-addresses} + +以雲端原生方式建立應用程式需要在基礎設施上是可重現且可丟棄的。 +若需要時能夠[擴展](/zh-tw/scalability/)達到自動化且可重複利用的方式,可能的話無需人為干預操作。 +手動建立基礎設施無法滿足[雲端原生應用程式](/zh-tw/cloud-native-apps/)的即時反應能力和擴展需求。 +若手動進行變更基礎設施則不容易進行重現,環境很快就會達到擴展上的限制,並易造成設定錯誤。 + +## 如何幫助我們 {#how-it-helps} + +透過以程式碼來描述伺服器、負載平衡器和子網路等資料中心資源, +此行為使得基礎設施團隊對於所有設定有能夠掌握的單一事實來源,並且也讓團隊能在 [CI](/zh-tw/continuous-integration/)/[CD](/zh-tw/continuous-delivery/) Pipeline 中管理資料中心,得以實作版本控制和部署策略。 diff --git a/content/zh-tw/scalability.md b/content/zh-tw/scalability.md index d44a251b9b..6d450f6a6f 100644 --- a/content/zh-tw/scalability.md +++ b/content/zh-tw/scalability.md @@ -21,4 +21,4 @@ tags: ["基本原理", "屬性", ""] 相比之下, 在[垂直擴展](/zh-tw/vertical-scaling/)中, 單個節點有更強大的功能以執行更多的事務(例如,透過為單個機器添加更多記憶體或 CPU)。 -具備可擴展性的系統能夠輕鬆地進行變更,以滿足使用者的需求。 \ No newline at end of file +具備可擴展性的系統能夠輕鬆地進行變更,以滿足使用者的需求。 diff --git a/content/zh-tw/service-discovery.md b/content/zh-tw/service-discovery.md new file mode 100644 index 0000000000..90380c03f5 --- /dev/null +++ b/content/zh-tw/service-discovery.md @@ -0,0 +1,23 @@ +--- +title: 服務探索 +status: Completed +category: 概念 +tags: ["網路", "", ""] +--- + +## 是什麼 {#what-it-is} + +服務探索是一個尋找可以組成服務之個別實體的過程 +服務探索工具持續追蹤可組成服務的各式節點或端點 + +## 解決的問題 {#problem-it-addresses} + +雲端原生架構是動態並且流動的,意味著它持續在變化 +一個容器化應用程式有可能會在它的生命週期裡多次啟動與停止 +每一次的重新啟動,它都會被配發一個新的IP地址,所以當任一應用程式想要找到此服務時,都需要有工具來取得它的新IP地址資訊 + +## 如何幫助我們 {#how-it-helps} + +服務探索持續追蹤網路內的所有應用程式,當有需要,才可以找到對方 +它提供一個可用來查詢並且可以識別各個服務的常見工具 +服務探索引擎是“類資料庫”工具,因為他儲存了當前有哪些服務以及地址的資訊 diff --git a/content/zh-tw/service.md b/content/zh-tw/service.md new file mode 100644 index 0000000000..6cdbc6ccf4 --- /dev/null +++ b/content/zh-tw/service.md @@ -0,0 +1,12 @@ +--- +title: 服務 +status: Completed +category: 概念 +tags: ["應用程式", "基本原理", ""] +--- + +請注意在 IT 領域中,服務具有多重意義。 +在本定義中,我們將重點放在更傳統的定義:微服務中的服務。 +服務與微服務有何不同,甚至是否不同,都是有細微差別的,而不同的角色也可能產生不同的看法。 +對於宏觀上的定義而言,我們將它們視為相同。 +請參閱[微服務](/zh-tw/microservices/)定義。