서비스에 대해 개발자가 가져야할 생각들

NextStep 인프라공방 과정을 따라가고 있는데, 서비스에 대한 강사님의 생각 혹은 철학이 마음에 들어 두고두고 꺼내보며 동기부여를 받고자 정리해본다.

  1. 소프트웨어가 변화에 빠르게 대응하기 위해서는 짧은 개발, 짧은 배포의 사이클을 가져야 한다.

  2. 개발 프로세스는 도구나 환경보다도 협업하는 동료들 간의 공유된 목적과 합의가 가장 중요하다.

  3. 시스템은 소비자에게 무중단/고가용성의 서비스를 제공하여 신뢰성을 제고해야한다.

  4. 개인정보 등의 보안성을 확보하여야 한다.

  5. 최근의 시스템 환경은 on-promise 에서 public cloud 로 변화하고, immutable server 를 기초로 한 다양한 방법론이 적용되고 있지만, 시스템 디자인의 본질은 "여전히 부하를 어떻게 관리할 것인가" 이다.

  6. 성능을 튜닝한다는 것은 병목지점, 즉 부하의 원인을 파악하고 제거하는 것을 의미한다. 결국 단일 host 에서의 부하를 규명하고, 수평적/수직적 확장을 통해 장애내성있는 시스템을 구성하여 소프트웨어의 가치를 지속적으로 전달할 것을 보장하여야 한다.

Last updated