[GN#245] 단순한 아키텍처를 옹호하며

2024-03-11 ~ 2024-03-17 사이의 주요 뉴스들

대규모 트래픽을 처리해야 하는 서비스들이 많아지면서 이를 처리하기 위한 복잡한 아키텍처들이 나오게 되었습니다. 그 기술에 대한 다양한 시도가 이어지고 관련된 기사와 경험담들이 공유되면 기술 트렌드가 만들어집니다. 여기저기서 많이 따라 해보지만, 모두가 애초에 그 아키텍처가 필요했던 서비스와 같은 형태를 운영하는 것이 아니므로 나에게 맞지 않는 옷을 입은 것 같이 느껴지고 도입에 실패하는 경우도 많이 발생하게 됩니다. 복잡한 아키텍처단순한 아키텍처를 옹호하는 사람 간에 논쟁이 벌어지기도 하고요. "단순한 아키텍처를 옹호하며" 글은 아프리카를 위한 모바일 뱅킹 서비스를 구축하는 Wave가 2조가 넘는 회사 규모에도 불구하고 단순한 파이썬 모놀리스 CRUD 앱 아키텍처를 따르는 이유를 설명합니다. 가장 중요한 건 단순한 아키텍처로 복잡성을 최소화하며 문제를 해결하여 사용자에게 가치를 제공하는 작업에 엔지니어가 집중할 수 있었다는 것입니다. 사실 정답은 없습니다. 어떤 기술과 아키텍처를 도입해야 한다면, 이것이 정말 우리에게 맞는 것일까를 한 번 더 고민해 보시기 바랍니다.

Git은 필수 개발도구 중 하나가 되었습니다. 회사에 들어가면 바로 써야 하는 도구 중 하나인데, 정작 학교에서도 회사에서도 잘 가르쳐 주지 않는 도구이기도 합니다. 안 배우고 쓰기엔 어려운 도구인데 말이죠. 요즘 대학생이나 초급개발자들은 어떻게 Git을 배우는지도 궁금하네요. 하여튼 이렇게 누구나 다 쓸 것 같은 Git을 우리가 잘 아는 페이스북과 구글은 사용하지 않습니다. "페이스북이 Git을 사용하지 않는 이유" 글은 왜 이렇게 되었는지를 설명합니다. 구글은 2005년에 나온 Git보다 시작이 빨랐기 때문에 자신들만의 버전관리시스템을 활용합니다. (글에는 안 나와 있지만 Piper라고 부르는 자체 VCS가 있습니다). 하지만 페이스북은 Git과 비슷하게 2004년에 시작되었지만 2012년에 Mercurial을 선택하고, 그 위에 자신들만의 커스텀 도구들을 점진적으로 추가했습니다. Mercurial이 Git보다 성능이 뛰어나서가 아니라, Mercurial 유지 보수자들과의 협업이 더 개방적이었기 때문에 선택한 것인데요. "많은 주요 기술적 결정은 기술이 주도하는 것이 아니라 사람이 주도한다"며, 개발 도구 세계에서도 "소통과 친절함"이 중요한 가치라고 이야기합니다. 개발자용 도구를 만들거나 오픈소스를 만드는 사람들에게는 한번 읽어볼 만한 글인 것 같아요.

Adobe에 인수될 뻔했던 Figma는 써본 사람마다 한결같이 칭찬하는 요즘의 개발 트렌드를 잘 반영하는 디자인 도구입니다. 이런 인기는 당연하게도 인프라의 폭발적인 확장을 불러오게 됩니다. "Figma 데이터베이스팀이 100배 규모 확장을 견뎌낸 방법"에서는 Figma의 데이터베이스 팀이 Postgres 스택을 수평적으로 샤딩한 아홉 달간의 여정과 거의 무한한 확장성을 가능하게 한 방법을 이야기합니다. 싱글 인스턴스에서 시작해 캐싱, 읽기 레플리카, 수직 분할로 버텼지만, 끝내는 수평 샤딩으로 전환하는 과정을 아주 상세한 고민과 함께 정리해 두어서 기술적으로도 도움이 되는 글이니 한 번씩 읽어보시길 권해드립니다.

Feedback : 긱뉴스 위클리 어떻게 읽고 계신가요? 의견과 제안 부탁드려요

Show GN - 직접 만드신 오픈소스나, 재직중인 스타트업의 제품/서비스를 소개해주세요

Ask GN - 다양한 질문을 올려주세요.

✓ 사내 커뮤니케이션 도구에 GeekNews Bot을 추가해서 멤버들과 함께 새 글을 받아보세요
ㅤ→ Slack봇, 잔디봇, Teams봇, Discord봇, 구글 챗 봇, Swit 봇
긱뉴스는 RSS로도 구독 가능합니다
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 뉴스레터를 추천해 주세요.


매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.