
두 번째 날, 가장 인상깊었던 건 역기 리누스 토발즈 영접이다. 영어를 잘하지 못해서 그의 말을 100% 이해하지 못했지만 그가 생각하는 리눅스 커널의 방향, AI 시대에 대해 얼추 이해할 수 있었다.
자세한 인터뷰 내용은 요기를 참고하면 좋을 듯 하다.
그리고 첫 번째 날에 비해 다양한 주제로 많은 강연들이 있었다. 나는 리눅스 커널보다는 AI 쪽에 관심이 많았기에 스케쥴을 보면서 'AI' 가 들어간 강연을 위주로 선택하여 보았다.
ref: https://openfga.dev/
다양한 상황, 기술에 AI 을 접목시켜 사용하고 있는데 과연 보안 측면에서는 괜찮을까? 어떻게 하면 AI 를 사용할 때 내부적인 데이터 등을 보호할 수 있을까 고민이 되었는데 두 번째 날 스케쥴에서 "AI... overprivilege" 라는 단어가 눈에 들어왔다.
해당 강연을 들으면서 앞서 공부했었던 "keycloak" 과 비슷한 느낌이 들었기에 쉽게 이해할 수 있었다.
AI가 사용자 대신 API를 호출하고, 데이터에 접근하며, 업무를 자동화하는 시대가 오면서 가장 중요한 보안 이슈는 “누가, 무엇을, 언제, 어디까지 할 수 있는가” 이다.
발표에서는 AI 기반 시스템의 4가지 인증·인가 요구사항을 제시한다.
즉, AI가 사용자의 권한 범위 내에서만 데이터 접근 및 조작을 해야 한다.
| 이름 | 설명 |
|---|---|
| RBAC (Role-Based Access Control) | 사용자의 역할(Role)에 따라 권한을 부여 |
| ABAC (Attribute-Based Access Control) | 속성(Attributes) — 예: 부서, 근무 시간 등 — 기반의 세분화된 접근 |
| ReBAC (Relationship-Based Access Control) | 객체 간 관계(Relationship) 기반 접근 제어 (예: “팀원이면 해당 문서 접근 가능”) |
AI 에이전트는 호출한 사용자가 누구냐에 따라서 API 호출을 제어해야된다. 예를 들어, CEO 가 아닌 일반 사원이 사내 기밀 문서에 접근하면 안되는 거처럼 말이다.
그러나 이렇게 구현하려고 어플리케이션 또는 파이프라인에 검증 뿐만 아니라 인가 관련된 코드까지 직접 작성하면 결합도가 높아지는 문제가 있다. 하지만 openFGA 를 사용하면 별도의 인가만 모아놓은 독립된 서비스로 결합도를 낮출 수 있다.


인가 모델 (Authorization Model)
→ “누가 무엇을 할 수 있는가”를 정의하는 관계 스키마.
관계 튜플 (Relationship Tuple)
→ user, relation, object 간의 구체적 관계 매핑.
접근 제어 검사 (Access Control Check)
→ 특정 사용자가 리소스에 접근할 수 있는지 확인하는 API 호출.
OpenFGA는 RAG(Retrieval-Augmented Generation) 파이프라인에서도 인가 기반 필터링 계층으로 작동한다. (pre, post 로 LLM 호출 전 또는 후에 필터링 계층 추가할 수 있다)
아래 이미지를 보면 openAI llm 에 물어보기 전에 호출한 유저가 document 에 대해 적절한 권한을 갖고있는지 검사하고 llm 에 전달한다.

개인적으로 openFGA 의 또 하나 큰 장점은 object 와 accessor 간 접근 권한이 그래프로 쉽게 볼 수 있다는 점!

