애플리케이션 현대화로 가는 길

오래된 기술

새로운 기술 채택 및 비즈니스 상황 대응

애플리케이션은 언제 구식이 되는가?

  1. 도입한 솔루션이 있을 경우, 벤더사의 지원을 더이상 받을 수 없을때에 해당된다.
  2. 새로운 비즈니스 요구사항을 반영하기 어려운 상황이 발생한 경우에 해당된다. (억지로 반영하다가는 부채만 쌓이게 된다.)
  3. 현재는 사용되지 않는 하드웨어 혹은 특정 상황에서만 작동되는 경우에 해당된다.

어떻게 현대화를 해야 할까?

  • 현대화를 해서 어떤 결과를 얻고자 하는가?
  • 어떤 자원을 가지고 있는가?
  • 직접 코드를 수정하거나 제어할 수 있는가?
  • 변경되거나 새롭게 만들어야 하는 항목에 대해 위험 평가를 수행해야 한다.
  1. 다음 세대로 미루고 아무것도 하지 않음
  • 가장 쉬운 방법이다. 현대화를 통해 비즈니스 가치를 찾지 못한다면 올바른 선택이 될 수 있다.
  • 어떤 시스템을 현대화하려고 하는데, 연관된 시스템들이 많아서 전부 건들 수 없는 경우에도 해당된다. 모두 완료되어야 현대화가 되기 때문에 불가한 상황이라고 판단
  • 클라우드로 아무 수정없이 옮기는 방법이다.
  • 재호스팅을 하면서 코드를 약간 변경하는 방식이다. 예를 들어서 데이터베이스, 검색 기능등은 클라우드 리소스를 활용한다.
  • 백엔드에서 제공하는 API를 이용해 프론트엔드만 현대화하는 방식이다.
  • UX는 시대에 따라 자주 변하기에 레거시 애플리케이션의 일반적인 문제 중 하나를 제거할 수 있다.
  • 단, API가 잘 만들어져 있어야 한다.
  • 간혹 애플리케이션이 현재 상황에 맞게 구축되지 않았거나 진화가 안되었을 경우에 해당된다.
  • 비즈니스 로직은 변화하지 않으며, 코드가 새롭게 작성되는 방식이다.
  • 이 경우, 레거시 시스템을 완전 새로운 애플리케이션으로 대체한다.
  • “빅뱅”으로 재구축하기에 철저한 분석, 설계, 테스트 및 데이터 마이그레이션 전략이 필요하다.
  • 또한, 이전 애플리케이션으로 롤백하는 전략이 필요하다.

끝으로

--

--

Slow, Slow (Run Run)… 내일을 사랑하오! https://giljae.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store