PostgreSQL

60 개의 포스트

cloudflare원문

PlanetScale + Workers로 Postgres 및 MySQL 데이터베이스 배포하기 (새 탭에서 열림)

Cloudflare와 PlanetScale의 파트너십 강화를 통해 이제 Cloudflare Workers 사용자는 Postgres 및 MySQL 데이터베이스를 Cloudflare 대시보드 내에서 직접 생성하고 관리할 수 있게 되었습니다. 데이터베이스 사용료는 Cloudflare 계정으로 통합 청구되며, Cloudflare 스타트업 프로그램 크레딧이나 약정된 지불액(Committed Spend) 또한 PlanetScale 데이터베이스 결제에 활용 가능합니다. 이를 통해 개발자들은 별도의 인프라 관리 부담 없이 강력한 관계형 데이터베이스를 Cloudflare 생태계 안에서 완벽하게 통합하여 사용할 수 있습니다. **Cloudflare 대시보드를 통한 데이터베이스 통합 관리** - 사용자는 Cloudflare 대시보드 및 API를 통해 PlanetScale의 Postgres와 MySQL 데이터베이스를 즉시 배포할 수 있습니다. - 데이터베이스 사용 비용이 Cloudflare 청구서에 통합되어 단일한 결제 시스템으로 관리되므로, 셀프 서비스 및 엔터프라이즈 고객의 운영 효율성이 높아집니다. - pgvector와 같은 확장 기능을 지원하는 Postgres와 대규모 확장성을 제공하는 Vitess 기반 MySQL을 선택하여 애플리케이션 요구사항에 맞게 구성할 수 있습니다. **Hyperdrive를 활용한 고성능 연결 환경** - Cloudflare의 데이터베이스 연결 서비스인 Hyperdrive가 기본 통합되어 PlanetScale 데이터베이스와 Workers를 효율적으로 연결합니다. - Hyperdrive는 데이터베이스 커넥션 풀링(Connection Pooling)과 쿼리 캐싱을 자동으로 수행하여 쿼리 성능과 안정성을 대폭 향상합니다. - 개발자는 `wrangler.jsonc` 설정 파일에 간단한 바인딩 정보를 추가하고, 표준 Postgres 클라이언트(예: `pg` 라이브러리)를 사용하여 즉시 SQL 쿼리를 실행할 수 있습니다. **Smart Placement를 이용한 네트워크 지연 시간 단축** - Workers의 'Placement' 힌트 기능을 사용하여, Worker가 PlanetScale 데이터베이스와 가장 가까운 Cloudflare 데이터 센터에서 실행되도록 설정할 수 있습니다. - 기본적으로 Workers는 사용자 위치에서 실행되지만, 중앙 집중식 데이터베이스를 사용할 때는 DB 서버 근처에서 실행되도록 조정함으로써 네트워크 레이턴시를 획기적으로 줄일 수 있습니다. - 향후에는 데이터베이스 위치에 따라 자동으로 실행 위치를 최적화하여 지연 시간을 한 자릿수 밀리초(ms) 단위로 단축하는 기능이 제공될 예정입니다. 현재 Cloudflare 대시보드에서 PlanetScale 데이터베이스를 바로 연결하여 사용할 수 있으며, 다음 달부터는 Cloudflare를 통한 통합 결제가 정식으로 시작됩니다. 고성능 풀스택 애플리케이션 구축을 고려 중이라면, 전 세계 어디서나 빠른 응답 속도를 보장하는 Cloudflare Workers와 PlanetScale의 결합을 적극 활용해 보시기 바랍니다.

google원문

현실 세계를 위한 합성 데이터셋 설계: 메커니즘 설계와 제1원칙에 기반한 추론 (새 탭에서 열림)

구글 연구진이 발표한 'Simula' 프레임워크는 합성 데이터 생성을 개별 샘플 최적화가 아닌 '데이터셋 수준의 메커니즘 설계'로 재정의하여 전문화된 AI 모델 학습의 데이터 부족 문제를 해결합니다. 추론 모델을 활용해 제1원칙(First principles)부터 데이터셋을 설계하는 이 방식은 데이터의 범위, 복잡성, 품질을 독립적으로 제어할 수 있는 확장 가능한 솔루션을 제공합니다. 특히 보안이나 법률과 같이 데이터가 희소하거나 개인정보에 민감한 영역에서 실제 세계의 데이터를 대체하거나 보완할 수 있는 고품질의 합성 데이터를 생성하는 데 탁월한 성능을 보입니다. **기존 합성 데이터 생성의 한계와 메커니즘 설계의 필요성** * **실제 데이터의 제약:** 수동 데이터 제작은 비용이 많이 들고 오류가 잦으며, 정적인 특성 때문에 모델의 안전성을 테스트하기 위한 에지 케이스(Edge case)를 선제적으로 생성하기 어렵습니다. * **기존 합성 방식의 문제:** 수동 프롬프트나 진화 알고리즘에 의존하는 방식은 확장성이 떨어지고, 생성 과정이 '블랙박스' 형태여서 설명 가능성이 부족하며, 개별 샘플 단위의 최적화에 그친다는 한계가 있습니다. * **프로그래밍 가능한 워크플로우:** Simula는 데이터를 코드처럼 버전 관리하고 재현하며 검사할 수 있는 '데이터 우선(Synthetic-first)' 접근법을 제안하며, 이를 위해 데이터셋 전체의 구조를 설계하는 메커니즘 디자인을 도입했습니다. **Simula: 추론 기반의 데이터 생성 4단계** * **전역적 다양화(Global Diversification):** 무작위 샘플링 대신 추론 모델을 사용해 대상 도메인의 개념 공간을 계층적 분류 체계(Taxonomy)로 맵핑합니다. '제안-수정' 루프를 통해 인간의 시드 데이터 없이도 도메인의 롱테일 영역까지 포괄하는 샘플링 토대를 구축합니다. * **지역적 다양화(Local Diversification):** 특정 개념 내에서의 변주를 확보하기 위해 '메타 프롬프트'를 생성합니다. 예를 들어 'SQL 인젝션'이라는 노드에서 수많은 서로 다른 시나리오를 파생시켜 데이터가 특정 형태에 매몰되는 '모드 붕괴(Mode collapse)'를 방지합니다. * **복잡화(Complexification):** 난이도를 독립적인 축으로 설정하여, 의미적 범위는 유지한 채 메타 프롬프트를 더 정교하고 어렵게 정제합니다. 이를 통해 실무자는 데이터셋의 난이도 분포를 자유롭게 조정할 수 있습니다. * **품질 검증(Quality Checks):** 인간의 개입 없이 정답의 정확성을 보장하기 위해 '이중 비평(Dual-critic)' 루프를 실행합니다. 이는 모델이 그럴싸한 답변에 무조건 동조하는 '아첨(Sycophancy)' 현상을 방지하고 레이블의 신뢰도를 높입니다. **추론 중심의 새로운 평가 지표** * **기존 지표의 한계:** 임베딩 기반의 코사인 유사도와 같은 표준 지표는 합성 데이터의 실제 유용성이나 구체적인 개선 방향을 제시하는 데 한계가 있습니다. * **새로운 측정 도구:** Simula는 분류 체계 기반의 '범위(Taxonomic Coverage)'와 LLM 간의 배치 비교를 통해 개별 데이터에 체스식 점수를 매기는 '보정된 복잡성 점수(Calibrated Complexity Scoring, Elo rating)'를 도입하여 데이터의 질을 입체적으로 평가합니다. **실험을 통해 증명된 합성 데이터의 원칙** * **메커니즘 설계의 필수성:** 사이버 보안, 법률, 수학 등 다양한 도메인에서 Simula로 생성된 데이터셋은 단순한 베이스라인 방식보다 일관되게 높은 성능을 기록했습니다. * **맥락에 따른 데이터 맞춤화:** 수학적 추론에서는 높은 복잡성이 성능을 10% 향상시켰으나, 법률 분야에서는 오히려 성능을 저하시켰습니다. 이는 데이터를 소비할 모델의 역량에 맞춰 데이터 난이도를 최적화해야 함을 시사합니다. * **양보다 질의 법칙:** 고품질의 합성 데이터는 적은 샘플 수로도 더 높은 성능을 달성했으며, 이는 AI 모델의 스케일링 법칙이 단순한 데이터의 양이 아닌 데이터의 내재적 속성에 의해 주도됨을 확인시켜 줍니다. 성공적인 AI 모델 전문화를 위해서는 단순히 데이터를 많이 생성하는 것이 아니라, 도메인의 지식 구조를 반영한 정교한 설계가 선행되어야 합니다. Simula 프레임워크와 같이 추론 모델을 활용해 데이터셋의 다양성과 복잡성을 능동적으로 제어하는 방식은 향후 데이터가 부족한 특수 분야 AI 개발의 핵심적인 방법론이 될 것입니다.