과거 오픈소스 컨트리뷰톤에 참가했을 때 기여했던 프로젝트가 backend.ai 여서 꼭 듣고 싶었던 강연이였다. 이전에 파악했던 backend.ai 아키텍쳐와 비슷했던 거 같은데 내용이 어려워서 그런지 이해하기 힘들었다. 그래서 pdf 파일 보면서 다시 복기하며 정리를 해보았다.
AI, HPC 의 특징은 다음과 같다
| 구분 | 설명 |
|---|---|
| 전체 자원 독점 가정 | 대부분의 AI/HPC 작업은 “하나의 작업이 가시적인 모든 리소스를 사용할 수 있다” 는 전제를 가짐. 예를 들어, 대규모 모델 학습 시 GPU 전부를 점유. |
| 멀티노드 확장(Multi-node scaling) | 하나의 작업(Job)을 여러 노드에 걸쳐 확장해야 하며, 노드 간 고속 네트워크 통신이 필수.→ 이를 위해 RDMA (Remote Direct Memory Access), GPUDirect Storage 같은 고성능 인터커넥트 필요. |
| 배치 지향적(Batch-oriented), 상태 유지(Stateful) | AI 학습·HPC 작업은 반복적(batch)으로 수행되며, 중간 상태(state)가 중요함.→ 재시작이나 재배치(restart/relocation)는 비용이 크고 시간 소모가 큼. |
그러나 쿠버네티스는 마이크로서비스에 적합하지 배치 잡에는 적합하지 않는다.
(https://medium.com/better-programming/kubernetes-was-never-designed-for-batch-jobs-f59be376a338 요기 참고하면 좋음)
=> 개인적으로 요게 큰 문제였던거 같음!
backend.ai 에서는 쿠버네티스 환경에서도 AI 워크로드를 효율적으로 실행할 수 있도록 sokovan 엔진을 개발함(HPC workloads → AI 로 확장하여 개발)
투명성과 관찰 가능성 (Transparency & Observability)
성능 및 하드웨어 가속 유지 (Performance & Hardware Acceleration)
엔터티 매핑 (Entity Mapping)
Sokovan의 개념을 Kubernetes 리소스와 일대일로 매핑
| Sokovan 개념 | Kubernetes 대응 개체 | 설명 |
|---|---|---|
| Resource Group | Node Pool | 동일한 ACL을 공유하는 컴퓨트 노드 그룹 |
| Kernel | Pod | 개별 컴퓨트 노드에서 실행되는 컨테이너 |
| Session | Pod 그룹(Group of Pods) | 하나의 연산 잡(Job)을 구성하는 여러 컨테이너 묶음 |

'모니터링의 새로운 미래 관측 가능성'에 대해서 공부했던터라 쉽게 이해할 수 있었던 내용이였다. 해당 강연을 보면서 '오픈텔레메트리'가 곧 표준이 되겠구나(어쩌면 이미 된걸지도) 싶었다.
다시 한번 오픈텔레메트리의 강력함을 확인할 수 있었던 내용이였다.
대규모 언어 모델(LLM)은 막대한 연산 자원을 요구하므로, 다음과 같은 운영상 이슈가 발생함
| 문제 영역 | 설명 |
|---|---|
| 비용(Cost) | GPU/CPU 자원 점유가 높고, 모델 실행 시간에 따라 비용 급등. |
| 모델 관리(Management) | 여러 버전의 모델을 관리·배포하는 과정에서 추적성 부족. |
| 지연(Latency) | 응답 지연이 크며, 내부 파이프라인 병목 구간 확인이 어려움. |
| 자원 점유(Resource Utilization) | 특정 코드나 모듈이 불균형하게 GPU/CPU/메모리를 사용. |
오픈소스 Observability 프레임워크로, 애플리케이션과 인프라 전반의 Trace / Metrics / Logs 를 수집·통합한다. 그리고 모니터링 벤더(예: Grafana, Datadog, New Relic, Prometheus 등)와 연동 가능하여 사용할 수 있다.
내부적으로 Otel Collector가, 각 서비스의 관측 데이터를 수집(receive) → 전송(export) 한다.
[App / Infra] → [OpenTelemetry SDK] → [Otel Collector] → [DBs / Monitoring System]
프로파일링은 코드 실행 중 어떤 부분이 자원을 많이 소모하거나 지연을 일으키는지 분석하는 과정이다. 내부적으로 어느 트랜잭션에서 CPU, GPU, Memory, I/O 등 자원 사용량을 함수 단위 혹은 호출 스택 단위로 추적 가능하다.
OpenTelemetry 기반 프로파일링을 통해서
ref: https://github.com/sustainable-computing-io/kepler
강연 제목은 "Achieving Cloud Native Sustainability With MCP Integration" 로서 '와 MCP 얘기인가?" 하고 들었는데 내가 생각한 내용과 전혀 다른 내용이였다. (개요좀 미리 살펴볼 걸...)
Kepler 를 사용해서 자원 사용량을 파악하고 이를 프로메테우스 등에서 수집하여 시각화한 내용이였는데, 과거 그라파나 LGTM 공부하면서 프로메테우스 공부했던게 많은 도움이 되었다.

클라우드 네이티브 기술이 성장하면서 에너지 사용량도 증가. CO2 방출량의 일정 부분을 차지할만큼 환경적으로 인지해야될 필요가 있다.
Kepler(Kubernetes-based Efficient Power Level Exporter) 는 컴퓨팅 자원 사용에 따른 에너지 데이터를 수집하고 노출하는 오픈소스 관찰 도구이다.

케플러는 커널 단계에서 리소스 사용률을 수집하면, 프로메테우스 측에서 스크래핑하여 시각화한다.
데모하는거 보여줬는데 거기에 리전을 바꿔서 에너지 사용률을 줄일 수 있다고 추천해줌. (사진 찍은 줄 알았는데 없네)
바이브 코딩인 줄 알았다가 자세히 보니 "vibe computing" 이여서 눈길을 끌던 강연이였다. 스케쥴 상세페이지에서 개요를 살펴보지 않았던터라 강연에서 내용을 알게되었는데 뭔가 내가 생각했던 바이브 컴퓨팅?이 아닌 느낌이였다.
그러나 해당 강연에서 소개한 오픈소스 cloud-barista 를 보면서 "와 엄청 편하게 클라우드에 서버 띄우네. 저거 이용해서 뭔가 빠르게 프로토타입 형태도 보여줄 수도 있겠다" 생각이 들었다.

내부적으로 CB-Spider 가 여러 클라우드 서비스 API 를 통합된 API 로서 제공하고 CB-Tumblebug 는 인프라 리전 추천, 프로비저닝, 오케스트레이션을 기능을 담당한다.

여러 리전에 온디맨드 AI 서비스를 배포할 수도 있고, 게임 서버도 여러 리전에 구축하여 게임하는 등 여러 데모를 보여줬다. 그 중 AI llm 을 배포해서 사용한 데모가 인상적이였다.