Field Notes패치 정책 준비

Mark D. Scott

저는 최근에 어떤 고객과 함께 일하면서 흥미로운 서비스 팩 문제를 겪은 바 있습니다. IT 팀은 SQL Server 프로덕션 서버에 SP2를 적용하기로 했습니다. 이들은 책임감 있는 팀답게 처리했습니다. 테스트 환경의 서버에 서비스 팩을 적용하여 SQL Server를 사용하는 응용 프로그램이 중단되지 않음을 확인했고, 테스트 결과 모두 문제 없이 진행될 듯했습니다. 이 팀은 조직 내 모든 사용자에게 알리고 서버에 패치를 적용할 일정을 잡았습니다.

프로덕션 환경에서도 순조롭게 진행되었습니다. 스테이징, 테스트 그리고 마지막으로 개발 환경의 서버에 차례로 패치를 배포했습니다. 교과서적인 배포였습니다. 개발자 중 한 명이 Reporting Services 프로젝트를 열어 보기 전까지는 그랬습니다. 그 후부터는 갑자기 사소하지만 이상한 문제들이 마구 발생하기 시작했습니다. 보고서가 열리지만, 그 중 일부는 사용할 수 없었습니다. 또 다른 개발자는 Analysis Services 데이터베이스를 열었습니다. 아무 문제도 없었습니다. 그러나 Calculated Members 탭을 열었을 때 문제가 생겼습니다. 뭔가가 단단히 잘못되어 있었습니다.

짐작하셨듯이 서버에서는 서비스 팩을 수신했지만 개발자는 받지 않았습니다. 데스크톱에 설치된 SQL Server 클라이언트 도구는 서버 배포가 아닌 데스크톱 배포의 일부로 간주되므로 업그레이드에 포함되지 않은 것입니다. 그리고 서비스 팩을 개발자에게 배포하느라 배포판의 테스트와 설정을 한 차례 더 수행해야 했습니다. 사실 모든 개발자가 작업 불가능 상황에 처한 건 아니었습니다. 즉, 일부 개발자는 패치 정책의 범위 밖에서 이미 자신의 데스크톱에 서비스 팩을 적용했던 것입니다. 이는 또 다른 문제점입니다.

이 혼란스러운 상황이 수습되는 와중에 이 회사에서 사용하는 일부 분석 응용 프로그램의 유지 관리 작업이 중단되었습니다. 이 사건으로 서비스 팩 정책이 얼마나 일관성 없고 불분명하게 이루어졌는지 명확하게 드러났습니다. 또한 부서 간 의사소통의 문제점도 노출했습니다. 서비스 팩 배포는 매우 중요한 일입니다. 더 안전한 환경으로 유지하기 때문입니다.

어떤 조직은 서비스 팩으로 극복할 수 있는 취약성보다 소프트웨어 배포로 인한 분쟁과 혼란을 더 두려워하여 서비스 팩 적용을 거부하기도 합니다. 어떤 정책도 마련되지 않아 사용자 및 시스템 관리자 개개인이 자신의 판단에 따라 패치를 적용하거나 무시하는 경우도 있습니다. 그로 인해 어떤 서버에서는 패치가 나타나지만 다른 서버는 그렇지 않아 유지 관리 측면에서도 심각한 상황이 발생합니다. 패치를 설치할 때 어떤 서버는 완벽하게 보호되지만 다른 서버는 동일한 상태가 유지됩니다.

규모가 크고 복잡한 IT 조직일수록 인프라 최적화 모델에 관한 자료를 읽고 그와 같은 문제가 발생하지 않도록 미리 정책을 수립하고 절차를 구현할 필요성을 인식합니다. 이들은 그러한 문제 중 상당수의 해결을 자동화하여 실수를 방지할 수 있음을 알고 있습니다. 그러나 어떤 경우에서든 결국 사람들은 자신의 작업이 다른 직원과 부서에 영향을 미칠 것임을 알아야 합니다. 상호 의사소통이 필요한 순간이 온 것입니다.

서비스 팩이 자신의 영역에 미치는 영향을 고려하고 시스템에 영향을 주는 요인들을 검토하며 자신의 기반을 보살피는 것은 쉬운 일입니다. 정작 개인 시스템의 외부로 사고의 폭을 넓혀 그 변화가 자신의 영역 밖에서 어떤 영향을 미칠 것인지 생각하기는 쉽지 않습니다. 때때로 우리는 자신이 관리하는 응용 프로그램처럼 사고의 범위가 한정되곤 합니다.

다행히도 이번 사태는 비교적 쉽게 해결되었습니다. 이 조직은 성숙한 모델을 갖고 있었습니다. 원칙에 따라 행동한 개발자에게만 문제가 발생했기 때문에 약간의 혼란이 있었으나, 문제를 알아내자 신속하게 패치를 (자동) 배포했습니다. 명확한 의사소통과 잘 설계된 시스템 덕분에 가동 중지 시간이나 서비스 중단을 최소화하면서 문제를 해결할 수 있었습니다.

인프라를 강화하고 우리 모두 스스로 노력을 하는 데 답이 있는 것 같습니다. 효과적인 서비스 팩 정책은 절차 및 제품뿐 아니라 사용자에 대한 대응책까지 고려합니다.

Mark D. Scott은 Microsoft Consulting Services의 수석 컨설턴트입니다. 그의 업무는 고객과 긴밀하게 협력하여 대규모의 데이터 중심 응용 프로그램을 디자인하고 구축하는 것입니다. 문의 사항이 있으면 granddaddy2002@msn.com 또는 mascott@microsoft.com으로 연락하시기 바랍니다.