gitlab원문

GitLab 19.0의 중대 변경 사항 가이드 (새 탭에서 열림)

GitLab 19.0은 이전 메이저 업데이트 대비 파괴적 변경 사항(Breaking Changes)의 수를 대폭 줄여 안정성을 높이는 한편, 최신 보안 표준과 현대적인 인프라 기술로의 전환을 가속화합니다. 이번 릴리스는 NGINX Ingress의 대체, PostgreSQL 최소 요구 버전 상향, 보안상 취약한 인증 방식 제거 등 시스템 운영의 핵심적인 변화를 포함하고 있어 사용자들의 철저한 사전 준비가 필요합니다. 각 배포 유형에 따라 2026년 5월부터 순차적으로 적용될 예정이므로, 운영 환경의 호환성을 미리 점검하고 마이그레이션을 계획해야 합니다. ### 배포 유형별 업데이트 일정 * **GitLab.com (SaaS):** 2026년 5월 4일~6일 사이에 주요 변경 사항이 적용되며, 5월 11일~13일이 예비 기간으로 설정되었습니다. * **Self-Managed:** 2026년 5월 21일부터 공식적으로 19.0 버전을 사용할 수 있습니다. * **GitLab Dedicated:** 배포판 관리 정책에 따라 2026년 6월 22일 주간의 유지보수 창 내에 업데이트가 진행됩니다. ### 인프라 및 네트워킹 구성의 변화 * **Gateway API 및 Envoy 전환:** NGINX Ingress가 2026년 3월 종료됨에 따라, GitLab Helm 차트의 기본 네트워킹 구성이 Envoy Gateway 기반의 Gateway API로 변경됩니다. 기존 NGINX 사용자는 20.0 버전 전까지 수동으로 활성화하여 유지할 수 있으나 조속한 마이그레이션이 권장됩니다. * **내장형 컴포넌트 제거:** 테스트 및 PoC 용도로 제공되던 Helm 차트 내 번들 PostgreSQL, Redis, MinIO가 라이선스 및 유지보수 이슈로 인해 완전히 제거됩니다. 해당 서비스를 사용하는 환경은 반드시 외부 서비스로 전환해야 합니다. * **OS 지원 종료:** Ubuntu 20.04의 표준 지원 종료에 맞춰 해당 OS용 리눅스 패키지 제공이 중단됩니다. 19.0 업그레이드 전 Ubuntu 22.04 이상의 지원 버전으로 OS를 교체해야 합니다. ### 데이터베이스 및 미들웨어 요구사항 강화 * **PostgreSQL 17 필수화:** PostgreSQL 16 지원이 중단되고 17 버전이 최소 요구 사항이 됩니다. 리눅스 패키지 사용자는 18.11 버전에서 자동 업그레이드가 시도될 수 있으며, 클러스터 사용자는 수동 업그레이드가 필수입니다. * **Redis 및 Valkey 지원:** Redis 6 지원이 종료됩니다. 외부 Redis 운영 환경은 Redis 7.2 또는 새롭게 지원되는 Valkey 7.2로 마이그레이션해야 합니다. (AWS, GCP 등 클라우드 매니지드 서비스 포함) ### 보안 및 빌드 환경 업데이트 * **ROPC OAuth 흐름 제거:** 보안상 결함이 있는 리소스 소유자 비밀번호 자격 증명(ROPC) 방식이 OAuth 2.1 표준에 따라 완전히 제거됩니다. 이를 사용하는 앱이나 통합 서비스는 Authorization Code flow 등 보안이 강화된 방식으로 수정해야 합니다. * **Auto DevOps 빌더 업데이트:** 클라우드 네이티브 빌드팩(CNB) 이미지가 heroku/builder:22에서 24 버전으로 업데이트됩니다. 이를 통해 최신 런타임 환경을 지원하며 관련 파이프라인의 빌드 방식이 변경될 수 있습니다. 성공적인 GitLab 19.0 전환을 위해 Self-Managed 운영자는 18.x 버전대에서 제공되는 PostgreSQL 17 마이그레이션 도구를 미리 활용하고, Helm 차트 사용자는 Gateway API로의 네트워크 인프라 전환 계획을 우선적으로 수립할 것을 권장합니다.

cloudflare원문

모두를 위한 보안 프라이빗 네트워킹: 사용자, 노드, 에이전트, Workers — Cloudflare Mesh를 소개합니다 (새 탭에서 열림)

AI 에이전트의 부상으로 기존의 인간 중심적인 VPN이나 SSH 터널은 자율적으로 작동하는 소프트웨어의 네트워크 접근 요구를 충족하기 어려워졌습니다. Cloudflare Mesh는 AI 에이전트, 서비스, 사용자 기기를 아우르는 통합 보안 프라이빗 네트워크를 제공하여, 복잡한 설정 없이도 내부 리소스에 안전하게 접근하고 가시성을 확보할 수 있도록 돕습니다. 이는 Cloudflare One의 제로 트러스트 보안 체계와 직접 통합되어, 개발자부터 기업용 워크로드까지 유연하게 확장 가능한 에이전트 중심의 네트워크 인프라를 실현합니다. ### 에이전트 중심 시대를 위한 네트워크의 변화 * **기존 방식의 한계:** VPN은 수동 로그인이 필요하고 SSH 터널은 설정이 번거로우며, 서비스를 공용 인터넷에 노출하는 것은 보안 위험이 큼. 특히 자율적으로 동작하는 AI 에이전트에게는 부적합한 방식임. * **Cloudflare Mesh의 도입:** AI 에이전트가 스테이징 DB나 내부 API에 직접 접근할 수 있도록 네트워크를 연결하며, Cloudflare Workers 및 Agents SDK와 통합되어 서버리스 환경에서도 프라이빗 리소스에 도달할 수 있게 함. * **단일화된 인프라:** Cloudflare One의 SASE 아키텍처를 기반으로 하며, 'Mesh 노드'(기존 WARP Connector)와 'Cloudflare One Client'를 통해 인간과 에이전트 트래픽을 모두 수용함. ### 주요 에이전트 워크플로우와 활용 사례 * **개인용 에이전트 원격 접속:** 모바일 기기에서 집 안의 홈 네트워크에 있는 AI 에이전트(예: Mac mini에서 실행 중인 모델)에 안전하게 접속. 인터넷 노출 없이 셸 접근 및 파일 시스템 제어가 가능함. * **코딩 에이전트의 스테이징 환경 접근:** 개발자 노트북의 코딩 에이전트(Cursor, Claude Code 등)가 프라이빗 클라우드 VPC 내의 스테이징 데이터베이스나 API 서버에 직접 쿼리를 날릴 수 있도록 연결함. * **배포된 에이전트와 내부 서비스 통합:** Cloudflare Workers 기반의 에이전트가 퍼블릭 인터넷에 노출되지 않은 내부 API 및 DB와 통신할 때, 세밀한 권한 제어와 감사 추적(Audit Trail)을 제공함. ### Cloudflare One 기반의 통합 보안 및 관리 * **글로벌 네트워크 활용:** 전 세계 330개 이상의 도시에 걸친 Cloudflare 네트워크를 통해 프라이빗 IP로 라우팅되어 높은 안정성과 통제력을 확보함. * **자동화된 보안 정책:** Gateway 정책, 디바이스 포스처(Posture) 체크, DNS 필터링 등이 Mesh 트래픽에 자동으로 적용되어 추가 설정 없이 보안 수준을 강화함. * **확장성 있는 기능 제공:** 초기 설정 후 필요에 따라 SSH/RDP 세션 관리, 브라우저 격리, 데이터 손실 방지(DLP) 및 SaaS 보안(CASB) 등 고급 제로 트러스트 기능을 점진적으로 도입할 수 있음. 프라이빗 네트워킹이 필요한 개발자나 기업은 Mesh를 통해 수 분 내에 네트워크를 구축하고 에이전트에게 안전한 통로를 제공할 수 있습니다. 단순한 터널링을 넘어 향후 제로 트러스트 보안의 전체 스택으로 마이그레이션 없이 확장 가능하다는 점이 큰 장점입니다. 특히 자율적인 AI 에이전트의 활동에 대한 보안 통제가 필요한 환경에 Cloudflare Mesh 도입을 강력히 권장합니다.

