[4SIGHT=존 아보트(John Abbott) 수석 애널리스트] 클라우드 채택이 가속화됨에 따라 기업은 비용을 통제하기 위해 고군분투하고 있다. 기업 내 조직이 워크로드를 클라우드 데이터 센터로 이동함에 따라 IT의 전체 가격이 감소했다는 것은 의심의 여지가 없다.

많은 조직에서 하이브리드 및 멀티클라우드 운영이 기본값으로 부상하는 가운데 퍼블릭 클라우드의 무한한 용량의 유연성과 확장성, 워크로드를 실행하는 예측 가능성과 친숙성이라는 두 가지 장점을 모두 제공하기 때문이다.

다만 기업은 종종 워크로드 마이그레이션으로 인해 발생할 수 있는 추가적인 복잡성을 과소평가하고 있다. 핵심은 클라우드 비용 가시성과 제어이다. 기업이 초기 단계에서 비용에 주목하는 문화를 구축하지 않으면 클라우드 컴퓨팅의 경제적 이점이 빠르게 사라질 수 있다.

‘451 Research의 Voice of the Enterprise’ 설문조사에 따르면 비용과 성능을 모두 관리하는 것은 클라우드 사용자에게 여전히 어려운 과제이다. 엔터프라이즈 최종 사용자 응답자의 절반 이상이 할당된 퍼블릭 클라우드 예산을 초과한다고 밝히기도 했다. 이들은 예상치 못한 수요를 충족하기 위한 빠른 확장, 퍼블릭 클라우드 활용에 대한 거버넌스 부족, 클라우드 리소스의 오버프로비저닝을 예산 초과를 초래하는 주요 요인으로 꼽았다. 

퍼블릭 클라우드에 대한 과잉 지출. [표=Azul Korea]

◆ 클라우드 비용 문제, 해결 과제로

클라우드 지출 증가에도 불구하고 온프레미스 인프라는 조직이 가까운 미래에 규정 준수 및 레거시 투자와 씨름하면서 엔터프라이즈 IT의 중요한 구성 요소로 남아 있다. 동시에 퍼블릭 클라우드 인프라는 지난 몇 년 동안 가상 머신 인스턴스의 클라우드 프로비저닝을 기반으로 하는 IaaS(서비스형 인프라)에서 데이터베이스에서 AI에 이르는 여러 상위 수준 서비스가 함께 패키지되고 클라우드 운영자가 제공하고 API를 통해 액세스하는 훨씬 더 광범위한 PaaS(서비스형 플랫폼) 제품으로 발전했다.

Java와 같이 기본 인프라에서 분리된 관리형 언어 런타임 시스템의 유연성은 디지털 혁신을 수행하는 기업이 하이브리드 및 멀티클라우드 운영을 보다 효율적으로 수행할 수 있도록 한다. 복잡성을 추상화하고 배포를 최적화해 클라우드의 이점을 보호하기 까지에는 아직까지 시간이 걸리지만 클라우드 인프라를 최적화하는 프로세스를 시작하는 이들에게는 이점을 제공한다.

◆ 비용 및 성능 최적화

클라우드 문제 해결을 위한 주요 과제로는 비용, 성능, 통합, 관리 등이 있다. 조직이 우선 순위를 정한 문제와 해결했다고 생각되는 문제, 여전히 해결 중인 문제로 구분된다.

Research의 Voice of the Enterprise 설문조사 응답자 451명 중 절반 이상이 클라우드 비용 억제에 대한 두 가지 주요 접근 방식인 비용을 위해 클라우드 인프라 최적화와 성능을 위한 클라우드 인프라 최적화를 해결하기 위해 여전히 적극적으로 노력하고 있다고 밝혔다. 이는 상호 배타적이지 않고 기업이 클라우드 마이그레이션의 모든 이점을 실현하려면 두 접근 방식을 모두 탐색하고 활용해야 함을 보여준다.

클라우드 문제 해결방안. [표=Azul Korea]

비용에 대한 클라우드 인프라 최적화

