Ubuntu vs CentOS

Posted by 엘키의 주절 주절 on October 1, 2018

종종 언급했지만, 나는 자의적으로 서버 프로그래머가 된 케이스는 아니다.

반 강제 서버 프로그래머로 전향한 2006년 당시만해도 대다수의 게임 개발은 윈도우 기반의 온라인 게임이었다보니, 당연히 게임 클라이언트 개발도 윈도우가 지배적이었다.

더군다나 게임 서버 개발자 중 반절 이상은 클라이언트 개발을 하다가 인원 부족이나 전문 인력 부족으로 전향한 나와 같은 케이스가 많다 보니 클라이언트 개발시에 그리고 평상시 자주 사용해 익숙하던 윈도우 환경에서 서버를 구축하기 시작했다.

아무래도 공통된 유틸리티성 코드 활용을 위함과 학습 코스트, 운용 코스트 등을 고려한 측면에서의 영향도 큰데, 서버와 클라이언트의 많은 코드를 공유하게 되면 커버리지도 공동 확보되는 경향도 있어서 일 것이다.

나 역시 클라이언트에서 전향한 사례였다 보니 윈도우가 훨씬 익숙했고, 윈도우 서버로 게임 서버를 꽤나 긴 시간 개발해왔다.


그러던 중 리눅스를 실무에 사용하게 된 계기는 윈도우에서 production이 불가능에 가깝던 ruby on rails를 쓰게 되면서 였다.

학습용으로 rails를 배워나가면서, 로그 처리 웹서버를 구성했었다. 간단한 기능이나 rails의 기본 기능들 까지는 동작하는데, 다수의 패키지가 윈도우에서 안도는 것들 투성이라서 선택지가 없었다.

같은 이유로 이후에 스타트업에서 ruby on rails를 이용한 웹 서버로 게임 서비스를 해야 될 때도 어쩔 수 없이 리눅스를 써야 했다.

윈도우 서버로는 production 레벨로 올릴 수 없기에, 여러가지 리눅스를 검토하기 시작했다.

검토하다 보니 Ubuntu와 CentOS로 좁혀졌는데, 이는 다수의 클라우드 서버 및 물리 서버 호스팅을 위한 검토과정에서 공통적으로 지원하는 리눅스 계열 OS는 이 둘 뿐이었고, 왜 그런가를 살펴보았다.

CentOS

  • RHEL을 지연 반영하는 안정성 높은 OS
    • 반대로 버그 패치도 지연 반영되는 단점.
  • RPM(Redhat Package Manager)를 이용한 쉬운 설치/제거.
    • 의존성 패키지 문제를 유발하는 원흉이 되기도 함.
  • 밸런스 있는 발전 속도와 혁신 (RHEL의 기조를 그대로 따라 감)
  • 기술 지원이 쉽지 않음.
    • 필요할 경우 RHEL을 쓰는게 낫다고 여겨짐.
  • 레드햇 계열 배포판 비교

Ubuntu

  • LTS를 통한 장기 지원, 단기 유지되지만 새로운 시도를 하는 일반 버전 동시 지원.
  • 다수의 사용자 커뮤니티 확보
  • 데비안 기반의 신뢰도
  • 데비안을 지연 반영하는 높은 안정성과 빠른 변화를 추구하는 우분투의 방향성의 밸런스
    • 대신 빠른 버그 수정 및 대응이 강점.
  • 캐노니컬의 영업력으로 인한 높은 하드웨어 호환율

우분투는 데비안의 안정성을 일부 취하면서, 빠른 변화와 새로운 패키지나 규칙 변화에 능동적인 편에 속한다. LTS 버전이라 할지라도 데비안이나 CentOS보단 불안정할 수 있지만, 그럼에도 최신 패키지나 새로운 라이브러리들을 가져다가 시험적인 혹은 프론티어 적인 시도를 하기 좋다고 볼 수 있다.

CentOS의 경우 안정 지향의 RHEL의 지연 반영이라는 점에서 큰 인기를 끄는 편이고, 왜 그런지 모르겠으나 같은 포지션의 데비안은 국내에선 상대적으로 덜 선택되는 편이었다.

이 글을 정리하면서 궁금해서, 여러 글을 읽게 됐고 각 OS별 위키를 자세히 읽고 확인하게 됐는데, 해외에서의 점유율은 Ubuntu, Debian, CentOS가 3톱을 구성하고 있었고, 그 중 Ubuntu가 압도적인 수치 (37.5%)를 차지하고 있음을 알 수 있었다.

2017년의 웹 기술: https://w3techs.com/blog/entry/web_technologies_of_the_year_2017

os_of_the_year_2017

리눅스 배포판 별 점유율: https://w3techs.com/technologies/details/os-linux/all/all

2018_september_percentage_of_websites_using_linux

2018_september_subcategories_of_linux

글 제목에서도 알 수 있듯이, 나는 CentOS (+RHEL)과 Ubuntu (+Debian) 의 구도를 유지하고 있을 거라 생각했는데, 통계 사이트가 정확한 수치를 반영하기 어렵다는 것을 알지만, 그럼에도 꽤나 큰 차이는 충격적이었다.

이런 큰 수치차이는 패키지 매니저의 특징과 관리 이슈, 안정성에 대한 시선에 따른 차이지 않을까 싶다. 우분투 데비안과 CentOS 사이의 균형을 잘 찾았다고 인지되고 있는 듯 하고, 그 정점에는 LTS를 통한 안정적 버전에 대한 신뢰도 있는게 아닐까 싶었다.

배포판 별 위키

리눅스를 능숙하게 쓴다고 감히 얘기할 수 있게 된 시기는, 각 OS별로 수많은 어플리케이션을 다뤄보고, 운용해보고, 이슈를 겪어보고 나서야 말 할 수 있었다.

어플리케이션을 구동하기 위한 패키지 관리, 직접 컴파일해서 사용, 패키지간 충돌 해결 등의 다양한 문제와 함께 익숙해져감을 몸소 느낄 수 있었고 말이다.

그리나서야 CentOS와 Ubuntu의 장단점에 대해서 얘기할 수 있을거란 생각이 들어 이 글을 쓰기 시작했고, 분명히 CentOS를 좀 더 지지하기 하려 했었으나, 통계와의 오차는 당황 스러우면서도 매우 흥미로웠다.

또한 내 개인적 경험으로 인한 편견인지, 실제로 그걸 감안하고도 밸런스 좋은 OS인 Ubuntu가 인기 있는 것인지 알고 싶어졌다.

한편으로는 동시에 서버 OS 배포판 별 통계나, 배포판 별 역사, 배포판 별 특징 등에 대해서 좀 더 잘 알 수 있게 된 계기가 됐다는 생각도 든다. 그리고 데비안을 써보고 싶어졌다.