2010년에 저는 일정으로 도쿄에 방문할 기회를 얻었습니다. 5주 동안 NEC의 한 부서에서 최고의 인재들과 함께 일했습니다. 이 작업은 Алексей M.와 제가 함께 맡았습니다.
알렉세이, 여행 중에 당신의 지원과 연락을 주셔서 감사합니다. 예비 3G 전화기와 관광용 SIM 카드를 함께 가져오셔서 정말 편했습니다. ありがとうございます! (아리가토 고사이마시타!)
내 임무는 NEC에서 개발한 두 가지 서버 구성의 조립이었습니다. Oracle 데이터베이스가 설치된 상태였습니다:
- 4개의 블레이드가 병렬로 작동하는 RAC(Real Application Cluster) 구성
- 4개의 블레이드가 특별한 채널을 통해 하나로 결합된 단일 Oracle 인스턴스 구성
테스트는 병렬 쿼리에 최적화되었으며, 최신 장비에서 첫 번째 구성이 놀라운 성능을 보일 것으로 기대되었습니다.
도쿄도 후추시(Fuchū, Tokyo)의 데이터센터에서 부서장은 흰 머리의 일본인으로, 서버에 케이블을 연결할 때 팀원을 전혀 허락하지 않았습니다. 양쪽 모두가 작업에 집중했기 때문에 최선을 다해 최고의 결과를 내려고 노력했습니다.
우리는 두 번째 구성부터 시작했습니다. 테스트 결과는 만족스러웠습니다(숫자는 기억나지 않음). 몇 번 반복한 후 서버를 RAC 클러스터 모드로 전환했습니다.
일이 지나면서 테스트 결과는 RAC가 단일 구성보다 현저히 뒤처졌습니다. 모스크바의 동료들이 여러 번 테스트를 수정했지만, 두 번째 구성의 성능에 도달하지 못했습니다. 결과는 공유하지 않았습니다.
우리 일본 동료들은 우리의 당황함을 눈치챘습니다. 32일차에, 테스트 책임을 맡은 저는 자신이 RAC 구성이 단일 구성보다 현저히 뒤처진다는 사실을 인정하고, 일본 관리진에게 직접 보고했습니다. RHEL/ext3 커널이나 파일 시스템의 어떤 최적화나 설정도 성능 개선을 가져오지 못했습니다.
노령의 일본인은 서버 옆에서 내외의 보고를 친절하게 듣고, 나머지 팀원들에게 설명을 다시 전달했습니다. 모두가 함께 웃었습니다. 그는 말했습니다:
- “이 결과는 우리가 기대했던 것입니다. 회사는 표준 서버를 개조하여 프로세서와 메모리가 함께 작동하도록 설계했습니다. 우리는 귀하의 고강도 부하 테스트를 기대했으며, 직접 테스트할 기회가 없었습니다. 따라서 결과에 매우 만족합니다. 새로운 서버의 모든 기대치가 충족되었습니다. 감사합니다!”
그 순간 큰 안도감이 느껴졌습니다. 제가 대표한 대형 기업은 내 안에서 무슨 일이 일어나는지 전혀 신경 쓰지 않았고, 제가 실패를 인정하고 그 사실을 공개하는 것에 대해 전혀 신경 쓰지 않았습니다. 하지만 이런 일이 실제로 일어나는 것 같았습니다. 나쁜 결과는 예상된 결과였습니다.
부서장과 그의 보조원이 우리를 데이터센터 옆의 가정식 식당으로 초대했습니다. 그들이 우리에게 그들의 접시에 담긴 음식을 시도해보라고 제안하는 것은 매우 높은 존중과 우호의 표현이었습니다.
일본인들은 자신의 고위 직책을 이용하지 않습니다. 출구의 체크포인트가 열려 있었지만, 우리는 14:00이 되기 전까지 3분 동안 기다려서 모두 함께 나갔습니다.
이것은 제가 겪은 가장 인상 깊은 여행입니다. 당시 일본 사람들과의 소통은 내 안에 많은 것을 열어주었습니다. 처음에는 나리타 공항에서 비행기처럼 날아다니는 접시를 보고 싶었고, 도시 곳곳에서 그들을 찾으려고 했습니다. 하지만 토요타 크라운 택시와 날카로운 모양의 자동차, 일반적인 트랙터와 화물차를 보았습니다. 그리고 비가 오는 날, 나리타 익스프레스 열차는 약 40km/h로 달렸습니다. 반면, 지하철은 초 단위로 정확하게 운행하며 각 노선의 열차는 독특한 소리를 내며 움직입니다. 일본인들은 철도의 팬입니다. JR이라는 단어는 러시아의 철도(RZD)보다 훨씬 더 풍부합니다.> 작업 계획에 대해 알아본 바, 산업이 안정화된 데 이르게 한 접근법에 대해 알게 되었습니다. 지금은 상황이 조금 변했을 수도 있고, 토요타가 과거와는 다른 모습이 되었다는 이야기도 있습니다. 그러나 바로 그곳에서 “좋은 직원을 먼저 키워야만 좋은 차를 만들 수 있다”는 표현이 나오게 되었고, 일본 기업들은 이 접근법을 기반으로 ‘Lean’(베어리프 생산) 개념을 시작했습니다. 이 개념의 많은 요소들은 소프트웨어 개발에도 적용 가능합니다. 여기서도 같은 공정과 사람들을 사용합니다. 저는 자신의 작업에 Lean과 Gemba 접근법을 도입하고자 합니다. 곧 시리즈로 기사들을 작성하고, 실제로 어떻게 적용되는지 경험을 공유할 예정입니다.
마지막으로:
