개발 저장소/그냥 개발 일기

HP-UX에 Django를 배포하려다 CPU 아키텍처의 역사를 알게 되다.

이거비버 2023. 6. 1. 13:23
반응형

현재 고객사 서버에 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이었는지.. 뭐 이런 역사도 조금은 알게됐다.

 

자바공부가 미뤄졌지만 인프라(서버, 네트워크)가 매우 중요하다는 것을 알게됐고, 이를 공부하는 과정에서는 컴퓨터 사이언스가 필요하다는 것을 알게됐다.

 

사실 무작정 책 보고 공부하기에는 와닿지도 않고 재미도 없는데 부딪혀가며 맞닥뜨린 문제를 해결해가는 과정에서 배우는 것은 참으로 재미있는 것 같다.

반응형