HP-UX에 Django를 배포하려다 CPU 아키텍처의 역사를 알게 되다.
현재 고객사 서버에 Django 프로젝트를 배포하는데 문제가 있어 거기에 매달리고 있다.
unix 기반의 hp-ux 서버를 사용하고 있고, 인터넷 접속이 안 되는 환경이다.
1. 파이썬을 설치해야하는데 파이썬과 관련된 의존성 패키지들을 모두 찾아 설치해야 한다.
2. 그다음 가상환경을 구축하고 python Django로 개발한 OCR 프로젝트를 배포해야 한다.
일단 파이썬을 설치하는것부터 막혔는데, 만약 파이썬을 설치한다고 해도 더 큰 문제가 있었다.
바로 CPU 아키텍처 호환성 문제.
현재 개발된 OCR 프로젝트는 X86 아키텍처 CPU로 된 리눅스나 윈도우에서 사용할 수 있다.
그런데 HP-UX 서버는 i64 아키텍처 CPU가 적용되어 x86과는 호환이 안 된다.
i64는 오래전 인텔에서 서버용으로 사용하라고 만든 CPU이다.
CPU 본명은 '아이테니엄(Itanium)'으로 HP-UX를 만들던 휴렛 팩커드의 협력으로 만들게 되었다고 한다.
그래서 HP-UX는 i64 아키텍처가 사용되나보다..
어쨌든 i64는 호환 문제와 개발속도 문제로 시장에서 거의 사장된 상태이고 더이상 개발도 이루어지지 않고 있다.
제조사가 i64 실패를 인정하고 포기한 샘..!
그래서 hp-ux 서버는 10여년 전 지원이 끊겼다고 한다.
이러한 상황이다 보니 OCR을 위해서 사용해야할 i64용 모듈 파일들을 찾을리 만무했고, x86용 모듈을 i64용으로 포팅을 해야하는데 이건 굉~장히 어려운 작업이라고 한다.
그리고 i64용 모듈을 찾더라도 이와 관련된 의존성 패키지들을 i64용으로 하나하나 찾고 ... 뭐 이런 복잡한 과정을 거쳐야 하는 상태.
그래서 해결 방법을 찾았다.
못하겠습니다.
위의 사유를 대며 못하겠다고 하니 다행히 고객사에서 윈도우 서버를 제공해준다고 한다.
하...HP-UX때문에 근 2주 간 머리가 아팠는데 그나마 다행이다.
한편으로는 이 프로젝트가 간편하게 linux서버에 배포하고 끝났다면 인프라에 관심을 갖지 못했을 것 같다.
생각없이 지나갔던 x86, x64, 그리고 옛날 cpu의 이름은 왜 386, 486이었는지.. 뭐 이런 역사도 조금은 알게됐다.
자바공부가 미뤄졌지만 인프라(서버, 네트워크)가 매우 중요하다는 것을 알게됐고, 이를 공부하는 과정에서는 컴퓨터 사이언스가 필요하다는 것을 알게됐다.
사실 무작정 책 보고 공부하기에는 와닿지도 않고 재미도 없는데 부딪혀가며 맞닥뜨린 문제를 해결해가는 과정에서 배우는 것은 참으로 재미있는 것 같다.