티스토리 뷰

안녕하세요 사라이 입니다. 웹 엔지니아가 알아야 할 인프라의 후기 작성하기 전에 이 책으로 눈이 넓어 졌다는 이야기를 먼저 하고 싶습니다. 


먼저 이 책의 목차를 살펴 볼 텐데요..

Chapter 1 웹 서비스에서 인프라의 역할
    1.1 웹 서비스 구축에 관련된 인프라 영역
      이 책에서 다루는 인프라의 범위 
      웹 서비스 구축에 관련된 인프라의 기술 요소 
      인프라 기술의 계층 구조 
    1.2 인프라의 요건 정의에서 운용까지의 주의점 
    1.3 인프라 설계 시의 주의점 
      인프라 설계의 어려움 
      인프라의 '기능적 요건' 정의의 주의점 
      인프라의 '비 기능적 요건' 정의의 주의점 
      인프라의 신뢰성 확보하기 
    1.4 RAS 검토하기 
      가동률을 높이는 방법 
      고장 발생 시의 대응 방법 
      대규모 재해 시의 대응 방법 

Chapter 2 인프라 기술의 기초 지식
    2.1 인터넷이라는 거대한 네트워크 
      IP 주소와 도메인 
    2.2 인터넷을 통한 데이터 송수신 구조 
      라우팅 
      NAT에 의한 IP 주소 변환 
    2.3 URL을 분석해보자 
    2.4 프로토콜의 내부 들여다보기 
      Request Headers와 Response Headers 읽기 
    2.5 네트워크 보안 이야기 
      방화벽 
      SSL 
    2.6 인프라 요소의 스펙을 읽는 방법과 선택 방법 
      서버 선택의 개요 
      CPU, 메모리의 스펙과 선택 방법 
      디스크의 스펙과 선택 방법 
      네트워크의 스펙과 선택 방법 
      네트워크 기기의 스펙을 읽는 방법과 선택 방법 
    2.7 성능과 데이터에 관한 기초 지식 
      ACID를 고려하자 
      락과 배타처리 
      버퍼 
      캐시 
      큐잉 
    2.8 다중화의 구조 
      데이터의 정합성을 얻기 위한 방법 
      페일오버에 관한 주의점 
    2.9 암호화와 해시화 


Chapter 3 웹 서비스 서버 구성의 모범 사례
    3.1 기본적인 구성 
      풀스택을 1대의 시스템으로 구성하기 
      시스템 구성 변경의 기초 
      패턴 1. 웹 서버 x 1, 데이터베이스 서버 x 1 구성 - 기능 분할 
      패턴 2. 웹 서버 x 2 구성 - 다중화 
      패턴 3. 웹 서버 x 2, 데이터베이스 서버 x 1 구성 - 다중화, 기능 분할, 스케일 아웃 
      패턴 4 . 웹 서버 x 2, 데이터베이스 서버 x 2 구성 - 다중화, 기능 분할, 스케일 아웃 
    3.2 부하 분산(로드밸런싱)의 기초 지식 
      로드밸런싱의 두 가지 종류 
      로드밸런서로 할 것인가 DNS 라운드로빈으로 할 것인가 
      로드밸런서와 분산 목적지 연결 방식 
      로드밸런서에서의 분산 목적지 결정 방법 


Chapter 4 인프라 준비의 기초 지식
    4.1 인프라를 준비할 때 무엇부터 결정할 것인가? 
      꼭 필요한 요구사항 정리하기 
    4.2 인터넷 회선의 용량 계산 
    4.3 서버 대수의 용량 계산 
      PV 수와 처리에 소요되는 시간으로 계산하기 
    4.4 이용할 클라우드 기반 선정하기 
    4.5 인프라 구축 후 확인해야 하는 것 
      툴을 사용해 빠짐없이 확인하기     4.6 백업 

      백업 시 확인해야 하는 것 


Chapter 5 웹 서비스 운용 1 : 시스템 감시의 기본
    5.1 시스템 감시의 개론 
      시스템 감시란? 
       '정상 상태'를 감시 항목 + 정상적인 결과의 형태로 정의하기 
       '정상 상태'가 아닐 때의 대응 방법을 감시 항목마다 정의하기 
       '정상 상태'인 것을 지속적으로 확인하기 
       '정상 상태'가 아닌 경우 '정상 상태'로 복구시키기 
    5.2 시스템 감시의 구현 
      감시 툴과 모니터링 툴 
      감시 항목 파악하기 
      감시의 구현 방법 
      감시 항목을 결정하기 위한 현재 상태 확인 방법 
      현재 상태의 확인 결과로부터 감시 항목 만들기 
    5.3 장애가 발생했을 때의 대응 방법     경보 

      현상 확인 
      1차 대응 
      경보 현상 및 다른 항목 확인하기 
      사후 작업 
      수습 
    5.4 대규모 장애 발생 시의 대응 
      팀으로 역할 분담하기 
      냉정하게 정보를 파악하고 전체를 바라보기 
      2차 재해가 발생하지 않도록 하기 
    5.5 항상 발생하는 장애의 관리와 리뷰 
      장애 사례 축적 
      리뷰 


