380
고성능 파이썬(2판)
10.2.1
형편없는 클러스터 업그레이드 전략으로
4
억
6
천
2
백만 달러를 손해 본
월스트리트
2012
년, 고빈도 거래 기업인 나이트 캐피털
Knight
Capital
은 클러스터의 소프트웨어 업그레이드
중 발생한 버그로
4
억
6
천
2
백만 달러를 손해 봤다 (
http
://
bit
.
ly
/
Wall
_
Street
_
crash
).
해당 소프트웨어는 고객의 요청보다 더 많은 주식을 주문했다.
업그레이드된 소프트웨어는 오래된 플래그를 기존과 다른 목적으로 사용했다. 작동 중인
8
대
의 기기 중
7
대는 업그레이드되었지만, 여덟 번째 기기는 예전 코드를 사용하여 잘못된 거래가
이루어졌다. 증권거래위원회는 나이트 캐피털에 업그레이드를 검토하는 별도의 기술자가 없었
으며 업그레이드를 검토하는 프로세스도 없었다는 사실을 지적했다.
이 실수에는 두 가지 원인이 있는 것으로 보인다. 첫 번째는 소프트웨어 개발 프로세스에서 불
필요한 기능을 제거하지 않았다는 점이다. 따라서 오래된 코드가 계속 남아 있었다. 두 번째는
업그레이드가 완전히 성공했는지를 확인하는 수동 검토 프로세스가 없었다는 점이다.
기술적 부채는 언젠가 갚아야만 하는 비용을 추가한다(여유가 있을 때 시간을 들여서 부채를
없애야 한다 ). 코드를 작성하고 리팩토링할 때 단위 테스트를 항상 사용하라. 시스템 업그레이
드 시 따라야 하는 점검 목록이 없고 여러분과 함께 업그레이드를 살펴볼 사람도 없다면, 값비
싼 장애가 발생할 수 있다. 비행기 조종사가 이륙 시 점검 목록을 하나하나 ...