메인프레임

 

[image]
이 사진은 IBM z15이다.
1. 개요
2. 역사
3. 현재


1. 개요


메인프레임(mainframe)은 인구조사, 공업/소비자 통계, ERP, 금융같은 중요하고 막대한 처리량을 필요로 하며 다수의 사용자가 동시에 작업할 수 있어야 하는 환경에 쓰이는 거대한 컴퓨터다.

2. 역사


흔히 '대형 컴퓨터'라고 불리는 UNIVAC I같은 초창기의 상용 컴퓨터의 직접적인 후손이다. 1964년 IBM이 출시한 System/360이 현대적인 메인프레임의 시초며, 지금도 IBM이 최강급으로 군림하고 있는 분야다. 전성기에는 메인프레임 업체 Top 2위~9위의 모든 업체 매출액을 합한 것보다 IBM 한 회사의 매출액이 더 컸다. 지금은 그 정도까지는 아니지만 여전히 큰손이다.
보통 하드웨어소프트웨어가 일체화되어 판매된다. 윈도우즈나 매킨토시같은 PC용 시스템과 달리, 보안을 위해 대부분의 기술 사항은 영업비밀로 다루어진다. 애초에 기술 사양 자체가 기밀이라 뚫기가 매우 어렵다.
신뢰성을 보장하므로 판매 업체에서 지속적으로 유지 보수 작업을 해준다. 한번 들여놓으면 수십년씩도 굴려먹을 수 있고, 이 특징 덕분에 1960~1970년대에 코볼로 짠 프로그램이 21세기에도 현역으로 돌아가는 진풍경이 펼쳐질 수 있는 것이다. 이 때문에 2000년에 Y2K 문제로 난리친 원인이 되기도 하였다. 특히 그깟 처리속도 몇 배쯤 빠르게 하려 함부로 캐비넷 파일을 바꾸는 모험을 할 수 없는 금융이 유난히 심하다. 대한민국에서도 남대문로 어딘가에선 어떤 망한 은행이 수십 년 전 도입한 구닥다리 메인프레임이 모 은행에 의해 현역으로 굴러간다는 도시전설이 있을 정도. 하긴 워낙 비싼 물건이고 관리도 열심히 해 주기에 충분히 그럴 수 있다. 의외로 옛날 전자부품들의 수명이 더 좋다. 공정이 미세하지 않아서 그렇다는 말이 있다.[1]
메인프레임은 기밀인 부분이 워낙 많고 복잡하여 제조사의 유지보수가 필수적이다. 이 분야를 대표하는 IBM의 돈줄이 이러한 유지보수로 발생하는 보수비다. 상업용 컴퓨팅은 분야를 막론하고 유지보수가 중요하고 비용도 많이 투입된다.

3. 현재


