상세정보
이 책은 소프트웨어 개발의 청사진이 되는 소프트웨어 아키텍처 설계에 대한 방법을 실용주의 관점에서 다룹니다. 어려운 이론적이고 학문적인 지식을 단순 소개하는 것이 아니라 실무에서 직접 겪고 다듬어온 아키텍처 설계 방법론과 근래에 많은 대용량 시스템 설계에 근간이 되는 SOA (서비스 지향 아키텍처), 마이크로 서비스 아키텍처, 그리고 API 설계를 위한 REST, 빅데이터 분석을 위한 람다 아키텍처 등을 소개하고 있습니다.
이러한 사상을 기반으로 실제로 어떤 솔루션을 조합하여 대용량 분산 시스템의 아키텍처를 설계하는지에 대한 가이드를 담고 있으며, 마지막으로 서버 시스템에서 가장 중요한 성능 튜닝에 대한 기법을 성능 이론과 함께 자바 기반 시스템을 중심으로 상세하게 소개하고 있습니다.
모쪼록 이 책이 서버 시스템에 대한 어느 정도 틀을 갖추어 나가는 개발자와 아키텍트를 지향하는 분들께 하나의 방향을 제시할 수 있는 기회가 되었으면 합니다.
이러한 사상을 기반으로 실제로 어떤 솔루션을 조합하여 대용량 분산 시스템의 아키텍처를 설계하는지에 대한 가이드를 담고 있으며, 마지막으로 서버 시스템에서 가장 중요한 성능 튜닝에 대한 기법을 성능 이론과 함께 자바 기반 시스템을 중심으로 상세하게 소개하고 있습니다.
모쪼록 이 책이 서버 시스템에 대한 어느 정도 틀을 갖추어 나가는 개발자와 아키텍트를 지향하는 분들께 하나의 방향을 제시할 수 있는 기회가 되었으면 합니다.
Part_01 아키텍처 설계 방법
Chapter 01 소프트웨어 아키텍처의 설계
__1. 아키텍처란 무엇인가?
__2. 아키텍처 설계 프로세스
__3. 비즈니스 아키텍처 설계
__4. 아키텍처 설계 원칙의 정의
__5. 시스템 아키텍처 설계
__■애자일에 문서화가 필요한가?
__6. 아키텍처 결정 프로세스
__7. 효과적인 아키텍트의 역할과 종류
__■인도네시아 컨설팅을 다녀와서
Part_02 레퍼런스 아키텍처
Chapter 02 SOA
__1. SOA의 기본 개념
__2. SOA에서 서비스의 정의
__3. SOA 아키텍처 모델
__4. SOA 아키텍처 모델의 구현
__5. SOA 수행 방법론
Chapter 03마이크로 서비스 아키텍처
__1. 모노리틱 아키텍처
__2. 마이크로 서비스 아키텍처
__3. 마이크로 서비스 아키텍처의 문제점
__4. 거버넌스 모델
__5. 진화형 모델(Evolutionary Model)
__6. SOA와 비교
__■Domain Driven Development: Modeling
__[칼럼] DevOps
__1. 기존 개발 체계의 문제점
__2. 그러면 해결책은?
__3. 이 좋은 개념을 왜 이제야?
__4. DevOps
Chapter 04 REST의 이해와 설계
__1. REST의 기본
__2. REST API 디자인 가이드
__■인터넷의 정보 유통 구조의 변화
__3. REST의 문제점
__4. REST API 보안
__■ 뉴타입을 요구하는 클라우드, 오픈소스 그리고 빅데이터 과학자
Chapter 05 대용량 실시간 데이터 처리를 위한 람다 아키텍처
__1. 람다 아키텍처란
__2. 람다 아키텍처 활용
__3. 람다 아키텍처의 재구성
__■빅데이터 팀을 이루는 데 필요한 3가지
Part_03 대용량 아키텍처
Chapter 06 대용량 서비스 레퍼런스 아키텍처
__1. 시스템 구조
__2. Access Layer
__3. Business Layer
__■요즘 잘나가는 SNS 서비스들의 기술적인 특징
__4. Persistent Layer
__5. Analysis Layer
__6. OAM Layer
__7. 클라우드 인프라
__8. 글로벌 서비스 아키텍처
__■아키텍트에 대해서
Chapter 07 NoSQL
__1. NoSQL의 등장 배경
__2. NoSQL의 특징
__3. CAP 이론
__4. NoSQL의 분류
__5. NoSQL 제품별 선호도
__6. NoSQL과 기존 RDBMS와의 차이
__7. NoSQL 사용 시 주의할 점
__8. NoSQL 데이터 모델링
__■외국 컨설턴트와 한국 컨설턴트
Part_04 성능 엔지니어링
Chapter 08 성능 엔지니어링의 정의와 범위
__1. 성능 엔지니어링은 언제 해야 하는가?
__2. 시스템 용량 산정
__3. 성능 엔지니어링의 절차
__4. 성능 엔지니어링을 위해 필요한 것들
Chapter 09 JVM과 톰캣 튜닝
__1. JVM 튜닝
__2. 톰캣 튜닝
Chapter 10 애플리케이션 서버의 병목 발견 방법
__1. Hang up과 Slow down 현상의 정의
__2. 애플리케이션 서버와 User AP에서의 Slow down 분석
__■업그레이드된 개발자 되기
찾아보기
Chapter 01 소프트웨어 아키텍처의 설계
__1. 아키텍처란 무엇인가?
__2. 아키텍처 설계 프로세스
__3. 비즈니스 아키텍처 설계
__4. 아키텍처 설계 원칙의 정의
__5. 시스템 아키텍처 설계
__■애자일에 문서화가 필요한가?
__6. 아키텍처 결정 프로세스
__7. 효과적인 아키텍트의 역할과 종류
__■인도네시아 컨설팅을 다녀와서
Part_02 레퍼런스 아키텍처
Chapter 02 SOA
__1. SOA의 기본 개념
__2. SOA에서 서비스의 정의
__3. SOA 아키텍처 모델
__4. SOA 아키텍처 모델의 구현
__5. SOA 수행 방법론
Chapter 03마이크로 서비스 아키텍처
__1. 모노리틱 아키텍처
__2. 마이크로 서비스 아키텍처
__3. 마이크로 서비스 아키텍처의 문제점
__4. 거버넌스 모델
__5. 진화형 모델(Evolutionary Model)
__6. SOA와 비교
__■Domain Driven Development: Modeling
__[칼럼] DevOps
__1. 기존 개발 체계의 문제점
__2. 그러면 해결책은?
__3. 이 좋은 개념을 왜 이제야?
__4. DevOps
Chapter 04 REST의 이해와 설계
__1. REST의 기본
__2. REST API 디자인 가이드
__■인터넷의 정보 유통 구조의 변화
__3. REST의 문제점
__4. REST API 보안
__■ 뉴타입을 요구하는 클라우드, 오픈소스 그리고 빅데이터 과학자
Chapter 05 대용량 실시간 데이터 처리를 위한 람다 아키텍처
__1. 람다 아키텍처란
__2. 람다 아키텍처 활용
__3. 람다 아키텍처의 재구성
__■빅데이터 팀을 이루는 데 필요한 3가지
Part_03 대용량 아키텍처
Chapter 06 대용량 서비스 레퍼런스 아키텍처
__1. 시스템 구조
__2. Access Layer
__3. Business Layer
__■요즘 잘나가는 SNS 서비스들의 기술적인 특징
__4. Persistent Layer
__5. Analysis Layer
__6. OAM Layer
__7. 클라우드 인프라
__8. 글로벌 서비스 아키텍처
__■아키텍트에 대해서
Chapter 07 NoSQL
__1. NoSQL의 등장 배경
__2. NoSQL의 특징
__3. CAP 이론
__4. NoSQL의 분류
__5. NoSQL 제품별 선호도
__6. NoSQL과 기존 RDBMS와의 차이
__7. NoSQL 사용 시 주의할 점
__8. NoSQL 데이터 모델링
__■외국 컨설턴트와 한국 컨설턴트
Part_04 성능 엔지니어링
Chapter 08 성능 엔지니어링의 정의와 범위
__1. 성능 엔지니어링은 언제 해야 하는가?
__2. 시스템 용량 산정
__3. 성능 엔지니어링의 절차
__4. 성능 엔지니어링을 위해 필요한 것들
Chapter 09 JVM과 톰캣 튜닝
__1. JVM 튜닝
__2. 톰캣 튜닝
Chapter 10 애플리케이션 서버의 병목 발견 방법
__1. Hang up과 Slow down 현상의 정의
__2. 애플리케이션 서버와 User AP에서의 Slow down 분석
__■업그레이드된 개발자 되기
찾아보기
조병욱 (조대협)
약 17년간 서버 사이드 기술에 대한 개발, 컨설팅, 장애 지원, 튜닝, 전략 수립, 아키텍처 설계, 조직 운영 등 다양한 경험을 했으며 항상 기술에 관심이 있고, 개발을 좋아하는 평범한 월급쟁이이자 한 여자의 남편, 두 딸의 아빠이다.
(전) BEA 시스템즈 코리아 웹로직 기술 지원 엔지니어
(전) 한국 오라클 컨설턴트
(전) 마이크로소프트 아키텍트
(현) 삼성전자 무선사업부 아키텍트
(전) 한국 자바 개발자 협의회 JCO 부회장
(전) 자바 스터디 사이트 시솝
(전) 천리안 자바 동호회 시솝
조대협의 블로그 http://bcho.tistory.com 운영
페이스북 서버 사이드 아키텍트 그룹 대표 운영자
삼성전자 서버 사이드 그룹 S3 대표 운영자
약 17년간 서버 사이드 기술에 대한 개발, 컨설팅, 장애 지원, 튜닝, 전략 수립, 아키텍처 설계, 조직 운영 등 다양한 경험을 했으며 항상 기술에 관심이 있고, 개발을 좋아하는 평범한 월급쟁이이자 한 여자의 남편, 두 딸의 아빠이다.
(전) BEA 시스템즈 코리아 웹로직 기술 지원 엔지니어
(전) 한국 오라클 컨설턴트
(전) 마이크로소프트 아키텍트
(현) 삼성전자 무선사업부 아키텍트
(전) 한국 자바 개발자 협의회 JCO 부회장
(전) 자바 스터디 사이트 시솝
(전) 천리안 자바 동호회 시솝
조대협의 블로그 http://bcho.tistory.com 운영
페이스북 서버 사이드 아키텍트 그룹 대표 운영자
삼성전자 서버 사이드 그룹 S3 대표 운영자
"과거의 흐름부터 현재의 트렌드인 마이크로 서비스나 Rest API 설계까지를 쉽게 정리한 경우는 보기 어려운데, 다양한 서비스를 통한 오랜 경험을 지닌 저자의 지혜가 녹아있는 이 책이 최신 아키텍처의 흐름을 따라가고 이해하는 좋은 시작점이 될 것입니다."
- 강대명(다음 카카오 엔지니어/Redis 컨트리뷰터)
"글로벌 서비스 아키텍처를 고려하고 계신다면 실무에 적용하는 데 더욱 좋은 기회가 될 것이며 앞으로 성능 최적화에 대한 노하우까지 얻을 수 있을 것입니다."
- 김요한(GS 홈쇼핑/소프트웨어 아키텍트/오픈 소스 XChat & XPush 커미터)
"소프트웨어 아키텍처링에 대한 명확한 정의, SOA부터 최근 화두가 되는 마이크로 서비스, 대용량 데이터 설계부터 성능 튜닝 등 엔터프라이즈 아키텍처에 대한 큰 그림을 한눈에 볼 수 있을 것이다."
- 김태기(프리랜서/아키텍트/beyondj2ee 블로그 운영)
"후반부의 레퍼런스 아키텍처는 프로젝트를 수행할 때 이 책을 제일 먼저 펴봐야겠다는 생각이 들게 했다."
- 서민구(구글/소프트웨어 엔지니어/"R을 이용한 데이터 처리 분석 실무" 저자)
"서버 개발 시 필요한 아키텍처, NoSQL 디자인 시 고민해야 하는 부분, 그리고 서버 성능 엔지니어링에 대해 차근차근 이야기를 전달하고 있다. 저자의 경험과 이론이 잘 버무려져 있으므로 어렵지 않게 읽을 수 있는 서적이다."
- 손영수(NHN 넥스트/교수/EAV 아키텍처 그룹 대표 운영자)
"소프트웨어 아키텍처는 개념적으로 추상적이고 어려운 내용이 많지만, 이 책은 이해하기 쉽도록 아키텍처의 실제적인 내용만을 담고 있습니다. 특히 대용량 서비스의 아키텍처를 설계하는 개발 리더들에게 일독을 권합니다."
- 윤주선(쿠팡/플랫폼 Tribe/Tribe Leader)
"일류 아키텍트의 프로젝트 성공과 실패의 경험을 고스란히 담은 이 책의 존재는 프로그래머로서는 반갑고 아키텍트 입장에서는 오싹하다."
- 정도현(일본 Mamezou/아키텍트/InfoQ.com 일본 보딩 멤버)
"아무리 작은 시스템이라도 이 책에서 언급된 내용을 고려하여 구축한다면 앞으로 시스템 확장 시 손쉽게 대용량 처리 아키텍처를 만들 수 있는 발판을 제공할 것입니다."
- 최지웅(오픈소스 컨설팅/이사)
"기술들의 나열에만 그치지 않고 특정 문제나 영역에 적용할 수 있는 전략, 기술적인 해결 방법 등 저자의 경험이 처방전에 녹아 있다."
- 하호진(㈜와이즈에코 공동 창업자/미물의 블로그 운영)
- 강대명(다음 카카오 엔지니어/Redis 컨트리뷰터)
"글로벌 서비스 아키텍처를 고려하고 계신다면 실무에 적용하는 데 더욱 좋은 기회가 될 것이며 앞으로 성능 최적화에 대한 노하우까지 얻을 수 있을 것입니다."
- 김요한(GS 홈쇼핑/소프트웨어 아키텍트/오픈 소스 XChat & XPush 커미터)
"소프트웨어 아키텍처링에 대한 명확한 정의, SOA부터 최근 화두가 되는 마이크로 서비스, 대용량 데이터 설계부터 성능 튜닝 등 엔터프라이즈 아키텍처에 대한 큰 그림을 한눈에 볼 수 있을 것이다."
- 김태기(프리랜서/아키텍트/beyondj2ee 블로그 운영)
"후반부의 레퍼런스 아키텍처는 프로젝트를 수행할 때 이 책을 제일 먼저 펴봐야겠다는 생각이 들게 했다."
- 서민구(구글/소프트웨어 엔지니어/"R을 이용한 데이터 처리 분석 실무" 저자)
"서버 개발 시 필요한 아키텍처, NoSQL 디자인 시 고민해야 하는 부분, 그리고 서버 성능 엔지니어링에 대해 차근차근 이야기를 전달하고 있다. 저자의 경험과 이론이 잘 버무려져 있으므로 어렵지 않게 읽을 수 있는 서적이다."
- 손영수(NHN 넥스트/교수/EAV 아키텍처 그룹 대표 운영자)
"소프트웨어 아키텍처는 개념적으로 추상적이고 어려운 내용이 많지만, 이 책은 이해하기 쉽도록 아키텍처의 실제적인 내용만을 담고 있습니다. 특히 대용량 서비스의 아키텍처를 설계하는 개발 리더들에게 일독을 권합니다."
- 윤주선(쿠팡/플랫폼 Tribe/Tribe Leader)
"일류 아키텍트의 프로젝트 성공과 실패의 경험을 고스란히 담은 이 책의 존재는 프로그래머로서는 반갑고 아키텍트 입장에서는 오싹하다."
- 정도현(일본 Mamezou/아키텍트/InfoQ.com 일본 보딩 멤버)
"아무리 작은 시스템이라도 이 책에서 언급된 내용을 고려하여 구축한다면 앞으로 시스템 확장 시 손쉽게 대용량 처리 아키텍처를 만들 수 있는 발판을 제공할 것입니다."
- 최지웅(오픈소스 컨설팅/이사)
"기술들의 나열에만 그치지 않고 특정 문제나 영역에 적용할 수 있는 전략, 기술적인 해결 방법 등 저자의 경험이 처방전에 녹아 있다."
- 하호진(㈜와이즈에코 공동 창업자/미물의 블로그 운영)
이 책은 소프트웨어 개발의 청사진이 되는 소프트웨어 아키텍처 설계에 대한 방법을 실용주의 관점에서 다룹니다. 어려운 이론적이고 학문적인 지식을 단순 소개하는 것이 아니라 실무에서 직접 겪고 다듬어온 아키텍처 설계 방법론과 근래에 많은 대용량 시스템 설계에 근간이 되는 SOA (서비스 지향 아키텍처), 마이크로 서비스 아키텍처, 그리고 API 설계를 위한 REST, 빅데이터 분석을 위한 람다 아키텍처 등을 소개하고 있습니다.
이러한 사상을 기반으로 실제로 어떤 솔루션을 조합하여 대용량 분산 시스템의 아키텍처를 설계하는지에 대한 가이드를 담고 있으며, 마지막으로 서버 시스템에서 가장 중요한 성능 튜닝에 대한 기법을 성능 이론과 함께 자바 기반 시스템을 중심으로 상세하게 소개하고 있습니다.
모쪼록 이 책이 서버 시스템에 대한 어느 정도 틀을 갖추어 나가는 개발자와 아키텍트를 지향하는 분들께 하나의 방향을 제시할 수 있는 기회가 되었으면 합니다.
이러한 사상을 기반으로 실제로 어떤 솔루션을 조합하여 대용량 분산 시스템의 아키텍처를 설계하는지에 대한 가이드를 담고 있으며, 마지막으로 서버 시스템에서 가장 중요한 성능 튜닝에 대한 기법을 성능 이론과 함께 자바 기반 시스템을 중심으로 상세하게 소개하고 있습니다.
모쪼록 이 책이 서버 시스템에 대한 어느 정도 틀을 갖추어 나가는 개발자와 아키텍트를 지향하는 분들께 하나의 방향을 제시할 수 있는 기회가 되었으면 합니다.