특정 워크로드에 가장 적합한 클라우드 인스턴스의 사용은 비용이 많이 드는 오버프로비저닝을 방지한다. 조직은 가상 머신 크기, 처리 능력 및 메모리와 같은 문제 측면에서 이를 확인해야 한다. 다른 중요한 측면은 청구 결정에 충분한 정보를 제공하는 것이다. 예를 들면 스팟 인스턴스와 예약 인스턴스를 사용하는 시기 또는 장기 및 지속적인 사용 약정이 온디맨드 가격 책정보다 더 적절한지에 대해 식별하는 방법이다.

종량제 구매 결정을 모니터링하고 관리하는 것은 특히 이러한 결정이 조직 전체에 분산돼 있는 경우 특히 중요하다. 물론 유휴 클라우드 인스턴스를 식별하고 사용하지 않거나 더 이상 필요하지 않을 때 인스턴스를 끄는 것과 같은 문제를 포함하는 ‘클라우드 위생’에 대한 고려 사항도 있다.

성능을 위한 클라우드 인프라 최적화

성능을 책임지는 엔지니어링 팀에 소유권을 부여하지 않는 것은 클라우드 비용 가시성 및 제어의 핵심 과제로 입증됐다. 대부분의 조직은 클라우드 청구서에 중점을 두고 있으며 이를 위해 사용할 수 있는 FinOps 도구가 많이 있다. 성공적인 최적화를 위해서는 DevOps, 플랫폼 엔지니어 및 애플리케이션 소유자도 비용 관리에 관여해야 한다.

성능 최적화에는 애자일 및 클라우드 기반 개발 관행, 도메인 간 융합(컴퓨팅, 스토리지 및 네트워킹), 차세대 하드웨어 가속기(GPU, DPU 및 전문 AI 프로세서)의 최대 활용, 통합 클라우드 서비스 사용, 실시간으로 정적, 연속 또는 자율적일 수 있는 자동화된 AI 지원 하드웨어 및 소프트웨어 인프라 튜닝과 같은 요소가 포함된다.

시스템 성능을 극대화하는 것이 주요 이점이며, 클라우드로 마이그레이션하는 고객은 성능 저하를 염두에 두지 않는다. 시스템 효율성과 활용도를 개선하기 위해서는 컴퓨팅 리소스를 ‘적정하게 조정’함으로써 IT 및 클라우드 비용도 줄일 수 있다. 효율성을 높여 인프라 설치 공간과 에너지 비용을 줄이거나 밀도를 높여 공간과 운영 비용을 절약할 수 있다.

◆ 클라우드 네이티브 Java 가상 머신과 최적화된 언어 런타임

클라우드 성능을 최적화하기 위한 새로운 기술을 Java와 같이 오랫동안 확립된 미션 크리티컬 플랫폼에 적용하면 흥미로운 사례를 확인할 수 있다. Sun Microsystems가 1990년에 시작한 Java 언어는 30년이 넘었다. 1999년 JVM(Java Virtual Machine), 특히 JEE(Java Enterprise Edition)가 도입되면서 Java는 미션 크리티컬 애플리케이션을 위한 엔터프라이즈급 소프트웨어 플랫폼으로 변모했으며, 클라우드의 출현에도 불구하고 그 위치를 유지해 오고 있다. 2008년 Java 기술을 오픈 소스화하기로 한 Sun의 결정은 지속적인 발전과 수명을 보장하는 데 도움이 됐다.

그러나 30년 된 기술은 그 아래의 시스템 아키텍처가 모든 인식을 넘어 변화하는 동안 관련성을 유지하려면 확장과 적응이 필요하다. JVM은 제한된 컴퓨팅 및 스토리지 리소스와 로컬 기능만으로 온프레미스에서 사용하도록 설계됐다. 당시에는 여러 위치에서 온디맨드 서비스로 제공되는 무한한 리소스의 소위 ‘매직 클라우드’가 존재하지 않았고 JVM은 다른 인스턴스와 완전히 격리되고 자립하도록 설계됐다.

Java의 효율성을 높이는 점진적인 개선으로 애플리케이션이 프런트 엔드 서버 또는 백 엔드 데이터베이스 서버 공간에서 실행되거나 수백 또는 수천 개의 클러스터 된 서버로 확장할 수 있게 됐다. 주요 Java 혁신에는 처리 작업을 일시 중지하지 않는 차세대 가비지 수집기와 대기 시간 증가 없이 적은 수의 인스턴스가 동일한 수준의 작업을 실행할 수 있다.

