본문 바로가기
Etc

LTS(Long Term Support) - 버전 관리의 필요성

by 올엠 2022. 9. 7.
반응형

특정 프레임 워크와 개발 언어를 사용한다면 중요한 부분이 해당 언어 나 프레임 워크의 유지 보수 유무라고 할 수 있다.

직접 개발한 프로그램도 언어의 유지보수 에 따라서 보안 취약점에 노출 될 수 있고, 실행중 문제가 발생해 종료될 수 있기 때문에,

반드시 제공처에서 적극적으로 유지 보수가 되는지 확인하고 그 기간과 현재 안정화 되어 있는지를 확인하는 것이 좋다.

 

버전 관리를 할때 가장 많이 볼 수 있는 단어가 LTS, Long Term Support) 이다.

LTS (Long Term Support)

프레임 워크와 개발 언어는 버그나 보안 취약점 기능 개선등으로 자주 버전을 변경하게 된다. 

따라서 제공자는 모든 버전을 지속적으로 위험이나 심각한 버그로 부터 해결해주는 것은 불가능하다.

이슈가 5k...

이를 보완하기 위해서 장기간 지원해주는 버전을 지정하여 해당 버전에 대해서는 지속적인 관리를 해주므로써, 신규 기능은 아니지만 안정성을 보장한다고 할 수 있다.

또 사용하는 개발자들 입장에서는 최신 버전을 이용할 수 없고(최신 버전에서 나타나는 버그), 각각 안정화된 서비스를 위해서 버전을 업데이트를 멈추는데, 문제는 심각한 버그나 취약점이 발생하게 되면, 기존 개발했던 버전을 유지하기 어려워 진다는 것이다.

예로 만약 본인의 개발한 JAVA 버전에 원격 권한 상승이 가능한 취약점이 나왔다고 한다면 해당 버전으로 서비스를 한다는 것은 해커에게 서버를 내주는 꼴이 되기 때문에 상용 서비스를 하는 경우 큰 위험에 노출 될 수 있다.

 

이러한 이유로 LTS는 요즘 단연히 지원해야 하는 기본 사양과 같다고 할 수 있다.

실제로 OpenSource로 유명한 Ubuntu의 경우 12.x버전부터 6년을 LTS로 지원하다고 발표하면서 엄청난 사랑을 받았고, 현재 많은 사람들이 Ubuntu를 기본 이미지로 채택하게 된 계기가 되었다.

 

Python

Python의 경우 x.x 로 LTS 버전을 관리를 하고 있다.

각 버전 첫번째 숫자를 통해서 5년간 지원해주는 방식으로 이해하면 된다.

DJango

Django의 경우 x.2가 LTS 버전을 관리한다.

다만 기간이 2.5년으로 LTS가 조금 짧다는 점에서 이해가 필요하다.

.NET

.NET의 경우 X. 버전 즉 메이저 버전으로 LTS를 관리한다.

.NET 역시 2.5년으로 현재 관리되고 있다.

반응형