클라우드 전문정보
제목 | 2024 클라우드 트렌드 : 생성형 AI와 애플리케이션 개발 | ||
---|---|---|---|
등록일 | 2024-12-02 | 조회수 | 221 |
마이크로소프트 / 김대우 이사
예측 9: 생성형 AI는 2027년까지
생성형 AI 도구 및 클라우드 서비스 제공업체 플랫폼을 활용하여
코드 변환 및 개발 작업의 75%를 시작하고 실행하는 기업과 함께
레거시 앱의 리팩토링을 재창조할 것입니다.
- IDC FutureScape: Worldwide Cloud 2024 Predictions
1. 생성형 AI와 개발, 개발자의 미래
생성형 AI는 개발 작업에 많은 변화를 가져왔습니다. 특히, 개발 초기 프로토타이핑부터 테스트 코드 작성까지 많은 시간이 소요되던 작업을 생성형 AI로부터 많은 도움을 받을 수 있습니다.
개발자라면, 이미 ChatGPT와 같은 생성형 AI를 이용한 다양한 코딩 데모를 접해 보셨을 겁니다. 생성형 AI의 코딩 성능은 이미 많은 사례에서 입증되었고, 이를 통해 개발자들은 더 빠르고 효과적으로 작업을 수행할 수 있습니다.
[LLM의 코딩 성능 평가 연구자료 - Effectiveness of ChatGPT in Coding: A Comparative Analysis of Popular Large Language Models]
[Vscode에서 ChatGPT extension을 이용해 자연어를 입력해 자동으로 SQL 쿼리 구문을 작성하는 예제 - How to work with ChatGPT in Visual Studio Code]
2. 생성형 AI를 활용한 코딩 장점
그렇다면, 생성형 AI를 사용한 코딩 작업에는 어떤 구체적인 장점이 있을까요? 몇 가지 주요 장점을 정리해 보겠습니다.
- 빠른 개발 속도
- 코드 분석
- 생산성 향상
- 코드 품질 개선
- 자동 문서화
- 테스트 코드 생성
- 다양한 언어 지원
3. 생성형 AI는 소프트웨어 개발자의 종말?
개발자의 입장에서 가장 궁금한 점은 “정말 소프트웨어 개발자의 시대는 이제 끝났는가”라는 질문입니다.
ChatGPT와 같은 생성형 AI는 기존 코딩 방식을 대체하기보다는 오히려 더 진화시킬 것으로 기대를 하고 있습니다. 소프트웨어 개발자의 역할이 더 줄어들고 없어질 것이다라는 예측과 반대로, 소프트웨어 개발자의 역할은 앞으로 더 확대될 것으로 예상되며, 지금보다 더 가치 있는 프로젝트의 핵심 로직과 창의적이고 전략적인 부분에 집중될 것으로 기대하고 있습니다.
4. 생성형 AI와 레거시(Legacy) 애플리케이션 코드
실존하고 동작하지만, 절대 건드리지 말아야 할 개발자의 금기, 레거시 애플리케이션 코드.
레거시 애플리케이션에 대한 유머
이런 레거시 애플리케이션 코드를 건드리면 안 되는 이유는 여러 가지가 있겠지만 가장 큰 이유는 오래된 기술 스택을 사용해 누구도 이 코드가 어떻게 동작하는지 모른다는 것입니다.
대부분의 경우 포트란(FORTRAN)이나 코볼(COBOL) 같은 현재는 거의 사용되지 않는 프로그래밍 언어로 개발된 경우이거나, 스파게티 코드로 문서화나 주석도 없이 꼬여있어, 수정이나 기능 추가가 어려운 경우가 대부분입니다. (물론, 코드라도 존재하면 감지덕지죠. 남겨진 코드조차 없다면 사실상 새로 개발하는 게 빠릅니다.)
이런 레거시 애플리케이션 코드를 건드리면 문제가 발생할 가능성이 높기 때문에 그대로 두는 게 사실상 최선입니다. 조직의 규모가 크고 오래된 조직일수록 이런 오래된 애플리케이션이 사내에 남아 있는 경우가 종종 있습니다. 예를 들면, 오래된 “사내 직원용 휴가 승인 시스템” 같은 애플리케이션이나, 오랫동안 비즈니스 도메인에서 사용하던 비즈니스 애플리케이션이 이렇게 남아 있는 경우가 종종 있습니다.
조사에 따르면, 최근 기업의 애플리케이션 현대화는 2024년 중요한 이슈가 되었고, 전 세계적으로 약 62%의 조직이 현대화를 높은 우선순위로 여기고 있으며, 70% 이상이 향후 2~3년 내에 이를 높은 우선순위로 진행할 것으로 예상되고 있습니다.
4-1. 레거시 애플리케이션 현대화. 왜 하나요?
기업은 애플리케이션 현대화를 통해 운영 효율성을 높이고 비용을 절감하려는 요구가 있기 때문입니다. 아울러, 애플리케이션 현대화를 통해 현재 사용하고 있는 클라우드 플랫폼의 통합시키고 함께 운영해 비용을 낮추는 것이 목적입니다.
4-2. 레거시 애플리케이션 현대화 난제
하지만 애플리케이션 현대화는 그렇게 쉽게 진행되는 것이 아닙니다. 현재 기업에서 운영 중인 오래된 클라이언트/서버(Client/Server) 방식이나 메인프레임 방식, 그리고 현대화된 웹 방식이나 모바일 애플리케이션 등 기존의 상호연결된 애플리케이션들이 포트폴리오로 연결되어 있기 때문에, 이러한 제약들이 레거시 애플리케이션 현대화를 추진하는 데 큰 허들이 될 수 있습니다.
뿐만 아니라, 내부적으로 이를 효과적으로 수행하기 위한 전문가나 리소스가 부족한 상황이 대부분입니다.
4-3. 현재, 레거시 애플리케이션 현대화에 외부 서비스를 의존
대부분의 기업들은 레거시 애플리케이션을 현대화하는 작업을 외부 서비스에 의존하고 있습니다. 주로, CSP나 전문적인 애플리케이션 현대화 업체들을 통해 이러한 작업을 수행합니다.
이러한 업체들은 기술 노하우와 전문 개발 인력, 그리고 도메인 지식이나 다양한 전환 도구를 보유하고 있기 때문에 가능합니다.
예를 들어, IBM의 Watsonx Code Assistant for Z는 COBOL 코드를 Java로 변환하는 서비스를 제공하며, 이는 현대화 작업을 보다 용이하게 만들어 줍니다.
[IBM Watsonx Code Assistant for Z 코드 변환 예시]
4-4. 생성형 AI를 활용한 레거시 애플리케이션 코드 현대화
이런 전문적인 외부 업체를 소싱할 수도 있지만, 직접 ChatGPT와 같은 생성형 AI를 이용해 다양한 시도를 먼저 해 볼 수 있습니다.
예를 들어, Hello World를 출력하는 아래와 같은 코드를 ChatGPT에게 설명해 달라고 요청하면 코드에 대해서 설명하고, Python 코드로 변환해 달라고 하면 코드를 변환합니다.
ChatGPT를 이용해 Python으로 자동으로 변환된 코드
물론 더 복잡하고 다양한 코드를 분석하거나, 변환하는 작업 역시 가능합니다. 물론 자동 생성된 코드는 반드시 직접 검증해야 합니다.
5. 마침
생성 AI를 코딩에 활용하는 다양한 방안이 있으며, 이 방법을 이용해 다양한 시도를 진행하고 있습니다. 레거시 애플리케이션 코드 변환도 마찬가지입니다.
생성 AI를 이용해 레거시 애플리케이션 코드를 변환하는 작업은 분명히 도움이 됩니다.
생성 AI를 이용해 기존 레거시 애플리케이션을 문서화하고, 레거시 애플리케이션 코드로부터 새로운 코드를 생성하는 복잡한 현대화 작업을 생성 AI가 단순화하는데 많은 기여를 하고 있습니다.
기업들이 이러한 현대화 작업을 다양하게 시도하고, 여러 변환 플랫폼들을 더 잘 활용할 수 있게 된다면, 노후화된 코드 유지 비용과 기술 부채를 줄이고, 운영 플랫폼을 통합해 비용을 절감할 수 있는 새로운 활용 패턴이 될 것으로 기대하고 있습니다.
참 고 문 헌
- https://www.idc.com/research/viewtoc.jsp?containerId=US51294723
- https://www.mdpi.com/2673-6470/4/1/5
- https://www.sqlservercentral.com/articles/how-to-work-with-chatgpt-in-visual-studio-code
- https://www.ibm.com/products/watsonx-code-assistant-z
저작권 정책
K-ICT 클라우드혁신센터의 저작물인 『2024 클라우드 트렌드 : 생성형 AI와 애플리케이션 개발』은 K-ICT 클라우드혁신센터에서 마이크로소프트 김대우 이사에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다. 다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.