이미 소장하고 있다면 판매해 보세요.
|
1부 시스템 설계 기초
1장 시스템 설계의 기본 1.1 시스템 설계의 정의 1.2 시스템 설계의 다양한 유형 1.3 업계에서 시스템 설계가 갖는 중요성 1.4 시스템 설계의 중요성을 엿볼 수 있는 실제 사례 1.5 요약 2장 분산 시스템의 속성 2.1 호텔 객실 예약 시스템으로 살펴보는 분산 시스템 예시 2.2 일관성 2.3 가용성 2.4 파티션 허용성 2.5 지연 시간 2.6 내구성 2.7 신뢰성 2.8 장애 허용성 2.9 확장성 2.10 요약 3장 분산 시스템의 이론과 데이터 구조 3.1 CAP 정리 3.2 PACELC 정리 3.3 비잔티움 장군 문제 3.4 FLP 불가능성 정리 3.5 일관된 해싱 3.6 블룸 필터 3.7 카운트-민 스케치 3.8 하이퍼로그로그 3.9 요약 2부 분산 시스템의 핵심 구성 요소 4장 분산 시스템의 기본 요소: DNS, 로드 밸런서, 애플리케이션 게이트웨이 4.1 DNS 이해 4.1.1 DNS 쿼리 4.2 DNS의 확장성, 신뢰성, 일관성 4.3 로드 밸런서 4.4 애플리케이션 게이트웨이 4.5 마이크로서비스 아키텍처 4.6 클라우드 네이티브 애플리케이션 게이트웨이 서비스 개요 4.7 온프레미스 옵션 4.8 요약 5장 시스템 구성 요소의 설계 및 구현: 데이터베이스와 스토리지 5.1 데이터베이스 5.2 키-값 저장소 5.3 확장성과 데이터 복제의 최적화 5.4 get 및 put 함수 구현 5.5 키-값 저장소의 장애 허용성과 장애 식별 5.6 시스템 설계 인터뷰: 키-값 저장소 설계 관련 질문과 전략 5.7 DynamoDB 5.8 컬럼 패밀리 데이터베이스 5.9 HBase 5.10 그래프 기반 데이터베이스 5.11 Neo4j 그래프 데이터베이스 5.11.1 Neo4j 자세히 살펴보기 5.12 관계형 모델링과 그래프 모델링 5.13 요약 5.14 참고 자료 6장 분산 캐싱 6.1 캐싱 정의 6.2 분산 캐시 설계 6.3 대표적인 분산 캐시 솔루션 6.4 요약 7장 발행/구독과 분산 큐 7.1 분산 시스템의 발전 과정 7.2 발행/구독 시스템 설계 7.3 카프카 7.4 카프카 스트림 7.5 키네시스 7.6 요약 3부 시스템 설계 실전으로 들어가기 8장 시스템 구성 요소 설계 및 구현: API, 보안, 메트릭 8.1 REST API 8.2 gRPC API 8.3 REST와 gRPC 비교 8.4 API 보안 8.5 분산 시스템 로깅 8.6 분산 시스템에서 메트릭 8.7 분산 시스템에서 알림 8.8 분산 시스템에서 트레이싱 8.9 요약 9장 URL 단축 서비스 설계 9.1 실제 활용 사례 9.2 API 설계 9.3 계산으로 문제 규모 파악 9.4 시스템 설계 9.5 요구 사항 검토 9.6 요약 10장 근접 서비스 설계 10.1 실제 활용 사례 10.2 API 설계 10.3 계산으로 문제 규모 파악 10.4 시스템 설계 10.5 요구 사항 검토 10.6 요약 11장 X 서비스 설계 11.1 기능적 요구 사항 11.2 비기능적 요구 사항 11.3 데이터 모델 11.4 시스템 규모 산정 11.5 고수준 설계 탐구 11.6 트윗 서비스 설계 11.7 사용자 서비스 설계 11.8 타임라인 서비스 세부 설계 11.9 검색 서비스 세부 설계 11.10 기타 고려 사항 11.11 요약 12장 인스타그램 서비스 설계 12.1 기능적 요구 사항 12.2 비기능적 요구 사항 12.3 데이터 모델 설계 12.4 시스템 규모 산정 12.5 고수준 설계 12.6 서비스 세부 설계 12.7 기타 고려 사항 12.8 요약 13장 구글 독스 서비스 설계 13.1 기능적 요구 사항 13.2 비기능적 요구 사항 13.3 데이터 모델 13.4 시스템 규모 산정 13.5 고수준 설계 13.6 마이크로서비스 세부 설계 13.7 기타 검토 사항 및 모범 사례 13.8 요약 14장 넷플릭스 서비스 설계 14.1 기능적 요구 사항 14.2 비기능적 요구 사항 14.3 데이터 모델 14.4 시스템 규모 산정 14.5 고수준 설계 14.6 서비스 세부 설계 14.7 CDN 14.8 요약 15장 시스템 설계 면접 준비를 위한 팁 15.1 시스템 설계 면접을 준비하는 방법 15.2 시스템 설계 면접을 위한 팁 15.3 요약 16장 시스템 설계 커닝 페이퍼 16.1 시스템 설계 면접에서는 어떤 구조를 기반으로 대답해야 할까? 16.2 사용 사례별로 어떤 데이터 저장소를 사용해야 할까? 16.3 사용 사례별로 어떤 데이터 구조를 선택해야 할까? 16.4 사용 사례별로 어떤 컴포넌트를 사용해야 할까? 16.5 사용 사례별로 어떤 프로토콜을 사용해야 할까? 16.6 사용 사례별로 어떤 솔루션을 적용해야 할까? 16.7 요약 |
|
애플 인공지능 시리(Siri)가 2011년에 처음 세상에 나왔으니, 올해로 벌써 열세 살입니다. 당시 시사IN 뉴스 기사 중 눈에 띈 제목 하나가 있습니다. “시리, 너무 똑똑해진 거 아냐?” 그 시절, 인공지능의 혁신적인 시대가 열린다고 기대에 찬 목소리를 냈던 사람이 많았던 것으로 기억합니다. 하지만 그때의 시리는 음성 명령으로 몇 가지 기능만 수행할 수 있는 수준에 그쳤기 때문에 인공지능으로 보기에는 부족하다는 시각도 있었습니다.
오늘날 인공지능은 어떻게 바뀌었을까요? 2025년 3월, 한국경제에 실린 기사 제목입니다. “세계 최초 100% AI 신문 나왔다…‘인간 기자는 질문 입력만’.” 참으로 장족의 발전이 아닐 수 없습니다. IT 산업군은 더합니다. 2025년 5월에는 구글의 영상 생성 AI인 Veo3가 새롭게 출시되었는데, 그 성능은 놀랍기만 합니다. 이미지를 하나 넣어 주면 그 이미지에 맞는 자연스러운 영상을 스스로 만들어 내는데, 데모 영상을 보면 그 결과물이 너무 자연스러워 오히려 믿기 힘들 정도입니다. 이제 AI는 우리 삶 깊숙이 뿌리내렸다고 해도 과언이 아닙니다. AI 발전은 채용 시장에도 큰 변화를 일으켰습니다. 단순 반복 업무는 자동화되고, 기업은 점점 더 복잡한 시스템을 설계하고 운영할 수 있는 사람을 원하게 되었습니다. 개발자에게는 단지 코드를 잘 짜는 능력뿐만 아니라, 대규모 서비스를 안정적이고 유연하게 만드는 구조적 이해와 판단력이 요구됩니다. 바로 그런 맥락에서 이 책은 오늘날 개발자라면 반드시 익혀야 할 내용을 다룹니다. 실무에서 마주칠 수 있는 다양한 설계 과제를 바탕으로 구성되어 있어 단순한 개념 소개를 넘어 실질적인 문제 해결 능력을 키울 수 있도록 돕습니다. 단순한 이론서가 아니라 기술 본질을 꿰뚫는 통찰을 전해 주는 책으로 읽어 주길 바랍니다. 이제는 개발 직군에서도 “코딩 테스트보다 포트폴리오와 협업 능력을 더 중시합니다.”라는 말을 심심찮게 들을 수 있습니다. 실력과 경험은 물론, 얼마나 효율적으로 일할 수 있는지 평가하는 기준이 더 정교해졌기 때문입니다. 그리고 그 중심에는 바로 ‘시스템 설계 역량’이 있습니다. 규모가 크든 작든 좋은 제품을 만들려면 설계에 대한 깊은 이해와 고민이 필수이기 때문입니다. 처음부터 끝까지 단숨에 읽어 내려가는 책이라기보다는 한 장 한 장 곱씹으며 읽을수록 깊이가 더해지는 책입니다. 저자가 쓴 문장을 따라가다 보면 어느새 여러분 스스로도 복잡한 시스템을 꿰뚫는 눈을 갖게 되리라 믿습니다. 한 번에 다 이해하지 않아도 괜찮습니다. 한 번 보고, 다시 보고, 필요할 때마다 돌아와 곱씹어 읽어 주세요. 그럴수록 이 책은 더 많은 것을 들려줄 겁니다. --- 「옮긴이의 말」 중에서 |
|
잘 나가는 서비스는 이렇게 만든다
기초 개념부터 실전 아키텍처 설계, 빅테크 면접까지 한 권으로! 개발자라면 꼭 알아야 할 시스템 설계의 정석 이 책은 시스템 설계를 위한 입문서로, 시스템 설계 전반에 대한 길잡이가 되어주는 것을 목표로 한다. 분산 시스템의 기초 이론부터 CAP 정리, 블룸 필터 등 핵심 알고리즘까지 다루며 탄탄한 이론적 토대를 제공한다. ‘시스템 설계 기초 → 분산 시스템 이론 → 핵심 구성 요소 → 실제 서비스 설계 → 면접 대비 팁’이라는 선형적이고 효율적인 순서로 개념과 실무를 동시에 학습하게 도와주며 동시에 면접 답변력과 이해도 강화에도 도움을 준다. X, 인스타그램, 구글 독스, 넷플릭스 등 실제 사례로 배우는 시스템 이 책의 강점은 다음과 같다. 첫째, 시스템 설계 단계를 하나씩 따라가며 실제 환경에서 시스템 설계 원칙이 어떻게 쓰이는지 체득한다. 둘째, X(트위터), 인스타그램, 구글 독스, 넷플릭스 등 실생활에서 자주 접하는 유명한 서비스를 예시로 들어 기능적 요구 사항부터 시스템 규모 산정, 사용자 서비스 설계까지 모두 배운다. 셋째, 다양한 그림과 도표 자료, 역자의 비유로 초보자도 쉽게 이해할 수 있다. 단순한 코드 작성자에서 벗어나 시스템 설계자로 성장하고 싶은 개발자라면 핵심 개념부터 실전 사례까지 모두 담긴 이 책과 함께 한 단계 성장해 보자 |
|
무엇보다도 이 책이 특별한 이유는 개념 설명에만 머무르지 않고 실제 서비스 설계 과정을 단계별로 다루고 있다는 점입니다. 기능적·비기능적 요구 사항 정의, 트래픽 추정과 시스템 규모 산정, API 설계, 다이어그램 작성 등 실무에서 반드시 고려해야 할 요소를 종합적으로 보여 줍니다. 처음 시스템 설계 공부를 시작하는 개발자뿐만 아니라, 실무에서 더 깊이 있는 이해를 하고 싶은 개발자에게도 큰 도움이 될 만한 책입니다. 기초부터 실무 적용까지 넓고 깊게 다루고 있는 만큼, 시스템 설계에 관심이 있는 모든 개발자에게 강력히 추천합니다. - 임재곤 (CJ ENM 백엔드 개발자)
|
|
최근 LLM 기반 신규 서비스가 잇따라 출시되면서 효율적인 시스템 아키텍처 설계의 중요성이 다시금 주목받고 있습니다. LLM 서비스를 최적화하려면 신뢰성, 레이턴시, 확장성, 인프라 비용 등 여러 요소를 종합적으로 고려해야 하는데, 이 책은 바로 그 핵심 개념들을 알기 쉽게 설명해 줍니다. 시스템 설계의 기본부터 작동 원리까지 차근차근 풀어내며, 실제 사례와 다이어그램으로 복잡한 내용을 명확하게 이해할 수 있어 서버 개발자나 시스템 아키텍트를 꿈꾸는 사람에게 특히 추천합니다. - 성민지 (마이크로소프트 기술전략 팀)
|
|
이 책은 시스템 설계 개념을 최대한 쉽게 이해할 수 있도록 세심하게 구성되어 있습니다. 책 곳곳에서 저자의 이런 노력이 고스란히 드러나며, 특히 영어로 된 전문 용어를 하나하나 한국어로 풀어 설명해 주는 점이 매우 인상적이었습니다. 이 책을 대학생 고학년에게도 추천하고 싶습니다. 이 책으로 좀 더 시야를 넓혀 시스템 설계에 접근할 수 있을 것입니다. - 추상원 (GOTROOT Pentester)
|
|
『요즘 개발자를 위한 시스템 설계 수업』은 시스템 설계의 기본 원리부터 분산 시스템, 데이터베이스, 캐시, 큐, 보안까지 체계적으로 다루고 있어 실무와 면접 준비 모두에 큰 도움이 됩니다. 복잡한 개념을 사례와 함께 설명하여 이해하기 쉽게 풀어냈으며, 다양한 실제 서비스 사례를 들어 트레이드오프와 설계 사고를 훈련할 수 있다는 점은 인상적이었습니다. 시스템 설계에 입문하는 개발자뿐 아니라 커리어 확장을 원하는 엔지니어에게도 유용한 가이드가 될 것입니다. - 이석곤 (㈜아이알컴퍼니 부설연구소 수석)
|
|
시스템 설계를 하다 보면 모든 요구 사항을 충족시키는 것이 정석이지만, 현실적으로는 여러 가지 어려운 부분에 직면하여 전부를 충족하는 것은 불가능합니다. 그래서 아키텍처를 분석하고 평가하는 능력이 굉장히 중요합니다. 이 책은 성능 최적화를 위한 분산 트레이싱, 시스템 용량 산정 등을 자세히 다루고 있어 시스템 개발에 큰 도움을 줍니다. 오늘도 수많은 요구 사항 앞에서 씨름하고 있는 모든 아키텍트에게 이 책을 추천합니다. - 박경호 (엘에스일렉트릭)
|
|
최근 화두가 되고 있는 대규모 서비스 운용에 필요한 전반적인 시스템의 구조 및 동작에 필요한 기본적인 지식이 담겨 있습니다. 내용에 이해를 도울 도식화 자료와 간단한 예시가 잘 어울러져 다양한 서비스에 대응할 수 있는 시스템 기초 지식부터 쌓고자 간단하게 해당 내용을 복습할 사람에게는 좋은 가이드를 제공할 것입니다. - 강찬석 (LG전자 소프트웨어 엔지니어)
|