헤드 퍼스트 소프트웨어 아키텍처 - 효과적인 시스템 설계를 위한 사고법, 연습문제 50개 수록 Head First 시리즈
라주 간디 외 지음, 유동환 외 옮김 / 한빛미디어 / 2025년 9월
평점 :
장바구니담기


"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."




소프트웨어 아키텍처에 관련된 외국 영상 중 인상 깊게 본 것은 빨간 안경테를 쓴 닐 포드 작가님이 설명한 게 기억에 가장 남습니다. ​ 그의 설명은 전통적 고정된 아키텍처 설계를 보다 빅테크 기업들이 고민하는 적응형, 진화형 시스템 설계에 대해 실무 아키텍처 담당자와 개발자의 역할 및 협업 방식에 대해 상세히 알려 줬기 때문입니다. ​ 이후 국내에서 그의 번역서는 한빛미디어를 통해서 읽고 있는데요. ​ 이번 신간은 헤드 퍼스트 소프트웨어 아키텍처로 돌아왔습니다. ​ 책은 기존의 책들과 결이 조금 다릅니다. 딱딱한 학교 수업의 교재는 아닙니다. ​ 헤드 퍼스트 시리즈 자체의 미국 개발자 유머가 녹여져 소프트웨어 아키텍처에 대해 쉽게 풀어쓴 책입니다. ​ 그럼 기억에 남는 2가지를 자세히 알아보도록 하겠습니다.




1) 소프트웨어 아키텍처란?

국내에서는 아파트가 붐이라 집을 짓는 일에 대해서 공감이 가지 않을 수 있습니다. 다만 집을 리모델링 하는 관점으로 아키텍처를 바라 보면 좋은데요. 이때 건축 계획은 집의 구조를 정의하는 일부터 시작합니다. 예를 들어 침실, 욕실 등을 나누듯이 말이죠. ​ 그럼 소프트웨어 아키텍처도 마찬가지로 소프트웨어 구조를 정의 합니다. 보통 이걸 다이어 그램을 통해서 사용자 인터페이스, 데이터베이스 테이블, 통신프로토콜(API 등)을 작성합니다. 결국 작성하다가 보면은 확장성, 테스트 용이성, 가용성 등을 고민하게 될 것입니다.




2) 아키텍처 변천사

소프트웨어 아키텍처는 시스템의 규모와 비즈니스 변화에 맞춰 꾸준히 발전해왔습니다. 초기에는 대부분 레이어드 아키텍처를 사용했습니다. 사용자 인터페이스, 비즈니스 로직, 데이터 접근 등 역할별로 구분해 개발하는 방식으로 구조가 단순하고 이해하기 쉬워 소규모 시스템에 적합합니다. ​ 하지만 시스템이 커지고 변화가 빨라지면서 일부 기능을 수정할 때 전체에 영향을 주는 문제가 생겨 유지 보수가 어려워졌습니다. 이 한계를 보완하기 위해 모듈러 모놀리드 아키텍처가 등장했는데요. 시스템을 도메인이나 기능 단위로 나누어 각 영역을 독립된 모듈처럼 관리하는 방식입니다. ​ 덕분에 유지보수와 확장이 쉬워졌지만, 여전히 전체를 한 번에 배포해야 한다는 제약은 남았습니다. 이를 근본적으로 해결한 것이 마이크로서비스 아키텍처입니다. 시스템을 완전히 독립적인 여러 서비스로 분리해 각 서비스가 개별적으로 배포, 확장, 운영되도록 한 구조입니다. ​ 다만 대규모 시스템에서 유연성과 확장성이 뛰어나지만, 서비스 간 통신과 데이터 일관성 관리 같은 새로운 과제도 생겼죠. ​ 결국 소프트웨어 아키텍처의 발전은 시스템 복잡성 증가와 빠른 변화에 대응하기 위한 자연스러운 진화 과정이라고 볼 수 있습니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo