automation

6 개의 포스트

DrP: 대규모 환경을 위한 (새 탭에서 열림)

Meta가 개발한 **DrP(Root Cause Analysis platform)**는 대규모 시스템에서 발생하는 장애 조사 과정을 프로그래밍 방식으로 자동화하여 평균 복구 시간(MTTR)을 혁신적으로 단축하는 플랫폼입니다. 기존의 수동 조사와 노후화된 플레이북이 유발하는 온콜(On-call) 엔지니어의 피로도 문제를 해결하기 위해, 분석 로직을 코드로 작성하고 실행할 수 있는 통합 환경을 제공합니다. 현재 Meta 내 300개 이상의 팀에서 매일 5만 건 이상의 분석을 수행하며, 장애 복구 시간을 20%에서 최대 80%까지 줄이는 성과를 내고 있습니다. ### DrP의 핵심 구성 요소 * **표현력이 풍부한 SDK**: 엔지니어가 조사 워크플로우를 '분석기(Analyzer)'라는 코드로 구현할 수 있게 돕습니다. 이상 탐지, 시계열 상관관계 분석, 차원 분석 등 복잡한 데이터 분석을 위한 머신러닝 알고리즘과 헬퍼 라이브러리를 포함합니다. * **확장 가능한 백엔드**: 수만 건의 분석을 동시에 처리할 수 있는 멀티 테넌트 실행 환경을 제공하며, 각 분석 작업이 안전하게 격리되어 실행되도록 보장합니다. * **워크플로우 통합 및 후처리**: 알림(Alert) 시스템 및 장애 관리 도구와 긴밀하게 통합되어 장애 발생 시 자동으로 분석을 시작합니다. 분석 후에는 티켓 생성이나 코드 수정 요청(PR)과 같은 후속 조치를 자동으로 수행하는 기능도 갖추고 있습니다. ### 분석기(Analyzer)의 작성 및 실행 흐름 * **코드 기반 플레이북 작성**: 엔지니어는 SDK를 사용하여 장애 조사의 의사결정 트리를 코드로 작성합니다. 이 과정에서 종속된 서비스들의 분석기를 서로 연결(Chaining)하여 복합적인 장애 원인을 추적할 수 있습니다. * **자동화된 검증**: 작성된 분석기는 배포 전 코드 리뷰 도구와 통합된 백테스트(Backtesting) 과정을 거쳐 품질과 신뢰성을 검증받습니다. * **즉각적인 통찰력 제공**: 장애가 감지되면 DrP 백엔드가 즉시 분석기를 가동합니다. 온콜 엔지니어는 장애 알림을 받는 동시에 시스템이 이미 분석해 놓은 근본 원인과 권장 조치 사항을 확인할 수 있습니다. ### 도입 효과 및 운영 가치 * **MTTR의 획기적 단축**: 수동으로 몇 시간씩 걸리던 데이터 수집과 분류 작업을 자동화함으로써 장애 복구 속도를 가속화하고 시스템 가용성을 높입니다. * **온콜 생산성 향상**: 반복적이고 소모적인 디버깅 작업을 기계가 대신 처리하게 함으로써 엔지니어가 더 복잡하고 가치 있는 문제 해결에 집중할 수 있게 합니다. * **조사의 일관성 확보**: 개인의 숙련도에 의존하던 조사 방식을 코드화된 워크플로우로 표준화하여, 어떤 엔지니어가 대응하더라도 동일한 수준의 고품질 분석 결과를 얻을 수 있습니다. **결론적으로**, DrP는 대규모 마이크로서비스 환경에서 발생하는 복잡한 장애를 해결하기 위해 '운영의 코드화'를 실현한 사례입니다. 시스템 규모가 커짐에 따라 수동 대응의 한계를 느끼는 조직이라면, DrP와 같은 자동화된 RCA 플랫폼을 도입하여 인프라의 안정성과 엔지니어의 생산성을 동시에 확보하는 전략이 권장됩니다.

AI가 기본 보안 설계( (새 탭에서 열림)

Meta는 잠재적으로 위험한 OS 및 서드파티 기능을 안전한 기본값(Secure-by-default)으로 래핑하는 프레임워크를 통해 개발자의 속도를 유지하면서도 보안을 강화하고 있습니다. 이러한 프레임워크는 기존 API와 유사한 구조를 가져가고 공개된 안정적 API를 기반으로 설계되어 개발자의 마찰을 최소화하고 채택률을 극대화합니다. 특히 생성형 AI와 자동화 기술을 결합함으로써 대규모 코드베이스 전반에 걸쳐 취약한 패턴을 식별하고 보안 프레임워크로의 전환을 가속화하고 있습니다. ### 기본 보안 프레임워크의 설계 원칙 * **기존 API와의 유사성 유지**: 보안 API를 기존의 익숙한 API와 유사하게 설계하여 개발자의 인지적 부담을 줄이고, 불안전한 코드에서 안전한 코드로의 자동 변환을 용이하게 합니다. * **공개 및 안정적 API 기반 구축**: OS 제조사나 서드파티의 비공개 API 대신 공개된 안정적 API 위에 프레임워크를 빌드하여, OS 업데이트 시 발생할 수 있는 호환성 문제와 유지보수 위험을 방지합니다. * **범용적 사용성 확보**: 특정 보안 사례에만 국한되지 않고 다양한 앱과 OS 버전에서 폭넓게 사용할 수 있도록 소규모 라이브러리 형태로 설계하여 배포와 유지보수의 효율성을 높입니다. ### SecureLinkLauncher(SLL)를 통한 인텐트 하이재킹 방지 * **인텐트 유출 차단**: Android의 인텐트 시스템을 통해 민감한 정보가 외부로 유출되는 '인텐트 하이재킹' 취약점을 해결하기 위해 개발되었습니다. * **의미론적 API 래핑**: `startActivity()`나 `startActivityForResult()` 같은 표준 Android API를 `launchInternalActivity()`와 같은 보안 API로 래핑하여, 내부적으로 보안 검증 절차를 거친 후 안전하게 인텐트를 전송합니다. * **범위 검증(Scope Verification) 강제**: 인텐트가 타겟팅하는 패키지를 명확히 제한함으로써, 악성 앱이 동일한 인텐트 필터를 사용하여 민감한 데이터를 가로채는 것을 원천적으로 방지합니다. ### AI 및 자동화를 활용한 보안 채택 가속화 * **취약 패턴 자동 식별**: 생성형 AI 도구를 활용하여 방대한 코드베이스 내에서 보안에 취약한 API 사용 패턴을 실시간으로 감지합니다. * **코드 마이그레이션 자동화**: AI가 안전하지 않은 API 호출을 적절한 보안 프레임워크 호출로 자동 교체하거나 수정 제안을 제공하여 대규모 코드 전환 비용을 절감합니다. * **일관된 보안 규정 준수**: 자동화된 모니터링을 통해 개발 초기 단계부터 보안 프레임워크 사용을 강제함으로써 전체 에코시스템의 보안 수준을 상향 평준화합니다. 보안을 위해 개발자 경험(DX)을 희생하는 대신, 기존 개발 워크플로우에 자연스럽게 스며드는 도구를 제공하는 것이 핵심입니다. 특히 대규모 조직일수록 AI를 활용한 자동 마이그레이션 전략을 병행하여 보안 프레임워크의 도입 장벽을 낮추고 코드의 안전성을 지속적으로 유지할 것을 권장합니다.

우리는 코드처럼 문화도 리팩토링한다 (새 탭에서 열림)

배달의민족 커머스웹프론트개발팀은 조직 규모 확대에 따른 복잡도와 비효율을 해결하기 위해 문화를 코드처럼 리팩토링하며 '경계 없는 파트' 구조를 도입했습니다. 특정 도메인이나 서비스에 갇히지 않고 책임을 확장하는 R&E(Responsibility & Expandability) 원칙을 통해 기술적 통합과 조직의 유연성을 동시에 확보했습니다. 이러한 시도는 서비스 간 장벽을 허물고 구성원들이 커머스 전반을 조망하는 엔지니어로 성장하며, 비즈니스 요구에 기민하게 대응하는 결과로 이어졌습니다. ### 경계 없는 파트와 R&E 중심의 조직 구성 * **전통적 분할 방식의 탈피**: 프로젝트, 페이지, 서비스(B마트/배민스토어) 단위로 조직을 나눌 경우 발생하는 리소스 불균형과 도메인 파편화 문제를 해결하기 위해 고정된 경계를 제거했습니다. * **R&E(Responsibility & Expandability) 도입**: 단순히 주어진 역할만 수행하는 R&R을 넘어, 문제 해결을 위해 업무 영역을 스스로 확장하고 동료를 돕는 'Own It' 정신을 조직 구조에 이식했습니다. * **유연한 리소스 배분**: 약 20명의 프론트엔드 개발자를 3개 파트로 나누되, 특정 도메인에 종속시키지 않고 팀 상황에 따라 업무를 배분하여 병목 현상을 최소화했습니다. ### 기술적 통합을 통한 도메인 확장성 확보 * **통합 아키텍처 구축**: B마트와 배민스토어의 상품 카드 및 상세 화면 등 유사한 UI/UX를 공통 모듈로 추상화하고 API 구조를 맞춤으로써 코드 베이스의 일관성을 확보했습니다. * **엔지니어링 역량 강화**: 개발자들이 고객 서비스의 UX부터 어드민의 데이터 흐름까지 전방위적인 도메인을 학습하게 하여, 특정 기능 담당자가 아닌 커머스 전체를 이해하는 전문가로 성장하도록 유도했습니다. * **리스크 관리(Bus Factor 개선)**: 특정 인원이 부재하더라도 다른 팀원이 맥락을 즉시 이어받을 수 있는 구조를 만들어 프로젝트 중단 위험인 '버스 팩터'를 획기적으로 낮췄습니다. ### 지속적인 개선을 위한 소통과 기록의 리팩토링 * **의사결정 자산화(ADR)**: 단순한 기획 공유인 1Pager 방식에서 나아가, 기술적 결정의 배경과 맥락을 기록하는 ADR(Architecture Decision Record)을 도입해 팀의 지식을 체계적으로 관리합니다. * **루틴의 재설계와 자동화**: 반복적인 업무나 귀찮은 과정을 레거시로 남기지 않고, 자동화와 프로세스 개선을 통해 개발 효율성을 지속적으로 높입니다. * **심리적 안전감 기반의 협업**: '불판'과 같은 자유로운 논의 문화를 통해 실패를 과정으로 수용하고, 질문이 스터디로 이어지는 선순환 구조를 구축했습니다. 성장하는 조직에서 발생하는 비효율을 방치하지 않고, 코드 리팩토링과 같은 관점에서 구조와 문화를 끊임없이 개선하는 태도가 중요합니다. 특히 도메인 간 경계를 허무는 시도는 대규모 서비스 통합이라는 복잡한 비즈니스 과제를 해결하는 데 매우 강력한 전략이 될 수 있습니다.

업무 효율화, 작은 단계부터 다시 보기 (새 탭에서 열림)

토스 리서치 플랫폼 팀은 업무 효율화를 거창한 시스템 구축이 아닌, 개별 액션 단위의 세밀한 분석과 점진적인 개선 과정으로 정의합니다. 프로세스를 잘게 쪼개어 불필요한 단계를 제거하고 반복되는 작은 작업을 자동화함으로써, 팀 전체의 리소스를 절약하고 더 본질적인 리서치 업무에 집중할 수 있는 환경을 구축했습니다. 이를 통해 효율화는 완벽한 결과물을 한 번에 만드는 것이 아니라, 사소한 불편함을 꾸준히 덜어내는 과정임을 증명했습니다. ### 액션 단위의 정밀한 현황 파악 * 프로세스를 단순히 단계별로 나열하는 '겉핥기식 정리'에서 벗어나, '누가, 어디서(툴/채널), 무엇을, 왜' 하는지 구체적인 개별 액션으로 쪼개어 분석합니다. * 시간, 담당자, 도구 등 일관된 기준을 적용하여 과정을 정리해야 예외 상황을 명확히 파악하고 읽는 사람이 오해 없이 이해할 수 있습니다. * 가끔 발생하는 예외 케이스까지 함께 정리함으로써 기존 프로세스의 부족한 점을 보완하는 힌트를 얻습니다. ### 본질적인 질문을 통한 문제 정의 * 각 액션에 대해 "이 작업이 왜 필요한가?"라는 질문을 던져, 목적이 불분명한 단계는 과감히 삭제하고 꼭 필요한 단계는 더 쉬운 방법을 모색합니다. * 예를 들어, 인터뷰 일정 생성은 자동화하되 팀원들이 이미 캘린더를 잘 확인한다면 별도의 메시지 전송 단계는 생략하는 식의 의사결정을 내립니다. * 개별적으로는 몇 초 걸리지 않는 사소한 업무라도 여러 사람이 반복하면 큰 비효율이 되므로, 반복되는 작은 액션을 줄이는 데 집중합니다. ### 이해관계자 중심의 우선순위 선정 * 우선순위를 정할 때는 자신의 리소스나 시급성뿐만 아니라 '많은 사람에게 영향을 미치는지', '다른 업무에 연관되는지', '소요 시간이 얼마나 긴지'를 종합적으로 판단합니다. * 내 업무에는 큰 영향이 없더라도 운영 담당자나 협업자의 더블 체크 시간을 줄여줄 수 있다면 해당 업무를 우선 개선 대상으로 삼습니다. * '내 기준'이 아닌 이 일에 영향을 받는 '모든 이해관계자'의 관점에서 임팩트를 측정하는 것이 핵심입니다. ### 리스크를 최소화하는 점진적 해결책 적용 * 처음부터 모든 과정을 완벽하게 자동화하려 하기보다, 현재 기술로 가능한 작은 부분부터 개선을 시작합니다. * 새로운 방식 도입이 우려될 경우 전체에 바로 적용하기보다 일부 케이스에만 테스트 기간을 두어 점진적으로 적용하며 피드백을 수렴합니다. * 완벽한 준비보다는 '언제든 이전 방식으로 돌아갈 수 있다'는 유연한 사고를 바탕으로 작은 실험을 반복하며 해결책을 정교화합니다. 업무 효율화가 막막하게 느껴진다면 지금 하고 있는 일을 클릭, 입력, 공유와 같은 최소 단위로 쪼개보세요. 거대한 시스템을 새로 만들지 않아도, 매일 반복되는 자잘한 수고를 덜어내는 것만으로도 팀 전체에 체감되는 큰 변화를 만들어낼 수 있습니다.

AI와 함께하는 프로젝트 자동화 : 더 빠르고, 더 스마트하게 (새 탭에서 열림)

네이버 엔지니어링 데이에서 발표된 이 내용은 로컬 LLM인 Ollama와 오픈소스 mcp-agent를 활용하여 프로젝트 자동화의 수준을 한 단계 높인 실무 사례를 다룹니다. 빌드 실패 분석부터 크래시 로그 요약, Slack 알림까지의 과정을 AI가 스스로 판단하고 수행하는 '협력자'로서의 모델을 제시하며, 이를 통해 개발자가 반복적인 모니터링 업무에서 벗어나 고차원적인 문제 해결에 집중할 수 있음을 보여줍니다. **로컬 기반 LLM 및 에이전트 활용 아키텍처** - Ollama를 활용하여 로컬 환경에 LLM을 구축함으로써 사내 보안 문제를 해결하고 데이터 유출 걱정 없이 분석 환경을 조성합니다. - 오픈소스인 mcp-agent(Model Context Protocol)를 도입하여 AI 모델이 단순한 텍스트 생성을 넘어 외부 도구 및 데이터와 실시간으로 상호작용하도록 설계합니다. - 단순 스크립트 기반 자동화와 달리, AI 에이전트가 상황을 인지하고 적절한 도구를 선택해 작업을 수행하는 유연한 워크플로우를 구현합니다. **지능형 빌드 실패 분석 및 크래시 모니터링** - 빌드 과정에서 발생하는 방대한 양의 에러 로그를 AI가 즉시 분석하여 실패의 근본 원인을 파악하고 요약합니다. - 앱 실행 중 발생하는 크래시 로그를 실시간으로 모니터링하고, 코드 변경 이력 등을 대조하여 해당 문제를 해결하기에 가장 적합한 담당자(Assignee)를 자동으로 매칭합니다. - 비정형 데이터인 로그 메시지를 의미론적으로 해석함으로써 기존 키워드 매칭 방식의 한계를 극복합니다. **Slack 연동을 통한 자동화된 리포팅 체계** - AI가 분석한 빌드 결과와 크래시 요약 내용을 Slack API를 통해 개발 팀 채널에 실시간으로 공유합니다. - 리포트에는 단순히 에러 메시지만 전달하는 것이 아니라, AI가 제안하는 해결 방안과 우선순위 등을 포함하여 팀의 의사결정 속도를 높입니다. - Slack 내에서 LLM과 대화하며 추가적인 로그 분석이나 세부 사항을 질의할 수 있는 대화형 자동화 환경을 제공합니다. **AI 자동화 도입 시 고려사항 및 한계** - LLM과 MCP의 조합이 강력하지만 모든 문제를 해결하는 만능 도구는 아니며, 결과값의 할루시네이션(환각 현상)에 대한 검증 프로세스가 병행되어야 합니다. - 자동화가 복잡해질수록 AI가 도구를 잘못 선택하거나 잘못된 분석을 내놓을 가능성이 있으므로, 단계적인 도입과 신뢰도 테스트가 필수적입니다. **실용적인 제언** 로컬 LLM을 활용한 자동화는 보안이 중요한 사내 프로젝트에서 비정형 데이터 분석 업무를 획기적으로 줄여줍니다. 특히 MCP와 같은 최신 프로토콜을 적극적으로 활용하여 LLM이 실제 개발 도구들과 긴밀하게 연결될 수 있도록 설계하는 것이 성공적인 AI 자동화 도입의 핵심입니다.

[AI_TOP_100] 문제 출제 후기 – 기술이 아닌, 사람을 묻다. - tech.kakao.com (새 탭에서 열림)

AI 기술이 비약적으로 발전하는 시대에 도구를 다루는 인간의 실제 문제 해결 역량을 측정하기 위해 ‘AI TOP 100’ 경진대회가 기획되었습니다. 단순히 AI를 사용하는 수준을 넘어, 인간과 AI의 긴밀한 협업 과정을 통해 복잡한 현실 문제를 해결하고 최적의 의사결정을 내리는 ‘문제 해결자’를 선별하는 데 초점을 맞추었습니다. 결과물뿐만 아니라 AI의 한계를 인간의 통찰로 보완해 나가는 '과정' 자체를 핵심 평가 지표로 삼은 것이 이번 대회의 결론입니다. **AI와 인간의 협업 루프(Human-in-the-loop) 설계** * 단순히 문제를 복사하여 붙여넣는 방식으로는 해결할 수 없도록, 사람의 분석과 AI의 실행, 그리고 다시 사람의 검증이 순환되는 구조를 지향했습니다. * 사람은 직관적으로 파악하지만 AI는 분석하기 어려운 데이터 구조(식단표, 복잡한 표의 행/열 관계 등)를 제공하여 인간의 사전 가이드가 성능을 좌우하게 설계했습니다. * 이미지 생성과 피드백 분석, 프롬프트 개선 과정을 에이전트에게 위임하여 자동화 파이프라인을 구축하는 등 고도화된 협업 능력을 측정했습니다. **'딸깍' 방지를 위한 입체적인 난이도 설계** * 최신 AI 모델이 단 한 번의 프롬프트(One-shot)로 정답을 맞히지 못하도록 의도적인 기술적 제약과 논리적 미로를 문제 속에 배치했습니다. * '낮은 진입 장벽과 높은 천장' 원칙에 따라, 초보자도 쉽게 접근할 수 있는 시작 문항부터 깊은 통찰이 필요한 킬러 문항까지 '난이도 사다리' 구조를 도입했습니다. * 특정 프레임워크에 국한되지 않고 출제자가 예상치 못한 창의적인 방식으로도 문제를 해결할 수 있는 열린 구조를 유지했습니다. **현실의 복잡성을 반영한 4가지 문제 패턴** * **분석 및 정의(Insight):** 정답이 없는 복합 데이터 속에서 유의미한 문제나 기회를 스스로 발견하는 역량을 평가합니다. * **구현 및 자동화(Action):** 정의된 문제를 해결하기 위해 AI 솔루션을 실제 작동하는 코드나 워크플로로 구현하는 능력을 측정합니다. * **전략 및 창의(Persuasion):** 기술적 솔루션을 비기술 이해관계자에게 설득력 있게 전달하기 위한 논리와 창의적 콘텐츠 생성 능력을 확인합니다. * **최적화 및 의사결정(Decision):** 제약 조건 하에서 목표를 최대화하는 최적의 의사결정 시뮬레이션을 수행합니다. **엄격한 검증을 거친 문제 고도화 파이프라인** * 아이디어 단계부터 최종 확정까지 4단계의 파이프라인을 구축하고, 출제위원 내부 테스트 및 알파·베타 테스트를 통해 문제의 신뢰도를 검증했습니다. * AI 모델이 매일 업데이트되어 어제의 난제가 오늘의 쉬운 문제가 되는 환경에 대응하기 위해 지속적인 실증 테스트를 반복했습니다. * 문제의 겉보기 난이도가 아니라 실제 해결에 필요한 노력 비용을 기준으로 점수를 재조정하는 '캘리브레이션' 과정을 거쳐 변별력을 확보했습니다. AI 시대의 진정한 경쟁력은 도구의 기능을 단순히 암기하는 것이 아니라, AI의 한계를 명확히 이해하고 이를 인간의 기획력으로 보완하여 실질적인 가치를 만들어내는 데 있습니다. 이번 출제 후기는 기술보다 '그 기술을 다루는 사람'의 사고방식이 더 중요하다는 점을 강조하며, 앞으로의 AI 리터러시 교육과 평가가 나아가야 할 방향을 제시합니다.