급진적인 접근 방식도 가능하다. 가장 눈에 띄는 것 중 하나는 클라우드 네이티브 컴파일러 서비스에 대한 아이디어이다. 수년 동안 Java의 가장 잘 알려진 단점 중 하나는 ‘워밍업 문제’였다.

Java의 플랫폼 독립성은 컴파일러/인터프리터 모델에서 비롯된다. JIT (Just-In-Time) 컴파일러는 독립적인 Java 바이트 코드를 생성한 다음 런타임에 최적화 된 네이티브 기계 코드로 컴파일돼 완전한 네이티브 애플리케이션과 비슷한 속도로 처리된다.

JVM이 처음 시작될 때 수천 개의 클래스 파일을 로드해야 하는 까닭에 전체 최적화가 즉각적이지 않으며 실제로 일부 응용 프로그램은 JIT 워밍업 모드에서 최대 3분의 1의 시간을 소비한다. 격리된 JVM은 과거 실행의 메모리를 유지하지 않으므로 이전에 수행된 최적화를 활용할 수 없어 매번 새로 시작해야 한다.

클라우드 네이티브 컴파일러 또는 ‘서비스로서의 JIT’는 이 문제를 해결한다. 컴파일 서비스를 Java 개발 키트 외부로 이동하면 클라우드에서 작동하는 모든 JDK에서 정보를 공유할 수 있다. 이전 최적화를 다시 사용하고 사용량 데이터로 구체화해 워밍업 지연 시간을 제거할 수 있다.

물론 이러한 서비스는 수천 개의 JDK와 함께 작동하도록 확장 가능해야 한다. 그러나 클라우드에서 Java를 실행할 때의 가장 큰 장단점 중 하나는 Java가 원래 이식가능해야 하는 수명이 짧은 애플리케이션을 실행하도록 설계됐다는 것이다. 클라우드 워크로드는 대부분의 애플리케이션 코드가 두 번 이상 실행되고 다양한 위치와 장치에서 실행된다는 점에서 매우 다르다.

◆ Java 기능 호환성 및 리소스 활용 제공

조직이 IT 환경을 현대화하고 혁신할 때 운영 문제가 발생하며 퍼블릭 클라우드 사용에 문제가 없는 것은 아니다. 비용 제어 및 최적화 문제와 함께 클라우드 기술의 전반적인 부족과 정보 보안 및 데이터 관리에 대한 우려는 조직이 퍼블릭 클라우드의 워크로드를 회사 소유 또는 운영 데이터 센터, CO-로케이션 시설로 다시 이동하기로 결정하는 이유로 자주 인용된다. 그러나 이러한 결정은 전략적 움직임이 아니다. 비효율적인 클라우드 배포의 전술적 결과일 가능성도 있다.

대부분의 조직이 더 이상 IT 요구 사항을 충족하기 위해 포괄적인 단일 솔루션을 찾지 않는다는 사실은 클라우드 컴퓨팅의 가능성을 보여준다. 고객은 다양한 워크로드의 특정 비용, 성능 및 거버넌스 요구 사항을 수용할 수 있는 IT 자산을 찾고 있으며, 이는 수년 동안 논의된 개념이다.

대부분의 기업은 클라우드에 대한 초기 탐색을 마무리함에 따라 기술에 더 능숙해지고 각 워크로드에 가장 적합한 실행 장소(퍼블릭/오프프레미스 또는 프라이빗/온프레미스)를 결정할 수 있는 위치에 있다.

클라우드 전략을 재평가하는 조직은 포트폴리오의 핵심 기술을 다시 살펴보고 가능한 한 중단을 최소화하면서 클라우드에서 기본적으로 실행되도록 워크로드를 최적화하는 방법을 결정해야 한다. 특히 Java는 이를 위한 강력한 예로 들 수 있다.

클라우드 네이티브 JVM은 기존 기능이나 호환성을 잃지 않고 구현할 수 있고 공유 클라우드 서비스를 활용해 동적 최적화와 최첨단 클라우드 시스템 리소스를 최대한 활용할 수 있다.

[자료제공 Azul Korea]

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지