aws원문

AWS 주간 소식: Amazon Bedrock의 Claude Mythos 프리뷰, AWS Agent Registry 등 (2026년 4월 13일) | Amazon Web Services (새 탭에서 열림)

AWS는 이번 발표를 통해 AI 모델의 실험 단계를 넘어 실제 운영 환경에서의 비용 투명성과 관리 효율성을 높이는 데 주력하고 있습니다. 특히 Amazon Bedrock의 비용 할당 기능과 새로운 에이전트 레지스트리는 기업이 AI 자원을 체계적으로 거버넌스하고 최적화할 수 있는 기틀을 마련해 줍니다. 결과적으로 개발 가속화와 동시에 재무적 가시성을 확보하려는 기업들에게 실질적인 해결책을 제시하고 있습니다. ### AI 비용 관리 및 거버넌스 체계 구축 * **IAM 기반 Bedrock 비용 할당**: 이제 IAM 사용자 및 역할별로 Amazon Bedrock 사용 비용을 할당할 수 있습니다. 팀이나 비용 센터별로 태그를 지정해 AWS Cost Explorer 및 상세 비용 보고서(CUR)에서 모델 추론 비용을 명확히 추적할 수 있어 AI 투자의 가시성이 크게 향상되었습니다. * **AWS Agent Registry 출시**: 기업 내 AI 에이전트, 도구, MCP(Model Context Protocol) 서버 등을 통합 관리하는 프라이빗 카탈로그입니다. 시맨틱 검색과 승인 워크플로를 통해 중복 개발을 방지하고, CloudTrail을 통한 감사 추적 기능을 제공하여 에이전트 기반 시스템의 거버넌스를 강화합니다. ### 보안 및 관리형 AI 서비스 확장 * **Claude Mythos 프리뷰**: Anthropic의 가장 정교한 보안 특화 모델이 Amazon Bedrock에 연구 프리뷰 형태로 출시되었습니다. 소프트웨어 취약점 식별 및 대규모 코드베이스 분석에 탁월하며, 현재는 인터넷 주요 인프라 기업 및 오픈소스 유지 관리자를 중심으로 접근이 제한적으로 허용됩니다. * **Amazon WorkSpaces Advisor**: 생성형 AI를 활용하여 IT 관리자의 업무를 돕는 도구입니다. 가상 데스크톱 환경의 구성을 분석하고 문제를 자동으로 감지하여, 서비스 복구 및 성능 최적화를 위한 구체적인 권장 사항을 제공합니다. ### 고성능 데이터 스토리지 및 관측성 강화 * **Amazon S3 Files**: S3 버킷을 Amazon EFS 기술 기반의 파일 시스템으로 직접 연결하여 사용할 수 있습니다. 코드 수정 없이도 기존 파일 시스템 세맨틱을 유지하면서 초당 수 테라비트의 읽기 처리량을 확보할 수 있으며, S3 API와 파일 인터페이스를 동시에 사용할 수 있는 유연성을 제공합니다. * **OpenSearch 통합 관측성 지원**: Managed Prometheus 및 에이전트 트레이싱 기능이 추가되었습니다. 로그, 메트릭, 트레이스를 하나의 인터페이스에서 통합 관리할 수 있으며, 특히 LLM 실행 가시성을 위한 OpenTelemetry GenAI 시맨틱 컨벤션을 지원하여 AI 운영의 효율성을 높였습니다. ### 양자 컴퓨팅 및 고급 컴퓨팅 옵션 * **Rigetti 108 큐비트 QPU 지원**: Amazon Braket에서 Rigetti의 'Cepheus' 프로세서를 사용할 수 있게 되었습니다. 100 큐비트 이상의 초전도 양자 프로세서로, 펄스 수준의 제어가 가능하여 연구자들이 더 복잡한 양자 알고리즘을 테스트할 수 있는 환경을 제공합니다. * **AWS Lambda 매니지드 인스턴스**: 서버리스의 장점을 유지하면서도 메모리 집약적인 애플리케이션을 지원할 수 있도록 Lambda 인프라 옵션이 확장되어, 가벼운 워크로드를 넘어선 복잡한 계산 작업도 처리가 가능해졌습니다. 성공적인 AI 운영을 위해서는 도입 초기부터 **IAM 태그를 활용한 비용 할당 정책**을 수립하는 것이 권장됩니다. 또한, Amazon Bedrock에서 사용 중인 파운데이션 모델의 **생명주기(Lifecycle)** 문서를 정기적으로 확인하여, 모델 업데이트 및 단종 계획에 따른 서비스 중단 위험을 사전에 방지하시기 바랍니다.

cloudflare원문

동적 워커의 Durable Objects: AI가 생성한 각 앱에 자체 데이터베이스를 제공하세요 (새 탭에서 열림)

Cloudflare는 AI가 생성한 애플리케이션에 독립적인 영구 저장소를 제공하기 위해 'Durable Object Facets' 기능을 출시했습니다. 이 기능은 가볍고 빠른 Dynamic Workers 환경에서 AI 코드가 자신만의 전용 SQLite 데이터베이스를 가질 수 있게 하여, 일회성 실행을 넘어 상태를 유지하는 복잡한 앱 구축을 가능하게 합니다. 개발자는 이를 통해 동적으로 생성된 코드에 대해 제로 레이턴시 수준의 저장소 성능과 체계적인 관리 권한을 동시에 확보할 수 있습니다. ### Dynamic Workers와 상태 관리의 필요성 * **Isolate 기반의 효율성:** Dynamic Workers는 컨테이너가 아닌 Isolate 기술을 사용하여 기존 방식보다 100배 빠르고 메모리 사용량은 1/10 수준으로 가볍습니다. * **일회성 실행의 한계:** 기존에는 AI 에이전트가 생성한 코드를 즉시 실행하고 버리는 용도로 주로 사용되었으나, 사용자 상호작용이 필요한 앱을 만들려면 장기적인 상태(State) 저장이 필수적입니다. * **스토리지 대안:** 원격 SQL 데이터베이스(D1, Postgres 등)를 연결할 수도 있지만, 더 빠르고 밀접한 데이터 처리를 위해 Durable Object의 로컬 SQLite 활용이 제안되었습니다. ### 기존 Durable Objects의 제약 사항 * **정적 설정의 한계:** 일반적인 Durable Object는 코드 작성 후 API를 통한 프로비저닝과 Wrangler 설정이 필요하며, 이는 실시간으로 코드가 생성되는 동적 환경에는 적합하지 않습니다. * **통제 및 관리 문제:** AI나 사용자가 생성한 코드가 무제한으로 스토리지를 생성하거나 사용하는 것을 방지하기 위해 로깅, 과금, 리소스 제한 등을 수행할 '감독자(Supervisor)' 역할이 필요합니다. ### Durable Object Facets의 구조와 작동 방식 * **Facets 개념 도입:** 개발자가 작성한 고정된 Durable Object(관리자) 내에서 AI가 생성한 Dynamic Worker 코드를 'Facet'이라는 하위 단위로 로드하고 인스턴스화합니다. * **독립된 SQLite 데이터베이스:** 각 Facet은 관리자의 데이터베이스와 분리된 자신만의 SQLite 데이터베이스를 할당받습니다. 이를 통해 일반적인 Durable Object 스토리지 API(kv, sql)를 그대로 사용할 수 있습니다. * **감독자 패턴(Supervisor Pattern):** 모든 요청은 먼저 관리자 Durable Object를 거쳐 Facet으로 전달되므로, 개발자는 요청 전달 전에 로깅, 보안 검사, 할당량 제한 등의 로직을 실행할 수 있습니다. * **코드 구현:** `this.ctx.facets.get()` 메서드를 사용하여 동적 클래스를 인스턴스로 만들고, RPC(원격 프로시저 호출)나 HTTP 요청을 통해 해당 Facet과 통신합니다. AI 기반의 맞춤형 앱 플랫폼이나 사용자 정의 로직을 실행해야 하는 SaaS를 구축한다면, Durable Object Facets를 활용해 보시기 바랍니다. 이를 통해 인프라 설정의 번거로움 없이 각 사용자 앱마다 독립적이고 성능이 뛰어난 전용 데이터베이스를 즉시 제공할 수 있으며, 관리자 계층을 통해 시스템 안정성과 가시성을 동시에 확보할 수 있습니다.

line원문

