술(述)/비교

포인트 릴리즈 vs 롤링 릴리즈

쪼랩전사 2021. 10. 17. 23:20
728x90

운영체제(OS, Operating System)를 릴리즈(release)할 때, 아래와 같은 이름을 붙여서 릴리즈한다.

  • Windows 8, 10, 11
  • Ubuntu 20.04.3, 20.10
  • Android 4.4 Kitkat, 5.0 Lollipop, 9 Pie

왜 굳이 8, 10과 같은 버전을 써서 릴리즈할까? 항상 최신 버전으로 릴리즈하면 안될까?
이 포스팅에서는 왜 그러는지, 다른 릴리즈 방법은 무엇인지 관한 내용을 다루겠다.

릴리즈

릴리즈는 "풀어주다", "놓아주다", "공개하다", "발표하다"라는 뜻이 있다. 사실 릴리라고 읽고 쓰기는 하지만, 릴리라고 발음하는 게 맞다. 하지만, 많이 쓰는 게 깡패라고, 릴리즈도 통용된다.
OS를 릴리즈하는 방식은 당연하게도, 해당 OS를 판매하는 곳에서 결정한다.
릴리즈하는 방식은 여러 가지지만, 보통 아래 두 가지 방식 중 하나이다.

  • 포인트 릴리즈
  • 롤링 릴리즈

우리는 위의 방식 중 포인트 릴리즈 방식이 익숙할 것이다.

포인트 릴리즈

포인트 릴리즈는 안드로이드, 윈도우즈처럼 버전을 사용해서 운영체제를 릴리즈하는 방식이다.
포인트 릴리즈 방식은 운영체제뿐만 아니라, 소프트웨어 대부분이 릴리즈할 때도 사용하는 방식이다.
윈도우즈의 메모장마저도 포인트 릴리즈 방식을 따르고 있다.

(windows version을 그대로 따라가는 것 같긴하지만)

이 방식을 사용하면, 새로운 버전의 OS를 사용하기 위해서는 새로운 설치가 필요하게 된다.
예를 들어, windows xp가 설치되어 있는 환경에서 windows 10을 사용하기 위해서는 windows xp를 밀어버리고, windows 10을 설치해야 한다.

보통 새로운 중요한 기능들이 추가되었을 때, 새로운 버전의 운영체제를 릴리즈한다.

또한, 이전 버전의 운영체제들은 EOL(End of Life)를 가지게 된다. EOL은 지원 종료를 뜻하며, 해당 버전의 운영체제에 대한 업데이트, 지원 등을 전부 끊겠다는 것을 의미한다.

요약하자면,

  • 새로운 버전을 적용하기 위해서, 새로운 설치가 필요함
  • 이전 버전들의 운영체제는 EOL이 존재하며, 각 버전에 대한 업데이트가 필요함
  • EOL 시점이 오면 해당 버전에 대한 업데이트가 없음

분명하게 위의 내용들은 사용자에게 불편함을 준다.
하지만, 그런데도, 포인트 릴리즈가 필요한 이유가 있다.
보통 새로운 버전의 운영체제는 이전 운영체제보다 더 좋은 성능을 요구하게 된다. 또한, 이전 하드웨어로는 지원하지 않는 새로운 기능들을 사용하기도 한다. 그러므로, 오래된 하드웨어를 써야 하는 경우라면, 이전 버전의 운영체제를 설치할 수밖에 없다.
즉, 버전 관리라는 귀찮음은 생기지만, 오래된 하드웨어에 대한 지원이 가능하다는 의미이다.

롤링 릴리즈

롤링 릴리즈는 위 방식과는 다르게, 버전이라는 것이 존재하지 않는다.

대표적으로 Archlinux 와 같은 경우가 롤링 릴리즈 방식을 채용했다.

롤링 릴리즈는 조금의 변경이 발생하더라도 바로바로 릴리즈하는 방식이다.

즉, 버전을 명시하게 되면, 너무 빠르게 숫자가 늘어나서 굳이 버전이라는 것을 쓰지 않는 것이다.

이 방식을 사용하면, 운영체제는 항상 최신의 상태를 가질 수 있다.

포인트 릴리즈와는 다르게 릴리즈가 발생하더라도, 새로운 버전의 운영체제를 설치할 필요가 없다.

(새로운 버전에서 버전이라는 개념 자체가 없다.)

또한, EOL이라는 것도 가지지 않는다.

요약

  • 새로운 버전을 적용하기 위해, 새로운 설치가 필요 없음
  • EOL이 없음

포인트 릴리즈와 같은 불편함은 존재하지 않는다.

하지만 포인트 릴리즈와 반대되는 불편함이 존재한다.

오래된 하드웨어에 대한 지원 자체를 포기하는 것이다.

포인트 릴리즈 VS 롤링 릴리즈

두 가지 방식의 결정적 차이는 릴리즈 주기이다.
포인트 릴리즈는 OS를 판매하는 곳에서 릴리즈 날짜를 마음대로 정한다. 예를 들어, Windows는 보통 1년~6년 사이로 마음대로 새로운 버전을 릴리즈를 하고 있다. 롤링 릴리즈는 변경이 발생할 때마다 바로 새로운 릴리즈를 만든다. 릴리즈 주기가 하루 일 수도, 1시간일 수도 있을 정도로 릴리즈 주기가 짧다.
릴리즈 주기가 길다, 짧다는 말은 무슨 의미가 있을까?
개발자 관점에서 릴리즈 주기가 길다는 것은, 아직 발표하지 않은 새로운 버전에 대한 테스트를 수행할 많은 시간이 생기는 것과 같다. 즉, 운영체제에 대한 안정성이 높아진다. 반대로, 릴리즈 주기가 짧다면, 테스트할 시간이 줄어들고, 그만큼 운영체제에 대한 안정성이 떨어진다.

마치며...

지금까지 포인트 릴리즈와 롤링 릴리즈에 대해 설명했다.

만약, 여러분들이 무엇인가를 개발하고 이를 배포해야 한다면, 어떤 방식의 릴리즈를 사용할 것인가? 지금의 나는 일단, 롤링 릴리즈 방식이 좋다. 내 제품의 성능 향상, 새로운 기능들을 빠르게 발표할 수 있기 때문이다.

여러분들은 어떤가?

'술(述) > 비교' 카테고리의 다른 글

오케스트레이션 vs 코레오그래피  (0) 2022.01.20
natural key vs surrogate key  (0) 2021.11.11
status vs state  (0) 2021.08.05
명시적 API vs 묵시적 API  (0) 2021.06.19
정적(Statically) vs 동적(Dynamically) 타입 언어  (0) 2021.06.13