Chapter 2 / Application Design애플리케이션
애플리케이션
방식 설계
앱은 만드는 기술뿐 아니라 성능, 견고함, 오류 시 동작, 안전성, API, CI/CD까지 포함하여 설계합니다.
8 Guidelines
이 장에서 다루는 8개 항목
계속 작동하는 앱에 필요한 설계 관점을 개발부터 릴리스까지 정리합니다.
1언어/FW운영 가능한 기술을 선택합니다.
2성능측정하여 개선합니다.
3가용성/이중화잘 멈추지 않고 복구하기 쉽게 합니다.
4오류재시도와 타임아웃을 정합니다.
5앱 보안입력, 인증, 비밀 정보를 보호합니다.
6DevOpsCI/CD로 안전하게 전달합니다.
7API 관리입구, 인증, 제한을 정비합니다.
8페일소프트실패 시에도 영향을 작게 합니다.

Build / Performance / DevOps
만드는 기술과 운영 가능한 기술을 맞추기
언어와 프레임워크는 유행뿐 아니라 지속적으로 유지보수할 수 있는지로 선택합니다. 성능은 추측이 아니라 측정하고 CI/CD로 안전하게 전달합니다.
언어와 프레임워크를 선택한다.성능을 측정하여 개선한다.CI/CD로 테스트와 배포를 자동화한다.
Security / API / Fail Soft
안전하게 연결하고 실패 시에도 멈추지 않기
앱 보안, API 관리, 페일소프트는 나중이 아니라 설계에 포함합니다. 입구를 정리하고 예기치 못한 실패에도 사용자 영향을 작게 합니다.
인증, 인가, 입력 검증, 비밀 정보 관리를 정한다.API의 인증, 버전, 사용 제한을 정한다.일부 장애 시의 대체 동작과 안내를 정한다.

만들기·측정
- 언어와 프레임워크를 선택했다.
- 성능 목표와 측정 방법을 정했다.
- 가용성과 이중화 방침을 정했다.
지키기·연결
- 앱 보안 관점을 정리했다.
- API 관리 규칙을 정했다.
- 인증과 사용 제한을 정했다.
전달·복구
- 오류 처리를 정했다.
- CI/CD를 준비했다.
- 페일소프트 동작을 정했다.