AI 활용의 열쇠는 '조직적 학습'에 있다 - Orchestration Development Workshop의 시작 (새 탭에서 열림)

LY Corporation은 AI 도입 초기 단계를 넘어, 여러 AI를 유기적으로 연계하여 엔지니어의 창의성을 극대화하는 ‘오케스트레이션 개발 워크숍(Orchestration Development Workshop)’을 본격적으로 시작했습니다. 이 워크숍은 단순한 도구 활용을 넘어 AI와 협업하는 조직으로 진화하기 위한 실무 중심의 배움터로, 반복적인 업무를 자동화함으로써 엔지니어가 보다 가치 있는 설계와 창의적 활동에 집중할 수 있는 환경을 구축하는 것을 최종 목표로 합니다. **여러 AI를 연계하는 ‘오케스트레이션’ 개발 방식** * AI 오케스트레이션은 단일 도구 사용을 넘어, 여러 AI를 조합해 복잡한 개발 프로세스를 일괄 수행하는 '협주형' 개발 방식을 의미합니다. * 주요 사례로 Jira 티켓 기반 코드 자동 생성, 테스트 및 리뷰 수행, Pull Request(PR) 작성까지 AI가 연속적으로 처리하는 워크플로우를 제안합니다. * Slack을 통해 접수된 장애 보고를 바탕으로 AI가 원인을 추정하고 즉각적인 수정안을 제시하는 등 실전적인 대응 모델을 포함합니다. **지속적인 지식 확산을 위한 3단계 조직 구조** * 특정 개인의 열정에만 의존하지 않고 조직 전체가 성장할 수 있도록 ‘추진(DevRel)’, ‘현장 인사이트(길드)’, ‘품질 보증(TD)’의 체계적인 협력 구조를 구축했습니다. * DevRel 조직은 프로젝트의 운영과 전사적 확산을 담당하며 지식 전파의 엔진 역할을 수행합니다. * 현장 엔지니어로 구성된 길드가 실무 지식을 제공하고, TD(Technical Director)가 콘텐츠의 품질과 재현성을 검증하여 교육의 신뢰도를 높입니다. **실무 재현성을 극대화한 양방향 학습 설계** * ‘보기만 하다 끝나지 않는다’는 슬로건 아래, 참가자가 발표자의 화면을 보며 실시간으로 따라 하는 핸즈온(Hands-on) 실습 환경을 제공합니다. * Zoom을 통한 실시간 대화와 Slack을 활용한 질문 수집을 병행하여, 학습 과정에서 발생하는 과제를 그 자리에서 즉시 해결하는 양방향 소통을 지향합니다. * 단순한 지식 전달을 넘어 각 엔지니어가 자신의 실제 프로젝트에서 AI 오케스트레이션을 재현할 수 있는 실질적인 기술 습득에 초점을 맞춥니다. **엔지니어의 창의성 해방과 미래 전망** * AI 활용의 본질은 단순한 작업 속도 향상이 아니라, 엔지니어를 반복 작업에서 해방시켜 고부가가치 설계 영역에 집중하게 만드는 것입니다. * 생성형 AI뿐만 아니라 비생성형 AI까지 아우르는 폭넓은 주제를 다루며, 사내에서 축적된 AI 주도 개발 노하우를 기술 블로그 등 외부 채널을 통해 적극적으로 환원할 예정입니다. AI가 코드를 작성하고 인간이 리뷰하는 단계를 넘어, 설계 단계부터 AI와 긴밀히 협업하는 시대가 오고 있습니다. 이제 엔지니어는 개별 코딩 기술에 매몰되기보다 여러 AI를 조율하고 제어하는 '오케스트레이터'로서의 역량을 갖추는 것이 필수적입니다. LY Corporation의 사례처럼 실무 중심의 핸즈온 학습을 통해 AI와 함께 만드는 조직 문화를 선제적으로 경험해 보길 추천합니다.

aws원문

AWS 주간 요약: AWS AI/ML Scholars 프로그램, AWS 서버리스용 에이전트 플러그인 등 (2026년 3월 30일) | Amazon Web Services (새 탭에서 열림)

AWS는 2026 AI & ML Scholars 프로그램을 통해 전 세계 10만 명의 학습자에게 무료 교육 기회를 제공하며 AI 인재 양성에 박차를 가하고 있습니다. 이와 동시에 개발 생산성을 극대화하기 위해 AI 코딩 어시스턴트와의 통합을 강화하고, 서버리스 및 데이터베이스 서비스의 성능과 편의성을 대폭 개선했습니다. 이번 업데이트는 초보자부터 전문가까지 아우르는 교육적 지원과 고성능 워크로드 처리를 위한 기술적 진보를 동시에 포함하고 있습니다. **AWS AI & ML Scholars 및 글로벌 이벤트** - 전 세계 18세 이상 누구나 신청 가능한 '2026 AWS AI & ML Scholars' 프로그램이 시작되었으며, 상위 4,500명에게는 Udacity 나노디그리 장학금이 지원됩니다. - 4월 파리와 런던을 시작으로 전 세계 주요 도시에서 AWS Summit이 개최되어 클라우드 및 AI 기술에 관한 혁신 사례를 공유할 예정입니다. - 개발자 커뮤니티가 주도하는 'AWS Community Days'도 샌프란시스코와 루마니아 등에서 개최되어 기술 워크숍과 실습 기회를 제공합니다. **AI 코딩 도구 연동 및 개발자 경험 개선** - 'Agent Plugin for AWS Serverless' 출시로 Kiro, Claude Code, Cursor 등의 AI 코딩 어시스턴트에서 서버리스 애플리케이션의 구축과 관리가 더욱 간편해졌습니다. - Amazon SageMaker Studio가 Kiro와 Cursor IDE의 원격 연결을 지원하여, 개발자가 익숙한 로컬 환경에서 SageMaker의 확장 가능한 컴퓨팅 자원을 활용할 수 있게 되었습니다. - AWS 관리 콘솔에 시각적 커스터마이징 기능이 추가되어 계정별 색상을 지정하거나 사용하지 않는 리전 및 서비스를 숨김으로써 인지 부하를 줄일 수 있습니다. **서버리스 및 데이터베이스 성능 강화** - Amazon Aurora PostgreSQL에 'Express Configuration'이 도입되어 단 두 번의 클릭으로 몇 초 만에 서버리스 데이터베이스를 생성할 수 있습니다. - AWS 프리티어에 Aurora PostgreSQL이 포함되어 신규 가입자에게 크레딧 혜택을 제공하며, Ruby 개발자를 위한 Aurora DSQL 커넥터도 새롭게 출시되었습니다. - AWS Lambda의 파일 디스크립터 한도가 4,096개로 4배 상향되었으며, 최대 32GB 메모리와 16 vCPU를 지원하여 데이터 집약적인 워크로드를 인프라 관리 없이 처리할 수 있습니다. **Amazon Polly의 양방향 스트리밍 지원** - Amazon Polly에 새롭게 도입된 양방향 스트리밍 API는 텍스트가 생성되는 도중에 실시간으로 음성 합성을 시작할 수 있게 해줍니다. - 이는 LLM(거대언어모델) 응답과 같이 텍스트가 순차적으로 생성되는 대화형 AI 애플리케이션에서 지연 시간을 획기적으로 줄여줍니다. 이번 발표에서 주목할 점은 서버리스 환경의 성능 한계가 대폭 확장되었다는 것입니다. 고성능 컴퓨팅이 필요한 워크로드를 운영 중이라면 상향된 Lambda 리소스를 적극 활용해 보시기 바라며, AI 역량을 쌓고자 하는 분들은 6월 24일 마감되는 AWS AI & ML Scholars 프로그램에 지원해 보실 것을 추천합니다.

aws원문

수 초 만에 Amazon Aurora PostgreSQL 서버리스 데이터베이스 생성 기능 발표 | Amazon Web Services (새 탭에서 열림)

