Agent Gateway로 AI 에이전트 통제해보기
·
AI
엔터프라이즈 급 환경에서에이전트들이 수백개를 관리한다고 생각해보자. 곧바로 두 가지 질문이 생긴다. 1. 이 에이전트가 어디로 나가는지 알고 있나? => 툴 하나가 늘어날 때마다 아웃바운드 목적지가 하나씩 늘어난다. => MCP 서버를 붙이면 그 서버가 다시 어디로 나가는지는 더 안 보인다.2. 누가 이 에이전트를 부를 수 있나? 그리고 들어오는 프롬프트는 검사되고 있나?GCP 환경에서 테스트. Agent Registry에이전트가 나갈 수 있는 곳들을 미리 등록해두는 화이트리스트다. 세 종류를 등록한다. Endpointex: api.open-meteo.comagent-registry endpointsMCP Serverex: mcp.deepwiki.com/mcpagent-registry mcp-..
LeetCode 283. Move Zeroes
·
Algorithm/문제
283. Move Zeroes 정수 배열 nums가 주어졌을 때, 0이 아닌 원소들의 상대적 순서는 그대로 유지하면서 모든 0을 배열의 뒤쪽으로 옮기는 문제. 새 배열을 만들지 않고 주어진 배열을 그 자리에서(in-place) 수정해야함. 입력: nums = [0, 1, 0, 3, 12]출력: [1, 3, 12, 0, 0]처음 떠올린 방법: remove + append가장 직관적인 접근은 "0을 만나면 지우고, 맨 뒤에 다시 붙이자" pythonclass Solution: def moveZeroes(self, nums: List[int]) -> None: zeros = nums.count(0) for _ in range(zeros): nums.rem..
2026년, 바야흐로 대 에이전트의 시대
·
일상
작년까지만 해도 에이전트는 용어가 그렇게 자주 등장하지는 않았는데,이제는 AI 개발 이야기를 할 때 Agent를 빼놓고는 대화가 안 되는 것 같다. 어떻게 에이전트를 설계할 것인지 어떤 환경에서 빠르게 Deploy하고 검증해서 운영에 반영할 수 있을지가 핵심이 되었고, 그에 발 맞춰 Cloud 환경들도 에이전트를 쉽게 테스트해볼 수 있는 방향으로 가고 있는거 같다. 최근에 한 고객사를 대상으로 Gemini Enterprise 환경에서의 Agent 생태계 교육을 진행했다.비개발자분들이 많았는데도 Agent에 대한 관심이 정말 뜨거웠고, 어떻게 하면 AI를 활용해 업무를 개선할 수 있을지 궁금해하는 분들이 정말 정말 많았다. 요즘은 트렌드가 워낙 빠르게 바뀌고 있고개발 직군이라면 더더욱 AI를 빼놓을 수 없..
혼자서도 4인분: Claude Code로 구축한 AI 에이전트 팀 개발 회고
·
AI
개발을 하다 보면 가장 힘든 점은 코드를 짜는 것 그 자체가 아니라고 생각이 점점 든다.. 어떻게 문제를 바라보고 최소한의 비용으로 최대한의 퍼포먼스를 내기 위하여 어떠한 방법으로 해결할 수 있는지 중요해진거 같다. 이번에 MVP개발을 진행하면서 불과 1~2년 전만 해도 간단한 MVP 개발을 하기 위해 여러 엔지니어가 붙어야 했다면 지금은 1인이 그만한 퍼포먼스를 낼 수 있다고 생각한다. 이번 프로젝트에서는 Claude Code를 활용해 프론트 지식 별로 없는 저도 끝까지 개발을 완수 했는데, 이 여정을 간단히 공유 드리고자 한다. 단순히 코딩을 대신해주는 어시스턴트가 아니라, 각기 다른 전문성을 가진 4명의 팀원을 고용했다는 가정하에 개발을 진행하였습니다.1. AI Agent 팀 구성: "너의 역할..
[GKE] 클러스터(Clusters)와 워크로드(Workloads) 한번에 이해하기
·
Docker & Kubernetes
GKE(Google Kubernetes Engine)를 구축하면서 정리한 내용을 공유합니다. 처음 쿠버네티스를 접하면 수많은 용어(Node, Pod, Deployment...) 때문에 헷갈리기 쉬운데,오늘은 GKE를 지탱하는 두 가지 핵심 인 '클러스터(Cluster)'와 '워크로드(Workload)'에 대해 정리해 보겠습니다. 1. 클러스터(Cluster) 이해하기클러스터란?클러스터는 컨테이너화된 애플리케이션을 실행하기 위한 컴퓨팅 리소스의 집합 컨트롤 플레인 (Control Plane)컨트롤 플레인에서는 쿠버네티스 API 서버, 스케줄러, 핵심 리소스 컨트롤러 등의 주요 프로세스가 실행된다. GKE는 클러스터의 생성부터 삭제에 이르기까지 이 컨트롤 플레인의 전체 수명 주기를 알아서 관리해준다.추가..
[GKE] Google Kubernetes Engine (GKE) 알아보기
·
Docker & Kubernetes
Google Cloud Platform에서 제공하는 관리현 쿠버네티스 서비스로 Kubernetes 클러스터의 Control Plane등 여러가지 복잡한 설정을 Google이 관리해주면서 사용자에게 제공해준다. 기본적인 쿠버네티스의 개념을 알고 있다면 아마 이해하는데 더 쉽다고 생각한다. 쿠버네티스의 재미있는 만화가 있어 링크를 넣었다..https://cloud.google.com/kubernetes-engine/kubernetes-comic Deploy code faster: with CI/CD and Kubernetes | Google Kubernetes Engine (GKE) | Google CloudDeploy code faster, protect against outages, and sav..
개발자를 위한 필수 메모리 지식: 스택(Stack)과 힙(Heap) 이해하기
·
CS
코드를 작성하다 보면 '메모리'라는 단어를 자주 접하게 된다. 다양한 언어에서 변수나 객체가 어디에 어떻게 저장되는지 이해 하는 것은 중요하다고 생각한다. 일단 먼저 간단하게 메모리 구조에 대해 살펴보자.프로그램이 운영체제로 부터 할당 받는 대표적인 메모리 공간 4가지가 있다. 1. 코드(Code) 영역2. 데이터(Data) 영역3. 스택(Stack) 영역4. 힙(Heap) 영역 코드(code)영역메모리의 코드 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고 부른다.CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터(Data)영역메모리의 데이터 영역은 프로그램의 전역 변수와 정적변수가 저장되는 영역이다.데이터 영역은 프로그램의 시작..
[로드밸런싱] Load Balancing이란? 서버 부하 분산의 방법
·
CS
로드 밸런싱은 애플리케이션을 지원하는 여러 서버(리소스 풀) 전체에 걸쳐 네트워크 트래픽을 효율적으로 분산하는 기술이다. 이를 통해 특정 서버에 부하가 집중되는 것을 막고, 시스템 전체의 가용성(availability), 신뢰성(reliability), 그리고 응답 속도(response time)를 향상시키는 핵심적인 역할을 한다. 서버를 확장 시키는 방법은 두가지가 있다. 1. Scale Up (수직 확장)한 대의 서버 성능을 높이는 방식입니다.✅ 장점인프라 구조는 단순하게 유지됨 (서버 수는 그대로)소프트웨어 변경 없이도 CPU, RAM 업그레이드로 성능 향상 가능⚠️ 단점물리적인 한계: 서버 한 대가 가질 수 있는 리소스에는 명확한 한계가 존재한다.단일 장애 지점 (SPOF): 해당 서버에 장애가 ..
[TypeORM] 대용량 데이터 INSERT 성능 최적화 (약 5만 건의 데이터 2m 1s -> 1.5s)
·
NestJS
애플리케이션에서 대량의 데이터를 한 번에 DB에 저장해야 하는 경우 발생한다는 가정! 단순 repository.save() 반복의 문제 - 각 save 호출마다 TypeORM 내부 처리 -> Entity 존재 여부 확인, 이벤트 리스너 실행 등 모두 작동- 잦은 트랜잭션 커밋 -> DB 부하 증가 TypeORM 환경에서 대용량 Insert 작업을 효율적이고 빠르게 처리하는 다양한 전략을 알아보자.. 일단 먼저, 비효율적인 방법: 하나씩 save() 호출하기 (Anti-Pattern) 가장 직관적이지만 가장 비효율적인 방법// 안티패턴 예시for (const item of largeDataArray) { await userRepository.save(item); // 매우 비효율적!} 제 프로젝트..