Chapter 6 웹 서비스 운용 2 : 상태 모니터링
    6.1 상태 모니터링의 기초 지식 
      변화를 알아차리기 위한 요령 
    6.2 상태 모니터링 데이터를 읽는 방법 - OS 
      CPU 관련 그래프 
      메모리 관련 그래프 
      디스크 관련 그래프 
      네트워크 관련 그래프 
    6.3 상태 모니터링 데이터를 읽는 방법 - MySQL 
      상태 관련 그래프 
      성능 관련 그래프 
      InnoDB 관련 그래프 
      MyISAM 관련 그래프 
    6.4 실시간 모니터링의 방법 
      dstat 사용하기 
      top 사용하기 
      iostat 사용하기 
    6.5 트러블 대응에 사용하는 모니터링 툴 
      트러블이 발생하지 않도록 하는 사고방법 
      트러블 슈팅 테크닉 


Chapter 7 웹 서비스 튜닝 1 : 보틀넥을 찾는 방법
    7.1 용량의 검토 방법과 용량의 향상 
    7.2 시스템 튜닝의 철칙 
      대상과 목표 결정하기 
      보틀넥에 접근하기 
      추측하지 말고 계측하자 
    7.3 보틀넥을 찾는 방법 - 기초 
      대상과 목표 결정하기 
      데이터 흐름 확인하기 
      데이터 흐름의 포인트마다 처리 내용을 확인하기 
      시스템 리소스 확인하기 
    7.4 보틀넥을 찾는 방법 - 로그 
      Apache에서 보틀넥을 찾는 방법
      MySQL에서 보틀넥을 찾는 방법 
    7.5 보틀넥을 찾는 방법 - 서버 리소스 
      수상한 움직임을 찾는 포인트 
       'dstat'과 'top'으로 확인하기 
    7.6 보틀넥을 찾는 방법 - 애플리케이션 코드 
      애플리케이션 프로파일러 사용하기 
      webgrind로 분석하기 


Chapter 8 웹 서비스 튜닝 2 : 튜닝 레시피
    8.1 포인트별 튜닝 레시피 
      요청 횟수와 데이터 전송량을 줄이는 방법 
      OS의 CPU 사용률 낮추기 
      OS의 메모리 용량 늘리기 
      OS의 메모리 사용량 낮추기 
      OS의 디스크 I/O 성능 높이기 
      OS의 네트워크 성능 높이기 
      OS의 네트워크 사용량 낮추기 
      Apache의 CPU 사용률 낮추기 
      Apache의 메모리 사용량 낮추기 
      Apache의 디스크 I/O 사용량 낮추기 
      Apache의 네트워크 성능 높이기와 사용률 낮추기 
      애플리케이션 서버의 CPU 사용률 낮추기 
      MySQL의 CPU 사용률 낮추기 
      MySQL의 메모리 사용량 낮추기 
      MySQL의 디스크 I/O 사용률 낮추기 
      MySQL의 네트워크 사용률 낮추기 
      SSL 통신을 고속화하기 
    8.2 SQL 튜닝에서의 고속화 
      SQL 튜닝을 위한 툴 
      SQL 튜닝의 흐름 
      기능 분할 
    8.3 시스템 구성의 변경 시 보틀넥 대책의 기초 
      스케일 업 
      스케일 아웃 
       [Web]을 스케일 아웃 할 때의 주의점 
       [DB]를 스케일 아웃 할 때의 주의점 
       [File]을 스케일 아웃 할 때의 주의점 
    8.4 [DB] 스케일 아웃 구현의 예 
      갱신 SQL의 스케일 아웃 
      참조 SQL의 스케일 아웃 
      리플리케이션과 데이터 반영의 지연 
    8.5 기능 분할 구현의 예 
      Web 서버와 DB 서버 분할하기 
      Web 서버와 AP 서버 분할하기 
      Web 서버와 Proxy 서버 분할하기 
    8.6 캐시 적용에서의 고속화 
      콘텐츠를 브라우저에서 캐시하기 
      콘텐츠를 Proxy에서 캐시하기 
      쿼리 캐시로 MySQL의 부하 낮추기 

입니다.  목차가 엄청 많아요.. 

저는 방황을 좀 하느라 회사 경력이 좀 너덜너덜 하고 현재 시스템 OP 6개월차 입니다.

회사 방황을 하면서 잠깐잠깐 실무를 접해볼 일이 있었는데.. 그 실무에서 접해볼 케이스를 정리한 책 이라서 읽는 내내 신기하고 재미있던거 같습니다.

2장까지가 기초 정리라서 앞에 2장까지는 다른 게시물로 빼 두긴 하였는데 후에 기초 지식이 더 정리가 된다면 다시 정리 해 볼 생각 입니다.

2장 이후 부터는 실무에서 직접 케이스 경험한 것들을 정리해 주셔서 그 상황에 저자 님이 생각하시고 해결하신 케이스를 정리해 주셔서 나중에 연차가 쌓였을때 응용 해 보고 싶다고 생각이 들었습니다. 


그냥 이것 저것 잡 지식이 많은 20대 잉여가 읽기에 안성맞춤으로 번역해 주셔서 감사합니다. 

댓글
댓글쓰기 폼
공지사항
Total
4,927
Today
0
Yesterday
1
링크
«   2019/08   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31