Amazon Aurora PostgreSQL Serverless의 '익스프레스 구성(Express Configuration)' 기능이 정식 출시되어, 이제 단 몇 초 만에 데이터베이스를 생성하고 사용할 수 있게 되었습니다. 이 기능은 복잡한 네트워크 설정과 인증 과정을 자동화하여 개발자가 아이디어를 즉시 애플리케이션으로 구현할 수 있는 환경을 제공합니다. 특히 인터넷 액세스 게이트웨이와 IAM 인증을 기본으로 설정해 보안과 편의성을 동시에 확보한 것이 핵심입니다. **익스프레스 구성을 통한 초고속 데이터베이스 생성** * 단 두 번의 클릭만으로 사전에 정의된 최적의 설정을 통해 Aurora PostgreSQL Serverless 인스턴스를 즉시 생성할 수 있습니다. * 생성 과정에서 용량 범위(Capacity range)를 조정하거나, 생성 후 읽기 복제본(Read Replica) 추가 및 파라미터 그룹 수정을 자유롭게 수행할 수 있습니다. * AWS CLI나 SDK 사용 시 `--with-express-configuration` 옵션을 추가하면 단 한 번의 API 호출로 클러스터와 인스턴스를 동시에 구축할 수 있어 자동화에 용이합니다. **복잡한 설정이 필요 없는 네트워크 및 보안 환경** * Amazon VPC를 직접 구성하거나 VPN, Direct Connect를 연결할 필요 없이, 새로운 '인터넷 액세스 게이트웨이(Internet Access Gateway)' 라우팅 계층을 통해 외부 개발 도구에서 즉시 접속이 가능합니다. * 이 게이트웨이는 여러 가용 영역(AZ)에 분산되어 있어 Aurora 클러스터와 동일한 수준의 고가용성을 보장하며 PostgreSQL 와이어 프로토콜을 지원합니다. * 기본적으로 AWS IAM 인증이 활성화되어 있어, 별도의 비밀번호 관리 없이도 안전한 '패스워드리스(Passwordless)' 인증 환경을 기본으로 제공합니다. **개발자 친화적인 연결 및 도구 통합** * AWS 콘솔 내에서 Python, Node.js, Go, TypeScript 등 다양한 언어별 연결 코드 스니펫을 제공하여 애플리케이션 코드에 즉시 반영할 수 있습니다. * AWS CloudShell을 통해 별도의 클라이언트 설치 없이 브라우저에서 바로 SQL 쿼리를 실행할 수 있는 통합 환경을 지원합니다. * Vercel의 'v0'와 같은 AI 기반 도구와 통합되어 자연어만으로 데이터베이스가 포함된 풀스택 애플리케이션을 신속하게 구축할 수 있습니다. 이제 Amazon Aurora가 AWS 프리티어(Free Tier) 범위에 포함되어 초기 비용 부담 없이 시작할 수 있습니다. 신속한 프로토타이핑이나 현대적인 서버리스 애플리케이션 개발이 필요한 경우, 익스프레스 구성을 활용해 인프라 설정 시간을 단축하고 비즈니스 로직 구현에 집중할 것을 추천합니다.

datadog2분 읽기큐레이션 요약

업서트가 업데이트되지 않아도 쓰기가 발생하는 경우: 대규모 Postgres 성능 디버깅

Datadog이 Gartner의 2026년 Observability Platforms 매직 쿼드런트에서 ‘Leader’로 선정되었다는 내용을 소개하는 페이지입니다. 제공된 본문에는 선정 근거와 평가 세부사항보다 Datadog의 제품군 및 관련 링크 목록이 대부분 포함되어 있습니다. 따라서 이 자료만으로는 Gartner의 구체적인 평가 기준이나 Datadog의 강점·약점을 자세히 분석하기 어렵습니다. ### Gartner 매직 쿼드런트 선정 - Datadog이 Gartner의 **Observability Platforms 부문 Leader**로 소개됩니다. - 연결된 리소스는 Datadog의 시장 평가 및 제품 포지셔닝을 강조하기 위한 홍보 자료로 보입니다. - 제공된 내용에는 Gartner의 평가 방법론, 경쟁사 비교, 실행 능력 및 비전 완성도에 대한 구체적인 설명은 없습니다. ### 인프라 모니터링 - 호스트, 메트릭, 컨테이너, 네트워크, 서버리스 환경을 모니터링합니다. - Kubernetes 오토스케일링, 클라우드 비용 관리, 스토리지 및 GPU 모니터링 기능을 제공합니다. - Cloudcraft를 통해 클라우드 인프라를 시각화할 수 있습니다. ### 애플리케이션 및 데이터 관측성 - APM, 서비스 모니터링, 연속 프로파일링, 동적 계측을 지원합니다. - 데이터베이스, 데이터 스트림, 데이터 품질, 작업 실행 상태를 관찰할 수 있습니다. - 애플리케이션 성능 문제와 데이터 파이프라인 문제를 하나의 플랫폼에서 분석하는 방향을 보여줍니다. ### 로그 및 보안 - 로그 관리, 민감 데이터 탐지, 감사 추적, 관측성 파이프라인 기능을 제공합니다. - 코드 보안, SAST·IAST, IaC 보안, 클라우드 보안, 취약점 관리, SIEM 등을 포함합니다. - 애플리케이션·API 보호와 워크로드 보호까지 보안 영역을 확장하고 있습니다. ### 디지털 경험 및 소프트웨어 전달 - 브라우저·모바일 RUM, 세션 리플레이, 합성 모니터링, 오류 추적을 지원합니다. - CI 가시성, 테스트 최적화, 지속적 테스트, 코드 커버리지, 기능 플래그 등을 제공합니다. - 사용자 경험부터 코드 변경과 배포 과정까지 관측 범위를 넓힌 것이 특징입니다. ### 서비스 관리와 AI - 이벤트 관리, SLO, 인시던트 대응, 워크플로 자동화, 서비스 카탈로그를 제공합니다. - Watchdog과 Bits 계열 AI 기능을 활용해 이상 탐지, 조사, 보안 분석, 자동화를 지원합니다. - MCP 서버, AI 에이전트, GPU 모니터링 등 AI 운영 환경을 위한 기능도 포함합니다. 실제로 Datadog 도입이나 경쟁 제품 비교에 활용하려면, 연결된 Gartner 리포트의 평가 기준과 한계, 비용 구조, 데이터 보존 정책, 기존 인프라와의 통합성을 별도로 확인해야 합니다.

원문 읽기(새 탭에서 열림)
datadog원문

업서트가 업데이트하지 않아도 쓰기가 발생하는 경우: 대규모 Postgres 성능 디버깅 (새 탭에서 열림)

데이터독(Datadog)은 수백만 개의 일시적인 호스트 메타데이터를 효율적으로 관리하기 위해 새로운 업서트(Upsert) 쿼리를 도입했으나, 예상과 달리 디스크 쓰기와 WAL(Write-Ahead Logging) 동기화가 급증하는 문제에 직면했습니다. 조사 결과, PostgreSQL의 `ON CONFLICT DO UPDATE` 구문은 `WHERE` 조건에 의해 실제 업데이트가 수행되지 않더라도 행 잠금을 위해 WAL 레코드를 생성한다는 점이 원인이었습니다. 이 글은 고성능 시스템에서 단순한 쿼리 최적화 가정이 어떻게 물리적 성능 병목으로 이어질 수 있는지, 그리고 이를 어떻게 진단했는지 설명합니다. ### 효율적인 업서트 테이블 설계 * **업데이트 비용 절감:** PostgreSQL은 MVCC(MultiVersion Concurrency Control)를 사용하므로 업데이트 시마다 새로운 행 버전이 생성됩니다. 메타데이터 테이블의 비대화를 막기 위해 `last_ingested` 필드를 별도의 전용 테이블로 분리하여 쓰기 데이터양을 최소화했습니다. * **HOT(Heap-Only Tuples) 업데이트 활용:** 인덱스가 있는 컬럼을 수정하면 인덱스 페이지도 함께 수정되어야 합니다. 이를 피하기 위해 `last_ingested` 컬럼에는 인덱스를 생성하지 않았으며, `fillfactor`를 80%로 설정하여 페이지 내 여유 공간을 확보함으로써 HOT 업데이트가 가능하도록 설계했습니다. * **업데이트 빈도 제한:** 7일간 데이터가 없는 호스트를 식별하는 것이 목적이므로 1일 단위의 정밀도로 충분했습니다. 따라서 `WHERE` 절을 사용하여 마지막 업데이트로부터 24시간이 지난 경우에만 실제 쓰기가 발생하도록 쿼리를 구성했습니다. ### 예상치 못한 성능 지표의 변화 * **I/O 및 WAL 동기화 급증:** 쿼리 배포 후 업데이트 속도는 예상대로 낮게 유지되었으나, 디스크 쓰기 IOPS는 2배, WAL sync 횟수는 4배나 증가했습니다. * **쓰기 예산 소모:** PostgreSQL 클러스터는 단일 라이터(writer) 구조이므로 처리 가능한 쓰기 작업량에 한계가 있습니다. 실제 데이터 변경이 없는 'No-op' 쿼리들이 이 한정된 자원을 과도하게 소모하는 문제가 발생했습니다. * **내부 동작의 모순:** `INSERT ... ON CONFLICT DO UPDATE` 문에서 `WHERE` 조건이 거짓(false)이 되어 행이 업데이트되지 않더라도, 데이터베이스는 동시성 제어를 위해 해당 행에 락(lock)을 겁니다. 이 잠금 행위 자체가 WAL에 기록되면서 물리적인 쓰기 부하를 유발한 것입니다. ### pg_walinspect를 이용한 심층 진단 * **WAL 레코드 조사:** Postgres 15에서 도입된 `pg_walinspect` 확장 프로그램을 사용하여 실제 WAL에 어떤 데이터가 기록되고 있는지 분석했습니다. * **진단 도구 설정:** `pg_get_wal_records_info` 함수를 호출하여 특정 LSN(Log Sequence Number) 범위 내의 레코드를 확인했습니다. 이를 통해 쿼리 실행 시 업데이트가 발생하지 않음에도 불구하고 WAL 레코드가 생성되는 과정을 구체적으로 확인했습니다. * **원인 규명:** 분석 결과, `ON CONFLICT` 상황에서 잠금 처리가 WAL에 기록되는 것을 확인했으며, 이것이 전체적인 디스크 I/O 상승의 주범임을 입증했습니다. ### 실용적인 제언 PostgreSQL에서 고빈도 업서트를 설계할 때는 `WHERE` 조건문이 애플리케이션 레벨의 논리적 업데이트는 막아줄 수 있지만, 데이터베이스 엔진 레벨의 물리적 쓰기(WAL)까지 완전히 차단하지 못할 수 있음을 유의해야 합니다. 극도로 높은 처리량이 요구되는 환경에서는 `pg_walinspect`와 같은 도구를 사용하여 쿼리의 물리적 오버헤드를 사전에 검증하고, 불필요한 잠금 발생을 줄이는 방향으로 쿼리를 재작성하는 과정이 필수적입니다.

