Summary

  • Akamai는 10월 27일 Agent Sandbox를 베타로 발표했다. 에이전트는 Akamai Functions에서 돌고, 에이전트가 만든 JavaScript 또는 Python 코드는 WebAssembly 샌드박스 안의 더 좁은 실행 공간으로 들어간다. 외부 네트워크 연결은 기본적으로 차단된다.
  • 제품 설명에 따르면 현재 기술 미리보기에서는 한 단계가 약 1분 안에 끝난 뒤 다음 지시까지 에이전트가 멈춘다. 며칠 또는 몇 주 동안 살아 있으면서 상태를 유지하는 구성 요소는 나중에 추가될 예정이다.

안전한 방에는 교대 장부가 없다

Akamai의 출시 발표는 에이전트 프로그램과 그 프로그램이 방금 생성한 코드를 따로 다룬다. 에이전트는 Functions에서 실행되고, 생성된 코드는 한 겹 더 제한된 곳으로 옮겨진다. 제품 페이지는 외부 접속을 처음부터 막아 두고 운영자가 필요한 연결과 자원 한도를 정한다고 설명한다. 여러 고객사의 데이터를 맡는 소프트웨어 업체에는 분명한 구매 이유다. 한 고객의 임시 코드가 다른 고객의 도구까지 돌아다니게 둘 필요가 없다.

문제는 실행 시간이 끝난 뒤다. Akamai는 기술 미리보기의 에이전트를 간헐적으로 움직이는 형태로 설명한다. 한 단계는 약 1분에 마무리되고, 에이전트는 새 지시를 기다리며 멈춘다. 며칠씩 실행 상태를 유지하는 기능은 향후 구성 요소다. 파일 하나를 분석하거나 계산을 수행하는 작업에는 알맞다. 외부 회신을 기다리다 다음 날 같은 사건을 이어받는 업무라면, 단계 바깥에서 상태를 저장하고 되찾아야 한다.

Akamai Functions의 한도 문서는 HTTP 요청 처리기의 기본 실행 시간을 30초, 메모리를 128MiB, 요청과 응답의 크기를 각각 10MiB로 적고 있다. Sandbox 페이지의 단계 설명은 약 1분이다. 두 수치는 서로 다른 제품 층을 설명한다. 실제 Sandbox 경로에 적용되는 한도를 확인해야 시험 업무를 나눌 수 있다. Functions 사용 안내도 미리보기 접근에 신청과 승인이 필요하다고 밝힌다.

Akamai가 책임지는 부분은 실행 경계와 플랫폼 자원이다. 고객은 에이전트가 누구를 대신하는지, 어떤 도구를 쓸 수 있는지, 실패한 단계를 언제 다시 실행할지, 결과를 다음 단계에 어떻게 전할지 결정한다. 재실행이 외부 거래를 두 번 일으키면 안전한 실행실도 고객을 구하지 못한다. 연속 서비스를 팔려면 방과 방을 잇는 장부가 먼저 필요하다.

가령 고객 문의를 분류하고 환불 요청을 넘기는 에이전트라면, 한 단계가 끝날 때 사건 번호와 사용한 자료, 이미 보낸 요청의 식별자를 남겨야 한다. 다음 단계는 그 기록을 읽고 같은 환불 요청을 다시 보내지 않아야 한다. Akamai가 격리하는 것은 단계 안의 코드이고, 고객이 관리하는 것은 단계 사이의 업무 기록이다. 이 구분이 실제 계약의 책임선을 만든다.

제품 페이지에는 Agent Sandbox의 공개 가격이 없다. 적용 한도와 요금, 중단 뒤 상태 복구 시험 결과가 나오면 완료된 업무 한 건의 비용을 계산할 수 있다. 지금 Akamai가 확실히 판 것은 짧은 코드를 통제해 실행하는 공간이다. 긴 근무표는 고객이 직접 작성한다.

Sources