PC의 발전으로 세계적으로는 PC 서버가 메인프레임을 잠식했다. 현재 돌아가는 서버의 90% 이상이 x86 기반이라고 한다. 하지만 보안 문제가 이슈화되면서 보안성이 높은 메인프레임의 가치를 더 높이 평가하는 움직임도 있다.
그러나 2000년대 이후에는 기기 자체의 값이 워낙 비싸다. 보통 은행에서 사용하는 메인프레임의 도입 비용은 기본적으로 수천억 원을 상회한다. 규모에 따라 조 단위로 올라가기도 한다. 여기에 유지 보수 비용이 더욱 많이 드는 지경이라, 한국에서는 금융권에서조차 기기 수명을 다 한 메인프레임 장비 교체를 망설이는 현실이다. 그 거대한 규모에서 오는 부담도 큰데, 건물이 메인프레임 무게를 견디게 하는 것도 중요하다. 과거 제일은행 직원에 의하면 1990년대 중반 공평동 본사에 있던 메인프레임의 경우 본사 지하같은 곳이 아니라 꽤 높은 곳에 있었는데, 그 열기도 엄청나서 항상 에어컨을 틀었을 뿐더러[2] 본점 건설 당시에도 메인프레임 무게를 고려하여 하중을 굉장히 높게 잡고 지었다고 한다. 이미 그 엄청난 유지의 부담 때문에 우체국, 부산은행을 비롯한 몇몇 금융기관들은 차세대 전산 시스템 도입을 진행하면서 메인프레임 시스템을 버리고 유닉스 시스템으로 갈아타기도 했다.
우리은행은 2015년에 IBM의 메인프레임을 유닉스로 바꾸기로 결정했다.[3] 국민은행은 2017년에 2020년까지 IBM의 메인프레임을 유닉스로 바꾸기로 결정했다.[4] [5] 2017년 현재도 한국 금융권에서는 유닉스 시스템 돌풍이 불고 있다고 해도 과언이 아닐 정도다[6]. 심지어 카카오뱅크리눅스를 사용한다. 현재 IBM의 메인프레임이 주전산기로 남은 은행은 SC제일은행우리은행 뿐이다.... 이었으나, 2018년 5월 우리은행x86 시스템으로 옮기다가 생긴 일들이 심각했어서 그런지, 국민은행은 차세대 주 전산시스템으로 메인프레임을 도입하기로 결정하였다.#
윗 문단들에서 메인프레임에서 유닉스 시스템으로의 이행을 비용 문제로만 치부하고 있는데, 도입 비용은 유닉스 시스템이 훨씬 저렴할지 몰라도 장기적인 유지관리 비용은 메인프레임이 저렴할 수 있다는 연구 보고가 많다. 위에서 언급된 우체국 사례로만 보더라도, 메인프레임 시기에는 3코어[7]만으로도 우체국의 금융과 우정 업무 모두를 처리할 수 있었으나, 유닉스 시스템으로 이행한 후엔 최초 도입한 6기로는 업무 병목이 생겨 3기를 추가 도입했다[8]. 결국 도입 목표 비용은 초기보다 50%를 초과했고, 유지보수비용도 메인프레임과 비슷하게 되었다. 장기적으론 주전산기의 물리적 규모가 메인프레임보다 훨씬 커졌기 때문에 하드웨어 유지보수비용이 메인프레임보다 클 수밖에 없을 것으로 예상되고 있다. 이 문제는 2017년 우정사업본부에 대한 과학기술정보통신부 국정감사에서 드러난 문제이다.
그리고 도입 비용도 유닉스 시스템이 일방적으로 저렴하지도 않다. 메인프레임과 유닉스 시스템 중에 저울질 했던 우리은행이 받은 견적은 IBM 메인프레임이 3,000억원, 유닉스 시스템도 똑같이 3,000억원이었다. 하지만 실제 도입 과정에서 유닉스 시스템을 구축하는 데 1,000명이 넘는 인력이 동원되며 인건비로 인해 도입 비용이 3,000억원보다 상회하게 되었다. 그러고도 시스템이 완전히 구축되지 않아 2018년 5월[9]에 이어 6월에도 간헐적인 전산 장애와 보안 문제출처를 겪었다. 만일 메인프레임을 선택했으면 200명의 인력으로 구축이 가능했을 것이다.
2010년 이후 금융권에선 탈IBM이 무슨 혁신인 것마냥 홍보가 되어서 유닉스 시스템이 부상하고 있는데, 유닉스 시스템은 메인프레임을 완전히 대체할 수 없다. 메인프레임은 단일한 거대 시스템으로 처리 요구량이 시스템 사양을 상회하지 않는 이상 완전한 real-time처리를 구현하여 이상적인 데이터 처리 환경을 구축할 수 있다. 반면, 유닉스 시스템은 업무를 큰 바운더리로 나눈 후 그것을 별도의 시스템으로 구축하고 그것을 하나로 묶는 분산형 체계이다. 따라서 유닉스 시스템 하에선 완전한 real-time환경은 구축될 수 없으며, 오히려 분산처리를 위한 고도의 알고리즘을 필요로 한다. 분산 알고리즘을 아무리 잘 짜놓는다해도 데이터가 시스템 별로 나뉘기 때문에 real-time환경이 구축될 수 없음[10]은 물론, 처리 요구량이 많을 경우 데이터 병목[11]도 발생할 수 있다.
국민은행이 유닉스 시스템 도입을 거의 결정해 두고 갑자기 메인프레임으로 선회한 것도 위의 이유가 크다. 한국은행이 유닉스 시스템으로 전환한다는 것도 주전산기 이외의 시스템을 유닉스 시스템으로 개편한다는 것이지, 주전산기는 여전히 메인프레임을 존치한다[12]. 일각에선 메인프레임이 차세대 금융 플렛폼과 맞지 않는다는 주장을 펼치는데, 주전산기는 그런 플랫폼을 받쳐주는 역할이나 하기 위해 있는 것이 아니다. 금융권의 주전산기는 금융의 가장 본질적 기능, 은행 원장과 그 기록을 관리하는 부분이다. 클라우드 금융이나 스마트 금융의 기능은 어차피 주전산기의 영역이 아닌 것이다. 그리고 굳이 신기능이 메인프레임 단위에서 필요하다면, 그것과 관련된 솔루션 역시 소프트웨어적으로 제공되고 있기에 대응이 가능하다.[13]
한편, 메인프레임도 변화에 대응하고 있다. 2010년대 이후 중소 규모의 메인프레임이 등장하여 도입 부담이 크게 줄어들었고, 메인프레임을 위한 리눅스 플랫폼도 등장했다. 특히, IBM의 2015년 출시된 LinuxOne 플랫폼은 사용 가능한 애플리케이션을 확대하여 메인프레임의 활용도를 극대화하는 데 성공했다. LinuxOne 플랫폼 중 최상위 단위인 '리눅스원 엠페러'는 메인프레임 내에 리눅스 가상 서버 8천개를 실시간으로 운영할 수 있을 정도의 성능과 확장성을 보여준다. 이 IBM의 LinuxOne 플랫폼은 메인프레임만의 고도의 안정성, 무지막지한 I/O 성능을 앞세우는 최고의 하이엔드 리눅스 시스템이라 할만하다. 이런 LinuxOne 플랫폼의 도입 비용은 최고 트림의 유닉스 시스템 대비 저렴하며 동일한 성능을 제공하는 x86 서버군과 비슷한 도입 비용을 갖기에 경제성도 충분하다. 실제 하드웨어 구매 비용 부분도 꽤나 떨어져서 이제 8천만원만 있으면 IBM zEnterprise z114 를 구매할 수 있다. 여기에는 z/OS까지 포함되어있으며 필요한 경우 주 운영체제를 native Linux 로 돌리거나 LinuxOne 가상화를 통해 리눅스를 쓸 수 있는 것도 포함된다.
4차 산업혁명의 근간이 될 것으로 여겨지는 클라우드 컴퓨팅 역시 메인 프레임을 기반으로 하는 경우가 많다. 대규모의 데이터를 다루면서 다중 접속자의 요구를 동시에 처리하기에는 메인프레임만한 것이 없기 때문이다. 데이터 센터의 하드웨어 시스템 역시 메인프레임에 기반한 체계를 활용한다. 물론 이 두 분야에서 규모가 어지간 하지 않은 이상 x86 기반의 시스템이 많아지는 것은 사실이다.
이걸로 게임도 했다. 메인프레임 게임 참조.

