애플리케이션 현대화를 위한 프레임워크 전략
라이언의 꿀팁백과
1 Welcome Message[편집 | 원본 편집]
티맥스소프트 이형용 사업대표
- 고객과 양방향 소통을 위해 제품군을 발표하면서 이와 같은 자리를 정기적으로 마련하려는 노력을 하고 있음
- 처음 했던 행사로는 Interface Suite 라는 주제로 행사가 있었음
- 지난 주 일본 출장을 갔었는데 일본에서도 AI, DX 등이 크게 관심을 갖고 있음
- 일본에서는 한국과 다르게 미들웨어가 아니라 메인프레임에서 운영하는 애플리케이션 전체를 현대화를 할 수 있는 솔루션을 제안하는 방향으로 접근 중
2 디지털 AI 폭풍 속 기업의 선택, 애플리케이션 현대화 그리고 비즈니스 애플리케이션 개발 플랫폼 기술[편집 | 원본 편집]
티맥스소프트 연구본부 박기은 본부장
2.1 도입[편집 | 원본 편집]
- Topple Rate : 상위 20% 선도 기업이 이러한 자리에서 추락하는 비율이 가속화되고 있음 / 디지털지수가 높은 회사일수록 포지션 유지를 하는 경향이 있음
- Gartner : The CIO's Guide to Digital Transformation
2.2 애플리케이션 현대화(Application Modernization)[편집 | 원본 편집]
- 기존 (Legacy) 애플리케이션을 최신 IT 환경과 기술에 맞게 마이그레이션 하거나 재개발 하는 과정
- 비즈니스 애플리케이션 현대화 = 기업의 핵심 비즈니스 프로세스를 구현한 애플리케이션
- 현대화 = 최신 기술, 아키텍처, 방법론을 적용해 마이그레이션 하거나 재구축하는 과정
- 인프라와 플랫폼만 현대화 해서는 안됨. 비즈니스 애플리케이션에도 현대화가 필요함. (오늘 주제)
2.3 비즈니스 애플리케이션 개발 플랫폼[편집 | 원본 편집]
- 비즈니스 애플리케이션 프레임워크 = 개발자가 "뼈대" 위에 필요한 기능을 추가하여 애플리케이션을 개발할 수 있도록 사전 정의된 구조, 규칙, 라이브러리 및 도구의 집합. 기업용 비즈니스 애플리케이션의 일관성, 재사용성, 보안성, 유지보수성을 높이기 위헤 설계됨.
- 비즈니스 애플리케이션 개발 플랫폼 = 전체 소프트웨어 생명 주기를 관장하는 도구 및 방법론의 집합
- 최근 4대 패러다임 시프트 = Open-source / Cloud / Agile / AI
- 비즈니스 애플리케이션 개발 플랫폼의 특징 ▲ Pre-trained AI ▲ External AI 와 연동 가능
- IT 운영에 AI를 도입하는 AIOps(Artificial Intelligence for IT Operations) 지원 ⬅️ From ML-based model to generative-based AI Model
- AI 기반 Low-code/No-Code 개발 / 개발 테스크 자동화 / 개발자 지원
2.4 프레임워크 기술 기반의 애플리케이션 현대화 전략[편집 | 원본 편집]
- 비즈니스 애플리케이션의 현대화 없이 프레임워크/애플리케이션/DBMS/인프라 현대화 만으로는 효과 X (사유: 상호의존적이기 때문)
3 비즈니스 애플리케이션 플랫폼의 핵심가치(생산성, 유연성, 확장성)[편집 | 원본 편집]
티맥스소프트 기술본부 이은별 팀장
3.1 IT Developer's Challenges[편집 | 원본 편집]
- 각종 시스템 장애로 사회가 멈추는 경우가 발생함
- 노후화 Legacy -> Application Modernization
- 개발자 생산성 장애요소 = 개발 도구
3.2 ProObject Key Strengths[편집 | 원본 편집]
- 스마트 도구: EMB(Enterprise Module Bus) 플로우 디자인 개발 방식
- 자동 점검도구: 정적 분석도구
- 통합 테스트환경: 단위 테스트 ➡️ SQL 테스트 ➡️ 회귀 테스트
- 표준 API 지원
- 운영 안정성: ▲ Hot Deploy (무중단 배포) ▲ 모니터링 대시보드 ▲ 코드 표준화, 신속한 보안 패치, 체계적 기술지원 등
(참고) BMT 성능이 타사 대비 30-40% 좋았음
3.3 Chronology & Roadmap[편집 | 원본 편집]
- ProObject 21 (Cloud Native)는 2023년에 나옴
- TMAXSOFT Framework with AI 기능 추가 예정
4 최소 비용으로 어플리케이션을 현대화하는 전략 - 마이그레이션, MSA, AI[편집 | 원본 편집]
티맥스소프트 연구본부 FW실 장우성 실장
4.1 Legacy[편집 | 원본 편집]
- 생략 (요약하면 '안좋다' 는 얘기)
4.2 현대화[편집 | 원본 편집]
- Gartner 7R 모델 기반 현대화 전략
- 어떻게 쪼갤 것인가? 보통 업무 별로 나눔 (Domain-Drive Design, DDD)
- Monolithic to MSA 시 고려사항: ▲ 통신 고려(동기.비동기) ▲ 트랜잭션 처리(SAGA, XA) ▲ 서비스 디스커버리(Service 이름 기반 디스커버리) ▲ 시스템 구성(DB 등) ▲ 엉성한 MSA 방지(잘못 설계하면 분산 모놀리스가 됨)
- Strangler Pattern* 적용: 신규 서비스부터 적용하면서 최종적으로 Monolithic 서비스는 Phase-out 하는 구조 (단, Cut-off 방식 대비 병행 개발/운영 및 유지보수로 어려움이 있음)
* 기존의 모놀리식(Monolithic) 시스템을 부분적으로 대체하면서, 기존 시스템은 점점 줄이고, 새로운 마이크로서비스(MSA)가 점점 자리를 차지하는 점진적 리팩토링 전략
4.3 전략[편집 | 원본 편집]
- ProFrame C 현대화: 최근에 ProFrame C를 6으로 업그레이드 했음. 단, 이전 버전을 사용하는 고객의 경우, ProObject 21로 넘어가는 옵션도 고려 가능
- Migrator 사용: 수동 전환 대비 생선성 약 2.5배 향상
(참고) AI 관련해서는 내부적으로 실험을 하고 있음. Simple 한 코드는 잘 되지만 복잡한 Business 코드는 잘 안됨.
5 서비스 확장성과 유연성을 확보한 차세대 플랫폼 혁신 사례[편집 | 원본 편집]
넥스트레이드 IT 전략본부 최현숙 수석
5.1 프로젝트 소개 및 도입 현황[편집 | 원본 편집]
- 넥스트레이드의 내부 시스템은 크게 2개로 이루어져있음 (▲ 매매체결 시스템은 C++ 기반 ▲ 사용자 서비스는 Java 기반)
5.2 프로젝트 도입 전략[편집 | 원본 편집]
- 효과적인 개발을 위해 두 단계로 나눔 (▲ 선도개발 ▲ 본 개발)
- 최대 리스크 요인: ▲ 시스템 구축과 동시에 ProObject 7(매매체결 시스템) 및 ProObject 21(사용자 서비스) 커스터마이징이 필요했음 ▲ 레퍼런스 부족
5.3 프로젝트 성공 요인 및 효과[편집 | 원본 편집]
- 성공요인: 티맥스의 적극적인 기술 지원 (연구소 인력 상주 등)
- 효과: 효율성 증대, 생산성 증진, 안정성 확보, 사용자 만족도 확보(개발자 요구사항에 대한 신속한 피드백 대응)
6 차세대 시스템 구축을 위한 현대화 전략 스토리[편집 | 원본 편집]
SK 주식회사 AX, AX 사업부 권윤경 매니저
6.1 프로젝트 소개 및 도입 현황[편집 | 원본 편집]
- 프로젝트 소개: OK Cashbag 마일리지 시스템
- 도입 현황: 세부 시스템마다 다르지만 기본적으로 ProFrame 4,0 (5.0 으로 업그레이드 함), AnyLink, WebtoB 5 등이 도입되어 있음
6.2 Upgrade 프로젝트 추진 전략 (IBM AIX 6.0 ➡️ Linux)[편집 | 원본 편집]
- 프로젝트 기간: 전체 8개월 (테스트 기간 제외 시, 5개월)
- 추진 전략: ▲ 현업/운영/개발의 긴밀한 협력으로 신속한 의사결정 및 이슈 해결 ▲ 분산화된 오픈 계획으로 안정적 서비스 보장
- ProFrame 4를 5로 전환할 때 Migrator 사용, 자동 검출 프로그램 개발, 전환 전과 후의 소스 코드 비교 등 수행
6.3 프로젝트 성공 요인 및 효과[편집 | 원본 편집]
- 프로젝트에 대한 현업의 높은 관심 (협력사 회의실 상주)
- 운영조직의 적극적인 지원 (현행 시스템을 이미 파악하고 있는 운영자와 의사소통)
- 명확한 R&R 구분 (각 담당자 업무 단순화로 신속히 업무 처리)
- 실시간/배치서비스 대량 테스트 자동화 Tool 개발 및 활용
- 분산 오픈 전략이 효율적이었음