IT업계에서 SI질을 하다보면 온갖 지랄같은 상황에 빠지게 되는 경우가 많은데, 그 중에서도 특히 문제가 되는것은 HW/OS/Application 간의 궁합이 문제가 되는 경우가 대다수를 차지한다.
흔히들 Hardware Certification / Software Certification 이라고 표현을 하게 되는데, 간단히 말해서 이 하드웨어에는 어떤 버전의 OS를 설치해야 하고 이 어플리케이션은 이 버전의 OS에서만 설치해야 한다 라는것을 이야기하는 것이다.
보통 살펴보면
특정 하드웨어에 맞는 OS는 xx버전 "이상" 의 OS를 요구하는 경우가 대부분이고
특정 Application에 맞는 xx버전 이상, xx버전 이하의 OS를 요구하는 경우가 대부분이다.
문제는 처음의 xx버전 이상과 후자의 xx버전 이상, xx버전 이하의 교집합이 발생하지 않는 경우이다.
결국 그 중심은 OS라는것. 단순 하드웨어 엔지니어나 Application 엔지니어들은 이런 부분에 대해서는 애초에 관심이 없거나생각조차도 하지 않는 경우가 대부분이라는걸 생각해 볼때, 이 부류의 사람들을 폄하할 생각은 아니지만 OS쪽 엔지니어로써는 이들이확실히 같이 일하기가 꺼려지는 경험 부족자가 아닌가 하는 생각을 떨쳐버릴수가 없다. 뭐 실은 경험부족이라기보다는 그냥 굳이 이런부분을 신경쓸 이유가 없거나 본인들과 딱히 상관이 없는 부분이 많고 기본적으로 환경이 구성된 곳에서만 일해보았을테니..업무환경상 이런 부분에 대해서 신경 자체를 쓸 여유가 없을수밖에 없는것이니 이해를 해야겠다만 말이다.
하여간 OS에 대한 문제가 실질적인 핵심 이슈로 떠오르게 되면 굉장히 골치아파지기 시작한다. 이 망할 하드웨어랑 소프트웨어 견적은 대체 누가 뽑아서 납품한건지 가서 "이 두뇌가 달아난 새끼"라며 조져버리기라도 해야겠는데 회사내에서 영업 그룹의 정치력이 엔지니어 그룹의 정치력보다 한참 뛰어난 경우가 많기에 할말은많아도 할말도 못하고 끙끙댈 수 밖에 없는것이 이 나라의 IT계의 현실이 아닌가 말이다. - 도대체 IT회사 주제에 엔지니어그룹에 대한 대우를 그따위로 해준다는건 IT회사의 근간을 흔들고 자신들 스스로 저급회사가 되는 지름길이다. 사장들 정신차려라.
결국 이쯤에서 한 세가지 정도의 선택의 기로에 놓인다.
1. 하드웨어나 소프트웨어를 레벨 Up/Down 하거나 아예 다른것으로 바꿔버린다.
대부분 불가능하다. 이미 질러버리고 나서 엔지니어 투입 후에야 깨닫는 경우가 대부분이기에..거기다가 이미 질러버린 사람은 뒤로 내빼거나 나 몰라요 하고 말아버리는 경우가 대부분. 돌아버린다.
2. 이 좆찐따 엔지니어야 니 실력없는걸로 어디다가 핑계질인가요? 핑계는 닥치고 이 하드웨어에 이 버전의 OS를 설치해주세요.
OS쪽 엔지니어로써는 미쳐버릴 노릇이지만 이렇게 가야하는(정확하게는 이렇게 가달라고 요구하는) 경우도 상당히 많다. 물론 당장설치는 어떻게 드라이버 떡칠을 해서라도 마치고 운용을 할 수도 있겠지만 나중에 문제가 발생하면 어디 하소연할데도 없어진다는것을갑 녀석들은 잘 깨닫지 못한다. 닥쳐봐야 '앗차' 깨달을 뿐. 살때부터 잘 사면 얼마냐 좋냐. 근데 처음 살때는 그냥 무조건좋은거 사면 다 되는줄 알거나 가격에 맞춰서 일단 질러놓으면 설치는 알아서 해줄거라는 못되먹은 생각을 가진 갑놈(및영업사원이라는 내부의 적)들이 이 세상 사방에 포진되어 있으니..꼬우면 갑 해야지 어쩌겠는가? (...)
3. 가상화
퍼포먼스(이를테면 과도한 I/O나 CPU Load, Memory 과다사용 등에 의한 병목현상) 이슈가 없다면 가상화가 그 해답이될 수도 있다. 일단 기본 OS는 하드웨어에 최적화된 녀석을 설치하고 이후 Virtual Machine에 Application에맞는 OS를 깔아서 문제를 해결하는 것이다.
역시 가상화의 최대의 적은 퍼포먼스 문제. 요즘 VMWare나 Xen계열에서 어느정도 Native System에 가까운 정도의 퍼포먼스를 뽑아내준다고는 하지만 진정 System Critical한정도의 부하가 걸려버리면 그때부터는 답이 없어지는게 현실이다. - 물론 이런 일이 없도록 충분한 여유를 가진 시스템 사양을뽑는것이 좋겠지만, 어플리케이션 특성상 CPU같은건 100% 다 쏘는 녀석들도 숱하게 많다.
그리고 가상화 시스템을추가로 관리해야하는, 관리포인트 증가의 문제가 발생한다. 뭐 차라리 그냥 시스템 HA 클러스터를 한다던지 해버리면 그냥클러스터링 관리 대신에 가상화 시스템 관리를 주 포인트로 걸어버리면 굉장히 깔끔해지기때문에 이런 특정 용도를 대체하기 위함이라면모를까 그런 경우가 아니면 좋던 싫던 가상화 시스템에 대한 추가 관리포인트가 발생하기에 이를 어떻게 관리하는가가 또 하나의문제로 부상할 수 있다.
이들 문제를 해결하고 넘어갈 수 있다면 가상화는 굉장히 매력적인 시스템이다. 특히나 벤더계열 OS가 아닌 뭐 데비안이나 우분투(캐노니컬도 벤더라면 벤더라지만 의미없는..), 젠투를 쓰고 싶어하는 괴인이라던지BSD계열밖에 몰라요 하는 BSD빠라던지..(...) 하는 경우라도 해당 OS를 벤더 서버에 설치한다는것은 굉장한 인내를요구하는 일이다. 이런 경우 역시 가상화가 해답이 될 수 있겠다.
게다가 아무리 말도 안되는 정도의 저 버전의 OS를 설치한다고 해도 역시 가상화가 해답이 될 수 있다. 물론 퍼포먼스가 그렇게 원활하게 나오지는 않을수도 있겠다만 말이다.
가상화가 이런 다양한 OS관련 궁합에 유용하게 쓰일 일은 많다. 단지 엔지니어들이 실서비스에 가상화를 도입하기를 기피할 뿐..- 이 역시 가상화 시스템의 서비스 도입 경험부족에 인한 것일뿐이지만 말이다.
흔히들 Hardware Certification / Software Certification 이라고 표현을 하게 되는데, 간단히 말해서 이 하드웨어에는 어떤 버전의 OS를 설치해야 하고 이 어플리케이션은 이 버전의 OS에서만 설치해야 한다 라는것을 이야기하는 것이다.
보통 살펴보면
특정 하드웨어에 맞는 OS는 xx버전 "이상" 의 OS를 요구하는 경우가 대부분이고
특정 Application에 맞는 xx버전 이상, xx버전 이하의 OS를 요구하는 경우가 대부분이다.
문제는 처음의 xx버전 이상과 후자의 xx버전 이상, xx버전 이하의 교집합이 발생하지 않는 경우이다.
결국 그 중심은 OS라는것. 단순 하드웨어 엔지니어나 Application 엔지니어들은 이런 부분에 대해서는 애초에 관심이 없거나생각조차도 하지 않는 경우가 대부분이라는걸 생각해 볼때, 이 부류의 사람들을 폄하할 생각은 아니지만 OS쪽 엔지니어로써는 이들이확실히 같이 일하기가 꺼려지는 경험 부족자가 아닌가 하는 생각을 떨쳐버릴수가 없다. 뭐 실은 경험부족이라기보다는 그냥 굳이 이런부분을 신경쓸 이유가 없거나 본인들과 딱히 상관이 없는 부분이 많고 기본적으로 환경이 구성된 곳에서만 일해보았을테니..업무환경상 이런 부분에 대해서 신경 자체를 쓸 여유가 없을수밖에 없는것이니 이해를 해야겠다만 말이다.
하여간 OS에 대한 문제가 실질적인 핵심 이슈로 떠오르게 되면 굉장히 골치아파지기 시작한다. 이 망할 하드웨어랑 소프트웨어 견적은 대체 누가 뽑아서 납품한건지 가서 "이 두뇌가 달아난 새끼"라며 조져버리기라도 해야겠는데 회사내에서 영업 그룹의 정치력이 엔지니어 그룹의 정치력보다 한참 뛰어난 경우가 많기에 할말은많아도 할말도 못하고 끙끙댈 수 밖에 없는것이 이 나라의 IT계의 현실이 아닌가 말이다. - 도대체 IT회사 주제에 엔지니어그룹에 대한 대우를 그따위로 해준다는건 IT회사의 근간을 흔들고 자신들 스스로 저급회사가 되는 지름길이다. 사장들 정신차려라.
결국 이쯤에서 한 세가지 정도의 선택의 기로에 놓인다.
1. 하드웨어나 소프트웨어를 레벨 Up/Down 하거나 아예 다른것으로 바꿔버린다.
대부분 불가능하다. 이미 질러버리고 나서 엔지니어 투입 후에야 깨닫는 경우가 대부분이기에..거기다가 이미 질러버린 사람은 뒤로 내빼거나 나 몰라요 하고 말아버리는 경우가 대부분. 돌아버린다.
2. 이 좆찐따 엔지니어야 니 실력없는걸로 어디다가 핑계질인가요? 핑계는 닥치고 이 하드웨어에 이 버전의 OS를 설치해주세요.
OS쪽 엔지니어로써는 미쳐버릴 노릇이지만 이렇게 가야하는(정확하게는 이렇게 가달라고 요구하는) 경우도 상당히 많다. 물론 당장설치는 어떻게 드라이버 떡칠을 해서라도 마치고 운용을 할 수도 있겠지만 나중에 문제가 발생하면 어디 하소연할데도 없어진다는것을갑 녀석들은 잘 깨닫지 못한다. 닥쳐봐야 '앗차' 깨달을 뿐. 살때부터 잘 사면 얼마냐 좋냐. 근데 처음 살때는 그냥 무조건좋은거 사면 다 되는줄 알거나 가격에 맞춰서 일단 질러놓으면 설치는 알아서 해줄거라는 못되먹은 생각을 가진 갑놈(및영업사원이라는 내부의 적)들이 이 세상 사방에 포진되어 있으니..꼬우면 갑 해야지 어쩌겠는가? (...)
3. 가상화
퍼포먼스(이를테면 과도한 I/O나 CPU Load, Memory 과다사용 등에 의한 병목현상) 이슈가 없다면 가상화가 그 해답이될 수도 있다. 일단 기본 OS는 하드웨어에 최적화된 녀석을 설치하고 이후 Virtual Machine에 Application에맞는 OS를 깔아서 문제를 해결하는 것이다.
역시 가상화의 최대의 적은 퍼포먼스 문제. 요즘 VMWare나 Xen계열에서 어느정도 Native System에 가까운 정도의 퍼포먼스를 뽑아내준다고는 하지만 진정 System Critical한정도의 부하가 걸려버리면 그때부터는 답이 없어지는게 현실이다. - 물론 이런 일이 없도록 충분한 여유를 가진 시스템 사양을뽑는것이 좋겠지만, 어플리케이션 특성상 CPU같은건 100% 다 쏘는 녀석들도 숱하게 많다.
그리고 가상화 시스템을추가로 관리해야하는, 관리포인트 증가의 문제가 발생한다. 뭐 차라리 그냥 시스템 HA 클러스터를 한다던지 해버리면 그냥클러스터링 관리 대신에 가상화 시스템 관리를 주 포인트로 걸어버리면 굉장히 깔끔해지기때문에 이런 특정 용도를 대체하기 위함이라면모를까 그런 경우가 아니면 좋던 싫던 가상화 시스템에 대한 추가 관리포인트가 발생하기에 이를 어떻게 관리하는가가 또 하나의문제로 부상할 수 있다.
이들 문제를 해결하고 넘어갈 수 있다면 가상화는 굉장히 매력적인 시스템이다. 특히나 벤더계열 OS가 아닌 뭐 데비안이나 우분투(캐노니컬도 벤더라면 벤더라지만 의미없는..), 젠투를 쓰고 싶어하는 괴인이라던지BSD계열밖에 몰라요 하는 BSD빠라던지..(...) 하는 경우라도 해당 OS를 벤더 서버에 설치한다는것은 굉장한 인내를요구하는 일이다. 이런 경우 역시 가상화가 해답이 될 수 있겠다.
게다가 아무리 말도 안되는 정도의 저 버전의 OS를 설치한다고 해도 역시 가상화가 해답이 될 수 있다. 물론 퍼포먼스가 그렇게 원활하게 나오지는 않을수도 있겠다만 말이다.
가상화가 이런 다양한 OS관련 궁합에 유용하게 쓰일 일은 많다. 단지 엔지니어들이 실서비스에 가상화를 도입하기를 기피할 뿐..- 이 역시 가상화 시스템의 서비스 도입 경험부족에 인한 것일뿐이지만 말이다.
태그 : 가상화, Virtualization

덧글
sessin 2009/06/09 22:41 # 삭제 답글
글쎄요. 경험부족이라 기피한다는 건 좀 이상하구요. 고가의 철강제품을 생산하는 생산라인을 통제하는 100대의 서버를 VM 위에 올려놓을만큼 간이 크지 못한 경우(이런 경우엔 차라리 여러대의 서버로 역할을 분산하는게 낫죠. 죽어도 하나만 죽는거니깐.), SSO 처럼 매우 중요한 관문역할을 하는 서버의 경우 VM 위에 올려놓는건 제가 보기엔 직장생활의 수명을 단축하는 지름길인듯 한데요 ^^
ydhoney 2009/06/09 23:13 #
지금 하려는 말이 무슨 얘기인지 알텐데 굳이 이런 댓글을 다실 필요가?