line원문

기획서 없이 내재화하기: 검증 로직으로 동일함을 증명하다 (새 탭에서 열림)

사양서나 소스 코드를 참조할 수 없는 블랙박스 상태의 레거시 시스템을 내재화하기 위해, Kafka 생태계를 활용한 자동화된 검증 파이프라인을 구축하여 시스템의 동일성을 증명했습니다. 데이터 발생부터 분석까지 이어지는 검증 루프를 통해 불일치 건수를 0으로 수렴시키는 과정을 거쳤으며, 결과적으로 대규모 커머스 데이터를 안전하고 정밀하게 신규 시스템으로 이관할 수 있었습니다. **통합 커머스 검색의 도메인 구조** * **상품과 카탈로그**: 판매자가 등록한 개별 '상품'들을 동일 모델별로 묶어 최적의 정보를 제공하는 상위 객체인 '카탈로그'로 관리하며, 이는 최저가 산출 및 객단가 지표 제공의 핵심이 됩니다. * **수신 파이프라인**: 대규모 상품 데이터를 내부 표준 형식으로 변환하고 정합성을 검사하여 상품 및 카탈로그 정보에 반영하는 거대 파이프라인으로, 서비스 전체에 막대한 영향력을 미칩니다. **무중단 검증 루프의 설계** * **검증 파이프라인 아키텍처**: 트리거(DB 변경/이벤트) → 실행 및 비교(양쪽 시스템에 동일 입력 주입) → 가공 및 적재(불일치 데이터 저장) → 분석 및 개선(오류 패턴 수정)으로 이어지는 유기적인 루프를 생성했습니다. * **입력과 출력의 정의**: 동일한 ID나 스냅숏을 입력값으로 설정하고, API 응답이나 DB 업데이트 결과를 출력값으로 명확히 정의함으로써 내부 로직이 복잡하더라도 통계적으로 동일함을 증명할 수 있는 환경을 만들었습니다. **조회 로직 검증과 블랙박스 분석** * **CDC와 Kafka 기반 비교**: DB의 바이너리 로그를 실시간 스트리밍하는 CDC(Change Data Capture)를 트리거로 사용하고, Kafka를 통해 검증 로직을 물리적으로 격리하여 서비스 성능에 영향을 주지 않으면서 기존/신규 API 응답을 1:1로 대조했습니다. * **재귀적 필드 비교 및 정렬**: 100개가 넘는 API 응답 필드를 `Map<String, Object>` 구조로 변환해 재귀적으로 탐색했으며, 리스트 내 순서 차이로 인한 노이즈를 제거하기 위해 문자열 정렬 후 2차 비교를 수행하는 유연한 로직을 도입했습니다. * **가시성 확보 및 최적화**: ksqlDB를 활용해 실시간으로 이상 징후를 Slack으로 알리고 OpenSearch로 상세 로그를 분석했으며, 처리율 제한(Rate Limit)을 적용해 동일 패턴의 중복 오류가 분석을 방해하지 않도록 제어했습니다. **상태 변화를 다루는 업데이트 로직 검증** * **실시간 시뮬레이션**: 카탈로그 통계 업데이트 시 CDC 이벤트가 발생하면 검증 모듈이 신규 로직으로 예상 결과값을 즉시 산출하고, 이를 기존 로직이 업데이트한 DB의 실제값과 대조하는 시뮬레이션 방식을 채택했습니다. * **비동기 지연 및 트리거 누락 해결**: 비동기 환경의 시차 문제는 'N회차 재시도 큐' 전략으로 해결하고, 특정 필드 변경 시에만 검증이 작동하도록 필터링하여 리소스를 최적화했습니다. 또한 ETL 배치 검증을 병행하여 실시간 스트림에서 놓칠 수 있는 트리거 누락 결함까지 포착했습니다. **성공적인 시스템 전환을 위한 제언** 복잡한 시스템의 내재화는 단순히 코드를 옮기는 것이 아니라 '기존과 동일하게 작동함'을 객관적으로 입증하는 과정입니다. 데이터 스트림 기반의 자동화된 검증 체계를 구축하면 블랙박스 로직의 베일을 하나씩 벗겨낼 수 있을 뿐만 아니라, 실시간 트래픽 환경에서의 성능 비교 지표까지 확보하여 안정성과 성능이라는 두 마리 토끼를 모두 잡을 수 있습니다.

kakao4분 읽기큐레이션 요약

학생에서 개발자로: DB, 보안부터 AI까지, 정답보다 합리적인 선택을 배우다

