최근 여러 퍼블릭 클라우드 제공업체에 걸쳐 자율적으로 작동할 수 있는 에이전트 AI 아키텍처를 설계하고 검증하는 프로젝트를 수행하는 기회를 가졌다. 한 고객 기업을 위해 이러한 아키텍처를 만들고, 그 실행 가능성을 테스트하고, 멀티클라우드 에이전트 AI 배포를 위한 모범 사례를 개선할 수 있는지 확인하기 위한 사전 테스트 성격의 프로젝트였다.
이전에도 에이전트형 AI 시스템을 설계한 적이 있기는 했다. 하지만 과거에는 제한된 환경이나 하이브리드 환경을 대상으로 한 것이었다. 이번에는 퍼블릭 클라우드 제공업체 사용에만 집중해 이러한 플랫폼이 분산형 의사결정 AI를 얼마나 잘 지원할 수 있는지 알아봤다. 시스템이 실시간 가용성, 비용, 성능 및 기타 요소를 분석하여 서로 다른 클라우드에 워크로드를 동적으로 할당하고 확장성, 내결함성 및 효율성을 보장할 수 있는지 확인하고자 했다.
이 프로젝트는 기술적 실험을 넘어 귀중한 학습 경험이었다. 오늘날의 클라우드 기술의 한계를 시험하고, 크로스 클라우드 오케스트레이션의 실제적 문제를 확인하는 한편, 적응형 디자인 패턴을 연마하는 기회였다.
또 이 프로젝트는 율적인 멀티클라우드 AI 솔루션 개발의 기초 전략을 다지는 기회였다. 이번에 배운 교훈을 고객과 동료들과 공유하고자 한다. 그들이 자신만의 지능형 에이전트 시스템을 만드는 데 일조할 수 있다고 기대한다. 이번 실험에 접근한 방법, 사용한 도구와 기법, 직면한 장애물, 그리고 그 결과는 다음과 같다.
시스템 요구 사항
에이전트 AI 시스템의 핵심은 자율적인 의사 결정 시스템이다. AI를 사용하여 자율적으로 작업을 할당하고 실행하며, 변화하는 조건에 대응하면서 비용, 성능, 리소스 가용성 및 기타 요소를 균형 있게 조정한다.
이번 프로젝트에서 필자는 여러 퍼블릭 클라우드 플랫폼을 조화롭게 활용하고자 했다. 이 아키텍처는 플랫폼에 구애받지 않는 일관성을 달성하면서 클라우드별 기능을 균형 있게 조정할 수 있을 만큼 유연해야 한다. 다음을 수행할 수 있는 프레임워크를 지향했다.
• 실시간 분석을 바탕으로 가장 적합한 클라우드 서비스에게 작업량을 동적으로 할당한다.
• 장애 또는 속도 저하가 발생하는 동안 할당 경로를 재설정하여 내결함성 프로세스를 유지한다.
• 서로 다른 클라우드 플랫폼에서 호스팅되는 구성 요소 간에 원활한 커뮤니케이션과 데이터 흐름을 통해 분산된 요소를 운영한다.
아키텍처 구성 요소
필자가 사용한 특정 클라우드 제공업체나 그들의 특정 도구에 대해서는 언급하지 않겠다. 이 실험의 핵심 목적이 특정 제공업체나 도구 세트를 홍보하는 기회로 오용되는 상황을 원치 않기 때문이다. 또한, 자신들의 고객들이 고려되지 않았다는 사실에 화가 나거나 좌절하는 홍보 담당자들의 이메일로 받은 편지함이 가득 차는 상황도 원하지 않는다.
30년 이상 기술 전문가이자 인플루언서로 활동해온 필자는 이러한 반응에 대해 경계하는 편이다. 이런 반응은 제가 왜 이런 테스트를 하는지에 대한 요점을 흐리게 만든다. 그럼 시작해 보겠다.
의사결정 레이어가 시스템의 핵심이었다. 이 레이어는 지연 시간, 비용, 처리량, 저장 용량 가용성 등의 자원 지표를 분석했다. 이러한 입력에 기초하여, 이 레이어는 워크로드를 어디로 보내거나 작업을 실행할지를 결정했다. 이 자율적 레이어는 다음과 같은 기능을 수행하도록 설계됐다.
• 클라우드 전반에 걸쳐 자원의 현재 상태를 평가한다.
• 작업의 우선순위를 정하고 가장 적절한 환경에 할당한다.
• 문제(예: 병목 현상 또는 서비스 장애)를 감지하고 실시간으로 적응한다.
이러한 목표는 클라우드 환경을 동적으로 평가하고 리소스 할당을 조정할 수 있는 모듈형 AI 기능을 구현함으로써 달성할 수 있었다. 워크로드는 컨테이너화되고 이식 가능하도록 구성됐기에 수정 없이 다른 플랫폼에서 실행할 수 있었다.
오케스트레이션 레이어는 클라우드 전반에 걸쳐 이러한 컨테이너를 배치, 확장 및 관리하는 데 필수적이었다. 오케스트레이션 시스템은 다음과 같은 기능을 수행한다.
• AI가 생성한 결정을 기반으로 워크로드 배치
• 리소스 사용량 및 성능 모니터링을 통해 AI의 의사 결정 개선
• 환경 전반에 걸쳐 변동하는 작업량을 수용하기 위해 자동으로 확장
통신 레이어는 서로 다른 클라우드에서 실행되는 서비스가 원활하게 상호 작용하고 환경 전반에 걸쳐 효과적인 조정이 가능하도록 하는 계층이다. 분산 스토리지 메커니즘을 통해 공급자 간 데이터 일관성을 유지할 수 있으며, 사용 사례 요구 사항에 따라 데이터를 복제, 캐시 또는 동기화할 수 있다.
모니터링 및 관찰 가능성 프레임워크는 시스템이 자율적으로 작동할 수 있도록 지원했다. 성능에 대한 실시간 가시성이 중요했기 때문에 관찰 가능성 레이어가 여러 가지 지표를 추적하고 이 정보를 핵심 AI 시스템에 다시 제공하여 시간이 지남에 따라 의사 결정을 개선했다. 이 레이어는 다음에 대한 데이터를 수집했다.
• 작업 실행 성능
• 클라우드 관련 이상 현상 또는 병목 현상
• 모든 환경에 걸친 비용 추세 및 자원 소비량
개발 프로세스
첫 번째 단계는 여러 클라우드 제공업체에 걸쳐 인프라를 배치하는 것이었다. 코드로서의 인프라스트럭처(Infrastructure as Code) 접근 방식을 사용하여 각 플랫폼에 가상 네트워크, 컨테이너 오케스트레이션 환경, 스토리지 솔루션을 배치했다. 이러한 환경들 간의 연결을 위해서는 보안 터널 구성, 피어링 연결 등, 낮은 지연 시간의 제공업체 간 통신을 가능하게 하는 세심한 네트워킹이 필요했다.
AI 코어는 지능적이고 적응력이 있어야 했다. 필자는 시뮬레이션된 자원 데이터에 대한 모델을 훈련시켜 작업량 라우팅에 대한 신뢰할 수 있는 결정을 내릴 수 있도록 했다. 가볍고 상태가 없는 서비스로 AI 로직을 배치함으로써 확장성을 보장하고 모델이 발전할 때 쉽게 업데이트할 수 있었다.
오케스트레이션 레이어는 AI 코어와 긴밀하게 통합되어 동적인 의사 결정을 가능하게 했다. 예를 들어, 수요가 많을 때, 시스템은 한 클라우드에서 추가 자원을 확보하여 다른 클라우드의 지연을 상쇄할 수 있게 된다. 마찬가지로, 한 공급자가 다운타임을 겪을 경우, 워크로드가 다른 위치로 원활하게 라우팅된다.
특히 중요한 단계 중 하나는 시스템의 스트레스 테스트였다. 부분적인 중단부터 전체 플랫폼 장애에 이르기까지 모든 것을 시뮬레이션했다. 예를 들어, 한 클라우드의 서버 클러스터가 오프라인 상태가 되면, 시스템은 데이터나 상태를 잃지 않고 다른 리소스로 처리 작업을 리디렉션했다. 이러한 시나리오를 통해 장애 조치(failover) 중 일관되지 않은 응답 시간과 같은 약점을 발견할 수 있었고, 워크로드 우선 순위 재지정을 최적화하여 이를 해결했다.
각종 과제와 해결책
클라우드 간에 워크로드 연결은 상당한 장애물이었다. 지연 시간, 보안, 호환성 문제로 인해 네트워크 아키텍처를 미세 조정해야 했다. 필자는 데이터 교환의 신뢰성을 향상시키기 위해 보안 터널과 오버레이 네트워크를 조합하여 구현했다.
클라우드 간에 비용을 추적하는 것도 또 다른 도전 과제였다. 각 공급업체의 청구 모델이 제각각이었기 때문에 비용을 예측하고 최적화하기가 어려웠다. 필자는 실시간 비용 데이터를 통합 대시보드에 가져오기 위해 API를 통합했고, 이로써 AI 시스템이 예산 고려 사항을 의사 결정에 포함할 수 있었다.
클라우드 서비스별 차이는 배포를 표준화하려는 노력에도 불구하고 때때로 오작동을 일으키는 원인이었다. 예를 들어, 스토리지 솔루션들이 플랫폼마다 특정 작업을 다르게 처리했기에 데이터 동기화 및 검색 방식에 때때로 불일치가 발생했다. 필자는 플랫폼별 특성을 추상화하는 하이브리드 스토리지 모델을 채택하여 이 문제를 해결했다.
오토 스케일링 역시 일관성 문제가 있었다. 일부 클라우드 업체의 서비스의 경우 수요 급증에 대응하는 데 다른 공급업체보다 더 오랜 시간이 걸렸다. 리소스 제한을 조정하고 오케스트레이션 로직을 개선함으로써 예기치 않은 확장 이벤트 발생 시 지연을 줄일 수 있었다.
주요 시사점
이번 실험은 필자가 이미 알고 있던 사실을 다시 한 번 확인시켜 줬다. 멀티클라우드 환경에서도 올바른 구조와 도구를 사용하면 에이전트 기반 AI를 실현할 수 있다. 이렇게 구현한 자율 시스템은 여러 클라우드 제공업체를 통해 운영되는 복잡한 상황을 성공적으로 헤쳐나갈 수 있다. 이 아키텍처는 분산형 AI 파이프라인, 엣지 컴퓨팅, 하이브리드 클라우드 통합 등 발전된 사용 사례에 대해 뛰어난 잠재력을 가진다.
그러나 상호 운용성, 플랫폼별 뉘앙스, 비용 최적화 등의 과제는 여전히 남아 있다. 멀티클라우드 아키텍처의 실행 가능성을 개선하기 위해서는 더 많은 노력이 필요하다. 특히 큰 문제는 비용이 의외로 높았다는 점이다. 퍼블릭 클라우드 제공업체의 리소스 사용 비용, 송신 수수료, 기타 비용이 예고 없이 갑자기 증가하는 것처럼 보였다.
즉 에이전트 AI 배포에 퍼블릭 클라우드의 사용은 많은 조직에 너무 비쌀 수 있다. 기업에 따라서는 프라이빗 클라우드, 관리형 서비스 제공업체, 코로케이션 제공업체 등 더 저렴한 온-프레미스 대안으로 전환하는 게 나을 수 있다. 이러한 플랫폼이 오늘날 시장에서 더 저렴하고 동일한 서비스와 도구를 많이 제공하는 것이 사실이다.
이번 실험은 클라우드 환경이 역동적이고 자체 관리형 생태계로 기능하는 미래를 실현하기 위한 작지만 의미 있는 단계였다. 오늘날 여러 강력한 기술들이 이미 존재하지만, 이번 프로젝트에서 직면한 문제들은 멀티클라우드 배포를 단순화하기 위한 더 나은 도구와 표준이 필요함을 시시한다. 또한, 많은 경우, 이 접근 방식은 높은 비용을 초래한다는 점을 기억할 필요가 있다.
실험을 마친 이후 필자의 권장 사항은 무엇일까? 애석하게도 많은 사람들이 싫어하는 대답, 즉 “상황에 따라 다르다”라는 것이다.
[email protected]
Read More from This Article: 칼럼 | 멀티클라우드 인프라를 ‘에이전트 AI’로 관리해보다
Source: News