본문 바로가기
MSA해설/Cloud 관련 개념

Application Modernization

by kooangelo 2022. 7. 7.

https://www.vmware.com/topics/glossary/content/application-modernization.html

What is application modernization?

위의 내용을 발췌, 요약, 첨언했습니다

Application Modernization(AM) 이란
 - 새로운 Languages, Framework, Infrastructure 등 새로운 컴퓨팅 접근방식으로 오래된 소프트웨어를 업데이트하는 것 
 - Legacy modernization or Legacy application modernization 라고도 함
 - 효율성, 안전성 등을 개선하기 위해 오래된 집을 개조하는 것과 같은 소프트웨어 개발

Legacy Application을 왜 Modernize하는가
 - 최신 Infrastructure, Tools, Languages 등의 향상을 위해, 
 - 리소스를 줄이고, 
 - 배포의 빈도와 안정성을 높이며, 
 - (서비스를 분리하고 Event Driven Architecture를 통해 느슨하게 연결하여) 복원력(Resiliency) 개선을 위해,
 - 기업의 Digital Transformation 전략을 위해

AM Pattern
* Lift and shift
 - 기존 애플리케이션(예 : 사내 서버)을 기존 환경에서 퍼블릭 클라우드 플랫폼과 같은 새로운 인프라로 옮기는 것 
 - 코드나 아키텍처를 거의 변경하지 않고 애플리케이션을 "있는 그대로" 이동
* Replatforming
 - Lift and shift와 Refactoring의 중간 패턴
 - Refactoring과 같이 코드나 아키텍처에 큰 변화가 필요하지는 않지만, 
   기존 애플리케이션의 백엔드 데이터베이스를 수정하거나 교체하는 등의 최신 클라우드 플랫폼을 활용
* Refactoring
 - 재작성(Rewriting) 또는 재구성(Restructuring) 의 또 다른 표현
 - 코드의 상당 부분을 재구성 또는 다시 개발
 - 새로운 환경(일반적으로 클라우드 인프라)에서 더 잘 실행되도록
 - 기존 Monolithic Application을 Microservice들로 분할하려는 경우 사용
 - Containers and Container orchestration을 포함하여 Cloud-Native Infrastructure와 툴의 이점을 극대화하기 위해 MSA사용 가능

AM을 위한 Key Technology
* Cloud Computing
 - 기존 애플리케이션을 클라우드 환경으로 마이그레이션
 - Public, Private, Hybrid(일반적으로 사내 환경과 통합된 Public 및/또는 Private cloud를 지칭) 포함
* Container
 - 애플리케이션과 워크로드를 패키징, 배포 및 운영하는 클라우드 중심 방법
 - 클라우드 인프라, 특히 멀티 클라우드 및 하이브리드 클라우드 환경에 적합한 확장성, 이식성 및 운영 효율성의 장점
* Microservices
 - 기술이라기보다는 여러 아키텍처 스타일 중 하나의 선택지
 - 하나의 Monolith 구축/운영하는 것이 아닌,

   각 서비스들이 서로 다른 구성 요소를 개별적으로 분리하여 독립적으로 배포, 업데이트 및 운영하는 스타일
 - 기존 Application을 컨테이너화하기 보다는 필요한 서비스들을 컨테이너로 개발 및 운영
* Orchestration 및 Automation
 - 배포, 확장 및 네트워킹을 포함하여 컨테이너와 관련된 많은 운영 작업의 자동화
 - 개발, 운영 및 보안 팀이 최신 애플리케이션을 규모에 맞게

    지속적으로 관리할 수 있도록 보장하는 것이 점점 더 필요하기 때문에 자동화는 중요한 원칙이자 기술

기업에서 AM이 필요한 이유
 - 수년, 십수년전에 개발된 "레거시"를 폐기하고 다시 개발(차세대)하기에는 비용, 생산성 등 여러 문제가 많음
 - 요즘의 IT환경은 많이 달라져서 과거와 동일한 차세대를 고집할 이유가 없음
 - AM을 통해 인프라 이전, 소프트웨어 플랫폼, 도구, 아키텍처, 라이브러리 및 프레임워크 등의 이점을 취할 수 있기 때문

Legacy Modernization Trend
- Multi Cloud : 비용 최적화, 유연성, 가용성 등의 이유로 둘 이상의 퍼블릭 클라우드 서비스를 사용하는 것 
- Hybrid Cloud : 퍼블릭 클라우드와 프라이빗 클라우드를 혼합한 온프레미스 인프라

 

'MSA해설 > Cloud 관련 개념' 카테고리의 다른 글

CSP, MSP  (0) 2022.12.13
AM, CNA, DT  (0) 2022.12.09
Cloud Native Application  (0) 2022.06.25
VM, Container, Docker, Kubernetes 개념과 비교  (1) 2022.06.18
Kafka 처리량 관련  (0) 2022.03.23