카카오 신입 개발자 온보딩은 기술의 정답을 암기하는 교육이 아니라, 대규모 트래픽과 운영 환경을 견디는 합리적 설계를 배우는 과정이었다. DB에서는 변경과 운영 비용을 고려하고, 보안에서는 취약점을 자신의 코드 문제로 인식하며, AI에서는 모델의 불확실성을 시스템 설계로 통제하는 관점을 익혔다. 결국 개발자의 핵심 역량은 상황과 리소스에 맞는 선택을 하고, 그 근거를 팀과 공유·설득하는 능력이라는 결론에 도달한다. ## DB: 이론적 정답보다 운영 가능성을 우선하기 - 무결성은 반드시 DB가 전부 책임져야 하는 규칙이 아니라, DB와 애플리케이션 중 어디에 책임을 둘지 정하는 운영 모델이다. - 물리적 Foreign Key는 무결성을 보장하지만, 트래픽과 변경이 많은 환경에서는 락, 성능 저하, 스키마 변경의 유연성 문제를 일으킬 수 있다. - 애플리케이션이 무결성을 담당한다면 테스트와 데이터 보정 로직을 강화해야 한다. - 삭제된 데이터를 복구하거나 감사 추적해야 하므로 `deleted_at`을 활용한 소프트 딜리트가 실무의 중요한 운영 전략이 된다. ## 인덱스와 SQL: 결과가 아니라 실행 경로 설계하기 - 인덱스는 단순히 조회 속도를 높이는 기능이 아니라, 데이터 특성과 질의 방식에 맞는 자료구조 선택이다. - B-Tree 외에도 GIN, GiST, SP-GiST, Vector 인덱스 등 다양한 선택지가 있으며, DB가 어떤 질문을 받는지에 따라 적합한 인덱스가 달라진다. - 실행 계획을 확인하면 동일한 SQL이라도 인덱스를 사용하는지, 테이블 전체를 스캔하는지 파악할 수 있다. - 이러한 실행 경로의 차이는 디스크 I/O와 응답 시간에 직접 영향을 준다. - SQL 작성은 단순히 원하는 결과를 반환하는 작업이 아니라, 효율적인 실행 경로를 유도하는 작업으로 이해해야 한다. ## 중복과 반정규화: 데이터 중복을 성능 전략으로 활용하기 - 정규화와 JOIN이 항상 최선은 아니며, 데이터 규모와 트래픽이 커지면 JOIN이 병목이 될 수 있다. - 읽기 성능을 위해 일부 데이터를 의도적으로 중복 저장하는 반정규화가 합리적인 선택이 될 수 있다. - 당시의 비즈니스 상태를 보존해야 한다면 관련 정보를 스냅샷으로 저장하는 방식도 필요하다. - MongoDB에서는 관계를 `ref`로만 연결할 경우 조회가 복잡해질 수 있어, 화면에 필요한 정보를 함께 저장하면 추가 조회를 줄일 수 있다. ## DB 생태계: 성능·일관성·확장성의 트레이드오프 이해하기 - MySQL의 고가용성 구조, PostgreSQL의 PK 설계, Neon의 스토리지·컴퓨팅 분리 등 DBMS마다 고유한 설계 철학이 있다. - 어떤 시스템도 모든 상황에서 최선일 수 없으며, 성능·일관성·확장성·운영 비용 사이의 균형을 선택해야 한다. - Hadoop과 Spark 같은 빅데이터 기술도 개별 도구가 아니라 저장, 관리, 처리, 분석으로 이어지는 데이터 생태계의 일부로 이해해야 한다. - 이론적으로 완벽한 구조보다 변경에 안전하고 운영 비용을 감당할 수 있는 설계를 우선하게 되었다. ## 보안: 외부 조직의 일이 아니라 개발자의 기본값 - 개인정보 유출 가능성을 가정하면서 보안을 규정이나 인프라팀의 업무가 아닌 자신의 코드에서 시작되는 책임으로 인식하게 되었다. - Dev/Prod 분리, VPN, 백신 등은 편의성을 일부 희생하더라도 안전을 확보하기 위한 장치다. - DDoS 대응에서는 공격을 차단하는 것뿐 아니라 정상적인 트래픽 폭증과 공격을 구분하는 일이 어렵다는 점을 배웠다. - 개발자가 적용할 수 있는 기본 방어책으로 Rate Limit을 활용하고, 이상 징후가 발생하면 혼자 해결하지 않고 대응 체계에 연결해야 한다. ## API 보안과 지속적인 점검 - 취약점을 직접 공격해보는 실습을 통해 보안을 이론이 아닌 자신의 코드에 대한 문제로 체감했다. - AI를 활용한 취약점 탐색, QR 코드 공격, 앱 권한 악용처럼 방어 기술과 공격 기술이 함께 발전하고 있다. - 보안은 배포 직전에 한 번 점검하는 절차가 아니라 개발 초기부터 기본값으로 포함되어야 한다. - 코드 품질은 작성자가 자리를 비워도 다른 개발자가 빠르게 이해하고 운영할 수 있는지까지 포함한다. ## AI Agent: 모델보다 중요한 것은 시스템 설계 - AI Agent는 특별한 모델 자체라기보다, 도구 호출, 라우팅, 예외 처리, LLM 호출을 조합한 시스템 설계에 가깝다. - 기존 서비스 개발에서 사용하던 함수 분리와 조건 분기, 장애 대응 습관을 AI 시스템에도 적용할 수 있다. - LLM은 확률 모델이므로 매번 결과가 달라질 수 있어, 한 번의 뛰어난 답보다 일관된 출력과 안정적인 실행 흐름을 설계해야 한다. - Prompt Chaining으로 작업을 단계별로 나누고, Few-shot으로 출력 형식을 구체화하며, Routing으로 상황에 따라 프롬프트를 분기할 수 있다. ## 멀티 에이전트와 RAG·MCP의 결합 - 하나의 거대한 AI에 모든 역할을 맡기기보다 분석, 콘텐츠 생성 등 역할을 나눈 멀티 에이전트 구조가 더 빠르고 안정적일 수 있다. - 이는 기능과 책임을 분리하는 MSA의 설계 철학과 유사하다. - MCP는 내부 시스템의 데이터와 기능을 AI가 호출할 수 있는 Tool로 노출해, 원격 Function Calling처럼 활용하게 한다. - RAG는 문서를 청킹하고 유사 벡터를 검색해 관련 정보를 컨텍스트에 추가함으로써 할루시네이션을 구조적으로 줄인다. - AI를 잘 활용하려면 결과가 마음에 들지 않을 때 감정적으로 반응하기보다 목표, 출력 형식, 예시, 필요한 데이터와 컨텍스트를 명확히 정의해야 한다. 실무에서는 “무엇이 이론적으로 맞는가”보다 트래픽, 변경 가능성, 보안 위험, 운영 비용을 함께 검토해야 한다. DB 설계와 보안 점검, AI 기능 개발 모두를 일회성 작업이 아니라 지속적으로 관찰하고 개선하는 시스템으로 접근하는 것이 바람직하다.

원문 읽기(새 탭에서 열림)
kakao5분 읽기큐레이션 요약

학생에서 개발자로: 로또 구현부터 레거시 개선까지, 서버의 흐름을 배우다

