Skip to content

Commit

Permalink
[Portuguese] Update tightly coupled architecture and microservices ar…
Browse files Browse the repository at this point in the history
…chitecture (#3234)

Signed-off-by: Camilo Santana Melgaço <[email protected]>
  • Loading branch information
camilosm authored Jul 28, 2024
1 parent 893e64a commit 9bfb67d
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 41 deletions.
34 changes: 34 additions & 0 deletions content/pt-br/microservices-architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: Arquitetura de Microsserviços
status: completo
category: conceito
tags: ["arquitetura", "fundamento"]
---

Uma arquitetura de microsserviços é uma abordagem arquitetural que divide aplicações em (micro)[serviços](/pt-br/service/) individuais independentes, sendo cada serviço focado em um aspecto específico.
Esses serviços trabalham juntos de perto, dando ao usuário final a impressão de que são uma única entidade.
Considere a Netflix como exemplo.
Sua interface te permite acessar, buscar e pré-visualizar vídeos.
Essas funcionalidades são provavelmente alimentadas por serviços menores, cada um lidando com uma delas, e.g., autenticação, busca, e pré-visualização no seu navegador.

Essa abordagem arquitetural permite que desenvolvedores entreguem atualizações ou novas funcionalidades muito mais rápido do que se fosse tudo fortemente acoplado, como em uma [aplicação monolítica](/pt-br/monolithic-apps/) (mais sobre isso abaixo).

## Problema relacionado

Aplicações são constituídas de diferentes partes, cada uma responsável por um aspecto específico.
Demanda por uma funcionalidade particular não vai necessariamente aumentar ou diminuir junto com a demanda por outras partes da aplicação.
Voltando ao exemplo da Netflix.
Digamos que após uma grande campanha de publicidade, a Netflix tenha um grande pico de assinaturas, mas a transmissão continuou aproximadamente estável nas primeiras horas do dia.
O aumento repentino de assinaturas demanda mais capacidade de assinaturas.
Tradicionalmente (abordagem monolítica), a aplicação inteira precisaria ser escalada para acomodar o aumento - um uso muito ineficiente de recursos.

Arquiteturas monolíticas também facilitam para que os desenvolvedores sucumbam às armadilhas do projeto.
Como todo o código está em um só lugar, é mais fácil tornar esse código [fortemente acoplado](/pt-br/tightly-coupled-architecture/) 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 de fazer qualquer alteração.

## Como isso ajuda

Separar funcionalidades em diferentes microsserviços facilita a implantação, atualização e escala de forma independente.
Também permite que times diferentes trabalhem simultaneamente em pequenas partes de uma aplicação maior sem impactar negativamente e inadvertidamente o resto da aplicação.
Embora uma arquitetura de microsserviços resolva muitos problemas, ela também cria sobrecarga operacional — as coisas que você precisa para implantar e acompanhar aumentam em ordem de magnitude.
Muitas [tecnologias nativas de nuvem](/pt-br/cloud-native-tech/) visam tornar microsserviços mais fáceis de implantar e gerenciar.
30 changes: 0 additions & 30 deletions content/pt-br/microservices.md

This file was deleted.

15 changes: 15 additions & 0 deletions content/pt-br/tightly-coupled-architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Arquitetura Fortemente Acoplada
status: completo
category: propriedade
tags: ["fundamento", "arquitetura", "propriedade"]
---

Arquitetura fortemente acoplada é um estilo arquitetural 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 mais desacoplada, mas pode deixar um sistema mais vulnerável a falhas em cascata.
Esse estilo de arquitetura também tende a exigir implantações coordenadas de componentes, o que pode se tornar um obstáculo para a produtividade do desenvolvedor.

Arquiteturas fortemente acopladas são uma maneira bastante tradicional de criar aplicações.
Embora não sejam necessariamente consistentes com todas as melhores práticas de desenvolvimento de [microsserviços](/pt-br/microservices-architecture/), elas podem ser úteis em circunstâncias específicas.
Elas tendem a ser mais rápidas e simples de implementar e, assim como [aplicações monolíticas](/pt-br/monolithic-apps/), elas podem acelerar o ciclo inicial de desenvolvimento.
11 changes: 0 additions & 11 deletions content/pt-br/tightly-coupled-architectures.md

This file was deleted.

0 comments on commit 9bfb67d

Please sign in to comment.