최근 OS 관련 글을 읽거나 세션을 듣다보면 레거스 시스템이라는 말을 많이 들을 수 있었다.
대충 어떤 의미인지는 알지만 레거시 시스템이 정확히 어떤 의미인지 알고 싶어 자세히 찾아보고 정리하게 되었다.
Legacy system이라는 단어를 처음 마주하면 Legacy는 유산이라는 의미이기 때문에 "과거의 시스템을 의미하겠구나" 라는 생각이 든다. 그리고 유산이니 후대에 물려주는 것이니 현재에 영향을 주는 과거의 시스템이 아닐까라는 생각이 들었다.
구글에 레거시 시스템을 검색했을 때 최상단에 뜨는 위키백과 검색 자료에는
"레거시 시스템(legacy system)은 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다. 이는 현대까지도 남아 쓰이는 기술을 부르는 말일 수도 있지만, 더 이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함한다."
라고 되어 있다.
이렇게 레거시 시스템은 현재에 쓰일 수도 있고 아닐 수도 있는 유산과 같은 과거의 시스템이라고 이해할 수 있었다.
이어서
"많은 소프트웨어 개발자들이 레거시 시스템을 사용하는 것에 잠재적 문제가 있다고 생각한다.[1] 예를 들어 오래된 하드웨어를 위해 설계된 소프트웨어의 경우, 새로운 하드웨어에서 실행되도록 하기 위해서 에뮬레이션이나 하위 호환성을 구현해줘야 할 수 있다."
라고 기술하였다. 하드웨어는 끊임없이 발전하고 변화하기 때문에 이에 맞게 소프트웨어도 새로 설계가 필요하기 때문에 레거시 시스템을 잠재적 문제가 있다고 보는 것으로 이해 되었다.
그래서 "레거시 시스템은 부정적인 의미로만 쓰이는 것인가?"라는 의문이 생겨서 몇 가지 글을 더 읽어 보았다.
네이버 지식백과에 따르면,
레거시 시스템은 여러 가지 이유로 문제를 일으킬 수 있다. 적용되는 보안 패치의 부족으로 이전 운영체제 또는 응용 프로그램 내에 취약성을 일으킬 수 있고, 새로운 기술의 적용에 제한이 있으므로 전사적인 시스템 통합을 어렵게 할 수 있다.
이러한 레거시 시스템을 관리하기 위해서는 이를 평가하여 제한된 예산 내에서 가능한 최선의 전략을 선택해야 하며, 다음의 네 가지 전략 중 하나를 선택할 수 있다.
- 시스템이 비즈니스 수행에 효과적인 도움을 주지 못할 때 시스템을 폐기하고 비즈니스 프로세스를 수정한다.
- 시스템이 매우 안정적이며 변경 요구가 적은 경우 시스템 유지 보수를 지속한다.
- 변경으로 인해 시스템의 품질이 떨어지는 경우 재공학을 통해 시스템을 대체한다.
- 타당한 비용으로 시스템 전체 또는 일부를 교체하는 것이 가능한 경우 새로운 시스템으로 대체한다.
라고 되어있다.
레거시 시스템은 필요하다면 폐기할 수도 있지만 예산이나 현재 시스템 등을 고려하였을 때 유지가 필요하면 유지할 수도 있고 일부만 교체할 수도 있는 것이다.
[참조]
1. 위키 백과, 레거시 시스템,
https://ko.wikipedia.org/wiki/%EB%A0%88%EA%B1%B0%EC%8B%9C_%EC%8B%9C%EC%8A%A4%ED%85%9C
2. 네이버 지식백과, 레거시 [legacy] (두산백과 두피디아, 두산백과)
https://terms.naver.com/entry.naver?docId=2841975&cid=40942&categoryId=32828
'OS' 카테고리의 다른 글
[Linux] Shell Script for loop (0) | 2023.05.15 |
---|---|
[Linux] Shell script 날짜 가져오기 (0) | 2023.05.08 |
[Linux] 특정 라인 삭제하기 (0) | 2023.03.19 |
[Linux] crontab 명령어 (0) | 2022.05.12 |
[Linux] 디렉토리 용량 확인과 관련된 명령어 (0) | 2022.05.12 |