Entendendo Vcs Centralizado E Distribuido
Essa é outra daquelas perguntinhas marotas de entrevistas, bora entender isso direitinho para responder com segurança!
VCS?
VCS significa version control system, ou sistema de controle de versões.
O GIT é o mais famoso hoje, o qual faz parte do grupo dos distribuídos.
Mas qual a diferença entre sistemas centralizados e distribuídos?
VSC Centralizado
O sistema centralizado, como o nome diz tem um servidor ou serviço central e funciona na arquitetura cliente/servidor. Este servidor tem todas as versões do código.
Para trabalhar em um projeto você precisa instalar o cliente e fazer o download de todo o código e sempre vai depender do servidor para gravar suas modificações, se ele não estiver no ar você não consegue fazer seus commits, e isso te impede de trabalhar.
A dependência do serviço no ar para trabalhar por si só já é algo que pode incomodar, além disso, temos um problema maior ainda, uma vez que todo o código está no servidor, perdeu o servidor, perdeu o código e aí ninguém trabalha mesmo.
Em resumo, se o servidor estiver fora, ninguém faz nada.
Os VCS centralizados podem até ser mais simples de instalar, manter e usar, mas o risco de um ponto único de falha é muito grande para assumir hoje em dia.
Exemplos de sistemas centralizados:
- SVN
- CVS
- Perforce
VCS Distribuído
No VCS distribuído todo mundo tem a cópia do software em sua máquina, pode trabalhar localmente e depois enviar e integrar seu código em um repositório intermediário usado para isso, no caso do GIT chamamos esse locais de remotes.
Como todo mundo tem o código, temos múltiplos backups e caso o repositório de alguém se corrompa, podemos facilmente pegar a cópia de outro desenvolvedor e seguir trabalhando.
Como temos uma cópia local, podemos trabalhar offline e depois enviar e integrar o código com dos nossos colegas, e saiba que trabalhar local é bem mais rápido.
A criação de branchs é rápida e objetiva pq é tudo local e não precisa contatar um servidor central toda a vez que for criar uma branch.
A única coisa que precisa ficar claro é a curva de aprendizado pode ser maior do que sistemas mais simples e centralizados, contudo, o poder, a flexibilidade, a segurança e a velocidade de trabalhar superam esse detalhe.
Exemplos de sistemas centralizados:
- GIT
- Mercurial
- Bazaar
Amarrando as pontas
Hoje o GIT se tornou padrão do mercado, todo mundo usa, conhece e sabe trabalhar, contudo, não é incomum encontrar empresas usando Mercurial o segundo mais popular entre os distribuídos.
Espero que tenha te ajudado a entender a diferença :)
[s]
Guto
—
Este post é do tipo #MindNotes, entenda aqui.
Se gostou manda um alo no twitter @gutocarvalho.
Gostou do conteúdo?
Você também me encontra nessas redes!
Mastodon
PixelFed
Lemmy
WriteFreely
@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog
Bookwyrm
Peertube
Friendica
Quer saber mais sobre mim?
Visite meus sites!
E meus blogs:
- https://blogs.gutocarvalho.net
- https://blogs.gutocarvalho.net/falagutera
- https://blogs.gutocarvalho.net/infra
- https://blogs.gutocarvalho.net/opiniao
- https://blogs.gutocarvalho.net/contos
- https://blogs.gutocarvalho.net/poesias
- https://blogs.gutocarvalho.net/lives
- https://blogs.gutocarvalho.net/orixas
- https://blogs.gutocarvalho.net/archives
Conhece o Coletivo Bolha?
Então vem conhecer o bolha.io ou bolhaverso!
- fediverso
- mastodon, https://bolha.us
- pixelfed, https://bolha.photos
- lemmy, https://bolha.forum
- bookwyrnm, https://bolha.review
- writefreely, https://bolha.blog
- peertube, https://bolha.tube
- castopod, https://bolha.studio
- owncast, https://bolha.stream
- friendica, https://bolha.network
- chat
- mattermost, https://mattermost.bolha.chat
- zulip, https://zulip.bolha.chat
- vídeo
- jitsi, https://bolha.video
- jitsi, https://bolha.video
- frontends
- lingva, https://translate.bolha.tools
- libremdb, https://libremdb.bolha.tools
- translations
- libretranslate, https://libretranslate.bolha.tools
- editors
- hedgedoc, https://notes.bolha.tools
- draw.io, https://draw.bolha.tools
- excalidraw, https://excalidraw.bolha.tools
- pdf stirling, https://spdf.bolha.tools
- wisemaping, https://mindmap.bolha.tools
- mermaid, https://mermaid.bolha.tools
- cryptpad, https://cryptad.bolha.tools
- secrets sharing
- yopass, https://yopass.bolha.tools
- password pusher, https://pusher.bolha.tools
- pastbin
- yabin, https://yabin.bolha.tools
- terminal recorder
- ascinnema, https://ascinemma.bolha.tools
- anti paywall
- 13ft, https://open.bolha.tools
Nós temos muito mais para compartilhar contigo!
Quer apoiar nosso trabalho? Você pode!
- https://www.patreon.com/bolha
- https://apoia.se/bolha
- pix@bolha.us
Te vejo no mastodon da bolha.us!
[s]