원문 캡처 · cryptocracy.com
원문 캡처 · cryptocracy.com

API 연동에서 테스트 환경이 없거나 실제 운영 환경과 다르고, 계정당 비밀키를 하나만 쓸 수 있으면 서비스 이전과 자격 증명 교체가 어려워질 수 있다. 클린턴 블랙번(Clinton Blackburn)의 API에 대한 불만을 계기로, 대규모 전자상거래 사이트를 운영해 온 경험에서 비롯된 API 연동 문제를 짚는다.

일부 서비스는 개발과 검증에 쓸 샌드박스나 테스트 계정을 제공하지 않고 운영 엔드포인트만 제공한다. 처음 연동할 때는 문제가 드러나지 않을 수 있지만, 나중에 코드나 인프라를 이전할 때는 새 구현을 운영 환경에 직접 연결해 검증해야 한다.

샌드박스가 있더라도 운영 환경과 도메인이나 IP 네트워크가 다르거나 접근 제어가 느슨하면 인프라 이전 검증을 방해할 수 있다. 한 사례에서는 접근이 제한 없는 샌드박스만 확인한 뒤 이전을 진행하다가, 운영 서비스의 엄격한 접근 제어를 뒤늦게 발견해 중단했다. 설정 변경에는 24시간이 걸렸다.

계정당 비밀번호나 접근 키를 하나만 허용하는 서비스에서는 기존 키를 무효화하지 않고 새 키를 발급할 수 없어, 키를 바꾸는 동안 호출 서비스가 중단될 수 있다. 새 키를 발급하는 즉시 기존 키가 작동하지 않는다면 새 키를 저장하고 설정을 배포한 뒤 서비스를 재시작해야 한다. 더 나은 방식은 기존 키를 유효하게 둔 채 새 키를 발급해, 호출 서비스가 새 키로 전환됐는지 확인한 다음 기존 키를 폐기하는 것이다.