서버 개발은 복잡해 보이지만, 설계 이유를 질문하고 검증하는 과정을 거치면 막연함을 줄일 수 있다는 것이 글의 핵심 주장입니다. 카카오의 기술 온보딩은 TDD·객체지향 구현, 레거시 인수 테스트, 리팩터링을 단계적으로 수행하며 유지보수 가능한 구조와 안전한 변경 능력을 길렀습니다. 결국 좋은 개발자는 코드를 작성하는 데 그치지 않고, 설계·테스트·협업·AI 활용의 기준을 스스로 세우는 사람이라는 결론입니다. ## 기술 온보딩의 목표와 구성 - 온보딩은 총 3단계로 진행되었습니다. 1. TDD와 OOP 기반 기능 구현 2. 레거시 코드에 대한 인수 테스트 작성 3. 테스트로 보호된 레거시 코드 리팩터링 - 정답을 전달하기보다 다음과 같은 질문을 반복하며 설계의 근거를 고민하게 했습니다. - 왜 이렇게 설계했는가? - 이 책임은 정말 해당 객체가 가져야 하는가? - 이 테스트는 무엇을 보호하는가? - 목표는 유지보수 가능한 구조 설계, 레거시 분석 및 안전한 개선, 협업과 AI를 포함한 책임 있는 개발 역량을 기르는 것이었습니다. - 서버뿐 아니라 FE, Android, iOS 직군도 참여했으며, 기술 스택과 관계없이 좋은 엔지니어링의 기준은 공유될 수 있다는 점을 강조했습니다. ## 질문과 협업으로 서버 개발의 막연함 줄이기 - 트래픽, 동시성, 확장성, 데이터베이스 설계처럼 추상적으로 느껴지는 주제를 실제 구현과 리뷰를 통해 구체화했습니다. - 매일 데일리 미팅에서 트러블슈팅을 공유하고, 페어 프로그래밍으로 설계를 논의하며, PR 리뷰에서 구현 이유를 설명했습니다. - 이를 통해 개발은 개인의 코딩 능력만으로 완성되는 일이 아니라는 점을 체감했습니다. - 코드의 동작 여부보다 스스로 설계를 설명하고 변경의 영향을 예측하는 능력을 중요하게 다뤘습니다. ## 로또 게임 구현: TDD와 객체지향 설계 - 첫 번째 미션은 로또 가격, 자동·수동 발급, 당첨 통계를 구현하는 과제였습니다. - 다음과 같은 제약 조건이 설계 개선을 유도했습니다. - 들여쓰기 깊이 1단계 유지 - 메서드 10라인 이하 - 원시값 포장과 일급 컬렉션 사용 - `else` 사용을 줄이고 Early Return 활용 - TDD 방식으로 테스트를 먼저 작성해 요구사항과 설계를 점검했습니다. ### 랜덤 로직의 테스트 가능성 확보 - 랜덤 번호 생성은 실행마다 결과가 달라 테스트가 어려웠습니다. - 이를 해결하기 위해: - 번호 생성 전략을 인터페이스로 추상화하고 - 생성 전략을 외부에서 주입받으며 - 테스트 전용 Generator를 별도로 구현했습니다. - 그 결과 테스트에서 생성 값을 통제할 수 있었고, 구현체에 대한 결합도도 낮아졌습니다. - TDD는 단순히 테스트를 추가하는 방식이 아니라, 테스트 가능한 구조를 설계하게 만드는 도구로 작용했습니다. ### 값 객체와 캐싱에 대한 고민 - 같은 값을 가진 객체를 매번 새로 생성할지, 재사용할지 고민하며 객체의 정체성과 값의 동일성을 구분했습니다. - 1부터 45까지의 로또 번호처럼 값의 범위가 제한된 경우 캐싱 전략을 검토할 수 있었습니다. - 이 미션을 통해 기능 구현보다 객체의 책임, 생성 방식, 재사용 가능성 등 설계 기준을 고민하게 되었습니다. ## 인수 테스트: 레거시를 안전하게 이해하기 - 두 번째 미션에서는 실제 서비스 수준의 레거시 코드를 바로 수정하지 않고, 먼저 인수 테스트를 작성했습니다. - 테스트가 보호해야 할 대상은 다음과 같았습니다. - 사용자의 행동 - 시스템의 반환 결과 - 외부에서 관찰 가능한 상태 변화 - 단순히 성공 여부만 확인하는 것이 아니라, 결과가 정확한지 검증하는 Strong Assertion 전략을 적용했습니다. - Cucumber 기반 BDD를 사용해 비개발자도 이해할 수 있는 시나리오 형태로 테스트를 구성했습니다. - 테스트를 개발자만의 코드가 아니라 팀 전체가 공유하는 실행 가능한 명세로 바라보았습니다. ### 운영 환경과 테스트 환경 맞추기 - “내 컴퓨터에서는 동작한다”는 문제를 줄이기 위해 Production Parity를 적용했습니다. - 구체적으로: - H2 대신 운영과 같은 PostgreSQL 사용 - Docker 기반으로 실행 환경 통일 - Gradle Task를 이용한 테스트 자동화 - 환경 차이로 인한 테스트 결과의 불일치를 줄이고, 누구나 동일한 조건에서 테스트를 실행할 수 있게 했습니다. ### 테스트 데이터 격리 - 테스트 간 데이터 의존성을 제거하기 위해 다음 전략을 사용했습니다. - 외래 키 관계를 고려한 역순 삭제 - `TRUNCATE ... CASCADE` - 공통 Cleanup 유틸리티 작성 - 모든 테스트가 초기화된 동일한 상태에서 시작하도록 보장해 테스트의 재현성과 안정성을 높였습니다. - 중요한 것은 특정 도구를 사용하는 것보다 상황에 맞는 데이터 격리 방법을 선택하는 판단 기준이라고 설명합니다. ## 레거시 리팩터링: 구조와 동작의 분리 - 세 번째 미션의 핵심은 레거시 코드를 단순히 “클린 코드”로 바꾸는 것이 아니라, 안전한 변경의 기준을 세우는 것이었습니다. - 가장 중요한 원칙은 구조 변경과 동작 변경을 분리하는 것입니다. - 구조를 개선할 때는 기존 동작을 유지 - 동작을 변경할 때는 구조 개선과 섞지 않기 - 이렇게 변경 목적을 분리하면 코드 리뷰와 테스트를 통해 변경 범위를 명확히 검증할 수 있습니다. - 의도하지 않은 동작 변화가 발생하면 리뷰에서 이를 찾아내고, 변경을 통제하는 능력을 기를 수 있었습니다. ## AI와 협업할 때의 검증 범위 - 리팩터링 과정에서 AI를 활용해 넓은 범위의 코드 개선을 빠르게 시도했습니다. - 그러나 AI에게 한 번에 큰 범위의 변경을 요청하면 수정량이 커져 검증이 어려워지는 문제가 발생했습니다. - 따라서 AI의 제안을 그대로 수용하기보다 변경 범위를 작게 나누고, 각 변경을 테스트와 리뷰로 확인하는 방식이 필요하다는 교훈을 얻었습니다. - AI는 개발자를 대신하는 도구가 아니라, 개발자가 책임 있게 검토하고 통제해야 하는 협업 도구로 다뤄졌습니다. 실무에서는 기능 구현 전에 책임과 설계 이유를 설명할 수 있는지 확인하고, 레거시 코드는 먼저 외부 동작을 보호하는 테스트를 마련하는 것이 좋습니다. 이후 구조 변경과 동작 변경을 분리해 작은 단위로 개선하며, AI를 사용할 때도 변경 범위를 제한하고 반드시 테스트와 리뷰로 검증하는 접근이 안전합니다.

원문 읽기(새 탭에서 열림)
aws원문

AWS 주간 소식: Amazon (새 탭에서 열림)

이번 주 AWS는 헬스케어 전용 AI 에이전트인 Amazon Connect Health의 정식 출시와 함께 Amazon Bedrock을 활용한 보안 및 개발 편의성 강화에 중점을 두었습니다. 인프라 측면에서는 VPC 암호화 제어의 유료화 전환과 데이터베이스 예약 플랜의 지원 범위 확대 등 운영 효율과 비용 최적화를 위한 실질적인 업데이트가 이루어졌습니다. 전 세계적으로 개최된 JAWS Days 2026과 케냐의 커뮤니티 이벤트를 통해 AI 기반 개발 팀 구축과 클라우드 네이티브 엔지니어링에 대한 뜨거운 관심을 확인할 수 있었습니다. **AI 에이전트 및 헬스케어 특화 서비스** - **Amazon Connect Health 정식 출시**: 환자 인증, 예약 관리, 환자 통찰력 제공, 진료 문서화 및 의료 코딩을 지원하는 5가지 전용 AI 에이전트를 선보였습니다. HIPAA를 준수하며 기존 임상 워크플로에 수일 내로 배포가 가능합니다. - **Amazon Bedrock AgentCore 정책 지원**: 에이전트 코드 외부에서 도구 간 상호작용을 중앙 집중식으로 제어할 수 있습니다. 자연어로 정의된 보안 규칙은 AWS의 오픈소스 정책 언어인 Cedar로 자동 변환되어 적용됩니다. - **Lightsail 기반 OpenClaw 도입**: 사용자의 클라우드 인프라에 프라이빗 자율 AI 에이전트를 원클릭 HTTPS 및 기기 페어링 인증을 통해 안전하게 배포하고 Slack이나 Discord 등에 연결할 수 있습니다. **인프라 보안 및 비용 관리 업데이트** - **VPC 암호화 제어 유료화**: 2026년 3월 1일부터 프리뷰 기간이 종료되어 유료로 전환됩니다. 리전 내외의 모든 트래픽 암호화를 모니터링하거나 강제할 수 있는 기능을 제공합니다. - **데이터베이스 Savings Plans 확대**: Amazon OpenSearch 서비스 및 Neptune Analytics가 지원 대상에 추가되어, 1년 약정 시 최대 35%의 비용을 절감할 수 있게 되었습니다. - **콘솔 내 IAM 역할 생성 간소화**: EC2, Lambda, EKS, Glue 등 주요 서비스의 워크플로 내에서 IAM 콘솔로 이동하지 않고도 즉시 역할을 생성하고 구성할 수 있는 패널이 추가되었습니다. **개발자 경험 및 운영 자동화** - **Elastic Beanstalk AI 분석 기능**: 환경 상태가 악화될 경우 Amazon Bedrock이 로그와 인스턴스 상태를 분석하여 단계별 트러블슈팅 권장 사항을 제공합니다. - **GameLift 서버 DDoS 보호**: 추가 비용 없이 릴레이 네트워크를 통해 클라이언트 트래픽을 인증하고 플레이어당 트래픽 제한을 설정하여 멀티플레이어 게임을 공격으로부터 보호합니다. - **Lambda 지속성 함수 개발 지원**: AI 에이전트 기반 개발 도구인 'Kiro'를 통해 재실행 모델, 에러 처리, 동시 실행 패턴 등 복잡한 워크플로 개발에 필요한 가이드를 동적으로 제공받을 수 있습니다. 이번 업데이트를 통해 AWS는 AI를 단순한 모델 제공을 넘어 의료 현장의 실무나 인프라 장애 조치와 같은 구체적인 운영 영역에 깊숙이 통합하고 있음을 보여줍니다. 특히 보안 정책을 자연어로 관리하거나 인프라 진단에 AI를 활용하는 기능들은 운영 부담을 크게 줄여줄 것으로 기대되므로, 현재 운영 중인 서비스의 효율성을 높이기 위해 이러한 도구들을 적극적으로 검토해 보시길 권장합니다.