얼마 전, 싸이월드가 점검에 들어갔습니다. 써보신 분들은 아시겠지만, 싸이월드는 점검 시간이 잦고 긴 편입니다. 그래도 미니홈피 정도는 안 봐도 괜찮았습니다. 정작 문제는 네이트온이라는 메신저에 나타났습니다. 싸이월드가 점검중인데 네이트온 메신저의 쪽지함을 못 열어보는 이상한 일이 생겼습니다. 대화, 메일 등도 당연히 사용이 불가했습니다. 반면, 네이트온과 네이트 홈페이지 자체는 분명히 접근할 수 있었습니다.
이유는 이렇습니다. 얼마 전 네이트 홈페이지에 싸이월드와 네이트온의 기능을 대거 통합시켰습니다. 그러면서 네이트온의 쪽지함 기능이 네이트 홈페이지로 이전됐습니다. 쪽지함을 어느 컴퓨터에서나 통합해서 볼 수 있다는 점은 확실히 좋았습니다. 그러나 이 쪽지 기능이 내부적으로는 네이트 홈페이지가 아니라 싸이월드 기능과 의존성이 생겼나봅니다. 그 밖에도 대화함, 메일 확인까지 안되니 정말 답답할 따름이었습니다.
이는 네이트에서만 생길 수 있는 문제가 아닙니다. 어떤 서비스든지 간에 서로 의존 관계가 생긴다면 당연히 생길 수 있는 문제입니다. SK의 T스토어나 앱스토어의 서비스에 전적으로 자신의 중요한 정보를 맡길 수 있을까요? 중요한 순간에 서비스가 점검에 들어간다면 어떻게 하죠? 중앙 서버에서 자료를 통째로 잃어버린다면? 구식 단말기라면 남아있을 중요한 자료들이 한 순간에 날아버리는 일도 있지 않을까요?
이건 허무맹랑한 이야기가 아닙니다. 이미 마이크로소프트와 티모바일이라는 회사가 함께 만든 '사이드킥'이라는 핸드폰의 모든 정보가 초기화되어버리는 황당한 사고가 있었습니다. 사용자들은 특정 시간대까지 전원을 끄지 말라거나 하는 이상한 지시를 받았고, 그런 걸 알지 못한 채로 잃어버리는 사람이 수 천명에 달했습니다. 잃어버린 자료는 다시 되찾기가 불가능했고, 보상의 차원에서 10만원대의 티모바일 상품권을 보내는 것으로 마무리 지었습니다. (그렇게 자료를 잃은 사람이 티모바일 서비스를 다시 쓰고 싶기나 할까만은)
오픈마루 스튜디오에서도 "마이 아이디"라는 오픈 아이디 서비스를 제공하고 있습니다. 여러 사이트에 단 하나의 계정만으로 가입, 탈퇴가 가능한 서비스입니다. 그런데 이 마이 아이디가 잠시 접속이 되지 않은 일이 있었습니다. 마이 아이디 사용자들은 다른 모든 멀쩡한 서비스를 두고도 접속하지 못하는 황당한 일이 생겼죠. 그 오류는 오래 가지는 않았습니다만, 사용자와 각 서비스 운영자들에게 충격을 심어주기에는 충분했습니다. 오픈 아이디 서비스 공급이 중단되더라도 우회하는 길이 필요하다는 겁니다. 그것은 보안상 문제가 될 수가 있기에, 결국은 옛날처럼 사이트 자체에 계정 정보를 저장해야 한다는 말이 됩니다.
오픈 API라는 말, 한 번 쯤은 들어보셨을 겁니다. 앞으로 소프트웨어 서비스를 공개해서 누구나 쉽게 쓸 수 있겠다고 하는 겁니다. 그래서 새로운 소프트웨어가 이전 소프트웨어 서비스를 참고하게 되죠. 거꾸로 말하자면 오픈 API를 쓰면 외부 의존성이 아주 커집니다. 공급자가 버전 변경에 따라 동작을 변경하거나, 서비스를 잠시 중단하는 일은 종종 있습니다. 그러면 그 서비스에 의존하는 다른 프로그램에게까지 영향이 미치게 됩니다. 외부적 요인으로 소프트웨어를 믿을 수 없어진다는 말입니다.
이러한 부작용을 최소화하기 위해서는, 서비스간의 의존성을 잘 분리해야합니다. 하나의 서비스가 중단되는 일은 잦은데, 이로 인해서 다른 서비스들까지 연이어 중단된다면 또 다른 서비스가 중단될 겁니다. 이런 식으로 서비스 중단의 도미노 현상이 일어나지 않도록 의존성을 고려하여 잘 설계해야 합니다. 그리고 최대한 믿을 수 있고, 자신의 통제 하에 있는 서비스들을 쓰도록 노력해야 합니다. 자주 고장이 나는 일에 다른 사람이 고쳐주기만을 목이 빠져라 기다리는 것 만큼 바보짓은 없기 때문입니다.