[1] 동작중인 회로에 계속 전자가 흐르면서 금속 선로에 미세한 열화(일렉트로마이그레이션)가 발생하는데 최신 CPU 같은 미세공정은 워낙 회로가 가늘다보니까 이것이 누적되면서 단락이 생긴다. 높은 전압과 열이 가해지면 이 현상이 가속되므로 오버클럭이 CPU의 수명을 단축시키는 원인이기도 하다. 하지만 옛날 공정은 선로 자체가 굵어서 수십년을 굴려도 이런 문제에서 자유로운 편. 최첨단 기술이 사용되는 화성탐사로봇같은 물건도 나온지 20년이 훌쩍 넘은 16MHz로 작동하는 구닥다리 CPU를 사용한다. 우주에서 자연발생하는 전자파를 비롯한 방사능까지 온갖종류의 위협에서 그나마 자유롭기 위해서는 공정미세화따위는 1도 고려하지 않은 옛날 물건이 훨씬 튼튼하기 때문이다. [2] 이건 IDC도 마찬가지. 24시간 365일 22도 유지가 권장되며 정부도 공공기관 온도조절에서 IDC 만큼은 예외로 두고 있다.[3] ‘IBM 메인프레임’ 퇴출… 우리은행, 2기 차세대 ‘다운사이징’ 으로 가닥 2015.07.19 #[4] 2,500억원 규모 국민은행 차세대 '시동'…굿바이 'IBM 메인프레임' 2017.02.13 #[5] 2020년, IBM 메인프레임 한국 금융 시장서 사라진다 2016.03.07 #[6] 다만 이는 세계적인 추세는 절대 아님을 유념하자. 세계 글로벌 금융기업 상위 50개 중 메인 프레임을 사용하는 곳은 49개이다. 실제 한국에 들어와 있는 외국계 금융기업의 지점, 영업소들은 메인 프레임망을 카피한 망을 그대로 사용하고 있다.[7] 보통 국내 은행이 1~4코어 정도를 사용했었다. 1코어 당 유지보수비용은 30억원 가량 된다.[8] 우체국이 메인프레임을 도입했던 연도를 생각해보면, 메인프레임의 센터 코어의 처리 능력이 얼마나 우수한지 짐작해 볼 수 있다.[9] 5월 문제는 심각했으며, 큰 건이 두 번 일어났다. 5월 초에 장애가 일어난 날이 하필이면, 국방부의 급여 지급일, 대외 대금 지급일과 겹쳐버렸다. 군인, 군무원의 급여가 지연 지급되었고, 군 기관에서 외부 기업에 지급해야 할 대금도 지연 지급되었다. 5월 말일인 31일에도 전산 장애가 일어났는데, 이 날도 하필 말일이라 기업체간 대금 결제가 몰리는 날이어서, 대금 결제 건으로 피해를 본 기업이 많았다. 5월 초에 발생한 것에 대해선 우리은행이 공식 사과했으나, 5월 말일의 건은 '통상적인 전산 장애'라는 식으로 애둘러 빈축을 사기도 했다.[10] 이 때문에 유닉스 분산 시스템은 시분할처리의 분할 분기를 미세화해서 real-time에 가까운 환경을 제공하려 '노력'한다.[11] 돈을 다루는 분야에선 이게 큰 문제로 될 수 있다. 데이터 병목이 심해져 처리가 늦어지면 분산 시스템 간 동기화가 제대로 이루어지지 않아 처리 장애가 올 수도 있기 때문이다. 쉽게 이야기해서 A단위에서 1의 데이터를 처리했으나 병목으로 인해 다른 단위로 늦게 전달되는 동안 B단위에서 1의 다음 데이터를 처리할 경우, 데이터 처리 장애가 오게 된다. 이러한 지연이 발생하면 다른 처리에도 영향을 미치고, 은행과 같이 동시에 수많은 데이터 처리가 필요한 경우에는 순차적 지연이 발생하며 꽤 큰 문제가 될 수도 있다. 암호화폐 분야에서는 은행 규모의 자금이 묶여있지만 실제 이체에서 극심한 병목현상을 보이며 차라리 지폐를 비행기로 배달하는게 더 빠르겠다 싶은 상황이 실제로 벌어지고 있는데 은행 거래의 신뢰성이 이 정도로 추락한다면 당연히 큰일난다[12] 한국은행은 막강한 자금력으로 말단 단위까지 메인프레임의 단말기를 물려서 전산망을 돌렸었다.[13] z/OS 에도 HTTP서버, JavaScript 서버, FTP서버는 존재한다. 정말 필요하다면 프론트엔드 서비스마저도 메인프레임으로 충분히 할 수 있단 이야기. 심지어 서버데몬은 nginX 도 제공하고 docker 도 제공한다.2000년대 정적웹을 넘어서서 실시간 상호작용을 요하는 React, Vue.JS 등을 다 끼얹은 웹도 까다로운 z/OS의 밑준비만 끝내면 일반 프론트엔드 개발하듯이 하면 된다.

분류