# architect 기본 사항 (fundamentals) - Full Documentation
# Agentforce 시작하기
이 섹션에서는 Salesforce Agentforce 플랫폼에서 지능형 AI 에이전트를 구축할 수 있는 실용적인 지침을 제공하며, 에이전트 패턴, 구현, 엔터프라이즈 아키텍처 및 전체 개발 수명 주기를 다룹니다.
## Agentforce를 활용한 에이전트 패턴 및 구현
[Agentforce를 활용한 에이전트 패턴 및 구현](/docs/architect/ko-kr/fundamentals/guide/agentic-patterns)은 AI 에이전트의 주요 유형과 구축 방법을 기술적으로 설명합니다. 이 백서에는 다음이 포함됩니다.
- **에이전트 분류**: 대화형, 사전 예방형, 환경형, 자율 및 공동 작업형 5개의 핵심 AI 에이전트 유형이 사용 사례 요구 사항에 맞게 매핑됩니다.
- **CRM 사용 사례**: 실제 비즈니스 프로세스 예와 함께 각 에이전트 유형에 대한 고객 관계 관리 시나리오
- **아키텍처 청사진**: Flow, Apex, Data 360, Agent-to-Agent(A2A) 통신 및 MCP(모델 컨텍스트 프로토콜) 상호 운용성에 대한 기술적 예를 제공하는 Agentforce 플랫폼 참조 아키텍처입니다.
- **구현 지침**: 직접 조작에서 목표 지향 위임으로 전환되며, 사용자를 대신해 이해, 추론, 행동할 수 있는 에이전트를 위한 패턴들을 제공합니다.
이 백서는 다양한 유형의 에이전트를 이해하고 Agentforce 플랫폼에서 효과적으로 구현하는 방법을 알고 싶어하는 개발자와 아키텍처를 대상으로 합니다.
## 엔터프라이즈 에이전트 아키텍처 및 디자인 패턴
[엔터프라이즈 에이전트 아키텍처 및 디자인 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture)은 패턴 기반 방법론을 사용하여 다중 에이전트 아키텍처에 구조를 제공합니다. 이 문서에서는 다음을 제공합니다.
- **설계 패턴 접근법**: 개체 지향 패턴 개념에 기반한 에이전트 솔루션 디자인 패턴 원칙을 제시하며, 신뢰성, 반복성, 확장성 및 관리 용이성을 갖춘 아키텍처 설계에 중점을 둡니다.
- **다중 에이전트 논리**: 엔터프라이즈 문제 및 기회를 비롯한 다중 에이전트 아키텍처의 이유입니다.
- **패턴 카탈로그**: 자연어 기반 의도 패턴에서 우려 사항을 분리하는 복잡한 다중 에이전트 패턴, 프레젠테이션 및 상호 작용 계층에서 추론을 위한 UX 중심 에이전트 패턴 등 다양한 에이전트 패턴 모음
- **패턴 구성 요소**: 구성 요소 다이어그램, 사용 권장 사항, 대표적인 사용 사례를 포함한 표준 패턴 요소
이 백서는 에이전트를 더 큰 아키텍처 내의 구성 요소, 조합자, 실행자 및 협업자로 인식함으로써, 사용자 여정 전반에 걸쳐 이전에는 불가능했던 경험을 창출할 수 있는 풍부한 에이전트 솔루션을 구상할 수 있도록 도와줍니다.
## 에이전트 개발 수명 주기: 기획에서 프로덕션까지
[에이전트 개발 수명 주기: 기획에서 프로덕션까지](/docs/architect/ko-kr/fundamentals/guide/agent-development-lifecycle)는 ADLC(Agent Development Lifecycle), 자율 에이전트 구축 방법론에 대한 포괄적인 가이드를 제공합니다. 이 문서는 다음을 다룹니다.
- **ADLC 프레임워크**: 에이전트 개발 수명 주기는 기존의 소프트웨어 개발 수명 주기(SDLC) 방법론과 달리, 자율 에이전트 및 결정적이지 않은 동작에 초점을 맞춥니다.
- **5단계**: 5개의 핵심 ADLC 단계(아이디어 및 설계, 개발(내부 루프), 테스트 및 유효성 검사, 배포, 연속 모니터링 및 조정(외부 루프)).
- **Agentforce Platform**: 에이전트 설계, 데이터 처리, 배포, 지속적인 모니터링 등 전체 에이전트 개발 수명 주기 전반에 걸쳐 Agentforce 기능을 제공합니다.
- **Pro-Code 구현**: 프로토타입 제작, 기능 엔지니어링, 모델 배포, 성능 튜닝, 서비스 점검을 포함하여 Agentforce 에이전트 개발에 대한 프로 코드 워크플로 및 실제 예입니다.
이 문서는 SDLC에 익숙한 개발자 및 엔터프라이즈 아키텍처가 에이전트 기반 시스템으로 전문 지식을 확장하고 프로덕션 지원 에이전트를 구축하기 위한 이론적 Knowledge 실용적인 기술을 모두 제공하려는 경우에 고안되었습니다.
## AI 기반 에이전트 엔터프라이즈를 위한 IT 아키텍처
[에이전트 엔터프라이즈 - AI 기반 미래를 위한 IT 아키텍처](/docs/architect/ko-kr/fundamentals/guide/agentic-enterprise-it-architecture)는 CIO, CDO 및 IT 리더들이 에이전트 엔터프라이즈로 전환하기 위한 여정을 계획하는 데 도움이 되는 전략적 가이드입니다. 이 문서는 다음을 다룹니다.
- **IT 전환**: 향후 3~5년을 위한 엔터프라이즈 IT 아키텍처와, 에이전트 기반 인력의 대규모 배포를 위한 요구 사항을 다룹니다.
- **비즈니스 역량**: 에이전트 시스템으로 구현되는 새로운 엔터프라이즈 역량에는 인간 생산성 증대, 적응적 개선, 조직 회복력 등이 포함됩니다.
- **참조 아키텍처**: 지능형 AI 에이전트로 구성된 디지털 인력과 인간 작업자의 통합을 위한 전략적 가이드와 참조 아키텍처를 제공합니다.
- **전략적 계획**: 정보 사일로, 수동 프로세스, 잘못 정렬된 인센티브를 에이전트 기반 솔루션으로 해결하는 엔터프라이즈 전환 접근 방식을 다룹니다.
이 문서는 에이전트 엔터프라이즈 구축에 대한 전략적 영향 및 IT 아키텍처 요구 사항을 이해해야 하는 경영진에게 필수적입니다.
## MuleSoft를 활용한 에이전트 엔터프라이즈 아키텍처 설계
[MuleSoft를 활용한 에이전트 엔터프라이즈 아키텍처 설계](/docs/architect/ko-kr/fundamentals/guide/mulesoft-architecting-agentic-enterprise)는 MuleSoft의 통합 플랫폼을 이용해 지능형 엔터프라이즈를 설계하는 관점을 제시합니다. 이 문서는 다음을 다룹니다.
- **Composable Integration Foundation**: MuleSoft의 3계층 API 주도 연결 모델(시스템, 프로세스, 익스피리언스 API)은 에이전트 실행성의 기반으로 작용합니다.
- **에이전트 패브릭**: 에이전트 에코시스템 전반에서 에이전트 검색, 오케스트레이션, 거버넌스, 관찰 가능성을 위한 MuleSoft 에이전트 패브릭 기능.
- **오픈 표준 지원**: 모델 컨텍스트 프로토콜(MCP) 및 Agent2Agent(A2A)와 같은 개방형 표준을 지원하여 간단한 명령과 복잡한 다중 에이전트 공동 작업을 활성화합니다.
- **거버넌스 및 보안**: 통합된 에이전트 관리 및 거버넌스를 통해 사일로를 줄이고 보안 태세를 개선하며 운영 복잡성을 낮춥니다.
이 문서는 에이전트를 기존 엔터프라이즈 시스템과 통합하고 에이전트 에코시스템 전체에서 적절한 거버넌스, 보안, 관찰 가능성을 보장해야 하는 아키텍처에게 유용합니다.
## MuleSoft 에이전트 패브릭 - 심층 분석
[MuleSoft Agent Fabric - Deep Dive](/docs/architect/ko-kr/fundamentals/guide/mulesoft-agent-fabric-deep-dive)은 MuleSoft의 Agent Fabric 사용에 대한 포괄적인 개요를 제공합니다. 적용 범위:
- **에이전트 패브릭 비전**: 에이전트 확장을 관리하고 이기종 에이전트 및 도구 전체에서 관리되고 조율되는 엔터프라이즈 에이전트 네트워크를 활성화하는 통합 플랫폼입니다.
- **4개의 핵심 기둥**: 중앙 집중식 검색(Agent Registry), 지능형 오케스트레이션(Agent Broker), 엔터프라이즈 거버넌스 및 보안(Flex Gateway), 엔드 투 엔드 관찰 가능성(Agent Visualizer).
- **사양 우선 아키텍처**: YAML 기반 선언적 에이전트 네트워크 정의가 실행에서 분리되어 이식성, 재사용, 버전 관리, 수명 주기 관리를 활성화합니다.
- **확장 가능한 오케스트레이션 패턴**: 추적 가능성, 컨텍스트 크기 제어, 신뢰성 및 엔터프라이즈 규모의 운영을 개선하기 위한 계층적 및 도메인 주도 에이전트 네트워크 설계.
이 문서는 보안, 관찰 가능성, 엔터프라이즈 시스템과의 원활한 통합을 보장하면서 확장 가능한 다중 에이전트 네트워크를 설계, 오케스트레이션, 관리해야 하는 아키텍처 및 개발자에게 유용합니다.
# 요약
소프트웨어의 패러다임은 직접 조작에서 목표 지향 위임으로 전환하고 있습니다. 이 변화의 중심에는 사용자를 대신하여 이해하고, 추론하며, 행동할 수 있는 독립적이고 지능적인 존재인 AI 에이전트가 있습니다. 이 백서에서는 AI 에이전트의 기본 유형에 대한 기술적 탐색을 제공합니다. 대화형, 사전 예방형, 환경형, 자율형, 공동 작업형. 각 유형을 정의하고, 특정한 CRM(Customer Relationship Management) 사용 사례를 제시하며, 플로, Apex, Data 360, Agent2Agent(A2A) 통신, 모델 컨텍스트 프로토콜(MCP) 상호 운용성을 활용하는 기술 사례와 함께 Salesforce _Agentforce_ 플랫폼에 이러한 에이전트를 구축하는 아키텍처 청사진을 제공합니다.
## 장 1: AI 에이전트 분류
AI 에이전트는 환경을 인지하고 특정 목표를 달성하기 위해 조치를 취하는 시스템입니다. 이 개념은 새로운 개념이 아니지만 강력한 대규모 언어 모델(LLM)이 도입되어 기능을 강화했습니다. 기본 작업 및 상호 작용 모드를 기반으로 에이전트를 분류할 수 있습니다.
### 1.1 대화 에이전트
**정의:** 대화 에이전트는 가장 익숙한 유형의 에이전트입니다. 이들은 주로 자연어 인터페이스(텍스트 또는 음성)를 통해 반응적(request–response) 방식으로 작동합니다. 핵심 기능은 질문에 답변하거나 정보를 가져오거나 간단한 명령을 실행하는 등 사용자 의도를 이해하고 관련 응답을 제공하는 것입니다.
**중요:** 대화 에이전트는 조직의 디지털 관문입니다. 명확하게 정의된 반복 과업을 처리하여 인력을 확보할 수 있습니다. 효율성은 사용자 의도를 빠르고 정확하게 해결하고 사용자를 대신하여 조치를 취하는 능력에 따라 측정됩니다.
### 1.2 사전 예방형 에이전트.
**정의:** 프롬프트를 기다리는 대화 에이전트와 달리 사전 예방적 에이전트는 주의적인 관찰자 역할을 합니다. 특정 이벤트, 데이터 변경 또는 시스템 내에서 미리 정의된 조건에 의해 트리거됩니다. 트리거되면 직접 사용자 상호 작용 없이 과업을 실행하거나 워크플로를 시작합니다.
**중요:** 사전 예방적 에이전트는 데이터를 수동적으로 저장하는 시스템을 비즈니스 프로세스에 적극적으로 참여하는 존재로 변화시킵니다. 이들은 기회와 위험이 발생하는 즉시 이를 식별하여, 비즈니스가 중요한 신호에 실시간으로 대응할 수 있도록 합니다.
### 1.3 환경 에이전트
**정의:** 환경 에이전트는 명시적 명령 없이 사용자의 워크플로우 백그라운드에서 연속적으로 동작하는 특정 유형의 사전 예방적 에이전트입니다. 사용자들은 에이전트의 작동 여부를 의식하지 못하면서도 그 혜택을 누리게 됩니다. 이는 인간의 역량을 보완하면서 눈에 띄지 않도록 설계되었기 때문입니다.
**중요:** 환경 에이전트의 목표는 본 업무 외의 단순 업무를 자동화하여 사용자의 인지 부하를 줄이는 것입니다. 직원이 매일 사용하는 도구에 원활하게 통합하여 자동으로 정보를 수집하고 구조화하여 프로세스를 더욱 효율적으로 만듭니다.
### 1.4 자율 에이전트
**정의:** 자율 에이전트는 복잡성 측면에서 상당한 도약을 나타냅니다. 상위 수준 목표가 부여되며 해당 목표를 달성하기 위한 단계 순서를 독립적으로 계획하고 실행할 수 있습니다. 이들은 추론하고 결정을 내리며, 심지어 자신의 행동으로부터 학습하여 시간이 지남에 따라 성과를 향상시킬 수 있습니다.
**중요:** 이는 실제 디지털 직원과 가장 가까운 곳입니다. 자율 에이전트에게 복잡한 다단계 목표(예: "이 분기에 제조 부문에서 50명의 새 적격 리드 생성")를 위임받을 수 있으며, 이를 달성하기 위한 계획을 수립하고 실행할 수 있습니다.
### 1.5 공동 작업 에이전트(에이전트 스워밍)
**정의:** 협업 에이전트(일반적으로 '에이전트 스웜'이라고도 함)는 단일 에이전트가 처리하기에 너무 복잡한 문제를 해결하기 위해 함께 작업하는 전문 에이전트들의 모음입니다. "오케스트레이터" 또는 "마스터" 에이전트는 대규모 과업을 분해하고 적절한 전문 에이전트에게 하위 과업을 위임한 다음, 출력을 합성하는 경우가 많습니다. 강력한 Agent2Agent(A2A) 커뮤니케이션 프로토콜이 이 작업을 수행합니다.
**중요:** 이 접근 방식은 인간 팀을 반영합니다. 복잡한 문제를 파악함으로써 각 전문 에이전트는 데이터 분석, 고객 커뮤니케이션, 시스템 통합을 전문으로 하는 고유한 기술을 활용하여 보다 강력하고 포괄적인 솔루션을 구축할 수 있습니다.
## 장 2: Agentforce 아키텍처 패턴
AI 에이전트의 분류를 살펴본 지금, 중요한 질문이 남아 있습니다. 이러한 요소들을 어떻게 결합해야 실제 비즈니스 문제를 효율적이고 신뢰성 있게 해결할 수 있을까요? 이 장에서는 공통의 에이전트 디자인 패턴 리포지토리를 제공하여 해당 질문에 대한 답변을 제공합니다. 각 패턴은 반복적으로 발생하는 문제에 대한 입증된 솔루션으로, 단순한 단일 목적 에이전트부터 복잡한 협업 에이전트(에이전트 스웜)에 이르기까지 모든 경우에 대한 청사진을 제공합니다.
### 2.1 대화 에이전트 패턴
대화 에이전트는 조직의 AI 기능에 대한 첫 관문이 되는 경우가 많습니다. 이는 사용자가 과업을 수행하고 자연어를 사용하여 정보를 검색하는 기본 인터페이스로 작동하는 상태가 있는 다중 전환 대화 상자에 참여하는 기능에 따라 정의됩니다. 이 섹션에서는 대화 에이전트를 구축하기 위한 두 가지 필수 설계 방법을 소개합니다. 하나는 메시징 클라이언트의 빠르고 대화형 교환에, 다른 하나는 이메일의 구조적이고 비동기적인 특성에 맞춰 각각 최적화되어 있습니다.
대화 에이전트의 지능은 적시에 적절한 데이터에 접근하고 이를 기반으로 추론할 수 있는 능력에서 비롯됩니다. 이 패턴은 고객 기록, 지식 문서 및 비즈니스 분석에 연결되는 정교한 데이터 기반에 의존합니다. 이러한 통합을 위한 완전하고 재사용 가능한 레시피는 [4장(Chapter 4)에서 확인할 수 있습니다. 통합 패턴](#장-4-에이전트를-위한-통합-패턴).
#### 2.1.a 대화형 에이전트: 대화형 메시징 클라이언트 패턴
**문제**
고객은 다양한 디지털 채널에서 소통하며 **즉각적이고 상황에 맞으며 지능적인 응답**을 기대합니다. 기존의 채팅봇은 **스크립트** 또는 **데이터 블라인드**로 인해 개인 설정이 부족하고 인간에 대한 초기 에스컬레이션 및 높은 서비스 비용이 발생합니다.
**컨텍스트**
- 귀 조직은 WhatsApp, SMS, Slack, 그리고 Salesforce Experience Cloud 등 다채널 디지털 접점을 보유하고 있습니다.
- 귀 조직의 고객은 [여러 언어](https://help.salesforce.com/s/articleView?id=ai.service_agent_considerations.htm&type=5)로 귀 조직과 상호 작용합니다.
- 귀 조직은 다음과 같은 에이전트를 통해 서비스 및 영업 워크플로를 보완할 필요가 있습니다:
- 신뢰할 수 있는 실시간 고객 데이터에서 가져오기
- 가드레일 및 규정 준수 요구 사항을 준수합니다.
- 필요한 경우에만 인간 에이전트에게 이관합니다.
**핵심 구성 요소**
- **채널 추상:** Service Cloud 고급 채팅(기존의 앱 내 및 웹 Messaging)을 사용하면 에이전트가 단일 환경을 통해 여러 채널에서 커뮤니케이션할 수 있습니다.
- **Agentforce 서비스 에이전트:** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** 직접 사용자 상호 작용을 위한 에이전트의 개인 정보 및 대화 목적을 정의합니다. 여기에는 핵심 임무(예: "고객 지원 문제 해결 전문가임"), 공감하고 전문적인 어조를 유지하는 지침, 처리할 권한이 있는 문의 범위에 대한 명확한 가드 레일이 포함됩니다.
- **작업:** 에이전트가 고객 문제를 실시간으로 진단하고 해결하는 데 사용하는 도구인 서비스 중심 작업입니다. 이러한 도구는 주문 상태를 확인하거나, 지식 베이스에서 솔루션을 검색하거나, 대화 인터페이스에서 직접 새로운 지원 사례를 만드는 등의 작업을 수행하도록 설계되었습니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로 작동하여 에이전트의 동작을 제한합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 병합 필드 또는 Data 360 RAG Retrievers의 시맨틱 데이터를 통해 실시간 CRM 데이터로 동적으로 채워지는 재사용 가능한 템플릿입니다. 이러한 템플릿을 사용하면 에이전트가 컨텍스트에 맞는 브랜드 콘텐츠를 생성할 수 있으며 Einstein Trust Layer는 지침이 LLM에 전송되기 전에 민감한 정보를 안전하게 마스킹합니다.
- **Data 360**
- DLO, DMO, 벡터 저장소 및 RAG 검색기를 비롯한 Data 360 구성 요소는 에이전트에게 구조화된 고객 기록부터 비정형 지식 기사에 이르기까지 모든 관련 엔터프라이즈 데이터의 통합된 보기를 제공하며, 이를 통해 응답이 정확하고 맥락에 맞게 이루어지도록 보장합니다.
- **Service Cloud**
- **CRM 데이터:** 에이전트를 전체 사례 내역에 연결하여 계정 세부 사항, 연락처 레코드, 권리에 대한 중요 컨텍스트 제공
- **Live Agent 대기열:** 전체 대화 컨텍스트가 주입된 인사 서비스 담당자에게 에스컬레이션 및 라우팅 지원
**상호 작용**
1. 조직의 고객이 채널을 통해 대화를 시작합니다.
2. 메시지가 범위(주제)를 결정하고 가드 레일을 적용하는 **Agentforce**로 라우팅됩니다.
3. AI는 **프롬프트 템플릿을** 사용하여 응답을 작성하고, Flow 또는 Apex는 백엔드 논리를 트리거할 수 있습니다.
4. 컨텍스트는 RAG 검색기를 통해 **Data 360 객체, 벡터 저장소 및 CRM**에서 검색됩니다.
5. AI는 상황별 답변을 반환합니다.
6. AI가 해결할 수 없는 경우 대화가 **Service Cloud Live Agent로 에스컬레이션됩니다.**
**트레이드오프**
모양
게인
비용
응답 속도
항상 활성화된 인스턴트 회신
복잡한 쿼리의 경우 2초 이상의 대기 시간
정확도
RAG를 통한 실제 데이터에 기반합니다.
선별된 최신 벡터 저장소가 필요합니다.
확장성
거의 무제한 동시 대화
캐싱, 한정, 필터링을 통해 비용을 최적화해야 합니다.
유연성
열린 종단 쿼리 처리
정교한 프롬프트 엔지니어링 필요
사람의 연락처
인간 서비스 담당자는 복잡한 사례만 처리합니다.
에스컬레이션 임계값이 잘못된 경우 고객 실망
대화 다양성
다양한 Knowledge, 기술 및 도구가 필요한 많은 의도
정확도 및 대기 시간을 최적화하기 위해 주제 및 지침을 지속적으로 조정해야 합니다.
**관련 패턴**
[Greeter 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#고객을-맞이하는-사람-패턴): 자연어를 사용하여 사용자 의도를 이해한 다음, 사용자를 적절한 서비스 담당자에게 라우팅하는 간단하고 구현하기 쉬운 패턴
[오퍼레이터 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#운영자-패턴): Greeter를 기반으로 구축하여, 요청을 적절한 전문 AI 에이전트 또는 인간 서비스 담당자에게 라우팅하고, 필요한 경우 의도를 조율합니다.
[오케스트레이터 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#오케스트레이터-패턴): AI 에이전트 분합을 관리합니다. 사용자 요청을 수신하고 의도를 결정하고 계획을 만들고 하나 이상의 전문 에이전트에게 필요한 데이터를 전달한 다음, 사용자에 대한 응답을 집계합니다. 오퍼레이터와 달리, 첫 번째 연락 창구로 남아 있습니다.
#### 2.1.b 대화 에이전트: 대화형 이메일 패턴
**문제**
고객은 대부분 이메일 기반의 비동기식 대화를 사용하며, 이는 여전히 고객 접촉에 가장 효과적인 방법입니다. 조직에서 이메일을 통해 해당 고객에게 연락해야 하지만 세일즈 개발 담당자는 SLA 내에서 인바운드 이메일에 회신할 수 없으므로 리드가 손실됩니다. 또한 귀하의 인력은 자격 없는 리드에 시간을 할애합니다.
**상황**
- 귀하의 조직은 이메일을 주요 리드 참여 채널로 사용합니다.
- 귀하의 SDR은 대규모로 리드를 선별할 수 있는 역량이 제한적입니다.
- 세일즈 프로세스에서는 SDR 또는 BDR(비즈니스 개발 담당자)을 만나기 전에 여러 차례 접촉을 통해 리드를 육성합니다.
- 조직에서 다음을 수행하는 에이전트를 사용하여 서비스 및 세일즈를 강화해야 합니다.
- 실시간 세일즈 활성화 및 세일즈 제품 및 마케팅 데이터에서 가져오기
- 가드레일을 준수하고 컴플라이언스를 지킵니다.
- 리드 자격 기준에 따라 회의를 예약합니다.
**핵심 구성 요소**
- **이메일 채널:** 인바운드 메시지 수집, 콘텐츠 및 첨부 파일 구문 분석, 스레드 연속성 유지를 처리하여 비동기식 대화를 활성화합니다.
- **Agentforce SDR 에이전트:** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** 대화를 통해 인바운드 리드를 참여시키고 선별하는 에이전트의 임무를 정의합니다. 여기에는 잠재 고객의 요구를 이해하고, 주요 자격 데이터(예: 예산, 권한, 타임라인)를 수집하고, 계정 담당자와의 회의 예약과 같은 명확한 다음 단계로 대화를 안내하는 지침이 포함됩니다.
- **작업:** 에이전트가 리드 수명 주기를 관리할 수 있는 특수 세일즈 작업입니다. 해당 도구는 리드 데이터 보강, 템플릿 기반 팔로우업 이메일 보내기 또는 캘린더 시스템과 통합하여 검색 통화를 예약하는 등 핵심 SDR 과업을 실행하도록 설계되었습니다.
- **가드레일:** 가드레일은 에이전트의 동작을 제한하는 구성 가능한 규칙과 런타임 검사의 집합으로 작동합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 병합 필드 또는 Data 360 RAG Retrievers의 시맨틱 데이터를 통해 실시간 CRM 데이터로 동적으로 채워지는 재사용 가능한 템플릿입니다. 이러한 템플릿을 사용하면 에이전트가 컨텍스트에 맞는 브랜드 콘텐츠를 생성할 수 있으며 Einstein Trust Layer는 지침이 LLM에 전송되기 전에 민감한 정보를 안전하게 마스킹합니다.
- **Data 360**
- DLO, DMO, 벡터 저장소 및 RAG 검색기를 비롯한 Data 360 구성 요소는 에이전트에게 구조화된 고객 기록부터 비정형 지식 기사에 이르기까지 모든 관련 엔터프라이즈 데이터의 통합된 보기를 제공하며, 이를 통해 응답이 정확하고 맥락에 맞게 이루어지도록 보장합니다.
- **Sales Cloud**
- **CRM 데이터:** 에이전트를 전체 사례 내역에 연결하여 계정 세부 사항, 연락처 레코드, 권리에 대한 중요 컨텍스트 제공
- **고객과 SDR 간의 회의 예약:** SDR Live Agent 핸드오프를 구성하여 과업 및 회의 예약(다음 작업)을 사용하여 실시간 회의를 설정할 수 있습니다.
- **활동 로깅:** SDR 에이전트 상호작용의 결과로 이벤트, 업무, 이메일 활동을 기록하고 이를 리드, 계정, 기회에 연결합니다.
**상호 작용**
1. 고객이 채널을 통해 이메일을 보내고 받으면 Agentforce로 라우팅됩니다.
2. Agentforce는 주제, 작업 및 가드레일을 적용하여 의도를 구문 분석합니다.
3. Agentforce CRM 및 Data 360 컨텍스트로 보강된 프롬프트 템플릿을 사용하여 상황별 응답 초안을 작성합니다.
4. 다중 전환 이메일 대화는 해결 또는 정책 지침에 도달할 때까지 계속됩니다.
5. 자격을 갖춘 리드의 경우 Agentforce 회의를 예약하고 CRM을 업데이트합니다.
6. 의도가 AI의 범위를 초과할 경우, Agentforce는 Sales Cloud SDR로 에스컬레이션하여 인간 서비스 담당자의 응답을 이끌어냅니다.
**트레이드오프**
모양
게인
비용
응답 속도
<5분 내 첫 응답 (대비 8~24시간)
전화에 비해 개인화된 초기 대응이 덜합니다.
SDR 용량
리드 커버리지가 2~5배 증가합니다.
초기 관계 구축 접점이 손실됩니다.
자격 확인 일관성
예산, 권한, 필요, 타임라인(BANT) 정보를 비동기식으로 획득합니다.
미묘한 신호를 놓칠 수 있습니다.
콘텐츠 정확도
RAG는 최신 정보를 보장합니다.
선별된 세일즈 제품 및 활성화 라이브러리가 필요합니다. 다중 전환은 어려울 수 있습니다.
회의 전환
훨씬 높은 전환율
BANT에 공백이 있는 경우, 품질이 낮은 리드와의 회의가 발생할 수 있습니다.
비용 효율
인간 SDR보다 비용 효율성이 높음
개발 및 유지 관리 비용
**관련 패턴**
[Answer Bot 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#answerbot-패턴): 생성형 AI를 사용하여 Knowledge 검색을 위해 자연어를 이해하는 효과적인 셀프 서비스 패턴, 키워드가 아니라
### 2.2 사전 예방적 에이전트 패턴
이전 섹션의 대화 에이전트가 사용자 명령에 반응하는 데 탁월하다면, 사전 예방 에이전트는 요청 없이 자율적으로 작동하는 새로운 패러다임을 제시합니다. 이 섹션에서는 Salesforce 외부 및 내부에서 생성된 데이터 및 이벤트를 자동으로 모니터링하는 에이전트를 구축하기 위한 아키텍처 패턴을 제공합니다.
#### 2.2.a 사전 예방적 에이전트: 외부 이벤트 응답 패턴
**문제**
조직이 Salesforce 내부 및 외부에서 중요한 비즈니스 이벤트를 생성합니다. 응용 프로그램 및 부서에 분산되어 있기 때문에 시기적절한 상황별 작업으로 번역하는 데 문제가 있습니다.
**컨텍스트**
- 비즈니스 프로세스는 CRM, 결제 처리, 배송, 마케팅 자동화, 텔레메트리, CDP를 위한 여러 시스템에 걸쳐 적용됩니다.
- 조직 이벤트는 연중무휴로 진행되지만 업무 외 시간에는 직원 가용성이 제한됩니다. 시스템은 항상 가동되지만 사람은 그렇지 않습니다.
- 이벤트는 상황 인식이 부족하여, Salesforce에서 제공되는 고객 컨텍스트가 반영되지 않아 정보를 여러 단계에 걸쳐 결합해야 합니다. 오늘날 구현은 개별 복합 자동화로 존재하거나 수동으로 수행됩니다.
- 인간은 데이터를 수집하기 위해 컴파일러 역할을 합니다(다른 형식) 그리고 분리된 이벤트에 _지능적으로_ 반응합니다.
- 대상 작업이 여러 시스템에 적용됩니다.
**핵심 구성 요소**
- **이벤트 소스**
- 외부 데이터가 Data 360에 수집된 후 데이터 작업 트리거 이벤트
- Salesforce Pub/Sub API를 통해 Salesforce에 이벤트를 전송할 수 있는 타사 또는 Salesforce Heroku MCP 서버
- Salesforce Pub/Sub API를 통해 이벤트 알림을 보낼 수 있는 외부 응용 프로그램
- **선택적 미들웨어:** 변환용 MuleSoft 또는 Data 360
- **Agentforce 에이전트:** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** 기본 목표 정의(예: "우선 순위가 높은 모든 사례 모니터링 및 SLA 위반 방지")를 포함하여 에이전트의 핵심 임무 및 트리거를 지정합니다. 에이전트가 과업을 시작하기 위해 감지해야 하는 특정 이벤트 또는 데이터 조건이 포함됩니다.
- **작업:** 외부 이벤트에 응답하도록 설계된 이벤트 트리거형 및 예약된 작업입니다. 이러한 작업은 일상적인 과업에 대해 자동으로 작동하지만, 경우에 따라 사람이 개입하는 워크플로를 오케스트레이션하고 사용자에게 에스컬레이션하여 사람의 판단이 필요한 시나리오를 검토, 승인 또는 처리할 수 있습니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로 작동하여 에이전트의 동작을 제한합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 병합 필드 또는 Data 360 RAG Retriever의 시맨틱 데이터를 통해 실시간 CRM 데이터로 동적으로 채워지는 재사용 가능한 템플릿입니다. 이러한 템플릿을 사용하면 에이전트가 컨텍스트에 맞는 브랜드 콘텐츠를 생성할 수 있으며 Einstein Trust Layer는 지침이 LLM에 전송되기 전에 민감한 정보를 안전하게 마스킹합니다.
- **Data 360**
- **DLO 및 DMO를** 포함한 Data 360 구성 요소로 외부 시스템에서 [생성한 이벤트 데이터를 Salesforce](https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-create-eventbusconnector-data-stream.html)로 전송하여 스트리밍 또는 실시간 인사이트를 변환 및 구축
- **계산된, 스트리밍 및 실시간 인사이트**은 에이전트에게 고객에 관한 즉각적이고 관련성 높은 데이터를 제공합니다. 이를 통해 예방적 문제 해결을 수행하여 에스컬레이션을 완화할 수 있습니다. **데이터 그래프는** 서로 다른 데이터 소스의 관계와 통찰력을 사전에 표시하여 고객 참여, 활동 및 프로필과 관련된 패턴이나 변칙을 조기에 감지할 수 있습니다.
- **Data 360 벡터 저장소 및 RAG** 검색기는 에이전트에게 모든 관련 엔터프라이즈 데이터와 비정형 지식 문서의 통합된 보기를 제공하여, 응답이 정확하고 맥락에 기반하도록 보장합니다.
- **이벤트 목표**
- 직원에게 사전에 알리거나 고객에게 연락
- 에이전트로 확장 가능 ([Ambient Agent](#23-환경-에이전트-패턴) 및 [Autonomous Agent](#25-자율-에이전트-패턴) 패턴 참조)
**상호 작용**
1. 외부 시스템에서 중요한 변경 사항이 발생합니다.
2. 외부 시스템에서 이벤트를 발송하고 API(플랫폼 이벤트 만들기) 또는 Pub/Sub API를 통해 Salesforce 이벤트 버스에 게시하거나 이벤트 데이터가 Data 360으로 스트리밍됩니다.
3. 이벤트 구독자가 트리거됩니다. 플로가 트리거됩니다.
4. 플로에서 이벤트 데이터가 포함된 [에이전트 작업](https://help.salesforce.com/s/articleView?id=platform.automate_flow_ref_elements_actions_generate_ai_agent_response.htm&type=5)을 호출합니다. 에이전트가 올바른 작업 경로를 결정하고 실행합니다.
5. 결과는 알림 또는 트리거 중인 워크플로입니다. 알림은 공동 작업 도구(예: Slack)에서 사용자에게 전달됩니다. 과업 또는 이벤트도 생성됩니다. 또한 작업에서 외부 시스템을 호출할 수 있습니다. 따라서 이벤트는 손실되지 않고, 사전에 실행, 신호 전달, 조치가 이루어져 인적 오버헤드 또는 복잡한 자동화로 인해 이를 발견하는 부담을 줄입니다.
**트레이드오프**
모양
게인
비용
실시간 통합
이벤트는 몇 초 이내에 작업을 트리거합니다.
API 입력 복잡성(파트너 SLA 변수)
지능형 응답
CRM 및 외부 컨텍스트를 통한 AI 기반 결정
보강은 지연을 추가하고 오래된 데이터(예: 순서가 뒤바뀐 이벤트)를 초래합니다.
느슨한 커플링
Salesforce 논리와 독립된 외부 시스템
비동기 처리는 결국 일관성에 도달하게 합니다.
확장성
버스트 이벤트 처리
API 제한, 이벤트 저장소 비용
양방향
Salesforce는 외부 시스템에 응답할 수 있습니다.
외부 API 종속성, 실패 시나리오
보안
서명이 확인된 이벤트, 외부 시스템의 최소(또는 0) 권한 접근
재생 방어, 키 순환, 운영 오버헤드
**관련 패턴**
[Judge & Jury 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#judge--jury-패턴): 여러 "배심원" 에이전트와 "판사" 에이전트를 활용하여 일치성 평가를 통해 AI 기반 결정의 정확성과 신뢰성을 보장하기 위해 이 패턴과 함께 사용할 수 있습니다.
[모델 오브 모델 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#모델-패턴의-모델): 이 패턴은 여러 전문가 에이전트의 다양한 관점을 수용하여 더 풍부한 인사이트를 생성하며, 이는 사전 예방적 AI의 지능형 응답을 보완할 수 있습니다.
#### 2.2.b 사전 예방: 내부 플랫폼 이벤트 응답 패턴
**문제**
조직의 Salesforce 에코시스템은 지속적인 신호 스트림을 생성하지만 비즈니스 논리, 거버넌스, 인력이 필요하므로 시기적절한 상황별 작업으로 번역하는 데 문제가 있습니다. 많은 경우, 아무런 조치 없이 신호가 사라져 기회를 잃게 됩니다.
**컨텍스트**
- 조직에서 하나 이상의 Salesforce Cloud를 사용합니다. 세일즈, 서비스, 마케팅, 상거래, 건강, 제조 등.
- 간단한 라우팅이나 규칙 기반 분류를 넘어서는 지능형 선별이 필요합니다. 조직은 수백 개의 복잡한 비즈니스 규칙을 유지합니다.
- 이벤트에 대한 실시간 또는 거의 실시간 응답이 필요합니다.
- 때때로, 가장 특권이 있는 관리자들이 신호를 보지 못해 체인의 가장 약한 고리가 됩니다.
**핵심 구성 요소**
- **이벤트 소스 레이어**
- CRM 데이터, 플랫폼 이벤트, 변경 데이터 수집(CDC) 데이터 및 저급 플랫폼 활동의 실시간 이벤트 모니터링(RTEM) 데이터
- **Data 360**
- [CRM 또는 플랫폼 이벤트에서 생성된](https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-create-eventbusconnector-data-stream.html) 이벤트 데이터를 저장하고 스트리밍 또는 실시간 인사이트를 변환 및 구축하는 **DLO 및 DMO를** 비롯한 Data 360 구성 요소
- **계산된 스트리밍 및 실시간 인사이트는** 에이전트에게 고객, 직원 활동 또는 시스템의 메타데이터 변경 사항에 대한 즉각적이고 관련된 데이터를 제공합니다. 이를 통해 선제적 문제 해결을 수행하여 에스컬레이션을 완화할 수 있습니다. 이 실시간 상황 인식을 통해 에이전트는 거버넌스 및 규정 준수를 위한 운영 프로세스에 대해 적시에 개입할 수 있습니다.
- **데이터 그래프는** 서로 다른 데이터 소스의 관계와 통찰력을 사전에 표시하여 고객 참여, 활동 및 프로필과 관련된 패턴이나 변칙을 조기에 감지할 수 있습니다.
- **Data 360 벡터 저장소 및 RAG** 검색기는 에이전트에게 모든 관련 엔터프라이즈 데이터와 비정형 지식 문서의 통합된 보기를 제공하여 응답이 정확하고 상황에 맞게 이루어지도록 보장합니다.
- **Agentforce Agent:** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** Salesforce 내에서 데이터 변경 사항을 기반으로 비즈니스 규칙을 적용하고 프로세스를 자동화하는 에이전트의 임무를 지정합니다. 에이전트의 목표(예: "협상 단계에 도달하기 전에 모든 기회가 기본 연락처로 업데이트되도록 하십시오")와 에이전트를 트리거하는 특정 레코드 만들기, 필드 업데이트 등을 정의합니다.
- **작업:** 내부 Salesforce 이벤트에 응답하도록 설계된 이벤트 트리거형 및 예약된 작업입니다. 이러한 작업은 일상적인 과업에 대해 자동으로 작동하지만, 경우에 따라 사람이 개입하는 워크플로를 오케스트레이션하고 사용자에게 에스컬레이션하여 사람의 판단이 필요한 시나리오를 검토, 승인 또는 처리할 수 있습니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로 작동하여 에이전트의 동작을 제한합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 병합 필드 또는 Data 360 RAG Retriever의 시맨틱 데이터를 통해 실시간 CRM 데이터로 동적으로 채워지는 재사용 가능한 템플릿입니다. 이러한 템플릿을 사용하면 에이전트가 컨텍스트에 맞는 브랜드 콘텐츠를 생성할 수 있으며 Einstein Trust Layer는 지침이 LLM에 전송되기 전에 민감한 정보를 안전하게 마스킹합니다.
- **이벤트 목표**
- 직원을 사전에 알리거나 고객에게 연락합니다.
- 다른 에이전트를 호출할 수 있도록 확장 가능 ([환경 AI](#23-환경-에이전트-패턴) 및 [자율 AI](#25-자율-에이전트-패턴) 패턴 참조)
**인터랙션**
1. CRM 레코드 업데이트, 메타데이터 수정 또는 Data 360에서 트리거된 데이터 작업 등 내부 시스템 내에서 중요한 변경 사항이 발생합니다.
2. 내부 시스템에서 이벤트를 발송하고 API(플랫폼 이벤트 만들기) 또는 Pub/Sub API를 통해 Salesforce 이벤트 버스에 게시하거나 이벤트 데이터가 Data 360으로 스트리밍됩니다.
3. 이벤트 구독자가 트리거되어 Flow 또는 Apex가 활성화됩니다.
4. 활성화된 플로 또는 Apex가 [에이전트 작업](https://help.salesforce.com/s/articleView?id=platform.automate_flow_ref_elements_actions_generate_ai_agent_response.htm&type=5)을 호출합니다.
5. 결과는 알림 또는 트리거 중인 워크플로입니다. 알림은 공동 작업 도구(예: Slack)에서 사용자에게 전달됩니다. 과업 또는 이벤트도 생성됩니다. 또한 작업에서 외부 시스템을 호출할 수 있습니다.
6. 따라서 이벤트는 손실되지 않고, 사전에 실행되어 신호를 보내며 조치가 취해져 인적 부담이나 복잡한 자동화 과정을 제거합니다.
**트레이드오프**
모양
게인
비용
실시간 통합
이벤트는 몇 초 이내에 작업을 트리거합니다.
더 많은 레이어로 인해 간단한 이벤트 처리에 대한 대기 시간이 발생할 수 있습니다.
지능형 응답
CRM 및 외부 컨텍스트를 통한 AI 기반 결정
보강은 대기 시간과 오래된 데이터(예: 순서가 맞지 않는 이벤트)를 추가합니다.
느슨한 결합
팬 아웃(추가 구독자) 및 확장 가능
비동기 처리는 구독자 전체에서 최종적으로 일관성을 유지합니다.
확장성
버스트 이벤트 처리
API 제한
보안
플랫폼 제공 Trust 레이어
협상할 수 없는 운영 오버헤드
**관련 패턴**
[Listener/Feed 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#listenerfeed-패턴): 수신기 패턴과 결합하여 내부 Salesforce 이벤트를 기반으로 사전 예방적 작업을 트리거할 수 있습니다.
[데이터 스튜어드 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#데이터-스튜어드-패턴): 사전 예방적 AI는 데이터 스튜어드를 활용하여 내부 이벤트에 대응할 때 데이터 품질과 일관성을 보장할 수 있습니다.
[젠 데이터 가든러 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#zen-데이터-가든러-패턴): 내부 이벤트 또는 정기적으로 트리거되는 예약된 사전 예방적 데이터 정리 및 표준화
### 2.3 환경 에이전트 패턴
대화 채널에서 대화형으로 응답하는 에이전트부터 특정 이벤트에 반응하는 에이전트로 진행했습니다. 환경 에이전트는 사전 예방적 에이전트의 이벤트 기반 모델을 넘어, 직접적인 상호작용 대신 백그라운드에서 사전 예방적 지원을 제공하는 새로운 패러다임을 나타냅니다. 백그라운드에서 디지털 환경을 관찰하는 헤드리스 에이전트입니다. 이들은 시스템의 '눈과 귀' 역할을 하며, 사용자 활동이나 데이터 스트림에서 상황을 파악한 후, 다른 에이전트나 사람과 협력하여 작업을 완료하고 인사이트를 제공하며 지침을 전달합니다.
#### 2.3.a 환경 에이전트: 배경 스트림 관찰자 패턴
**문제**
조직의 비즈니스 활동은 계속해서 중요한 정보의 스트림(통화, 회의, 채팅, 센서 데이터 등)을 생성하지만 이 데이터는 수집 또는 분석 없이 실시간으로 사라집니다. 사람이 이러한 상호 작용을 수동으로 문서화할 때까지 중요한 인사이트가 손실되고 적시에 중재할 시간이 지났습니다. 조직은 실시간으로 **필요한** 실행 가능한 인텔리전스의 대부분을 놓치며, 이는 일시적인 흐름에 묻혀 격차, 코칭 기회 상실, 그리고 완전한 컨텍스트 없이 의사결정이 이루어지는 결과를 초래합니다.
**컨텍스트**
- 귀하의 비즈니스 활동은 음성 및 비디오 회의, 라이브 채팅, 센서 텔레메트리, 화면 활동, 트랜잭션 데이터를 비롯한 다양한 소스에서 연속 스트림을 생성합니다.
- 이러한 스트림에 효과적으로 대응하고 조치를 취하기 위해 실시간 또는 거의 실시간 인사이트(시간 또는 일이 아닌 초 또는 분)가 필요합니다.
- 수동 문서 프로세스가 실패하고 있으며, 규정 준수 및 새로 고침 비율이 낮고 직원의 인지 부담이 많으며 중요 정보의 수집이 불완전합니다.
- 오디오, 비디오, 화면 공유, 채팅, 그리고 기타 메타데이터를 결합하여 상호작용 및 이벤트의 완전하고 정확한 컨텍스트를 구성할 수 있는 다중 모달 이해가 필요합니다.
- 실시간 코칭 및 경고에 대한 즉각적인 분석과 상호 작용 후 요약 및 장기 추세 식별에 대한 내역 분석이 모두 필요합니다.
- 시간 컨텍스트(시작 메모리)는 데이터 스트림 내의 다양한 시간 기간 전반에서 순서, 타이밍, 전환, 패턴을 이해하는 등 분석에 매우 중요합니다.
**핵심 구성 요소**
- **스트림 소스**
- 음성 및 비디오: 비디오 회의 도구(Slack Huddle, Zoom, Google Meet, Microsoft Teams 등) 및 전화 시스템
- 공동 작업 도구: Slack, Teams, 기타
- **스트림 캡처 커넥터**
- 기본 SDK: 실시간 스트림 세그먼트 또는 기록을 지원하는 대화록이나 메시지를 검색하는 데 도움이 되는 공급업체 제공 SDK
- **(옵션) 스트림 처리 레이어**
- 오디오 스트림의 경우, 기록을 실시간으로 사용할 수 없는 경우 오디오를 텍스트로 변환하는 음성-텍스트 기능이 필요합니다. Amazon Transcribe와 같은 관리 공급자를 사용할 수도 있습니다.
- 경우에 따라 다른 데이터 스트림의 경우 Data 360 또는 Apache Flink와 같은 스트림 처리 엔진
- **Data 360**
- 이벤트 데이터를 저장하고 [스트리밍 또는 실시간 인사이트를](https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-create-eventbusconnector-data-stream.html) 변환 및 구축하는 **DLO 및 DMO를** 비롯한 Data 360 구성 요소
- **계산된, 스트리밍 및 실시간 인사이트**는 에이전트에게 고객, 고객의 활동 및 중요한 인사이트에 관한 즉각적이고 관련성 있는 데이터를 제공합니다. 이를 통해 선제적 문제 해결을 수행하여 에스컬레이션을 완화할 수 있습니다. 이 실시간 상황 인식을 통해 에이전트가 직원에게 적시에 중재 및 맞춤형 지원을 제공하여 고객 만족도 및 운영 처리량을 최적화할 수 있습니다.
- 고객 데이터를 저장하고 실시간 인사이트를 변환하고 구축하는 Data 360 구성 요소(예: **DLO 및 DMO)**
- **Data 360 벡터 저장소 및 RAG** 검색기는 에이전트에게 모든 관련 엔터프라이즈 데이터와 비정형 지식 문서의 통합된 보기를 제공하여 응답이 정확하고 맥락에 맞게 이루어지도록 합니다.
- **Agentforce 에이전트.** 이 패턴은 라이브 통화 기록 또는 비디오 피드와 같은 연속적인 데이터 스트림을 관찰하는 환경 에이전트에 초점을 맞춥니다. 실시간 수신기 역할을 하며 비정형 데이터를 해석합니다. 예를 들어, 라이브 통화를 듣는 에이전트가 데이터 검색 에이전트를 호출하여 대화에서 공유되는 새 컨텍스트를 기반으로 리드의 레코드를 보강할 수 있습니다. 다음은 헤드리스 에이전트의 예입니다.
- **피드백 에이전트.** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** 에이전트의 기본 임무를 정의하여 대화 스트림을 분석하고 구조화된 사용자 의견 및 성과 메트릭을 추출합니다. 여기에는 고객 분위기 모니터링, 주요 제품 또는 경쟁사 멘션 식별, 인적 에이전트가 회사 모범 사례 또는 세일즈 플레이북을 준수하는지 평가하는 지침이 포함됩니다.
- **작업:** 비정형 대화 데이터를 실행 가능한 비즈니스 인텔리전스로 변환하는 작업입니다. 이러한 작업을 통해 에이전트가 "사용자 의견 요약" 레코드를 만들고, 제품 기능 요청을 기록하고, 관리자 검토를 위해 부정적인 분위기로 통화에 플래그를 지정하고, 대시보드를 업데이트하여 핵심 메트릭에 대한 전체 에이전트 성과를 추적할 수 있습니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로 작동하여 에이전트의 동작을 제한합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 입력을 수신하고 LLM 생성 출력을 제공할 수 있는 구조화된 템플릿 기반 LLM 지침
- **평균 목표**
- 화상 통화 또는 데스크톱 응용 프로그램 등 에이전트와 사용자가 있는 위치에서 사용자에게 알림
**상호 작용**
1. 스트림이 활성화되면(예: 사용자가 비디오 통화에 참여하는 경우) 에이전트는 관찰자로 등록됩니다.
2. 에이전트가 스트림 데이터를 수신하기 시작하고 의도를 점진적으로 감지하며 결정을 내리고 조치를 호출합니다.
3. 에이전트는 의도에 따라 맥락을 파악하고 추가 데이터(정형 또는 비정형)를 가져옵니다.
4. 에이전트는 사용자 메시지 없이 적시 실시간 응답을 제공합니다. 세일즈 통화에서 이의를 감지하고 이의 처리를 위한 중요한 정보를 제공할 수 있습니다.
5. 에이전트는 통합 요약 및 작업을 컴파일하고 다른 에이전트 및 사용자와 공유할 수 있습니다.
**트레이드오프**
모양
게인
비용
창 크기
작은 창 — 낮은 대기 시간, 빠른 코칭
또한, 맥락 정보가 부족하여 정확도가 낮습니다.
처리 모드
실시간은 즉각적인 도우미 역할을 할 기회를 제공합니다.
자원 집약적
스트림 해상도
고품질 오디오 및 비디오는 정확도가 높지만 대기 시간이 증가할 수 있습니다.
추가 저장소 및 컴퓨팅
유지 기간
교육 및 규정 준수에 대량의 데이터를 사용할 수 있습니다.
저장소 비용 증가, 소음 발생 가능
다중 모달
풍부한 컨텍스트, 전체적인 이해
동기화 복잡성
환경
인간 사용자에게 일관된 지원을 제공할 수 있음
개인정보 보호/정책 적용
**관련 패턴**
[Listener/Feed 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#listenerfeed-패턴): 수신기 패턴과 결합하여 대화 및 사용자 상호 작용 데이터의 실시간 스트림을 처리하고 관련 컨텍스트 및 인사이트를 표시할 수 있습니다.
[검사기 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#문의자-패턴): 이 패턴과 함께 사용하여 스트림 내의 여러 소스에서 컨텍스트를 구성하고 질문에 답변할 수 있습니다.
#### 2.3.b 환경 에이전트: 사용자 활동 가로채기 패턴
**문제**
직원들은 이메일, 일정, 통화, 응용 프로그램 전반에서 수백 개의 비즈니스에 중요한 활동을 매일 수행하지만, 이러한 활동은 수동으로 기록되기 전까지 조직 시스템에 표시되지 않습니다. 이 활동 블라인드는 CRM 데이터가 불완전하며, AI 모델은 지능형 권장 사항에 필요한 신호가 부족하며, 관리자는 고객 참여를 실시간으로 파악할 수 없습니다. 수동 활동 로깅은 실제 작업의 대부분을 놓치면서 생산성 저하를 초래합니다.
**컨텍스트**
스트림 관찰자와 마찬가지로, 실행 가능한 과업을 제공하거나 사용자를 대신하여 작업을 수행하는 데이터 및 콘텐츠 관찰자입니다.
**핵심 구성 요소**
- **데이터 레이어**
- **CRM 데이터**: 에이전트에게 컨텍스트를 제공하는 CRM에서 사용할 수 있는 고객 데이터입니다(예: 사용자가 기회 페이지에 있을 때 에이전트가 CRM에서 기회 및 연결된 계정에 대한 정보를 검색할 수 있음).
- 다양한 소스에서 수집된 관련 고객 데이터를 저장하는 Data 360 구성 요소(예: **DLO 및 DMO)**
- **계산된, 스트리밍 및 실시간 인사이트**는 에이전트에게 고객, 고객의 활동 및 중요한 인사이트에 대한 즉각적이고 관련된 데이터를 제공합니다. 이를 통해 예방적 문제 해결을 수행하여 에스컬레이션을 완화할 수 있습니다.
- **Data 360 벡터 저장소 및 RAG** 검색기는 에이전트에게 모든 관련 엔터프라이즈 데이터와 비정형 지식 문서의 통합 보기를 제공합니다.
- **Agentforce 에이전트:** 이 패턴은 UI 내에서 직접 사용자의 작업을 관찰하는 환경 에이전트에 초점을 맞춥니다. 실시간 도우미 역할을 하며 사용자의 워크플로 컨텍스트를 이해하여 지침을 제공합니다. 예를 들어 에이전트는 서비스 담당자가 사례 레코드를 작성하는 것을 모니터링하고 관련 지식 문서를 미리 표시할 수 있습니다. 다음은 헤드리스 에이전트의 예입니다.
- **피드백 에이전트.** 에이전트의 동작 및 목적은 다음 구성 요소에 의해 정의됩니다.
- **주제 및 지침:** 에이전트의 임무를 정의하여 UI 내에서 사용자의 작업을 모니터링하고 상황에 맞는 지원을 제공합니다. 여기에는 목표(예: "사례 해결 프로세스를 통해 서비스 담당자 안내")와 사전에 도움을 제공하기 위해 주시해야 하는 특정 UI 이벤트 또는 데이터 입력 패턴이 포함됩니다.
- **작업:** 작업은 Apex 또는 Flow를 사용하여 구축되어 사용자의 워크플로 내에서 직접 관련 정보를 표시하고 다음 최상의 작업을 수행합니다. 이러한 작업을 통해 에이전트는 사용자의 실시간 활동에 따라 관련 지식 문서를 가져오고 표시하거나, 프로세스의 유효한 다음 단계를 제안하거나, 비즈니스 규칙을 위반할 수 있는 데이터 입력 필드를 플래그할 수 있습니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로 작동하여 에이전트의 동작을 제한합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **프롬프트 템플릿:** 병합 필드 또는 Data 360 RAG Retriever의 시맨틱 데이터를 통해 실시간 CRM 데이터로 동적으로 채워지는 재사용 가능한 템플릿입니다. 이러한 템플릿을 사용하면 에이전트가 컨텍스트에 맞는 브랜드 콘텐츠를 생성할 수 있으며 Einstein Trust Layer는 지침이 LLM에 전송되기 전에 민감한 정보를 안전하게 마스킹합니다.
- **평균 목표**
- 웹 페이지 또는 관리자 페이지와 같이 에이전트와 사용자가 있는 위치의 표면에서 사용자에게 알림
**상호 작용**
1. 사용자가 페이지 또는 앱을 방문하면 에이전트가 자신을 관찰자로 등록합니다.
2. 에이전트가 데이터 및 작업을 검사하고 의도를 점진적으로 감지하며 결정을 내리고 조치를 호출합니다.
3. 에이전트는 의도에 따라 맥락을 파악하고 추가 데이터(정형 또는 비정형)를 가져옵니다.
4. 에이전트는 사용자 프롬프트 없이 적시에 실시간 응답을 제공하며, 다음 최선의 조치를 제안하거나 사용자를 대신하여 이를 수행할 수 있습니다.
5. 에이전트는 이 정보를 다른 에이전트 및 사용자와 원활하게 공유할 수 있습니다.
**트레이드오프**
모양
게인
비용
범위
광범위한 활동 범위, 에이전트는 이메일, 캘린더, 앱 페이지 등 다양한 모달에서 컨텍스트를 공유할 수 있습니다.
계산 비용
지능형 자동화
모듈로 사용할 수 있으며, 완전 자율 AI로 확장할 수 있고, 정책이 명확한 경우 사람을 프로세스에서 제외할 수 있습니다.
추가 에이전트 평가 오탐지 또는 오류의 위험이 있으며, 합리적인 시간 내에 감지되지 않을 수 있습니다.
가로채기 복잡성
실시간 분석을 활용할 수 있습니다. 예를 들어 사기 또는 위협을 감지하고 트랜잭션 발생을 방지할 수 있습니다.
에이전트와 인간 워크플로를 동기화해야 합니다.
컨텍스트 깊이
더 심층적인 컨텍스트는 지능형 결정을 이끌어냅니다.
컨텍스트가 완전해야 합니다.
에이전트 자동화
헤드리스 에이전트는 사용자 프롬프트 없이 백그라운드에서 작업하므로 마찰이 줄어듭니다.
에이전트의 의사 결정에 대한 투명성이 떨어지고, 감사 내역은 증가합니다.
다중 에이전트
헤드리스 에이전트가 함께 작업하여 전문 에이전트를 구성할 수 있습니다.
헤드리스 오케스트레이션 및 추가 복잡성
**관련 패턴**
[Listener/Feed 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#listenerfeed-패턴): Listener/Feed 패턴과 결합하여 관찰된 활동을 기반으로 사전 예방적 작업을 트리거할 수 있습니다.
[데이터 스튜어드 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#데이터-스튜어드-패턴): 활동 가로채기 AI는 데이터 스튜어드를 활용하여 가로채기된 활동을 기록할 때 데이터 품질과 일관성을 보장할 수 있습니다.
[제너레이터 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#생성기-패턴): 가로채기된 활동을 기반으로 활동 요약 또는 팔로우업 과업을 자동으로 생성하는 데 사용할 수 있습니다.
### 2.4 공동 작업 에이전트 패턴
이 섹션에서는 한 명 이상의 에이전트가 공유 목표를 달성하기 위해 사용자와 협력하는 협업 에이전트 패턴을 자세히 설명합니다. 이러한 레시피는 원활한 파트너십 구축에 중점을 둡니다. 에이전트는 복잡한 데이터 수집 및 작업 실행을 처리하는 동시에, 인간은 의사 결정, 승인 및 전략적 지침 제공에 계속 참여합니다.
이 모델에서는 에이전트가 워크플로의 자동화 가능한 부분을 처리합니다. 프로세스가 동적 피드백 루프가 됩니다.
- 사람이 대화 에이전트를 통해 과업을 시작할 수 있으며, 이를 통해 사전 예방적 에이전트가 백엔드 단계를 관리합니다.
- 동시에 환경 에이전트는 실시간 지침을 제공하기 위해 작업을 관찰할 수 있습니다.
이 프로세스를 통해 인적 노동과 디지털 노동이 원활하게 융합됩니다. 이 패턴은 Agentforce가 다중 에이전트, 휴먼 인 더 루프 시스템을 통해 단일 에이전트나 사람이 혼자 관리할 수 없는 복잡한 작업을 처리하는 방법을 보여줍니다.
**문제**
비즈니스 프로세스에는 각기 다른 기술 및 우선 순위와 관련된 고유한 작업을 수행할 수 있는 서로 다른 조직(내부 및 외부 모두)의 작업자 간 공동 작업이 필요합니다. 프로세스 지체 지점은 자원 수용력, 기술 제약 또는 교환된 정보의 양으로 인해 언제 어디서나 발생할 수 있습니다.
**상황**
- 프로세스는 여러 팀에 걸쳐 진행되며, 성공적인 결과를 위해 여러 팀 구성원의 협업이 필요합니다.
- 에이전트 도우미는 이미 일대일 상황에서 대화형, 사전 예방적, 그리고 환경형 에이전트로서 직원을 지원하고 있습니다.
- 프로세스는 비즈니스 프로세스의 적절한 단계에서 에이전트를 활용합니다. 그러나 프로세스에는 사람과 에이전트의 공동 작업도 필요합니다. 이 공동 작업은 에이전트의 지원을 받아 사람 간 공동 작업 또는 사람-에이전트-사람 공동 작업이 포함될 수 있습니다.
- 에이전트가 기술 격차를 보완합니다.
- 에이전트는 후속 작업 등에서 인력 소요를 줄이고, 의사 결정에 필요한 핵심 정보를 교환함으로써 협업을 개선하는 데 기여합니다.
- 에이전트는 정책 및 지침에 따라 공동 작업하고 위임할 수도 있습니다.
**핵심 구성 요소**
- **공동 작업 환경**
에이전트 공동 작업을 수행하려면 모든 참가자(개인 및 에이전트 모두)가 상호 작용할 수 있는 공유 공간이 필요합니다. 이러한 협업 영역은 더 이상 정적이고 사람만을 위한 환경이 아닙니다. 대신 에이전트를 초대하여 대화에 참여하거나 기여하거나 심지어 대화를 시작할 수 있는 채널이므로 팀 작업의 특성을 근본적으로 변경할 수 있습니다. 예를 들어, 에이전트는 Slack에서 사례 스웜을 생성하고 시작하며, 인적 주제 전문가와 다른 에이전트를 초대하여 해당 사례에 협업할 수 있습니다.
- **Agentforce Agents**
이 패턴은 개별 에이전트 패턴을 넘어, 에이전트들이 공동 작업 에이전트 모델에서 어떻게 융합되어 복잡한 프로세스를 오케스트레이션하며 인적 역량을 지능적으로 보완하는지를 보여줍니다. 이전 패턴—대화형(2.1), 사전 예방형(2.2), 환경형(2.3)—은 Agentforce 에이전트 구성 요소의 방향을 정의합니다. **대화 에이전트**는 인간과 함께 작업하는 기본 인터페이스로서, 인간과 협업에 관여하는 모든 에이전트 간의 인터페이스 역할을 합니다. 과업이 너무 다면적일 경우, 대화 에이전트가 공동 작업 세션을 시작하여 인간 사용자와 필요한 헤드리스 에이전트를 한데 모아 동시에 문제를 처리합니다.
이 프로세스는 인간이 작업을 시작하면 백엔드 단계를 관리하는 **Proactive Agent**가 작동하고, 동시에 **Ambient Agent**가 실시간 지침을 제공하는 동적인 피드백 루프가 되어 인간과 디지털 작업이 원활하게 융합됩니다.
- **Data Layer**
공동 작업 에이전트 모델에서 데이터 레이어는 단순히 정보를 제공하는 것을 넘어, 전체 인간-에이전트 팀의 영구 메모리이자 공유 작업 공간의 역할을 수행합니다. 각 에이전트는 해당 패턴에 따라 고유의 데이터 요구 사항을 가지지만, 복잡한 과업의 협업은 전체 작업 상태를 추적하는 공유 데이터 기반에 의존합니다.
이 공유 상태는 중요합니다. 과업이 대화 에이전트에서 사전 예방적 에이전트로, 그리고 최종 승인을 위해 사람에게 전달될 때, 데이터 레이어는 각 단계의 진행 상황, 컨텍스트, 그리고 결정 사항을 추적해야 합니다. 이렇게 하면 모든 참가자가 에피소드를 일관되고 최신 상태로 볼 수 있습니다.
**Interactions**
1. 사람은 다른 사람 및 에이전트와 공동 작업 세션을 시작합니다.
2. 컨텍스트, 목표, 작업 및 결과가 정의됩니다.
3. 에이전트는 추가 정보를 활용해 컨텍스트를 보강하고, 작업 완료에 필요한 단계를 사전에 계획하며, 이 과정에는 사람이거나 에이전트인 소유자가 참여합니다.
4. 진행 상황이 관찰되고 컨텍스트가 업데이트되고 작업이 수행됩니다.
5. 에이전트가 작업을 수행하는 위치에서 에이전트는 이해당사자가 사유를 이해하고 피드백을 제공하고 가로채기를 허용할 수 있도록 세부 정보를 제공합니다.
6. 에이전트는 투명하고 규정을 준수하여 작업을 완료합니다.
**트레이드오프**
모양
게인
비용
기본 공동 작업 영역
에이전트가 참여하고 작업 흐름에 즉시 기여할 수 있습니다.
사용자 채택에는 추가 교육 및 활성화가 필요합니다.
양방향 컨텍스트 공유
에이전트는 모든 당사자와 컨텍스트를 표시하고 공유할 수 있으므로 모든 사람이 정보를 사용할 수 있습니다.
의도적인 비대칭 민감한 정보는 추가 보안 조치가 필요합니다.
공동 작업
에이전트는 실시간 협업을 통해 즉각적인 피드백과 더 빠른 해결 시간을 제공합니다.
더 빠른 해결은 인간에게 피로를 초래할 수 있는 대기열 내의 보다 활발한 작업을 의미합니다.
전문 분야
도메인 특화 에이전트는 높은 가치의 지원을 제공합니다.
경계된 컨텍스트 요구와 도메인 특성이 증가합니다. 변화에 적응하는 데 따른 복잡성이 존재합니다.
관측 가능성
추론 제공, 감사 추적, 그리고 에이전트 평가를 통해 신뢰를 구축합니다.
텔레메트리 비용 증가
**관련 패턴**
[운영자 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#운영자-패턴): 공동 작업 에이전트는 종종 운영자 역할을 하며 적절한 전문 AI 에이전트 또는 인사 서비스 담당자에게 요청을 라우팅하고 의도를 협상합니다.
[오케스트레이터 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#오케스트레이터-패턴): 공동 작업을 수행하는 시나리오에서 오케스트레이터 에이전트는 AI 에이전트의 집합을 관리하여 원활한 사용자 환경을 위해 응답을 집계합니다.
[작업 공간(Radar O'Reilly) 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#작업-영역radar-oreilly-패턴): 공동 작업 에이전트는 이 패턴을 사용하여 반응형 단일 창 UX를 관리하고 대화 흐름 내에서 관련 콘텐츠를 실시간으로 업데이트합니다.
### 2.5 자율 에이전트 패턴
사용자를 지원하는 공동 작업 패턴과 달리 자율 에이전트는 전체 위임을 위해 고안되었습니다. 이 섹션에서는 사람의 개입 없이 상위 수준 목표를 달성하기 위해 복잡한 다단계 과업을 독립적으로 계획하고 실행할 수 있는 에이전트를 위한 아키텍처 청사진을 제공합니다. 여기서는 목표와 Trust 가지고 과업을 완료할 수 있는 시스템을 만드는 데 중점을 두고 있습니다.
**문제**
조직은 각각 고유한 정책 중심 작업, 플레이북, 실행에 필요한 특정 기술이 포함된 매우 복잡한 프로세스 집합을 통해 가치를 실현합니다. 이러한 프로그램은 종종 시간 및 자원의 상당한 투자가 필요합니다.
새 프로그램을 설정하는 데는 많은 오버헤드가 발생하며 가치를 실현하기까지 수개월이 걸릴 수 있습니다. 피드백 및 개선 사항을 구현하려면 추가 시간과 노력이 필요합니다. 복잡성은 주로 조직의 구조에 의해 결정되며, 분산된 응용 프로그램과 프로세스가 종속성을 야기하여 사람이 프로그램을 관리해야 하는 상황이 발생할 수 있습니다.
**상황**
- 에이전트는 처음부터 끝까지 독립적으로 작업할 수 있습니다. 에이전트는 목표, 계획, 전략이 사전 설정되도록 설계 및 구성됩니다.
- 에이전트는 사람의 승인을 구하지 않고 모든 결정을 내릴 수 있습니다. 에이전트에게 정책 및 규정 준수 지침이 제공됩니다.
- 에이전트는 필요한 컨텍스트 및 데이터에 액세스할 수 있으며, 사람이 필요하지 않아도 필요한 작업을 수행할 수 있습니다.
- 사람은 알림을 받지만 "루프에 있지 않습니다."
**핵심 구성 요소**
- **목표 및 전략 정의 계층**
- **프로세스 플레이북:** 에이전트가 따라야 하는 결정적 규칙과 함께 자율 실행에 대한 상세한 설명
- **자율적인 결정 기준:** 에이전트가 승인 없이 결정을 내릴 수 있는 규칙
- **폴백 규칙:** 에이전트의 기본 프로세스에 실패할 경우 기본 또는 예외 시나리오를 처리하기 위한 사전 정의된 작업
- **스코프:** 범위 외 상황을 처리해야 하는 방법을 포함하여 에이전트가 수행할 수 있는 작업과 수행할 수 없는 작업을 간략하게 설명하는 경계
- **성공 기준 및 완료 기준:** 에이전트의 과업이 성공적으로 완료되는 시점을 결정하는 메트릭 및 조건
- **Agentforce 에이전트**
- **에이전트 오케스트레이터 또는 코레오그래퍼:** 목표, 이유, 계획 실행을 소유한 주체 에이전트
- **주제 및 지침**: 목표가 정의되면 오케스트레이터 또는 코레오그래퍼 에이전트가 해당 전반적인 목표를 더 작고 관리 가능한 작업 또는 하위 과업으로 나누는 역할을 담당합니다. 작업 순서를 간략하게 설명하고 각 단계에 필요한 특정 에이전트 또는 도구를 식별하는 포괄적인 계획을 수립합니다. 마지막으로 오케스트레이터 에이전트는 계획을 원활하게 실행하고 진행 상황을 모니터링하고 종속성을 관리하며 필요에 따라 조정하여 목표를 효율적이고 효과적으로 달성합니다. 코레오그래퍼 에이전트의 경우, 다운스트림 에이전트에 컨텍스트와 상태를 전달하여 작업을 끝까지 수행하게 합니다.
- **작업:** 작업은 기능을 수행하거나 데이터를 검색하거나 다른 헤드리스 에이전트에게 위임하는 도구를 호출하여 광범위한 기능과 보다 복잡한 워크플로를 활성화합니다.
- **가드레일:** 가드레일은 구성 가능한 규칙 및 런타임 검사 집합으로서 에이전트의 동작을 제약합니다. 프롬프트를 가로채고, 에이전트의 제안된 작업을 확인하고, 최종 응답을 필터링하여 유해한 콘텐츠를 방지하고, 비즈니스 규칙을 적용하고, 에이전트가 지정된 범위 내에서 작업하는지 확인할 수 있는 안전 계층 역할을 합니다.
- **데이터 레이어**
- **CRM 데이터:** 하나 이상의 에이전트에게 컨텍스트를 제공하는 CRM에서 사용 가능한 고객 데이터
- 다양한 소스에서 수집된 관련 고객 데이터를 저장하는 Data 360 구성 요소(예: **DLO 및 DMO)**
- **계산형, 스트리밍, 실시간 인사이트**는 에이전트에게 고객, 고객의 활동 및 중요한 인사이트에 대한 즉각적이고 관련된 데이터를 제공합니다. 이로 인해 이메일 바운스 처리와 같은 문제를 사전에 해결하여 에스컬레이션을 완화할 수 있습니다.
- **Data 360 벡터 저장소 및 RAG** 검색기는 에이전트에게 모든 관련 기업 데이터 및 비정형 지식의 통합된 보기를 제공합니다.
- 대화 컨텍스트를 제공하는 사례 내역 및 대화 에이전트 내역과 같은 **Slack 채널 메시지 또는 대화 데이터**
- **모니터링 및 감독**
- **에이전트 목표 진행 상황 모니터링:** 자동 에이전트 세션의 진행 상황을 추적하여 결과를 측정하고 목표에 맞게 조정
- **에이전트 운영 모니터링:** 중재 및 문제 해결을 위해 자율 에이전트의 실시간 상태를 추적하여 원활한 작업 보장
- **에이전트 거버넌스 모니터링:** 자율 에이전트가 사전 정의된 목표, 목적 및 윤리 지침을 준수하는지 확인하기 위해 추적 및 감사 로그를 검토합니다.
**상호 작용**
1. 작업이 명확한 결과와 함께 정의됩니다.
2. 다음 방법 중 하나를 통해 작업이 시작됩니다.
- 에이전트에게 과업이 부여됩니다.
- 에이전트가 자격을 바탕으로 능동적으로 작업을 선택합니다.
- 에이전트가 백그라운드에서 작업을 수행합니다.
3. 에이전트는 명확하게 기대를 설정하고 목표, 계획, 전략을 자세히 설명하여 사람들에게 알립니다. 계획은 단계별 프로세스, 사용된 에이전트, 사용된 데이터, 범위, 에이전트 평가 계획, 진행 상황, 운영, 거버넌스를 모니터링하기 위한 검사점을 자세히 설명합니다.
4. 에이전트가 실행을 시작합니다. 각 마일스톤마다 상태와 진행 상황을 업데이트합니다. 사람은 필요에 따라 사용자 의견을 제공하거나 에이전트를 가로채기할 수 있습니다.
5. 에이전트가 작업을 완료합니다. 결과 및 성과는 모니터링 대시보드에서 확인할 수 있습니다.
**트레이드오프**
모양
게인
비용
속도
에이전트는 몇 주나 몇 달이 아닌, 몇 시간에서 며칠 내로 과업을 완료합니다.
자율 에이전트 작동을 위해 활성화가 필요합니다.
자동
에이전트가 사람의 개입 없이 전 과정을 완벽하게 실행합니다.
실행 중에 중재가 제한적이고 비용이 많이 드는 경우
확장성
에이전트는 쉽게 확장할 수 있습니다.
자원의 잠금을 방지하려면 속도 제한을 설정해야 합니다.
일관성
에이전트는 가드레일을 통해 정책을 준수합니다.
새 시나리오 처리에 올바른 결과를 확인하기 위해 검사를 거쳐야 합니다.
비용
에이전트는 사람의 개입을 피합니다.
이 프로세스는 구축하는 데 비용이 많이 듭니다.
인사원
에이전트는 핵심 및 전문 자원을 해방시킵니다.
전문가들은 직접 체험할 기회가 줄어들어 프로세스 개선 사항을 식별할 능력이 저하됩니다.
품질 관리
모니터링 및 검토할 수 있습니다.
에이전트 오류가 즉시 발견되지 않을 경우 수정 비용이 높습니다.
정확도
에이전트는 컨텍스트 및 정책을 사용하여 올바른 결정을 내릴 수 있습니다.
모호함이나 정보의 노후화를 방지하기 위해 컨텍스트와 데이터를 세심하게 관리하고 유지해야 합니다.
**관련 패턴**
[프로젝트 관리자 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#프로젝트-관리자-패턴): 자율 에이전트는 종종 이 패턴을 구현하며, 최소한의 인적 개입을 통해 시작에서 완료까지 장기 실행의 다단계 프로세스를 감독합니다.
[구성기 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#configurer-패턴): 자율 에이전트는 이 패턴을 사용하여 자연어 요구 사항 또는 사전 정의된 정책을 기반으로 구성을 자동으로 생성하고 유효성을 검사하여 수동 감독 없이 규정 준수 및 정확성을 보장할 수 있습니다.
[젠 데이터 가든러 패턴](/docs/architect/ko-kr/fundamentals/guide/enterprise-agentic-architecture#zen-데이터-가든러-패턴): 이 패턴은 자율 에이전트가 예약된 백그라운드 데이터 정리 및 표준화를 수행하여, 시간에 따라 데이터 품질과 일관성을 보장하고 정확한 에이전트 의사결정을 지원하는 데 사용할 수 있습니다.
## 장 3: 일반적인 에이전트 AI 사용 사례
이제 Salesforce Platform에서 구현되는 방법을 살펴보고 에이전트 분류 및 에이전트 패턴을 실현합니다. Agentforce의 핵심 구성 요소에 익숙하지 않은 분들을 위해 [부록](#부록)에서는 이 장과 다음 장에서 참조되는 핵심 기술에 대한 유용한 요약을 제공합니다.
이 섹션에서는 에이전트의 분류를 가져와 실제 응용 프로그램에서 사용되는 방식을 보여주는 일반적인 사용 사례와 함께 각 에이전트를 보여줍니다.
### 3.1 대화 에이전트 사용 사례: 인스턴트 주문 상태
Jane 고객이 최근 주문 상태를 확인하기 위해 회사 웹 사이트를 방문합니다.
- **상호 작용:** Jane이 채팅 창(Agentforce 채팅 클라이언트)을 엽니다.
- **에이전트 작업:** 대화 에이전트가 그녀를 맞이하고 도움이 되는 방법을 묻습니다. Jane이 "제 최신 주문은 어디에 있나요?"라고 질문합니다.
- **프로세스:**
1. 에이전트는 Salesforce에서 Jane의 고객 정보를 기반으로 가장 최근 주문을 식별합니다.
2. 최신 추적 정보를 위해 MuleSoft 커넥터를 통해 배송 시스템을 쿼리하고 Jane에게 실시간 업데이트 및 추적 링크를 제공합니다.
3. 그런 다음, 정책을 조회하고 자동으로 신속한 배송으로 업그레이드됩니다.
4. Jane이 에이전트가 처리할 수 없는 복잡한 질문을 하면, 에이전트는 채팅을 인간 서비스 담당자에게 원활하게 에스컬레이션하고, 컨텍스트를 위해 전체 대화 기록을 제공합니다.
**레시피**
사용되는 패턴: [대화형 AI 패턴](#21-대화-에이전트-패턴), 트랜잭션 데이터를 에이전트에 [통합](#42-데이터-통합-패턴)
**설계 시간**
대화 에이전트를 설정합니다.
고급 채팅 설정
→
서비스 에이전트 만들기
→
지원 주문 정의 주제
→
주문 가져오기 만들기 작업
↓
아웃바운드 에스컬레이션 옴니채널 플로 추가
←
에스컬레이션 주제 만들기
←
주제에 작업 추가
←
상태 가져오기 작업 생성
↓
에이전트 게시
Jane이 웹 페이지에서 Agentforce 창을 열 수 있도록 고급 채팅을 Jane의 채팅 입력 지점으로 설정합니다.
Agentforce를 활성화하고 Agentforce 빌더에서 서비스 에이전트를 생성하여 대화를 처리하고 사용자 정의 작업을 트리거할 수 있습니다.
설명과 지침을 포함하여 지원 주문 주제를 정의하면 에이전트가 "내 최신 주문이 어디 있나요?"라는 질문을 자연스럽게 인식할 수 있습니다.
**에이전트 런타임 프로세스 플로**
에이전트가 설정 및 배포되면 런타임 시 다음 단계 순서가 수행됩니다.
1. **채팅 시작:** Jane은 Agentforce 채팅(내장형 서비스)을 엽니다. Jane이 로그인한 후 세션 및 연락처 컨텍스트가 로드됩니다.
2. **인사와 의도:** 에이전트가 Jane을 맞이합니다. Jane이 주문 상태를 요청하고 의도 감지가 "최근 주문"을 주문 및 추적 주제에 매핑합니다.
3. **CRM 검색:** 에이전트가 최신 주문 가져오기 작업을 트리거하고 Jane의 가장 최근 레코드에 대해 Salesforce(주문 요약/주문)를 쿼리합니다.
4. **배송 문의:** 에이전트는 명명된 자격 증명을 통해 MuleSoft API를 호출하고 /shipping/status/{orderId}는 실시간 상태 및 추적 URL을 반환합니다.
5. **응답 구성:** Agentforce가 결과를 병합하고 응답을 작성합니다. 주문 \[OrderID]가 \[Carrier]를 통해 발송되었으며, 내일 도착합니다 — \[여기에서 추적].
6. **대체 방안:** 일치가 없거나 API 실패가 발생하면, 에이전트는 사과하며 데이터 문제를 해결하기 위해 재시도를 제안합니다.
7. **에스컬레이션:** 복잡하거나 감정적인 쿼리는 Omni-Channel을 통해 자동으로 사람에게 전달되며, 전체 채팅과 컨텍스트가 함께 전달됩니다.
8. **로그:** 모든 의도, 작업 및 결과가 대화형 로그에 저장됩니다. API 대기 시간은 Anypoint Monitoring에서 모니터링됩니다.
9. **지속적인 개선:** 에스컬레이션은 Agentforce 재교육에 활용되며, 공통 플로우는 이후 릴리스에서 개선됩니다.
### 3.2 사전 예방적 에이전트 사용 사례: 고액 장바구니 이탈
고액 고객인 John은 온라인 장바구니에 $1,000 이상의 제품을 추가했지만 60분 이내에 구매를 완료하지 못했습니다.
- **트리거:** John의 연락처 ID와 장바구니 값이 포함된 전자상거래 시스템에서 Cart_Abandoned__e Salesforce Platform 이벤트가 발생합니다.
- **에이전트 작업:** 이 이벤트를 구독하는 사전 예방적 에이전트가 즉시 조치를 취합니다.
- **프로세스:**
1. 에이전트가 Salesforce에서 John의 레코드를 확인하고 VIP 고객임을 확인합니다.
2. 이탈된 장바구니의 모든 세부 사항과 함께 John의 계정 관리자 Sarah에게 우선순위가 높은 작업을 생성합니다.
3. Slack을 통해 Sarah에게 팔로우업을 하도록 독려하는 알림을 보냅니다.
4. 동시에 제한된 시간 10% 할인 코드가 포함된 미리 알림 이메일을 보내 구매를 완료하도록 독려하는 표적 Marketing Cloud 여정에 John을 등록합니다.
**레시피**
이 레시피에서는 VIP 고객이 가치가 높은 장바구니 중단을 해결하기 위해 Salesforce Platform에 사전 예방적 AI 에이전트를 구현하는 방법을 자세히 설명합니다. 이 솔루션은 Salesforce Platform Events, 지식 검색을 위한 Data 360, 그리고 Agentforce를 활용하여 적시에 지능적인 팔로우업 작업을 조율하여 수동 데이터를 능동적인 비즈니스 참여로 전환합니다.
**설계 시간**
연락처 ID, 장바구니 값, 장바구니 최신 업데이트 날짜/시간, 장바구니 세부 정보의 필드를 사용하여 Cart_Abandoned__e 플랫폼 이벤트를 만듭니다.
중단 이벤트 구성: Commerce Cloud를 사용하여 Checkout 이벤트 알림을 위한 플랫폼 이벤트를 만듭니다. 장바구니 체크아웃 세션 상태가 중간 단계에 있고, 세션이 정해진 시간 경과 후 타임아웃되면 이탈이 감지됩니다. 또는 전자상거래가 외부 시스템인 경우 다음 다음 방법 중 하나를 사용하여 Salesforce에 이벤트를 게시합니다. 플로우, Apex, Salesforce APIs 또는 Pub/Sub API.
연락처 객체에서 Customer_Tier__c라는 새 필드를 만들고, 선택 목록 값으로 Standard, Premium, VIP를 정의합니다.
Data 360에서 비정형 데이터 수집 설정: 문서 저장소에서 가져온 할인 정책 문서를 Amazon S3를 통해 Data 360에 추가합니다.
AWS S3 자격 증명 만들기
→
새 S3 데이터 스트림 만들기
→
스트림 구성 및 배포
→
검색 색인 만들기
↓
테스트 검색 함수
←
색인 구성 및 배포
S3에 액세스하기 위해 외부 자격 증명을 만듭니다: IAM 사용자 또는 IdP의 IAM Amazon 리소스 이름(ARN)에 대한 새 액세스 키 및 암호 집합을 만듭니다.
새 S3 데이터 스트림 만들기: 데이터 스트림 탭에서 데이터 스트림 정책 문서 스트림을 만들고, S3 소스를 선택하고, PDF 파일 유형을 선택하고, 새로 고침 주기를 설정하고, 메타데이터 필드(파일 이름 및 크기)를 매핑한 다음, 배포합니다.
데이터 스트림이 완료되면 다음과 같이 검색 색인 만듭니다. 청크 처리를 위해 passage extraction을 사용하고, E5-large-v2 임베딩 모델과 하이브리드 검색 유형을 선택한 후 색인을 배포합니다.
Flow Builder에서 사용자 정의 에이전트 호출 작업을 설정하고 VIP 장바구니 복구 에이전트를 선택합니다. 요청을 보내 고객에 대한 VIP 장바구니 이탈 복구를 시작하고 플랫폼 이벤트 페이로드를 보냅니다.
**에이전트 런타임 프로세스 플로**
에이전트가 설정 및 배포되면 런타임 시 다음 단계 순서가 수행됩니다.
고객이 장바구니를 이탈함
→
Commerce Cloud 게시 이벤트
→
플랫폼 이벤트 트리거 플로
→
플로우에서 직원 에이전트를 호출합니다.
↓
할인 제안에 대한 분석
←
관리자에게 태스크를 생성
←
Slack을 통해 관리자에게 알림
←
에이전트가 복구 주제 실행
↓
여정에 고객 등록
→
고객이 제안을 사용합니다.
→
에이전트가 피드백을 위해 결과를 분석합니다.
1. **장바구니 이탈 감지:** John이 장바구니에 $1,200을 추가한 후, 60분 동안 체크아웃이나 단계 진행이 없으면 장바구니 이탈이 감지됩니다.
2. **플랫폼 이벤트 게시:** Commerce Cloud는 John의 연락처 ID, $1,200의 장바구니 가치, 장바구니 수정 날짜 및 기타 세부 사항이 포함된 Cart_Abandoned__e 이벤트를 게시합니다.
3. **플로우 초기화:** 플랫폼 이벤트가 VIP 장바구니 이탈 복구 플로우를 트리거합니다.
4. **직원 에이전트 활성화:** 플로우가 실행되면 VIP 장바구니 복구 에이전트가 호출됩니다.
5. **주제 실행:** 에이전트가 VIP 장바구니 복구 주제를 해결하고 지침을 실행합니다.
6. **알림 생성:** 에이전트가 Slack에서 John의 계정 관리자 Sarah에게 알림을 보냅니다.
7. **작업 생성:** 에이전트가 Sarah에 대한 과업을 만들어 수행할 후속 조치를 알립니다.
8. **할인 분석:** 에이전트는 Data 360 검색기 함수를 호출하여 장바구니 가치, 고객 계층, 구매 내역을 기반으로 "최대 허용 할인"을 요청하여 할인 분석을 실행합니다. 이 경우 함수는 10% 할인 제안을 권장합니다.
9. **이메일 준비 및 여정 등록:** 에이전트가 할인 혜택 이메일을 준비하고 새 장바구니 가격으로 Marketing Cloud 여정 VIP 장바구니 복구에 John을 등록합니다.
10. **로그 및 속성:** John이 제안을 사용하면 로그 기록 및 전환 지표가 생성됩니다.
11. **피드백 분석:** 결과를 분석하여 제안, 복구까지 소요된 시간, 기타 최적화 요소를 추가로 결정합니다.
### 3.3 환경 에이전트 사용 사례: 실시간 세일즈 통화 지원
세일즈 담당자 David가 새 잠재 고객과 상담 통화에 참여합니다. 지능형 에이전트는 실시간으로 통화를 적극적으로 모니터링하여 잠재 고객의 질문에 답변하여 David에게 즉각적인 지원을 제공합니다.
**예:** 잠재 고객이 특정 제품 사양에 대해 문의할 경우 에이전트가 관련 세부 사항을 자동 검색하고 Slack 또는 비공개 메시지를 통해 David에 전달합니다.
- **트리거:** 잠재 고객이 세일즈 담당자(David)와의 검색 통화 중에 특정 제품 정보가 필요한 질문을 합니다.
- **에이전트 작업:** 환경 에이전트는 통화 로그 및 메시지를 지속적으로 분석하여 필요한 정보를 지능적으로 식별하고 가져옵니다.
- **프로세스:**
1. 에이전트가 통화 내용을 실시간으로 구문 분석합니다.
2. 주요 작업 항목을 자동으로 식별하고 관련 정보를 검색합니다.
3. 이 경우 에이전트가 Salesforce에서 직접 제품 정보를 가져옵니다.
4. 그러면 Slack 또는 비공개 메시지를 통해 검색된 정보가 David에게 자동으로 표시됩니다.
**레시피**
이 레시피에는 실시간 음성-텍스트 기능이 필요한 전제 조건이 있으며, 커뮤니케이션 공급자를 통해 사용할 수 있다고 가정합니다. 예를 들어, 다음은 Zoom 통화를 통합하는 레시피입니다.
**기본 조건:** Zoom 통화의 실시간 전사 예:
- 녹음 읽기, 웹후크 보내기, 회의 스트림에 필요한 범위를 사용하여 Zoom 개발자 플랫폼에서 Zoom 앱을 만듭니다. RTMS(실시간 미디어 스트림)와 같은 필수 제품 기능을 활성화합니다.
- 오디오 스트림을 수신하고 Amazon Transcribe 서비스로 전달하고 기록된 텍스트를 가져오는 중간 신호 서버([Zoom RTMS 샘플](https://github.com/zoom/rtms-samples/tree/main/audio/send_audio_to_aws_transcribe_service_sdk))를 설정합니다. 그런 다음, 전사본이 Salesforce에 플랫폼 이벤트로 게시됩니다.
**설계 시간**
이 에이전트가 실시간 기록을 듣고 의도를 이해하고 제품 데이터에 대해 도움을 주는 설명이 포함된 새 주제인 통화 지원을 추가합니다.
주제 지침을 추가하여 기록을 구문 분석하고 제품 사양을 검색하며 Slack 메시지를 보냅니다.
작업을 만듭니다.
통화 기록 분석 작업: 실시간으로 수신된 통화 기록 데이터를 분석하고 주요 질문 또는 작업을 추출합니다.
제품 사양 가져오기 작업: 제품 Knowledge 기사를 조회합니다.
"내부" 사용자에게 Slack 인사이트 보내기
주제에 작업을 추가합니다.
Product Knowledge 데이터 라이브러리를 설정합니다.
새 데이터 라이브러리 만들기
→
Knowledge 기사 추가
→
시스템 청크 및 색인
→
그라운드 라이브러리가 작동 중
설정에서 새 데이터 라이브러리 만들기를 생성합니다. 이름을 "Product Knowledge"로 지정합니다.
제품 정보를 포함하는 Knowledge 기사를 추가합니다.
문서가 자동으로 청크되고 색인화되고 사용 준비됩니다.
제품 사양 가져오기 작업에서 그라운딩 기능을 활용합니다.
Pub/Sub API를 통해 Salesforce에 실시간 기록을 게시합니다.
서버가 오디오 전사를 수신합니다.
→
서버가 플랫폼 이벤트를 게시합니다.
Call Id, Sequence, Speakers, Segment Start Time, Segment End Time, Duration, Transcript Data 필드를 사용하여 플랫폼 이벤트인 Transcript_Segment__e를 만듭니다.
신호 서버(전제 조건 섹션 참조)에서 오디오에서 전사된 텍스트를 수신하면, 즉시 Transcript_Segment__e 이벤트를 통해 데이터를 게시하세요. 다음의 모든 방법을 사용하여 Salesforce에 이벤트를 게시할 수 있습니다. 플로우, Apex, Salesforce API 또는 Pub/Sub API.
Flow Builder에서 사용자 지정 에이전트 설정 호출 가능 작업을 생성하고, 세일즈 통화 실시간 응답 에이전트를 선택합니다. 이벤트 페이로드를 Assist Call 주제로 라우팅합니다. 질문이 주제에서 파생되면 답변을 위해 제품 사양 가져오기 작업에 질문이 전송됩니다.
최종 답변이 컴파일되고 Slack DM을 통해 사용자에게 즉시 전송됩니다.
**에이전트 런타임 프로세스 플로**
에이전트가 설정 및 배포되면 런타임 시 다음 단계 순서가 수행됩니다.
사용자가 Zoom 통화를 시작합니다.
→
서버가 오디오를 전사하고 게시합니다.
→
플로에서 응답 에이전트를 호출합니다.
→
에이전트가 Knowledge 베이스를 쿼리합니다.
↓
Analytics에서 에이전트 성과를 개선합니다.
←
에이전트가 통화 요약을 컴파일합니다.
←
에이전트가 계속해서 듣습니다.
←
에이전트가 Slack DM을 보냅니다.
1. **통화 시작:** David가 Zoom 통화에서 잠재 고객과 디스커버리 콜을 시작합니다. Zoom RTMS는 실시간 오디오를 신호 서버 전사 엔드포인트로 스트리밍합니다.
2. **실시간 전사:** 신호 서버는 오디오를 수신하고, 오디오를 텍스트로 전사한 후, Salesforce Platform에 전사 세그먼트 플랫폼 이벤트를 게시합니다.
3. **에이전트 청취 및 컨텍스트 분류:** Salesforce가 플랫폼 이벤트를 수신하고 'Discovery Call Insights' 플로를 트리거합니다.
4. 플로는 세그먼트를 수신하는 세일즈 통화 실시간 응답 에이전트를 시작하고, "Toaster 2XP는 모바일 장치와 통합합니까?"와 같은 질문을 식별한 후 통화 지원 주제 아래에 분류합니다.
5. **지식 검색:** 에이전트가 제품 사양 가져오기 작업을 트리거하고 지식 데이터를 쿼리하여 일치하는 답변을 찾습니다.
6. **개인 Slack DM 보내기:** 에이전트가 David의 Slack DM에 게시하는 Slack 인사이트 보내기를 실행합니다. "제품 _토스터 2XP_은 Apple 및 Android 장치와 통합할 수 있으며 Bluetooth를 통해 연결할 수 있습니다." 앱이 설치되면 Bluetooth를 통해 연결하고 토스터를 작동하기만 하면 됩니다. 다음은 설명서에 대한 링크입니다."
7. **실시간 지속:** 에이전트는 계속해서 전사 텍스트를 수신하며, 여러 인사이트가 나타나면 통화 플로를 방해하지 않고 상황에 맞는 Slack 회신을 스레드 형태로 전개합니다.
8. **통화 후 요약:** 세션이 종료되면 에이전트가 주요 질문, 수행된 조치, 참조된 제품 등을 포함한 요약을 자동으로 작성합니다.
9. **지속적인 개선:** Agentforce Analytics는 전사–응답 지연 시간, 제품 매칭 정확도, 판매 결과를 평가하여 주제 지침을 지속적으로 개선합니다.
### 3.4 자율 에이전트 사용 사례: 지역 리드 생성
세일즈 관리자 Bob이 자율 에이전트에게 다음과 같은 목표를 지정합니다. 향후 60일 동안 캘리포니아 제조 부문에서 판매 파이프라인을 500만 달러 늘려라.
- **트리거:** 관리자가 Slack의 명령을 통해 목표를 할당합니다.
- **에이전트 작업:** 자율 에이전트가 계획 및 실행 루프를 시작합니다.
- **프로세스:**
1. **연구:** 에이전트가 Salesforce Data 360 및 외부 데이터 소스(MuleSoft를 통해)를 쿼리하여 현재 고객이 아닌 캘리포니아 제조 부문의 회사를 식별합니다.
2. **자격 확인:** 이러한 회사를 분석하여 최근 펀딩 라운드, 신규 경영진 채용 또는 관련 채용 공고와 같은 구매 신호를 찾습니다. 상위 20개 잠재 고객에게 점수를 매기고 우선순위를 매깁니다.
3. **연락처 확인:** 해당 회사의 핵심 연락처(예: 운영 부사장 및 공장 관리자)를 찾습니다.
4. **아웃리치:** 각 연락처에 대해 특정 회사 뉴스나 고충을 언급하여 맞춤형 아웃리치 이메일 초안을 작성합니다. 다음 주에 해당 이메일이 전송되도록 예약합니다.
5. **후속 조치:** 이메일 열기 및 회신을 추적합니다. 잠재 고객이 긍정적으로 회신하면, 해당 고객의 캘린더를 분석하여 회의 시간을 제안하고, 확인되면 Salesforce 이벤트와 새로운 기회가 자동으로 생성됩니다.
6. **보고서:** Slack에서 세일즈 관리자에게 주간 진행 현황 보고서를 제공합니다.
**레시피**
이는 각 에이전트가 특정 과업을 수행하고 컨텍스트, 데이터, 제어를 다음 에이전트에게 전달하는 다중 에이전트 시나리오입니다. 연구와 자격 평가를 위해 몇몇 맞춤형 헤드리스 에이전트를 사용하며, 잠재 고객 아웃리치와 모니터링에는 기본 제공되는 Sales Development Rep (SDR) 에이전트를 활용합니다. Bob의 회사가 시장 조사에 ZoomInfo를 사용한다고 가정할 수도 있습니다. 또한 회사는 데이터베이스에 유지되고 파트너와 협력하는 회사에 대한 유용한 정보를 포함하는 공급자 네트워크 데이터를 수신합니다.
**설계 시간**
다중 에이전트 아키텍처를 설정합니다.
조사 에이전트의 인텔리전스 수집
→
자격 확인 에이전트 점수 리드
→
SDR 에이전트가 아웃리치를 시작합니다.
조사 에이전트: MuleSoft를 통해 Data 360 및 외부 소스 쿼리
자격 확인 에이전트: 리드 우선 순위 지정, 점수 매기기, 보강
SDR 에이전트: 리드 할당을 받고, 아웃리치를 실행하며, 후속 조치를 취하고, 회의를 예약합니다. Agentforce Analytics for SDR 에이전트를 사용하여 SDR 에이전트의 활동 및 진행 상태를 모니터링합니다.
새 회사 데이터를 검색하고 수집합니다.
새 데이터 공간 만들기
→
Salesforce CRM 데이터 수집
→
ZoomInfo 데이터 수집
→
공급업체 데이터베이스 데이터 수집
세일즈 및 마케팅이라는 새 데이터 공간을 설정합니다. 이 새 데이터 공간에는 자율 에이전트에 필요한 모든 데이터가 포함됩니다.
Salesforce 커넥터를 사용하여 리드, 계정, 연락처, 기회 CRM 데이터를 데이터 공간으로 유입합니다.
ZoomInfo용 Data 360 커넥터를 구성합니다. 데이터를 Data 360 세일즈 및 마케팅 데이터 공간으로 유입합니다.
공급업체 데이터베이스에 연결하고 데이터를 Data 360에 수집하도록 Anypoint Salesforce Data 360 커넥터를 구성합니다.
플랫폼 이벤트를 설정하여 헤드리스 연구 및 자격 확인 에이전트를 시작합니다.
새 플랫폼 이벤트 만들기
필드 목표를 사용하여 새로운 AgentGoal__e 플랫폼 이벤트를 만들어 인간 사용자의 상위 수준 목표를 파악합니다.
사용자의 목표를 수신하고 다른 에이전트에게 오케스트레이션하는 대화형 AI 에이전트인 목표 오케스트레이터 에이전트를 설정합니다.
설명(이 에이전트가 목표 의도를 이해하고 필요에 따라 추가 에이전트를 호출할 수 있음)과 함께 새 주제인 '목표 구문 분석'을 추가합니다.
주제 지침을 추가하여 목표를 구문 분석하고 다른 에이전트에게 이벤트를 트리거합니다.
목표 이벤트, AgentGoal__e를 만듭니다.
오케스트레이션 에이전트가 트리거하는 리드 연구 및 자격 확인 에이전트를 설정합니다.
조사 주제 만들기
→
중복 제거 작업 만들기
→
리드 보강 만들기 작업
→
리드 점수 매기기 작업 만들기
↓
주제에 작업 추가
←
리드 자격 확인 작업 만들기
설명이 "지역 또는 주의 새로운 리드를 조사합니다."인 잠재 고객 조사 주제를 만듭니다.
작업을 만듭니다.
리드 Apex 중복 제거 작업: 기존 고객과 비교하여 신규 리드를 확인하고 유효성을 검사합니다.
프롬프트 템플릿을 사용하는 리드 Apex 보강 작업: 비정형 마케팅 인사이트 및 공급업체 데이터베이스 데이터를 살펴보고 리드 데이터 보강
리드 점수 매기기 작업: 업데이트된 리드 데이터를 사용하여 리드의 점수를 사전에 매깁니다.
에이전트용 리드 자격 확인 작업: 점수 결과를 기반으로 SDR 에이전트에 적합한 리드의 매개 변수를 할당합니다.
Agentforce SDR 에이전트를 설정하여 지원, 리드 육성, 회의 예약을 수행합니다.
템플릿에서 SDR 에이전트 만들기
→
에이전트 지식 기반 구성
→
에이전트 이메일 설정 구성
→
리드 할당 규칙 설정
↓
적격 리드 기준 정의
사전 구성된 Lead Nurture Agent 템플릿을 사용하여 설정 페이지에서 새 SDR 에이전트를 만듭니다. 이메일 설정 및 리드 할당 규칙을 구성하고 리드 개체 또는 연락처 개체를 선택한 후, 할당 규칙에 대한 자격 기준(임계값 리드 점수 및 신규 리드)을 정의합니다.
Flow Builder에서 사용자 정의 에이전트 호출 가능 작업을 설정하고, Lead Research and Qualification 에이전트를 선택합니다.
**에이전트 런타임 프로세스 플로**
에이전트가 설정 및 배포되면 런타임 시 다음 단계 순서가 수행됩니다.
사용자가 상위 수준의 목표를 할당합니다.
→
오케스트레이터 에이전트가 이벤트를 만듭니다
→
플로가 목표를 에이전트에게 라우팅
→
조사 에이전트가 리드의 자격을 평가합니다.
↓
분석을 사용하여 에이전트를 모니터링합니다.
←
SDR 에이전트가 회의를 예약합니다.
←
SDR 에이전트가 아웃리치를 시작합니다.
- **목표 지정:** Bob은 자율 에이전트에게 "캘리포니아 제조 분야의 파이프라인을 60일 내에 5백만 달러만큼 늘리기"라고 할당합니다.
- **목표 오케스트레이션:** 자율적인 Goal Orchestrator 에이전트가 목표를 수신하고, 의도를 구문 분석하며, 플랫폼 이벤트인 AgentGoal__e를 만듭니다. 목표 오케스트레이터 에이전트는 여러 목표를 처리할 수 있는 기능을 지속적으로 확장하도록 설계되었습니다. 이를 확장하여 추가 오케스트레이션 기능을 추가하거나, 의도를 더 잘 이해하기 위해 사용자에게 추가 설명을 요청할 수 있습니다.
- **경로 지정:** Route Goals to Agents 플로우가 트리거되어 Lead Research and Qualification 에이전트를 호출합니다.
- **연구:** 리드 연구 및 자격 확인 에이전트는 Data 360에서 신규 리드 정보를 조회하고, 기존 고객과의 중복을 제거하며, 추가 시장 조사 데이터를 Data 360에서 가져와 리드를 보강합니다. 추가로 리드 점수를 산정하고, 주요 연락처를 식별하며, 리드의 자격을 평가합니다.
- **아웃리치:** 리드가 자격을 갖추면, 리드 할당 규칙에 따라 SDR 에이전트에게 할당됩니다. SDR 에이전트는 초기 아웃리치를 수행하고 제품 관련 질문에 답변하여 연락처와 대화를 유지합니다.
- **후속 조치:** 케이던스 종료 후 또는 리드의 요청 시, 서비스 담당자 참여 자격이 있는 리드에 대해 에이전트가 회의 일정을 요청합니다. 그런 다음, 회의를 예약하고 플로를 종료합니다.
- **에이전트 분석:** [SDR Agent Analytics](https://help.salesforce.com/s/articleView?id=sales.sales_agent_sdr_analytics.htm&type=5) 대시보드는 에이전트가 얼마나 효과적으로 성과를 내고 있는지에 대한 인사이트를 제공합니다.
### 3.5 공동 작업 에이전트 사용 사례: 복잡한 서비스 에스컬레이션
장기 고객이 여러 가지 문제를 겪고 있습니다. 초과 청구가 있었고, 수령한 교체 부품이 잘못되었으며, 이제 서비스가 끊겼습니다.
- **트리거:** 고객이 채팅을 시작하면 초기 대화 에이전트가 복잡성을 신속하게 인식하고 에이전트 스웜으로 에스컬레이션합니다.
- **에이전트 작업:** 오케스트레이터 에이전트가 책임을 맡습니다.
- **프로세스:**
1. **오케스트레이터:** 고객과의 대화를 유지하며 업데이트를 제공합니다.
2. **오케스트레이터 위임:** 오케스트레이터는 A2A 프로토콜 구현을 사용하여 필요한 기능이 있는 "관련 에이전트"(청구, 물류, 프로비저닝)를 찾고 업무를 할당합니다.
- **청구 에이전트:** 고객 X에 대한 인보이스 #INV-7890을 조사하라. 불일치가 있는가?
- **물류 에이전트:** "고객 X의 추적 번호 #TN-12345를 확인합니다. 배송된 부품 번호 및 올바른 부품의 현재 재고를 확인하십시오."
- **프로비저닝 에이전트:** "계정 #ACC-5678에 대한 서비스 상태를 확인합니다. 연결이 끊어진 경우, 이유 코드는 무엇인가?
3. **전문 에이전트가 실행합니다:** 각 에이전트가 A2A 요청을 수신하고 해당 시스템을 쿼리한 후 응답을 수립합니다.
4. **합성:** 에이전트는 A2A 응답을 통해 결과를 오케스트레이터에 다시 보고합니다. 오케스트레이터는 정보를 종합합니다. "고객이 실제로 50달러를 초과 청구받았습니다. 창고 오류로 인해 잘못된 부품이 배송되었습니다. 청구 문제로 인해 서비스 연결이 자동으로 끊어졌습니다."
5. **확인:** 오케스트레이터는 고객에게 문제에 대해 알리고 다음 단계에 대한 명확한 지침과 함께 문제를 실제 서비스 담당자에게 에스컬레이션하겠다고 제안합니다.
6. **해결:** 그런 다음, 승인을 위해 서비스 담당자에게 전체 솔루션을 제안합니다. 서비스 담당자가 대화에 참여합니다. 서비스 담당자는 에이전트의 권장 솔루션을 포함하여 문제와 관련된 모든 데이터를 빠르게 살펴봅니다. 올바른 부품에 대해 신속 배송으로 새 배송 주문을 생성하십시오. 잘못된 부품에 대한 반품을 시작하십시오. 새 주문에 10% 할인을 승인하고 최신 개선 버전의 부품을 상향 판매하십시오. 결제 정보를 업데이트하고 반복 청구 설정을 제안합니다."
**레시피**
이 레시피는 여러 측면과 관련된 복잡한 고객 서비스 문제를 해결하기 위해 설계된 협업 에이전트 시스템의 구현 방법을 간략하게 설명합니다. 오케스트레이터 에이전트를 사용하여 A2A 프로토콜을 통해 전문 에이전트(청구, 물류, 프로비저닝)에게 과업을 위임한 다음, 결과를 합성함으로써 종합적인 솔루션을 제공하고 최종 승인 및 고객 상호 작용을 위해 서비스 담당자를 원활하게 통합합니다.
**설계 시간**
Enhanced Chat 설정을 고객의 채팅 진입점으로 지정하여, 고객이 웹 페이지에서 Agentforce 창을 열 수 있도록 합니다.
Agentforce Billing Agent를 설정합니다. 이는 주문 또는 송장을 접수하고 청구 문의를 수행할 수 있는 헤드리스 전문 에이전트입니다.
플로우 액션을 호출하는 Call Agent 액션을 만듭니다. 플로우 액션에는 여러 에이전트 액션이 있으며, 각각의 헤드리스 에이전트(청구 에이전트, 물류 에이전트, 프로비저닝 에이전트)를 개별적으로 시작할 수 있습니다.
사례를 만들고 세부 사항을 추가하고 상태를 설정하는 사례 만들기 작업을 만듭니다.
설명과 함께 에스컬레이션 주제를 정의하여 서비스 담당자에게 에스컬레이션합니다.
아웃바운드 옴니채널 플로우를 생성하고 활성화합니다.
에스컬레이션 메시지와 함께 에이전트의 연결 탭에 추가하여 에스컬레이션할 수 있도록 합니다.
**에이전트 오케스트레이션 프로세스 플로**
이제 Anypoint Code Builder에서 에이전트 중개인 구축을 지원합니다. 에이전트 중개인은 도메인 전반에서 에이전트를 연결하고 가장 적합한 에이전트 및 도구를 참여시키는 지능형 라우팅 및 오케스트레이션 계층입니다. MuleSoft 개발자 에이전트가 중개인을 위한 기초를 설정하는 코드를 생성합니다.
이전에 에이전트 레지스트리에 등록된 에이전트 카드(A2A 서버)에 명시된 에이전트 기능을 기반으로 Anypoint Code Builder에서 추가 구성을 자동으로 수행합니다. 마지막으로 이 에이전트 중개인을 클라우드에 배포할 수 있습니다.
에이전트 중개인을 사용할 수 있게 되면 해당 요청이 적절한 에이전트에게 라우팅됩니다. 브로커는 프롬프트를 수신하고 LLM을 사용하여 이를 과업으로 분해한 후, 먼저 호출할 에이전트를 결정합니다. 각 반복 루프에서 원래 프롬프트를 성공적으로 해결했는지, 아니면 작업을 완료하기 위해 추가 에이전트와 작업해야 하는지 판단합니다.
Agentforce 도움말 에이전트
→
MuleSoft 에이전트 브로커
→
청구 에이전트(A2A 서버)
→
물류 에이전트(A2A 서버)
↓
도움말 에이전트가 응답을 받습니다.
←
중개인이 응답을 집계합니다.
←
조달 에이전트(A2A 서버)
**에이전트 런타임 프로세스 플로**
에이전트가 설정 및 배포되면 런타임 시 다음 단계 순서가 수행됩니다.
고객이 채팅을 시작합니다.
→
고객이 여러 문제를 제기합니다.
→
에이전트가 주문 세부 사항을 조사합니다.
→
오케스트레이터가 전문 에이전트들을 호출합니다.
↓
오케스트레이터가 해결 계획을 합성합니다.
←
프로비저닝 에이전트가 문제를 발견합니다.
←
물류 에이전트가 오류를 확인합니다.
←
청구 에이전트가 불일치를 발견합니다.
↓
에이전트가 서비스 담당자에게 에스컬레이션
→
서비스 담당자가 해결 방법을 제시합니다.
→
시스템 에이전트가 작업을 실행합니다.
→
에이전트가 사례를 업데이트하고 종료합니다.
1. **채팅 시작:** 고객이 Agentforce 채팅(내장형 서비스)을 엽니다. 세션 및 연락처 컨텍스트는 고객이 로그인한 후 로드됩니다.
2. **인사와 의도:** 에이전트가 고객을 맞이합니다. 고객은 명백한 불만을 가지고 과부하, 잘못된 부품, 연결이 끊어진 서비스에 대해 알립니다.
3. **CRM 검색:** 에이전트가 최신 주문 가져오기 작업을 트리거하고 고객의 가장 최근 레코드에 대한 Salesforce(주문 요약/주문)를 쿼리합니다. 그런 다음, 에이전트가 컨텍스트에 따라 주문을 확인하고 고객에게 조사하도록 알립니다. 인보이스 ID, 인보이스와 연결된 추적 번호, 서비스와 관련된 자산 ID를 추가로 조회합니다.
4. **오케스트레이터 활성화:** 오케스트레이터 에이전트가 에스컬레이션 및 주문 ID를 수신한 다음, 사례를 만듭니다. 오케스트레이터 에이전트가 컨텍스트 데이터를 전달하고 청구 에이전트, 물류 에이전트, 프로비저닝 에이전트와 통신합니다.
5. **Billing Agent 응답:** 청구 에이전트가 부품, 단가, 총 비용에 대한 세부 정보를 제공합니다. 주문의 부품과 인보이스의 부품 간의 불일치도 확인합니다. 청구 에이전트가 주문 내 부품의 가격과 초과 청구의 원인을 조회합니다.
6. **Logistics Agent 응답:** 물류 에이전트는 배송된 부품에 대한 세부 사항과 태그 지정 문제로 인해 잘못된 부품이 전송되었을 수 있음을 나타내는 물류 시스템에서 만든 예외 노트와 함께 반환합니다. 물류 에이전트가 또한 문제가 현재 해결되었으며, 올바른 부품이 원본 및 최신 버전 모두에서 사용 가능함을 확인합니다.
7. **프로비저닝 에이전트 응답:** 프로비저닝 에이전트가 서비스 해지 및 만료된 결제 정보 관련 문제에 대한 세부 정보를 제공합니다. 또한 결제 정보를 업데이트하도록 고객에게 알리는 알림이 전송됩니다.
8. **오케스트레이터 합성:** 오케스트레이터 에이전트가 이러한 모든 에이전트의 응답을 종합하고, 각 문제에 대한 지식 문서를 참고하여 해결책을 작성합니다. 먼저 잘못된 부품에 대한 정보를 검색하고 반품을 시작합니다. 두 번째로, 해결 정책 문서를 기반으로 문제에 대한 할인을 제공하고 고객이 구매할 수 있는 최신 버전으로 업그레이드하는 것이 좋습니다(가격 차이가 있음). 세 번째로 고객의 새 결제 정보가 필요하므로 서비스 리포지토리에 에스컬레이션하여 해결 방법을 전달합니다.
9. **에스컬레이션:** 오케스트레이터 에이전트가 모든 필수 컨텍스트, 조사 노트, 해결 권장 사항 및 필요한 승인을 서비스 담당자에게 제공하며, 서비스 담당자를 통화에 참여시킵니다.
10. **휴먼 인 더 루프:** 서비스 담당자는 고객의 인내에 감사하고 문제에 대해 사과하며 문제를 설명합니다. 그러면 서비스 담당자는 보상으로 부품에 대해 10% 할인을 제공하고 고객에게 새로 업그레이드된 부품 및 혜택을 알립니다. 마지막으로 연결 끊김에 대해 설명하고 새 결제 정보를 가져오고 시스템을 업데이트합니다.
11. **선제적 복원:** AI 에이전트는 대화를 모니터링하고 서비스 복원, 업그레이드된 부품 주문, 할인 및 조정 가격으로 새 인보이스 생성에 대해 사전에 조치를 취합니다.
12. **사례 마감:** 마지막으로 요약을 컴파일하고 사례를 업데이트한 후 사례를 마감합니다.
## 장 4: 에이전트를 위한 통합 패턴
에이전트가 효과적이려면 광범위한 엔터프라이즈 데이터 및 도구 집합과 통합할 수 있어야 합니다. 이렇게 하면 에이전트가 구성된 목표를 수행하는 데 필요한 필수 컨텍스트가 제공됩니다. Agentforce 프레임워크는 Salesforce의 **내부** 데이터와 Salesforce의 **외부** 데이터를 모두 통합하는 정교한 통합 아키텍처를 제공합니다.
이 섹션에서는 해당 자원에 에이전트를 연결하는 패턴을 살펴봅니다. 해당 패턴은 통합을 위한 두 가지 기본 접근 방식을 기반으로 구축됩니다.
- **내부 통합(데이터 액세스 및 툴 액세스):** Salesforce 에코시스템 내의 리소스의 경우 에이전트는 두 가지 방식으로 작업할 수 있습니다.
- **데이터 액세스:** Agentforce Core 런타임은 Data 360과 깊이 통합되어 내부 데이터 서비스를 _직접_ 쿼리할 수 있습니다. 기본적으로 **데이터 그래프**에 대한 쿼리를 작성하고 실행하여 고객에 대한 360도 뷰를 가져오고, 비정형 Knowledge를 이해하기 위해 **RAG를 통해** 시맨틱 검색을 수행하고, **Data 360 쿼리 API를 사용하여 대량 정보에 액세스할 수 있습니다.** 이 직접 경로는 데이터 검색 속도 및 유연성에 최적화되어 있습니다.
- **도구 액세스:** 작업에 복잡한 비즈니스 논리나 다단계 프로세스가 포함되어 있거나 엄격한 관리가 필요한 경우 해당 기능은 **작업**에 포함됩니다. Apex 또는 Flow로 구축된 이러한 액션은 에이전트가 데이터를 읽는 것 이상의 작업을 할 수 있도록 안전하고 재사용 가능한 인터페이스를 제공합니다. 레코드를 업데이트하거나 플랫폼 이벤트를 트리거하거나 정해진 모든 비즈니스 프로세스를 실행할 수 있습니다.
- **외부 통합(MCP/A2A):** 에이전트가 Salesforce 외부(예: 외부 응용 프로그램, 마이크로서비스 또는 다른 에이전트)의 정보가 필요한 경우 **Model Context Protocol (MCP)**을 사용합니다. 이 개방형 표준은 상호 운용성을 위한 공통 언어를 제공합니다. MCP 서버는 [AgentExchange](https://agentexchange.salesforce.com/)에서 추가하거나 관리자가 Agent Registry 또는 Apex 콜아웃을 MCP 서버에 추가할 수 있습니다. 그런 다음, 작업이 외부 MCP 서버에 대한 요청을 시작하여 구조화된 방식으로 내부 및 외부 세계를 연결합니다. 마찬가지로 에이전트가 다른 에이전트와 통신해야 하는 경우 **Agent2Agent(A2A)** 프로토콜이 이 상호 작용을 지원합니다. 이를 통해 전문적인 에이전트가 공동 작업하여 복잡한 문제를 해결하여 모듈화 및 재사용 가능성을 촉진할 수 있는 복잡한 다중 에이전트 시스템을 만들 수 있습니다.
다음 패턴은 에이전트에게 필요한 특정 데이터 통합 테마를 기반으로 구성되어 있습니다. MCP를 사용하는 외부 애플리케이션 **연결**에서 Data 360의 **대용량 대량 데이터**, 실시간 **트랜잭션 레코드** 및 Data 360의 직접 액세스 및 공식 작업의 강력한 조합을 사용하여 **비정형 콘텐츠**를 해결하기 위해 이러한 패턴을 어떻게 적용하는지 보여드리겠습니다.
### 4.1 도구 통합 패턴
**문제**
에이전트의 효율성은 외부 도구를 작동하는 능력에 따라 다릅니다. 그러나 기존 ERP에서 최신 SaaS 응용 프로그램에 이르기까지 이러한 도구는 공유 언어가 없습니다. 각각에 고유한 API, 인증 모델 및 데이터 형식이 있습니다. 이로 인해 개발자들은 에이전트가 사용해야 하는 모든 새로운 도구마다 맞춤형 포인트 투 포인트 통합 커넥터를 구축하고 유지해야 하며, 그 결과 시스템은 취약하고 확장성이 떨어지게 됩니다.
**상황**
손상된 배송 사례를 해결하는 임무를 맡은 에이전트를 생각해 보십시오. 성공하려면 세 가지 다른 외부 시스템과 상호 작용해야 합니다. **공급업체의 API를** 쿼리하여 교체 인벤토리를 확인하고, **물류 파트너 서비스**를 호출하여 새로운 배송을 조정하고, 신용을 처리하는 **금융 시스템**에 액세스해야 합니다. 공통 프로토콜이 없으면 에이전트는 3개의 별도의 맞춤형 통합을 필요로 하며, 각각은 잠재적인 실패 지점이 될 수 있습니다. [MCP](#2-에이전트-상호-운용성-a2a-및-mcp)는 이러한 상호 작용을 원활하고 신뢰할 수 있도록 표준화된 통신 계층을 제공합니다.
다음은 에이전트에 MCP를 통해 노출된 외부 서비스를 통합하는 방법에 대한 레시피입니다.
**레시피 1:** **MCP로 외부 도구 활성화**
**문제**
조직은 기존 ERP 및 현대 SaaS의 혼합으로 실행되지만, 공통 프로토콜이 없으므로 에이전트와 통합하기가 어렵습니다. 각 도구에는 자체 API, 인증, 데이터 모델이 있습니다. 개발자들은 모든 도구에 대해 맞춤형 포인트 투 포인트 커넥터를 구축하고 유지해야 하여, 그 결과 통합 시스템이 취약하고 확장성이 떨어지며, 비용 또한 많이 발생하게 됩니다.
**패턴**
에이전트가 구조화된 작업을 통해 외부 도구(MCP를 통해 노출됨)를 호출하여 Salesforce 플랫폼 외부에서 특수 도구를 사용할 수 있습니다.
**상황**
- 에이전트는 Salesforce Platform 외부에 있는 도구의 집합에 대한 프록시 역할을 합니다.
- 해당 외부 도구에는 다양한 API, 인증 메커니즘, 데이터 형식이 있을 수 있습니다.
- 에이전트와 해당 외부 도구 간의 원활한 상호 작용을 활성화하려면 표준화된 커뮤니케이션 프로토콜이 필요합니다.
- 여러 에이전트가 서로 다른 목적으로 동일한 외부 도구를 활용할 수 있으므로 재사용성이 매우 중요합니다.
**상호 작용**
1. **트리거:** 사용자 요청 또는 Agentforce 내부 이벤트는 외부 도구를 사용해야 합니다.
2. **작업 의도:** Agentforce 에이전트는 의도를 식별하고 외부 MCP 기반 도구가 필요한지 결정합니다.
3. **플래너(내부):** Agentforce 에이전트의 플래너는 구성된 지침과 사용 가능한 도구를 바탕으로 적절한 MCP 도구 또는 작업을 선택합니다.
4. **실행:** Agentforce 에이전트는 외부 MCP 서버에 MCP 호환 요청을 보냅니다(예: Apex 콜아웃을 통해 MuleSoft 엔드포인트로 라우팅하여 외부 MCP 서버로 요청을 전달합니다).
5. **외부 처리:** 외부 MCP 서버가 요청을 처리하고, 기본 외부 응용 프로그램과 상호 작용하며, MCP 호환 응답을 준비합니다.
6. **결과**: 외부 MCP 서버가 Agentforce Agent에 응답을 반환합니다.
7. **후속 조치:** Agentforce 에이전트가 응답을 처리하고 내부 상태를 업데이트한 후 과업을 계속 진행하거나 사용자에게 피드백을 제공합니다.
**트레이드오프**
모양
게인
비용
유연성
다양한 외부 기능에 액세스
MCP 서버/통합 레이어 초기 개발
모듈화
에이전트 기능이 외부 도구와 분리됨
신중한 API 설계 및 버전 관리 필요
확장성
외부 시스템의 확장성을 사용합니다.
외부 시스템의 성능이 종속이 됩니다.
표준화
표준 프로토콜(MCP)
채택 및/또는 래퍼
보안
외부 액세스를 위한 중앙 집중식 보안
외부 시스템의 자격 증명 및 액세스 정책 관리
유지보수
외부 도구를 업데이트하려면 에이전트를 변경할 필요가 없습니다. MCP가 변경을 신호할 수 있습니다.
빈번한 변경에 따른 비용
### 4.2 데이터 통합 패턴
에이전트의 의사 결정 로직은 기반 데이터의 품질에 좌우됩니다. 에이전트가 지능적으로 행동하려면 주변 세계를 풍부하게, 실시간으로 이해해야 합니다. 정의된 데이터 수집 아키텍처가 없으면 에이전트가 기능에 필요한 대용량 실시간 정보에 액세스하거나 처리할 수 없습니다.
**에이전트와 트랜잭션 데이터 통합**
**문제**
에이전트는 레코드 시스템에 있는 개별 레코드에 대해 낮은 지연 시간의 읽기/쓰기 작업을 자주 수행해야 합니다(예: 사례 업데이트 또는 주문 상태 가져오기). 이러한 작업을 수행하려면 기본 데이터 모델의 일관성을 보장하기 위해 데이터 무결성과 신뢰성이 필요합니다. 핵심 아키텍처 과제는 취약한 점대점 통합을 만들지 않으면서, 이 트랜잭션 데이터 액세스를 위한 안전하고 실시간이며 확장 가능한 패턴을 제공하는 것입니다.
**컨텍스트**
에이전트를 이러한 레코드에 성공적으로 연결하려면, 여러 **핵심 구성 요소**로 구성된 견고한 아키텍처가 필요합니다.
- **트랜잭션 시스템:** 이러한 데이터는 **Salesforce**, **Workday** 또는 **SAP**와 같은 레코드 시스템 또는 **AWS와 같은 플랫폼에서 호스팅되는 서비스와 같은 권한 있는 소스입니다.**
- **통합 레이어:** 강력한 통합 계층(일반적으로 **MuleSoft)은** 이러한 차별화된 시스템에 안전하게 연결하고 데이터를 변환하고 Agentforce 플랫폼에 노출하기 위해 매우 중요합니다.
- **MCP 서버:** 상호 운용성을 보장하기 위해 에이전트는 MCP 표준을 사용하여 해당 외부 시스템과 통신합니다. 통합 계층은 외부 서비스 또는 에이전트를 호스팅하는 다양한 **MuleSoft, Heroku 또는 타사 MCP 서버**에 연결할 수 있습니다.
- **에이전트 교환:** 이 구성 요소는 디렉터리 또는 스위치보드로 작동하므로 Salesforce 에이전트가 과업을 완료하기 위해 올바른 외부 서비스 또는 에이전트를 찾아 안전하게 연결할 수 있습니다.
**레시피 1: MCP를 통한 직접 기록 작업**
**패턴**
에이전트가 MCP를 사용하여 트랜잭션 데이터 시스템에 연결하고 즉각적인 일관성 요구 사항이 있는 식별된 특정 레코드에 대한 시/도 CRUD 작업을 수행합니다.
**컨텍스트**
- 대화형 협업 에이전트는 작업 흐름에서 레코드 시스템 데이터를 처리해야 합니다.
- 레코드 시스템이 외부 시스템입니다.
- 트랜잭션은 동일해야 합니다.
**핵심 구성 요소**
- **Agentforce 에이전트:** 트랜잭션 업데이트를 위한 주제 및 지침이 포함됩니다. 작업은 외부 MCP 서버 또는 Agentforce Exchange에 등록된 MCP 서버를 호출합니다.
- **MCP 서버:** 트랜잭션 데이터 및 기능을 노출하는 MCP 서버(예: 입력 데이터가 포함된 tool=billing.update_record)
- **외부 기록 시스템:** 시/도 변경이 발생하는 시스템
**상호 작용**
1. **트리거:** 레코드에서 트랜잭션이 필요한 명령 또는 이벤트가 발생합니다.
2. **작업 의도:** Agentforce 에이전트가 상태 변경 의도를 식별합니다.
3. **플래너(내부):** 플래너가 MCP 도구를 선택합니다.
4. **실행:** 도구는 정책, 레코드, 필드 수준 액세스 확인이 통과된 후 실행됩니다.
5. **결과:** MCP 서버가 응답을 반환합니다.
6. **후속 조치:** Agentforce 에이전트가 응답을 처리합니다.
**트레이드오프**
모양
게인
비용
속도
도구 호출 1개
더 많은 거버넌스 오버헤드
멱등성과 안전성
안전한 재시도
중복 제거 및 멱등성 지원 구현
확장성
쉽게 확장 가능
연결 오버헤드
일관성
명확하고 명시적
원자
안전
가드 레일 및 정책을 구현할 수 있습니다.
계단식 정책 변경을 위한 운영 오버헤드
관찰 가능
운영을 위한 상관 관계 및 감사를 사용할 수 있습니다.
텔레메트리 비용 증가
**레시피 2: MuleSoft API를 통한 복잡한 오케스트레이션**
**패턴**
에이전트는 복잡한 다단계의 시스템 간 원자 트랜잭션에 MuleSoft API를 활용합니다. 이를 통해 관리되는 단일 끝점을 제공하여 종단간의 신뢰할 수 있는 처리를 보장하고 개별 시스템에 대한 직접 호출과 관련된 일관성, 신뢰도, 대기 시간, 데이터 문제를 방지할 수 있습니다.
**컨텍스트**
- 대화형 및 자율 에이전트는 종종 여러 작업을 신뢰할 수 있게 수행해야 합니다.
- 트랜잭션에는 여러 트랜잭션 시스템과 작업이 있습니다.
- 워크플로는 트랜잭션/롤백, 재시도, 정책 시행이 필요합니다.
- 트랜잭션 요구 사항은 실시간, 멱등성, 관찰 가능, 규정 준수입니다.
**상호 작용**
1. **트리거:** 복잡한 트랜잭션을 완료해야 하는 명령 또는 이벤트가 발생합니다.
2. **작업 의도:** Agentforce 에이전트가 의도를 식별합니다.
3. **플래너(내부):** 플래너가 [API 또는 API 작업에서 호출 가능한 액션](https://help.salesforce.com/s/articleView?id=platform.api_catalog_activate_agent_topics_and_agent_actions.htm&type=5)을 선택합니다.
4. **실행:** API가 실행되고 응답이 반환됩니다.
5. **후속 조치:** Agentforce 에이전트가 응답을 처리합니다.
**트레이드오프**
모양
게인
비용
속도
여러 배포된 작업에 대한 단일 호출
개발 및 운영 오버헤드
멱등성 및 안전
안전한 재시도/SAGA 지원
복잡성
확장성
쉽게 확장 가능, 비동기 가능
비동기 처리의 최종 일관성
안전
API 레이어의 정책
계단식 정책 변경을 위한 운영 오버헤드
관찰 가능
추적에 사용할 수 있는 상관 관계 및 감사
텔레메트리 비용 증가
**에이전트와 분석 데이터 통합**
**문제**
조직은 데이터 웨어하우스 및 호수, 실시간 분석 시스템, 비즈니스 인텔리전스 플랫폼 등 분석 인프라에 크게 투자했지만 AI 에이전트는 이러한 시스템과 연결되지 않은 상태로 남아 있습니다. 이로 인해, 에이전트가 더 나은 결정을 내리는 데 도움이 되는 풍부한 상황 정보(예: 고객이 지난 분기에 부품을 3회 반품했다는 사실)를 확보하는 데 어려움이 발생합니다.
**컨텍스트**
에이전트의 운영 인텔리전스는 근본적으로 다른 데이터 형식 및 소스에서 정보를 합성하는 능력에서 파생됩니다. 따라서 이 아키텍처 패턴은 단일 사용 사례에 맞는 것이 아니라 기본 데이터 수집 프레임워크로 설계되었습니다. 효율적인 에이전트는 논리적 데이터 중심 분석을 수행할 수 있도록 구조화된 소스를 처리할 수 있어야 합니다. 에이전트는 대용량의 구조화된 피드에 액세스해야 합니다. 여기에는 엔터프라이즈 **데이터 레이크**과 통합(Data 360과의 제로 복제 통합), **미들웨어로 변환된** 데이터 스트림 처리 또는 **CSV**와 같은 배치 파일 수집이 포함됩니다.
**레시피 1: Data 360 Zero-Copy를 통한 데이터 레이크 통합**
**문제**
조직은 데이터 레이크에 저장된 분석 데이터(예: Snowflake)를 복사, 관리, 변환하기 위해 기존 데이터 파이프라인을 사용할 때 높은 비용이 부과됩니다. 이전에는 분석이 대부분 오프라인 상태였으므로 적시에 조치를 취할 기회가 누락되었습니다.
**패턴**
에이전트는 중요한 인사이트를 위해 외부 데이터 웨어하우스를 쿼리하는 대신 Data 360에서 사용할 수 있는 제로 카피 데이터(및 계산된 인사이트)를 쿼리합니다. 이렇게 하면 에이전트가 트랜잭션 및 분석 데이터를 기반으로 더 나은 의사 결정을 내릴 수 있습니다.
**컨텍스트**
- 조직이 데이터 웨어하우스 및 레이크에 고객 및 운영 데이터를 저장합니다.
- 에이전트는 집계된 메트릭, 내역 추세, 분석 인사이트에 액세스해야 합니다.
- 에이전트의 컨텍스트에 트랜잭션 데이터와 분석 데이터가 모두 필요합니다(연구 에이전트의 내역 추세 데이터에 대한 요구 사항 고려).
**상호 작용**
1. **트리거:** 에이전트가 분석 데이터 또는 계산된 인사이트에 액세스해야 하는 인사이트에 대한 쿼리를 수신합니다.
2. **실행:** 에이전트가 쿼리 API를 통해 Data 360 계산된 인사이트를 호출하는 작업을 실행하고 계산된 인사이트가 반환됩니다.
3. **후속 조치:** Agentforce 에이전트가 응답을 처리합니다.
**트레이드오프**
모양
게인
비용
데이터 이동
없음; 제로 카피
비용 계산
대기 시간
며칠 또는 몇 주에서 거의 실시간으로 단축
SLA
확장성
무제한 데이터 용량
비용 계산
**레시피 2: 데이터 스트림에서 작업 트리거**
**문제**
조직은 지속적으로 웹 사이트 방문, 통화, 회의, 채팅, 센서 데이터와 같은 비즈니스 활동에서 중요한 정보를 생성합니다. 그러나 이러한 상호 작용이 데이터 웨어하우스에서 사용 가능해지거나 검색될 때쯤에는, 중요한 인사이트가 이미 사라져 적시에 개입할 기회를 놓치게 됩니다. 따라서 조직은 실시간으로 필요한 실행 가능한 인텔리전스의 대부분을 놓치며, 이는 종종 덧없는 스트림 속에 묻혀 버립니다. 이로 인해 간극이 발생하고, 코칭 기회가 누락되며, 완전한 컨텍스트 없이 결정이 내려집니다.
**패턴**
에이전트는 데이터 작업을 통해 [스트리밍 인사이트](https://help.salesforce.com/s/articleView?id=data.c360_a_create_streaming_insight.htm&language=en_US&type=5) 또는 Data 360의 [실시간 인사이트](https://help.salesforce.com/s/articleView?id=data.c360_a_create_real_time_insight.htm&language=en_US&type=5)에서 실시간 또는 거의 실시간 인사이트를 수신하거나, 에이전트는 Apache Flink와 같은 실시간 처리 엔진과 인터페이스하는 MCP 서버를 쿼리하여 실시간 스트리밍 인사이트에 액세스합니다.
**컨텍스트**
- 플랫폼 이벤트, Pub/Sub API, RTEM과 같은 스트리밍 시스템은 엄청난 양의 스트림 데이터를 생성합니다.
- Data 360 및 Apache Flink과 같은 스트림 처리 시스템은 이러한 개별 이벤트를 도착할 때 처리합니다.
- Agentforce는 예를 들어, 추가 컨텍스트가 포함된 라이브 회의의 최근 30초 기록과 같은 정보를 얻기 위해 스트림 시스템을 쿼리하거나, 사기 감지와 같은 데이터 작업에 의해 트리거됩니다.
- 거의 실시간, 저지연 작업이 필요합니다.
**상호 작용**
1. **스트림 발신:** 소스 시스템은 연속적인 데이터 스트림을 발송합니다.
2. **스트림 처리:** Data 360 또는 Apache Flink과 같은 스트림 처리 엔진이 정보를 처리합니다.
3. **변환:** 인사이트는 미들웨어(복잡한 변환용) 또는 Data 360에서 에이전트 인식 데이터로 집계, 변환, 합성됩니다.
4. **스트림 인사이트 이벤트:** 합성된 데이터에 대해 Data 360 데이터 작업이 트리거됩니다(예: 30초 오디오 스트림 기록).
5. **Enrich:** 에이전트가 컨텍스트를 추가하고 의도를 감지합니다.
6. **실행:** 에이전트가 작업을 실행합니다.
7. **후속 조치:** 에이전트가 다음 스트리밍 인사이트를 기다립니다.
**트레이드오프**
모양
게인
비용
대기 시간
초 단위로 사용 가능합니다.
계산 및 구현 비용
커플링
프로듀서는 소비자와 독립적입니다.
디버깅 및 추적이 더 어렵습니다.
확장성
확장 가능
제한
주문
증분 컨텍스트 구축
비순차적 도착
값
거의 실시간 인사이트
거버넌스 및 규정 준수 오버헤드
**시맨틱 데이터를 에이전트와 통합**
조직에는 다양한 형식과 모양의 비즈니스 아티팩트(카탈로그, 설명서, 정책, 지식 그래프, 관계도)가 있습니다. 간단한 과업 실행을 벗어나 정교한 추론에 참여하려면 에이전트가 대부분의 인적 지식이 저장된 데이터를 이해할 수 있어야 합니다.
**레시피 1: RAG: 에이전트를 위한 비정형 데이터의 기능 활용**
**문제**
조직에는 검색이 불가능한 정보가 빈번히 존재하여 에이전트가 이를 자신 있게 활용하는 데 제약이 됩니다. 이러한 결함은 종종 에이전트의 불완전한 응답으로 이어지며, 필요한 컨텍스트 깊이와 신뢰 구축을 위한 검증 가능한 인용이 부족합니다. 따라서 에이전트가 시맨틱하고 정확한 콘텐츠를 일관되게 검색할 수 있도록 표준화된 방법이 필요합니다.
**패턴**
이 패턴은 내부 문서에서 공개 웹 콘텐츠까지 에이전트가 광범위한 구조화되지 않은 정보를 수집하고 해석할 수 있는 아키텍처를 제공합니다. 에이전트에게 이 데이터에 대한 액세스 권한을 부여하면 시장 분위기 분석, 문서 요약, 경쟁사 조사와 같은 고급 기능을 사용할 수 있습니다.
**컨텍스트**
- 지식은 다양한 형식과 형태의 파일에 존재합니다.
- 중복 콘텐츠가 이러한 문서 전반에 널리 존재합니다.
- 에이전트에게는 인용할 수 있는 정확한 정보가 필요합니다.
- 지식은 자주 변경되므로 파일을 새로 고치고 다시 색인화해야 합니다.
**상호 작용**
에이전트가 콘텐츠를 수집하거나 그대로 사용할 수 없습니다. 콘텐츠는 청크로 분할되고, 임베딩되어 벡터 데이터베이스에 저장 및 색인화되어야만 에이전트가 검색하고 사용할 수 있습니다.
**수집 및 준비**
1. **크롤 및 수집 소스:** 소스는 PDF 파일 업로드 등 수동으로 또는 AWS S3 등 위치별로 두 가지 방법으로 식별할 수 있습니다.
2. **청크 분할:** 수집된 콘텐츠는 효율적인 처리 및 검색을 위해 관리하기 쉬운 작은 조각들로 분할됩니다. 이는 RAG에서 매우 중요한 단계로, 전체 문서가 아닌 가장 관련성 높은 정보만을 검색할 수 있도록 합니다.
3. **임베딩:** 각 청크는 특수 언어 모델을 사용하여 _삽입_이라는 숫자 표현으로 변환됩니다. 이러한 임베딩은 텍스트의 의미를 포착하여 유사성 기반 검색을 가능하게 합니다.
4. **벡터 스토리지:** 임베딩은 고성능 유사성 검색에 최적화된 특수 데이터베이스인 Data 360 벡터 저장소에 저장됩니다. 이렇게 하면 에이전트가 관련 콘텐츠를 빠르게 찾을 수 있습니다.
5. **인덱싱:** 콘텐츠와 임베딩이 벡터 저장소 내에서 색인화되어 쉽게 검색할 수 있습니다.
**Data 360 검색 기능**
- **콘텐츠 검색:** 이 함수는 입력으로 쿼리를 취하고 Data 360 벡터 저장소에 대한 시맨틱 검색을 수행하여 가장 관련성이 높은 콘텐츠 청크를 찾습니다.
- **콘텐츠 필터링:** 이 기능을 사용하면 문서 유형, 작성자 또는 날짜와 같은 메타데이터를 기반으로 검색된 콘텐츠를 필터링하여 결과를 세분화할 수 있습니다.
- **콘텐츠 순위 지정:** 이 함수는 유사도 점수(벡터 검색), 키워드 점수 또는 둘 모두의 조합(하이브리드 검색)을 기반으로 검색된 콘텐츠 청크의 순위를 지정합니다.
**검색 및 생성**
- **쿼리:** 에이전트가 정보가 필요할 때, 쿼리를 작성하고 이 쿼리 역시 벡터로 임베딩됩니다.
- **시맨틱 검색:** 에이전트가 Data 360 벡터 저장소에 대한 시맨틱 검색을 수행하여 쿼리의 임베딩과 저장된 콘텐츠 청크의 임베딩을 비교합니다. 이렇게 하면 벡터 점수 또는 하이브리드 점수(벡터와 키워드 결합)를 기반으로 가장 의미적으로 관련성이 높은 청크가 검색됩니다.
- **Retrieval-Augmented Generation (RAG):** 검색된 콘텐츠 청크는 원래 쿼리와 함께 Agentforce 에이전트에게 컨텍스트로 제공됩니다. LLM은 이 컨텍스트를 사용하여 정확하고 인용 가능한 답변을 생성합니다.
- **응답 및 인용:** 에이전트는 생성된 답변을 원본 소스 문서나 웹 링크의 인용과 함께 제시하여 신뢰를 구축하고 검증할 수 있도록 합니다.
**트레이드오프**
모양
게인
비용
정확도
더 높은 신뢰 (인용이 포함된 근거 있는 답변)
문서 큐레이팅 및 위생
검색
자연어 및 키워드를 처리합니다.
더 많은 저장소와 튜닝 작업
보안
특권 액세스 적용 가능
런타임 오버헤드, 캐시 복잡성
청크
관련성 향상
추가 사전 처리 및 튜닝
버전 관리
오래된 지식을 필터링
유지보수 및 거버넌스 비용
**레시피 2: 데이터 그래프: 에이전트를 위한 사전 큐레이팅된 구조화 그래프 데이터**
**문제**
조직은 사일로화된 관계 데이터를 보유하고 있어 에이전트가 이를 검색하는 데 어려움을 겪습니다. 이 문제로 인해 에이전트가 여러 엔티티 간의 연결에 대한 신뢰를 구축할 수 있을 만큼 충분한 컨텍스트 세부 정보가 부족한 불완전한 응답을 제공하거나, 여러 데이터베이스에서 정보를 검색해야 할 때 지연이 발생하는 경우가 많습니다.
**패턴**
이 패턴은 내부 CRM 데이터에서 외부 지식 그래프에 이르기까지 에이전트가 다양한 구조화된 관계 정보를 수집하고 해석할 수 있는 아키텍처를 제공합니다. 에이전트에게 이 데이터에 대한 액세스 권한을 부여하면 고객 360도 보기, 복잡한 종속성 분석 및 동적 컨텍스트 구축과 같은 고급 기능을 사용할 수 있습니다.
**컨텍스트**
1. 관계 데이터는 다양한 시스템 및 형식에 분산되어 있습니다.
2. 에이전트는 엔티티 간의 연결(예: 고객, 사례, 주문, 관련 제품)을 이해해야 합니다.
3. Knowledge 그래프와 연결된 데이터 모델은 복잡한 관계를 이해하는 데 필수적입니다.
4. 에이전트는 인용할 수 있는 엔티티 관계에 대한 정확한 정보를 필요로 합니다.
**상호 작용**
관계 데이터는 그래프 구조로 통합되어야만 에이전트가 효율적으로 쿼리하고 사용할 수 있습니다.
**수집 및 준비**
1. **크롤링 및 수집 소스:** 데이터 소스(예: CRM 시스템, ERP, 외부 API, CSV)가 식별되고 Data 360에 수집됩니다.
2. **데이터 정합화:** 원시 데이터는 Data 360 내의 데이터 모델 개체(DMO)에 매핑되어 구조를 표준화하고 통합 보기를 만듭니다.
3. **식별자 해소:** 중복 고객 프로필이 통합되고 관련 레코드가 연결되어 각 고객에 대한 정확한 단일 보기를 만듭니다.
4. **데이터 그래프 생성:** DMO는 서로 다른 엔티티 간의 관계를 나타내는 데이터 그래프를 형성하기 위해 연결됩니다(예: 고객 DMO가 사례 DMO에 연결되고, 사례 DMO가 제품 DMO에 연결됨). 이 그래프를 사용하면 관계를 효율적으로 탐색할 수 있습니다.
5. **계산된 인사이트:** 집계 메트릭 및 파생된 특성(예: 고객의 총 구매 내역)이 계산되고 데이터 그래프에 추가되어 더 풍부한 컨텍스트를 제공합니다.
**검색 및 생성**
1. **쿼리:** 에이전트에게 엔티티 간 관계와 관련된 정보가 필요한 경우 데이터 그래프에 대한 쿼리를 작성합니다(예: "이 고객에 대해 진행 중인 모든 사례 및 연결된 제품은 무엇입니까?").
2. **그래프 이동 및 쿼리 API:** 에이전트는 Data 360 쿼리 API를 사용하여 데이터 그래프를 이동하고 쿼리를 기반으로 연결된 레코드, 계산된 인사이트, 관련 특성을 검색합니다.
3. **컨텍스트 기반 생성:** 검색된 관계 인식 데이터는 원래 쿼리와 함께 Agentforce 에이전트에게 컨텍스트로 제공됩니다. LLM은 이 보강된 컨텍스트를 사용하여 데이터의 상호 연결성을 반영하는 정확하고 인용 가능한 답변을 생성합니다.
4. **응답 및 인용:** 에이전트는 신뢰를 구축하고 검증을 가능하게 하기 위해, 응답에 정보를 제공한 데이터 그래프 내의 특정 레코드 또는 관계에 대한 참조와 함께 생성된 답변을 제시합니다.
**트레이드오프**
모양
게인
비용
정확도
더 높은 신뢰(확인 가능한 관계가 있는 근거가 있는 답변)
데이터 정합화 및 그래프 모델링 노력
검색
복잡한 관계 쿼리를 처리합니다.
그래프 탐색은 매우 큰 그래프의 경우 계산 비용이 많이 들 수 있습니다.
보안
관계를 기반으로 특권 액세스를 적용할 수 있음
런타임 오버헤드, 복잡한 액세스 제어
컨텍스트 깊이
엔티티 및 연결에 대한 풍부하고 전체적인 이해
그래프 최적화를 위한 추가 사전 처리 및 튜닝
유지보수
관계에 대한 중앙 집중화된 데이터 모델
발전하는 비즈니스 요구에 따른 지속적인 DMO 조정
## 결론
엔터프라이즈는 AI 에이전트가 주도하는 자동화 및 인텔리전스의 새로운 시대의 문턱에 서 있습니다. 간단한 고객 쿼리를 처리하는 것에서 복잡한 비즈니스 전략을 자율적으로 실행하는 것까지, 에이전트는 생산성과 고객 참여를 재정의할 것을 약속합니다. Salesforce Agentforce 플랫폼은 이 변환을 위한 필수적이고 신뢰할 수 있는 기반을 제공합니다. 강력한 선언적 및 프로 코드 도구 제품군, 통합 데이터 플랫폼, A2A 및 MCP를 통한 표준 개방을 위한 노력으로 Agentforce 모든 유형의 에이전트를 구축할 수 있는 종합적이고 신뢰할 수 있는 기반을 제공합니다. 이 아키텍처를 사용하면 조직에서 측정 가능한 비즈니스 성공을 위해 격리되지 않고 연결된 파트너 역할을 수행하는 지능형 목표 지향 에이전트를 배포할 수 있습니다.
## 부록
### Agentforce로 고급 에이전트 구축: 알아야 할 사항
Salesforce는 Agentforce 플랫폼을 통해 통합된 강력한 도구 세트를 제공하며, 정교한 에이전트를 구축할 수 있는 기반이 됩니다. 이 문서의 레시피와 예는 Agentforce 플랫폼의 기능 및 에이전트의 상호 작용 방식에 익숙함을 가정합니다. 이 섹션에서는 이 문서의 레시피 및 패턴을 최대한 활용하기 위해 반드시 이해해야 하는 주요 구성 요소에 대한 개요를 제공합니다.
### 1\. Agentforce 플랫폼 기능
이 섹션에서는 아키텍처 및 개발자가 Agentforce 에이전트를 구축하는 데 필요한 기본 플랫폼 기능을 간략하게 설명합니다.
- **Salesforce 플로우:** 에이전트 논리를 정의하기 위한 기본 도구입니다. 선언적이고 시각적인 인터페이스는 에이전트가 수행할 단계를 오케스트레이션하는 데 이상적입니다.
- **Apex:** 복잡한 사용자 정의 논리, 자율 에이전트를 위한 상태 관리, 복잡한 통합 기능을 제공합니다.
- **플랫폼 이벤트:** 사전 예방적이고 공동 작업하는 에이전트의 신경계로서 A2A 프로토콜의 전송 계층 역할을 합니다.
- **Data 360:** 에이전트의 통합 장기 기억입니다. 지능적인 행동에 필요한 컨텍스트를 제공하며, 검색 증강 생성(RAG)의 기반입니다.
- **MuleSoft:** MuleSoft는 시스템 통합과 MCP를 통한 플랫폼 간 에이전트 커뮤니케이션을 가능하게 하는, 에이전트의 외부 세계로의 연결 고리 역할을 합니다.
- **Slack:** 과업, 알림, 승인을 포함하여 사람과 에이전트의 상호 작용을 위한 기본 표면
- **Agentforce Chat Client:** 사용자 정의 및 임베드할 수 있는 고객 대면형 대화 에이전트를 위한 프론트엔드입니다.
### 2\. 에이전트 상호 운용성: A2A 및 MCP
에이전트가 진정으로 효과적이려면 사일로에 고립되어서는 안 됩니다. Agentforce는 두 가지 핵심 상호 운용성 패턴을 채택합니다.
- **Agent2Agent(A2A) 통신:** 이 프로토콜은 Salesforce 에코시스템 내의 에이전트가 서로 커뮤니케이션하는 방법을 관리합니다. Agentforce 플랫폼은 각각 요청을 만들고 수신하는 **A2A 클라이언트와 서버**로 작동하며, 이는 협업형 에이전트 집합에 매우 중요합니다. 에이전트를 **관련 에이전트**와 함께 구성하여 특정 기술을 가진 다른 에이전트를 검색하고 호출하여 동적이고 확장 가능한 시스템을 만들 수 있습니다. 플랫폼 이벤트는 다음 A2A 메시지의 지속적인 비동기식 전송 메커니즘으로 사용됩니다.
- **모델 컨텍스트 프로토콜(MCP):** 이 [표준은](https://modelcontextprotocol.io/docs/getting-started/intro) 에이전트가 단일 플랫폼에 고정되지 않도록 보장합니다. MCP는 다른 프레임워크에 구축된 에이전트가 커뮤니케이션할 수 있는 공통 메시지 형식을 정의합니다. 이 모델에서는 **Agentforce가 MCP 클라이언트 역할을 합니다.** 예를 들어 Salesforce 에이전트가 MCP 호환 요청을 보내어 복잡한 물류 계산을 전문으로 하는 외부 에이전트에 질의할 수 있습니다. MuleSoft는 게이트웨이 역할을 하며 내부 A2A 요청을 외부 MCP 형식 API 호출로 변환하여 엔터프라이즈 전반에서 원활한 상호 운용성을 보장합니다.
# 개요
이 문서에서는 고가용성 및 재해 복구 요구 사항을 충족하기 위해 CloudHub 2.0에 애플리케이션을 배포하기 위한 현재 옵션을 설명합니다. 예를 들어 미국 지역을 사용하며 다른 지역에 적용할 수 있습니다.
CloudHub 2.0은 클라우드에서 MuleSoft API 및 통합의 배포, 확장 및 관리를 자동화하여 인프라 오버헤드를 없애는 완전히 관리되는 클라우드 네이티브 통합 플랫폼입니다. 이는 Amazon AWS 인프라에서 실행되는 MuleSoft의 최신 클라우드 배포 플랫폼입니다.
## 재해 복구 요구 사항
대부분의 경우 CloudHub 2.0에서 제공하는 기본 HA(고가용성) 및 DR(재해 복구)가 충분합니다. CloudHub 2.0은 지역 수준에서 HA 및 DR를 제공합니다(자세한 내용은 [CloudHub 2.0 초과 시나리오를 참조하십시오](#cloudhub-20-outage-scenarios)). CloudHub 2.0 지원 HA 및 DR에 대한 자세한 내용은 [CloudHub 2.0 주요 고려 사항](#cloudhub-20-주요-고려-사항) 섹션을 참조하십시오.
CloudHub 2.0의 기본 가용성 이외의 설계를 요구하는 조건에는 다음이 포함됩니다.
- 애플리케이션이 재해 시나리오(예: Amazon의 한 지역이 중단되는 경우)에서 데이터 손실이 발생하지 않도록 보장해야 합니다.
- 애플리케이션이 Object Store에 의존하며, 배포 지역이 중단되는 경우에도 지속성을 보장해야 합니다.
## 가정
- 백엔드 시스템은 동등한 가용성으로 구성됩니다. CloudHub 2.0은 대기열 또는 유사한 메커니즘을 통해 신뢰성을 제공할 수 있지만, 통합이 실시간이든 비동기식이든 상관없이 백엔드 시스템은 유사한 수준의 HA 및 DR를 지원해야 합니다.
- AWS 지역 수준 중단이 백엔드 시스템에 영향을 미치는 경우 복구가 CloudHub 2.0 복구와 동시에 실행되는 것으로 간주됩니다.
- 여러 지역에서 비공개 공간 설정이 완료되었습니다.
## 범위 외
이 가이드의 설계 옵션은 전체 AWS 가용성 영역 또는 지역을 사용할 수 없는 경우 CloudHub 2.0에서 애플리케이션 가용성에 대한 솔루션을 제공합니다.
이 가이드는 이러한 복구 시나리오에 대해 다루는 것은 **아니지만** 관련된 경우 다음과 같은 영향을 주지 않습니다.
- 온프레미스 또는 클라우드에서, Anypoint CloudHub 외부에서 관리 및 프로비저닝되는 백엔드 시스템, 애플리케이션, 데이터베이스, 네트워크 구성 요소 및 데이터 센터의 복구
- CloudHub 2.0과 고객의 비공개 데이터 센터(예: IPsec 터널 및 VPN 게이트웨이) 간 VPN 링크 복구 이 가이드의 일부 DR 옵션은 해당 시나리오를 부분적으로 해결할 수 있습니다.
- 통합에 IP 허용 목록이 사용되는 경우 재해 복구 중에 MuleSoft의 송신 IP가 변경될 수 있습니다. 이 가이드의 일부 DR 옵션은 해당 시나리오를 부분적으로 해결할 수 있습니다.
- MuleSoft(예: Anypoint MQ) 또는 기타 공급업체(예: AWS MSK 또는 Heroku Kafka)가 제공하는 고객 솔루션에 사용되는 외부 Messaging 시스템입니다.
## CloudHub 2.0 주요 고려 사항
CloudHub 2.0을 [재해 복구 요구 사항](#재해-복구-요구-사항)에 맞춰 평가할 때, 다음의 주요 사항을 고려하십시오.
**CloudHub 2.0은 AWS 지역 가용성에 의존합니다.**
- CloudHub 2.0은 AWS에서 실행되며, 가용성은 AWS 지역에 연결됩니다.
- 배포 및 응용 프로그램 가용성은 지역별로 정리됩니다. 이러한 지역은 AWS 지역에 해당합니다.
전체 AWS 지역이 실패하면 해당 지역의 응용 프로그램을 사용할 수 없으며 다른 위치에서 자동으로 복제되지 않습니다.
**응용 프로그램 고가용성(HA) 및 복제본 관리**
- 하드웨어가 실패하면 CloudHub 2.0이 동일한 영역 내에서 응용 프로그램을 자동으로 재배포하지만, 단일 복제본이 있는 응용 프로그램은 가동 중지 시간이 발생할 수 있습니다.
- 복제본이 여러 개인 응용 프로그램은 기본적으로 별도의 가용성 영역에 배포되어 영역 전체에서 HA를 제공합니다.
- 단일 복제본 응용 프로그램의 가용성 영역이 실패하면, 해당 응용 프로그램은 동일한 지역 내의 다른 가용성 영역에서 자동으로 실행됩니다.
**미국 동부 지역 특정 영향**
- 미국 동부 지역에 장애가 발생할 경우:
- CloudHub 2.0 관리 UI 및 배포 REST 서비스를 사용할 수 없으며 새 응용 프로그램을 배포할 수 없습니다.
- 대부분의 실패 시나리오에서 다른 지역의 응용 프로그램은 영향을 받지 않습니다. 이러한 응용 프로그램은 계속해서 정상적으로 작동하지만, 중단 중에 제어 플레인을 통한 모니터링 및 관리 기능을 사용할 수 없습니다.
- Core CloudHub 2.0 모듈(응용 프로그램 설정 등)은 미국 동부에서 유지되므로 중단 중에는 설정을 편집할 수 없습니다.
**모니터링 및 경고**
- [status.mulesoft.com](http://status.mulesoft.com)을 통해 가용성 영역 또는 지역 수준 오류에 대한 경고를 구성합니다.
- 복제본이 실패하거나 애플리케이션이 응답하지 않을 경우 팀에 알림이 전송되도록 CloudHub 2.0 외부에서 별도의 상태 확인 및 경고 메커니즘을 사용합니다.
**데이터 지속성(개체 저장소 V2)**
- 객체 저장소 V2는 애플리케이션이 _최초로_ 배포된 지역에 연결됩니다.
- 애플리케이션을 다른 지역으로 이동하는 경우, 객체 저장소 V2는 데이터 손실을 방지하기 위해 원래 지역에 남아 있습니다.
- 객체 저장소 V2가 배포된 지역에 장애가 발생하면 객체 저장소를 사용할 수 없습니다.
**인그레스 컨트롤러 및 개인 공간**
- CloudHub 2.0의 인그레스 컨트롤러는 지역 수준에서 고가용성을 제공합니다.
- 공유 공간에서 하나의 지역이 장애가 발생하면, 다른 지역의 인그레스 컨트롤러는 계속 사용 가능하지만 해당 지역에 배포된 애플리케이션만 제공할 수 있습니다.
- 비공개 공간에서 하나의 지역이 장애가 발생하면, 사전에 해당 지역에 인그레스 컨트롤러가 설정되어 있지 않은 한 다른 지역의 인그레스 컨트롤러는 사용할 수 없습니다.
- 비공개 공간 설정은 지역이며, 지역이 실패하면 다른 지역이 설정되지 않는 한 비공개 공간을 사용할 수 없습니다.
## CloudHub 2.0 Outage Scenarios
CloudHub 2.0은 복제본, 가용성 영역 및 지역과 같은 여러 수준의 복원 능력을 제공합니다. 이 섹션에서는 각 중단 시나리오에 대한 Salesforce 책임 및 고객 옵션을 설명합니다.
### 복제본/가용성 영역/영역 중단
#### Salesforce 책임
| 구성 요소 상태 | Salesforce 책임 |
| -------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **복제본 다운** | **작업**: 현재 가용성 영역에 문제가 있는 경우 CloudHub 2.0에서 다른 가용성 영역에서 복제본을 자동으로 다시 시작합니다. 그러나 새 복제본이 완전히 시작될 때까지 응용 프로그램이 오프라인 상태가 됩니다. **조건**: 기본 구성입니다. **소요된 시간**: 응용 프로그램 복잡성 및 복제본 크기에 따라 약 2~15분이 소요됩니다. |
| **가용성 영역 다운** | **작업**: 복제본과 동일합니다. **조건**: 기본 구성입니다. **소요된 시간**: 복제본과 동일합니다. **알림**: 복제본과 동일합니다. |
| **지역 다운** | **작업**: 자동 복구가 없습니다. 페일오버 설계가 있어야 합니다. |
#### 고객 책임
| 구성 요소 상태 | 고객 책임 |
| -------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **복제본 다운** | **알림**: API에 내장된 하트비트 메커니즘을 사용하여 정기적인 상태 확인을 수행합니다. **경감**: 동일한 지역의 여러 복제본에 애플리케이션을 배포합니다. **테스트 / 시뮬레이션:** MuleSoft 지원을 통해 티켓을 올리면 페일오버 테스트를 지원하여 새 복제본이 다른 AZ에서 1~15분 이내에 반복되는지 확인합니다. |
| **가용성 영역 다운** | **알림**: 복제본 다운과 동일합니다. **경감**: 동일한 지역 또는 다른 지역의 여러 복제본에 애플리케이션을 배포합니다. **테스트 / 시뮬레이션:** AZ Down 시나리오는 시뮬레이션하기 어렵습니다. 가능한 테스트 시나리오를 지원하려면 MuleSoft Engineering의 참여가 필요합니다. |
| **지역 다운** | **알림**: 복제본 다운과 동일합니다. 또한 [https://status.aws.amazon.com](https://status.aws.amazon.com)에서 상태 업데이트를 확인하십시오. **경감**: AZ Down와 동일합니다. 재해 복구 비상 계획: 다른 지역에 있는 동일한 구성의 비공개 공간 2개. **테스트 / 시뮬레이션:** AZ Down와 동일합니다. |
### VPN 게이트웨이 및 접속 컨트롤러 중단
#### Salesforce 책임
| 구성 요소 상태 | Salesforce 책임 |
| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **VPN 게이트웨이 다운** | **복제본 상태**: 실행 중이지만, 온프레미스에 호스팅되며 VPN 터널을 통해 접근 가능한 모든 리소스와 연결할 수 없습니다. **작업**: 자동 복구가 없습니다. 페일오버 설계가 있어야 합니다. |
| **입력 컨트롤러(공유 공간) 다운** | **복제본 상태**: 입력 컨트롤러는 애플리케이션 복제본과 유사하게 여러 인스턴스로 구성된 클러스터 설정입니다. 응용 프로그램 복제본이 실패할 경우 새 복제본이 생성되고 자동으로 시작됩니다. 하나의 입력 컨트롤러 인스턴스가 실패할 경우 응용 프로그램을 다른 인스턴스를 통해 사용할 수 있습니다. 전체 입력 컨트롤러가 다운된 경우 지역이 다운된 것으로 간주됩니다. |
| **입력 컨트롤러(개인 공간) 다운** | **복제본 상태:** 공유 공간의 입력 컨트롤러 다운과 동일합니다. |
#### 고객 책임
| 구성 요소 상태 | 고객 책임 |
| :-------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VPN 게이트웨이 다운 | **알림**: API에 내장된 하트비트 메커니즘을 사용하여 정기적인 상태 확인을 수행합니다. **경감**: CloudHub 2.0 VPN 게이트웨이는 터널 간 자동 페일오버가 포함된 이중 터널 아키텍처를 통해 고가용성을 지원하며, 고객은 이 패턴을 구성해야 합니다. **테스트 / 시뮬레이션:** VPN 게이트웨이 다운 시나리오는 시뮬레이션하기 어렵습니다. 가능한 테스트 시나리오를 지원하려면 MuleSoft Engineering의 참여가 필요합니다. |
| 입력 컨트롤러(공유 공간) 다운 | **알림**: VPN 게이트웨이 다운과 동일합니다. **경감**: 지역 다운과 동일합니다. 응용 프로그램을 다른 지역의 대기 또는 활성 공간으로 마이그레이션합니다. **테스트 / 시뮬레이션:** VPN 게이트웨이 다운과 동일합니다. |
| 입력 컨트롤러(개인 공간) 다운 | **알림**: VPN 게이트웨이 다운과 동일합니다. **경감**: 지역 다운과 동일합니다. AWS Route 53(또는 이에 상응하는) 구성과 조율하여 다른 지역의 대기 또는 활성 개인 공간으로 응용 프로그램을 마이그레이션합니다. **테스트 / 시뮬레이션:** VPN 게이트웨이 다운과 동일합니다. |
### 개체 저장소 및 영구 대기열
**개요 플랫폼 서비스 다운 시나리오 – 객체 저장소**
메모리 내 객체 저장소
영구 개체 저장소 v2
데이터 위치
응용 프로그램에만 해당됩니다.
MuleSoft 응용 프로그램이 처음 배포된 동일한 지역에 있습니다.
복제본 간에 공유?
아니요
예
응용 프로그램의 객체 저장소 복구
데이터가 손실되고 앱 재시작, 새 배포 또는 복제본 실패 시 모든 메모리 내 데이터가 손실됩니다.
데이터는 손실되지 않습니다. 단, 앱이 삭제된 경우에는 예외입니다.
지역 내 객체 저장소 복구
위와 동일한 데이터가 손실됩니다.
위와 동일한 데이터가 손실되지 않습니다.
지역 복구
위와 동일합니다.
데이터를 사용할 수 없습니다. 액티브-액티브 DR 구성에서도 객체 저장소는 원래 배포 지역에서만 사용할 수 있습니다.
경감
지역 복구를 위해 데이터를 외부화합니다.
원래 배포 지역을 사용할 수 있는 동안 데이터를 사용할 수 있습니다. 교차 지역 HA 또는 DR의 경우 개체 저장소 외부의 데이터를 외부화합니다.
## 고가용성 및 재해 복구 비교
**고가용성**(HA)은 시스템 구성 요소 장애 발생 시 시스템의 액세스 가능성을 측정합니다. 일반적으로 HA는 다중 수준의 오류 허용 및/또는 로드 밸런싱 기능을 시스템에 구축하여 구현됩니다. 일반적으로 활성-활성 구성이며 비즈니스 서비스에 제한되거나 영향을 미치지 않습니다.
**재해 복구** (DR)는 재해 시나리오 후 시스템이 자연(예: 홍수, 토네이도, 지진 또는 화재) 또는 인공(예: 전원 중단, 서버 장애 또는 잘못된 구성)으로 이전에 허용되는 상태로 복원되는 프로세스입니다. DR는 일반적으로 활성-패시브 구성이며 비즈니스 서비스에 약간의 영향을 미칩니다.
## CloudHub 2.0의 지역 가용성
AWS 지역 장애 발생 시 비즈니스 영향을 줄이기 위해 지역 고가용성 또는 지역 재해 복구를 원할 경우 MuleSoft CloudHub 2.0에서 솔루션을 설계할 때 다음 사항을 고려하십시오.
- CloudHub 2.0 복제본 및 관련 기능(비공개 공간, 입력 컨트롤러, Anypoint MQ 대상)은 지역별로 구분됩니다.
- 전체 AWS 지역이 실패하면 해당 지역의 모든 복제본 및 연결된 서비스를 사용할 수 없습니다.
- 지역이 복구되면 구성이 복원되며, 응용 프로그램을 재시작해야 합니다.
- 미국 동부 지역에서 실패하면 Anypoint Platform 서비스(예: 액세스 관리 및 런타임 관리자)도 사용할 수 없습니다.
- MuleSoft는 지역 내의 활성-활성 구성에서 CloudHub 2.0 복제본을 포함하여 플랫폼 서비스에 99.95% 가용성 SLA를 제공합니다. 자세한 내용은 최신 MuleSoft Cloud에서 제공하는 SLA를 참조하십시오.
- CloudHub 2.0은 기본적으로 다중 지역 HA 또는 DR을 지원하지 않으며, 가용성은 단일 지역 내에서만 제공됩니다.
## 일반적인 설계 지침
선택한 설정에 관계없이 해당 설계 지침이 적용됩니다.
**다중 지역 개인 공간 설정**
다음 섹션에 설명된 모든 옵션은 애플리케이션을 별도의 지역에 배포해야 합니다. 이는 사전 재해 전에 비공개 공간 설정을 완료한 경우에만 가능합니다. 비공개 공간 설정은 지역 단위이므로, DR 전략을 구현하려면 지역당 하나씩 2개의 비공개 공간과 적절한 VPN 엔드포인트로 트래픽을 전환하는 메커니즘이 필요합니다.
**지역 내에서 고가용성 개인 공간 설정**
CloudHub 2.0은 지역 내의 비공개 공간이 실패할 경우 자동 페일오버를 제공하지 않습니다. 해결 방법은 여러 환경에 걸친 활성-패시브 설정입니다. 이는 다음을 필요로 합니다:
- 비공개 공간에서 여러 VPN 게이트웨이를 구성합니다.
- CloudHub 2.0 지역에 각각 자체 비공개 공간이 있는 별도의 환경을 설정합니다.
- 이러한 환경 중 하나를 패시브로 지정합니다(애플리케이션이 처음에는 배포되지 않지만, 기본 비공개 공간이 실패할 경우 실행됩니다).
VPN 게이트웨이가 단일 장애 지점이 되지 않는 고가용성 구성이 반드시 필요하다면, 두 지역에 배포하는 것이 가장 좋은 선택입니다. 이 시나리오의 VPN 게이트웨이 실패는 영향을 받는 영역을 비공개 공간이 이미 구성된 대체 영역으로 전환하여 해결할 수 있습니다.
**제로 메시지 손실**
전체 영역이 실패할 때 메시지 손실을 없애려면 응용 프로그램에서 데이터 손실을 방지하고 다음 사항을 해결해야 합니다.
- 외부 메시징을 사용하여 메시지 신뢰성을 달성합니다.
- 개체 저장소 → 객체 저장소: Ensure that 객체 저장소 is not used for in-flight transactional data that is transactional in nature. MuleSoft 응용 프로그램이 처음 배포된 배포 영역이 다운되면 객체 저장소를 사용할 수 없습니다.
- 객체 저장소의 읽기 또는 쓰기 작업이 실패할 경우, 예외 처리 및 동작이 계속 유지되도록 별도의 플로우 또는 섹션으로 묶어 모든 객체 저장소 접근을 처리합니다.
**참고**해 대부분의 경우 DR 요구 사항은 재해 발생 시 메시지 손실을 0으로 보장하지 않아도 되고 데이터 손실이 지정된 기간의 데이터 가치(예: 1시간)보다 작은지 확인해야 합니다.
**무상태 통합 유지**
일반적인 설계 원칙으로, 통합이 무상태로 설계되어야 한다는 점이 항상 중요합니다. 즉, 예약된 서비스의 경우 다양한 클라이언트 호출 또는 실행 간에 트랜잭션 정보가 공유되지 않습니다. 시스템 제한으로 인해 일부 데이터가 미들웨어에서 유지해야 하는 경우 MuleSoft 인프라 또는 메모리가 아닌 데이터베이스 또는 메시징 대기열과 같은 외부 저장소에 유지해야 합니다. 특히 클라우드에서 확장할 때 각 복제본이 사용하는 시/도 및 리소스는 다른 복제본과 독립되어야 한다는 점에 유의해야 합니다. 이 모델은 향상된 성능, 확장성, 신뢰성을 보장합니다.
## 다중 지역 배포에 대한 추가 DR 고려 사항
**네트워크 및 트래픽 관리**
- 지역 가용성에 필요한 바니티 도메인은 모든 지역의 인그레스 컨트롤러에 대해 전역 DNS로 작동합니다.
- **글로벌 로드 밸런서**는 기본 및 DR 지역 개인 공간 간의 트래픽을 라우팅합니다. 고객이 이 구성 요소를 제공합니다. 라우팅 정책과 함께 AWS Route 53 또는 전역 CDN을 사용하여 지역 전체에서 트래픽을 라우팅합니다.
- 사용자 정의 바니티 도메인을 사용하여 기본 및 DR 지역 모두에서 인그레스 컨트롤러를 구성합니다.
- 기본 및 DR 지역의 개인 공간 모두에서 온프레미스 애플리케이션에 액세스할 수 있도록 방화벽 규칙과 VPN 터널링을 계획하고 유지합니다.
- 원활한 복구를 위해 **TLS 인증서 유지 보수**는 기본 및 DR 지역의 비공개 공간 모두를 포함해야 합니다.
**애플리케이션 배포 및 구성**
- **애플리케이션 이름**은 지역 간에 고유해야 합니다. 예를 들어 CI/CD 파이프라인은 배포 전에 애플리케이션 이름에 지역 이름(또는 지역 코드)을 추가하여 기본 및 DR 지역 모두에서 고유성을 유지할 수 있습니다.
- CI/CD 파이프라인을 구성하여 모든 애플리케이션이 기본 및 DR 지역 모두에서 사용 가능하도록 두 지역에 배포합니다.
**인프라 및 수용력**
모든 인프라의 기본 및 DR 지역 용량이 동일한 경우 성능이 최고입니다. 이러한 인프라 측면이 동일하지 않으면 성능이 저하됩니다.
**데이터 지속성 및 저장**
- **지속성 스토리지**는 두 지역 간에 주기적으로 동기화되어야 합니다. 고객은 저장소 복제를 책임지고 MuleSoft는 이를 제공하지 않습니다. 기본 및 DR 지역의 VPC 간에 단일 공유 저장소를 사용할 수 있지만, 공유 저장소는 고가용성이어야 하며 그렇지 않으면 두 지역 모두의 단일 장애 지점이 됩니다.
- **Object Store V2**는 지역적이며 Mule 애플리케이션이 처음 배포된 지역에서만 사용할 수 있습니다. 애플리케이션이 다른 지역으로 이동하는 경우 데이터 손실을 방지하기 위해 Object Store V2는 원래 지역에 남아 있게 됩니다. 다중 지역 DR 전략에 다른 영구 저장소를 사용합니다.
**시험 및 운영 절차**
공식적인 DR 테스트 전략을 채택하고 정기적으로 DR 훈련을 실시합니다. 활성 활성 DR의 경우 Canary 배포 전략을 사용하여 두 지역을 모두 확인합니다.
**성능 및 서비스 수준 계약(SLA)**
DR 지역이 기본 지역보다 최종 사용자 또는 백엔드 시스템에서 더 멀리 떨어져 있을 수 있으므로 일부 성능 저하가 발생할 수 있습니다. DR SLA를 정의하고 이해당사자에게 전달합니다.
**복구 모드 동작(참고: 상황별)**
액티브-액티브 모드에서는 기본 지역에서 DR 지역의 개인 공간으로의 페일오버가 빠릅니다. 전역 로드 밸런서가 기본 지역이 비정상임을 감지하면 트래픽을 정상(DR) 지역으로 라우팅합니다. 액티브-패시브 모드에서 재해가 발생하면 DR 지역의 개인 공간에 애플리케이션을 배포해야 합니다.
## 지역 가용성 옵션
세 가지 옵션으로 DR 수준 가용성을 높일 수 있습니다.
[**액티브-액티브 구성**](https://docs.mulesoft.com/cloudhub-2/ch2-ha-dr#use-case-1-active-active-configuration)
액티브-액티브 설정은 여러 지역에 분산된 액티브 워커를 기반으로 하며, 외부 로드 밸런서를 사용하여 두 인스턴스 간 트래픽을 라우팅합니다.
[**웜 스탠바이 구성**](https://docs.mulesoft.com/cloudhub-2/ch2-ha-dr#use-case-2-warm-standby-configuration)
액티브-패시브 설정은 한 지역의 액티브 워커와 다른 지역의 패시브 워커를 기반으로 합니다. 필요한 경우 패시브 영역이 시작됩니다.
페일오버를 위해 일부 패시브 리전 요소는 활성 상태를 유지하거나 사전에 설정해야 합니다(예: 비공개 공간, VPN, Transit Gateway 연결 등).
[**Cold Standby 구성**](https://docs.mulesoft.com/cloudhub-2/ch2-ha-dr#use-case-3-cold-standby-configuration)
위에서와 같이 복제본 및 인그레스 컨트롤러는 페일오버 시 완전히 자동화된 DevOps 프로세스를 통해 두 번째 지역에서 프로비저닝됩니다. 비공개 공간, VPN 및 전송 게이트웨이 첨부 파일 등 패시브 영역의 일부 요소는 페일오버를 위해 활성 상태로 유지해야 합니다.
## 고가용성을 위한 Vanity 도메인
CloudHub 2.0 네트워킹 아키텍처의 기본 구성 요소는 다음과 같습니다.
- HTTP 로드 밸런서
- 복제본 DNS 레코드 모음
- 비공개 공간
- 지역 서비스
자세한 내용은 [CloudHub 2.0 네트워킹 아키텍처](https://docs.mulesoft.com/cloudhub-2/ch2-networking-guide)를 참조하십시오.
**Vanity 도메인**
비공개 공간이 생성되면 \.\.cloudhub.io 형식의 DNS 대상 이름이 할당됩니다. 해당 비공개 공간에서 test-api라는 앱을 배포하면 끝점이 다음 형식을 따릅니다.
CloudHub 2.0은 TLS 컨텍스트 및 DNS 레코드를 사용하여 비공개 공간 내에서 사용자 정의 도메인 또는 Vanity 도메인을 구성하여 지원합니다. 비공개 공간의 런타임 관리자에서 TLS 컨텍스트를 만들려면 공개 인증서 및 비공개 키를 업로드한 다음, 응용 프로그램의 설정에 사용자 정의 끝점을 추가하여 해당 도메인을 사용합니다. 비공개 공간의 기본 호스트 이름을 비공개 공간 도메인을 가리키는 DNS 레코드(예: CNAME)를 만듭니다.
예를 들어, 기본 DNS 42y52r.usa-w2.cloudhub.io를 사용하여 us-west-2에 배포된 test-api라는 응용 프로그램의 API 끝점은 다음과 같습니다.
https://test-api-mwsklu-42y52r.usa-w2.cloudhub.io
이 URL은 배너리 또는 사용자 정의 도메인을 사용하지 않습니다. `acme.com`을 사용하여 API URL이 `https://test-api.acme.com`로 표시되도록 하려면 다음 단계를 수행합니다.
1. 공개 및 비공개 키를 사용하여 런타임 관리자에서 TLS 컨텍스트를 만듭니다.
2. 애플리케이션의 설정에서 바니티 도메인을 추가하여 해당 도메인을 사용합니다.
3. AWS 경로 53에서 DNS 레코드를 만들고 간단한 라우팅 정책(예: CNAME)을 구성하여 공백 도메인이 비공개 공간의 기본 호스트 이름으로 확인됩니다.
사용자 정의 도메인의 경우 라우팅 정책과 함께 AWS Route 53 또는 기타 모든 글로벌 CDN 서비스를 사용할 수 있습니다. 아래 다이어그램에서 AWS Route 53은 "간단한" 라우팅 정책과 함께 사용됩니다. 공개(외부) 네트워크의 소비자가 acme.com을 요청하면 AWS 경로 53가 MuleSoft 비공개 공간 진입 컨트롤러로 요청을 라우팅합니다.
## 페일오버 전략
애플리케이션에 페일오버가 필요한 경우 이 옵션을 사용합니다. 기본 리전(예: us-west-2)에서 하나의 인스턴스, 보조 리전(예: us-east-1)에서 다른 인스턴스를 배포합니다.
가능한 경우 보조 리전의 기존 환경을 사용합니다. 새 환경을 만들려면 추가 노력이 필요합니다.
**한 리전(미국 서부 2)에 앱이 배포되고, 다른 리전(미국 동부 1)으로 페일오버되는 예시**
| 레코드 이름 | 값/경로 트래픽 대상 | 라우팅 정책 | 상태 확인 ID |
| :---------: | :-----------------------: | :------------: | :-------------: |
| acme.com | 42y52r.usa-w2.cloudhub.io | 페일오버 | 31s3wseq121 |
| acme.com | 31e51s.usa-e1.cloudhub.io | 페일오버 | 43e131s131sq |
이 구성에서 AWS Route 53은 미국 서부 2 및 미국 동부 1의 비공개 공간 인그레스 컨트롤러로 트래픽을 라우팅합니다. 상태 확인이 포함된 페일오버 라우팅 정책이 구성되어 있습니다.
## 고가용성 및 낮은 대기 시간
대기 시간과 고가용성을 줄이려면 다이어그램에 설명된 배포 전략을 사용하십시오. 이 전략을 사용하면 두 지역(이 예에서는 us-west-2 및 us-east-1)에서 앱을 배포할 수 있습니다.
AWS 경로 53의 대기 시간 라우팅 정책을 사용하여 높은 가용성을 유지하면서 가장 낮은 대기 시간을 제공하는 지역으로 요청을 라우팅합니다. AWS 경로 53의 "대기 시간" 라우팅 정책은 여전히 높은 가용성이 있는 낮은 대기 시간에 대한 요청을 라우팅합니다.
**두 리전(미국 서부 2 및 미국 동부 1)에 앱을 배포하여 낮은 대기 시간과 높은 가용성을 제공합니다.**
| 레코드 이름 | 값/트래픽 라우팅 대상 | 라우팅 정책 | 상태 확인 ID |
| :---------: | :-----------------------: | :------------: | :-------------: |
| acme.com | 42y52r.usa-w2.cloudhub.io | 대기 시간 | 31s3wseq121 |
| acme.com | 31e51s.usa-e1.cloudhub.io | 대기 시간 | 43e131s131sq |
## 결론
MuleSoft CloudHub 2.0은 기본적으로 자동 복제 중복 및 지능형 로드 밸런싱을 활용하여 지역 내 복원에 견고한 기반을 제공합니다. 단일 클라우드 리전 내에서 여러 복제본으로 애플리케이션을 배포하면, 하나의 인스턴스에 장애가 발생할 경우 다른 인스턴스가 즉시 그 역할을 대신 수행할 수 있습니다. 통합 로드 밸런처는 정상적인 복제본 전체에서 수신 트래픽을 효율적으로 배포하여 가동 중지 시간을 최소화하고 정상적인 운영 조건에서 지속적인 서비스 가용성을 보장합니다.
그러나 중복성이 높더라도 단일 리전 아키텍처에만 의존하는 경우, 광범위하고 치명적인 지역 장애의 상당한 위험이 있습니다. 역사를 보면, 가장 신뢰할 수 있고 기술적으로 고급인 클라우드 공급자조차도 전체 지리적 리전에 영향을 미칠 수 있는 중단 사고에 취약하다는 것이 입증되었습니다. 드물지만 이러한 단일 실패 요인은 다음을 포함한 다양한 사건으로 인해 발생할 수 있습니다.
- 대규모 인프라 사고
- 주요 전원 장애
- 광범위한 네트워크 중단
따라서 진정한 고가용성(HA) 및 재해 복구(DR)를 달성하려면 단일 지역 모델의 제한 사항을 초과하도록 아키텍처를 설계해야 합니다. 권장하는 전략은 여러 지리적으로 구별되는 지역에 대한 배포입니다. 이 지역 간 복원성은 예기치 않은 재해로 인해 클라우드의 한 지역 전체가 사용 불가능해질 경우, 트래픽이 별도의 영향을 받지 않는 지역에서 실행 중인 애플리케이션 인스턴스로 원활하게 전환되어 서비스 중단을 최소화하고 최대 가동 시간 목표를 달성합니다.
## 참조
[CloudHub 2.0 Networking Architecture](https://docs.mulesoft.com/cloudhub-2/ch2-networking-guide)
[표준 대기열에 대한 지역 간 장애 조치 구성](https://docs.mulesoft.com/mq/mq-failover)
[개체 저장소 V2 배포 지역](https://docs.mulesoft.com/object-store/osv2-faq#osv2-regions)
[귀하의 개체 저장소 배포 지역](https://docs.mulesoft.com/object-store/osv2-faq#is-object-store-v2-persistent-in-the-same-region-as-the-worker)
## 작성자 정보
Gulal Kumar는 데이터 및 통합 아키텍처에 중점을 둔 Salesforce의 소프트웨어 엔지니어링 아키텍처입니다. 통합 및 API, 현대화 프로그램, 보안, AIML 이니셔티브 분야에서 20년 이상의 경험을 보유한 그는 풍부한 전문 지식을 제공합니다. Gulal은 비즈니스 전환 이니셔티브를 발전시키고, 보안 및 복원 능력을 향상하고, 아키텍처 우수성을 촉진하고, 다양한 도메인 전반에 걸쳐 AIML 이니셔티브를 선도하기 위해 노력하고 있습니다.
Ajay Nagaraju는 엔터프라이즈 아키텍처, 시스템 통합, 대규모 디지털 변환 분야에서 28년 이상의 경험을 보유한 MuleSoft의 엔터프라이즈 아키텍처 및 선임 디렉터입니다. 그는 Fortune 100대 기업과 Fortune 500대 기업에서 복잡한 수백만 달러의 프로그램에 대한 아키텍처 및 전달을 이끌었으며 API 기반 연결, SOA, 클라우드 기술, 엔터프라이즈 통합 패턴에 대한 깊은 전문 지식을 보유하고 있습니다. Ajay는 비즈니스 프로세스, 데이터 플랫폼, 통합 생태계를 현대화하기 위해 경영진과 긴밀한 파트너 관계를 맺고 있으며, 기술을 통해 확장 가능한 아키텍처를 구축하고, 팀을 멘토링하고, 측정 가능한 비즈니스 결과를 촉진하는 데 열정적입니다.
## 개요
기업은 인보이스, 구매 주문, 법률 계약, 기술 설명서 등 다양한 문서 유형을 처리합니다. 수동 처리는 느리고 오류가 발생하기 쉬우며 직원 시간의 예상 15~25%를 소비합니다. 이전 자동화 접근 방식(예: _로봇 프로세스 자동화(RPA)_, _광학 문자 인식(OCR)_ 및 워크플로 도구)은 일부 부담을 줄였지만, 견고한 파이프라인, 높은 유지 보수 오버헤드, 개별 비즈니스 팀 간의 단독 채택이 발생했습니다.
문서에는 일반 텍스트 처리로는 보존할 수 없는 풍부한 구조적 컨텍스트(예: 테이블 계층, 공간 필드 관계, 교차 참조 섹션)가 포함되어 있습니다. 문서를 일반 텍스트로 제거하면 추출을 정확하고 유용하게 만드는 비즈니스 컨텍스트가 삭제되고 다운스트림 분석, _인공 지능(AI) 추론_ 및 프로세스 자동화의 품질이 저하됩니다.
효과적으로 사용할 수 있도록 _인텔리전트 문서 처리(IDP)_ 시스템은 문서를 유형별로 분류하고, 가변 레이아웃에서 구조화된 데이터를 정확하게 추출한 다음, 관리 가능한 쿼리 가능한 형식으로 다운스트림 시스템에 해당 데이터를 전달해야 합니다. 또한 IDP는 모든 새 문서 형식에 대해 템플릿별 구성을 요구하지 않고 대규모로 문서의 다양성을 처리해야 하며, 각 사업부에서 중앙에서 접근할 수 있어야 합니다. 비정형 데이터는 모든 엔터프라이즈 데이터의 약 80%를 차지하며, 대부분은 파일 시스템, 클라우드 저장소, _Customer Relationship Management(CRM)_ 시스템, AI 에이전트, 분석 플랫폼의 손쉽지 않은 컨텐츠 저장소에서 문서 형식으로 축적됩니다.
_Data 360 문서 AI_는 이 격차를 해결하도록 설계된 _Data 360_ 내의 Salesforce 문서 처리 기능입니다. _Language Models(LLM)_, _Optical Character Recognition(OCR)_, _Natural Language Processing(NLP)_, _Machine Learning(ML)_을 사용하여 비정형 및 반정형 문서 콘텐츠를 추출, 분류 및 분석합니다. 출력은 _Data 360_ 파이프라인에 통합되는 구조화, 관리 및 쿼리 가능한 데이터이며, 여기서 _Agentforce_ 에이전트, 분석 도구 및 자동화 워크플로가 사용자 정의 추출 또는 변환 계층 없이 표준 인터페이스를 통해 액세스할 수 있습니다.
## 문서 AI가 중요한 이유는 무엇입니까?
엔터프라이즈 데이터 플랫폼은 구조화된 테이블 형식의 데이터를 처리합니다. 그러나 대부분의 엔터프라이즈 데이터는 문서로 도착하며, 누군가가 수동으로 추출할 때까지 CRM, ERP, AI 에이전트, 분석 파이프라인에서 접근할 수 없습니다. 이는 워크플로 문제가 아닌 아키텍처 격차입니다.
### 규칙 기반 추출 제한 사항
이전 접근 방식은 수동 재입력, 규칙 기반 OCR, RPA 스크립트를 결합했습니다. 이러한 방법들은 소규모에서는 작동했지만, 현대 기업에서 생성하는 문서 유형의 대량, 다양성 및 속도를 처리할 수 없었습니다. 규칙 기반 도구는 레이아웃 변형당 명시적 템플릿을 필요로 합니다. 형식이 변경되면 추출이 중단되어 개발자, 새 템플릿, 그리고 배포 과정이 필요합니다.
확장 시 중앙 집중식 관리, 공유 스키마, AI 준비 경로가 없는 취약한 포인트 솔루션이 생성됩니다. 불일치하는 추출 파이프라인이 다운스트림으로 전파됩니다. 즉, 분석은 데이터 불일치를 상속하고, AI 모델은 신뢰할 수 없는 결과를 제공하며, _개인 건강 정보(PHI)_ 및 _개인 식별 정보(PII)_와 같은 규제된 콘텐츠는 체계적인 관리가 부족합니다.
### AI 기반 문서 처리
LLM은 명시적 템플릿 없이 필드를 추출합니다. 단일 스키마 구성은 레이아웃 변형, 언어, 형식 전반의 추출을 관리하며, 이는 문서가 고정된 구조에 맞춰야 하는 것이 아니라, 문서에 맞게 적응합니다. 이로써 문서 처리는 유지 관리가 많이 필요한 사일로화된 작업에서 관리되고 중앙 집중화된 기능으로 전환됩니다.

_Data 360 Document AI_는 두 파이프라인을 통해 _Data 360_ 플랫폼 내에서 문서 처리를 운영합니다.
- _배치 파이프라인_은 수집, ID 확인, 계산된 인사이트, 활성화, 분석 및 Agentforce 활성화를 통해 추출된 데이터를 라우팅합니다.
- _트랜잭션 처리 파이프라인_은 구조화된 _JSON_을 동기식으로 반환하는 REST API를 제공하므로, 아키텍트가 문서에서 파생된 데이터를 Salesforce _SObjects_, _Data 360 Data Lake Object_/_Data Model Object(DLO/DMO)_ 파이프라인 또는 외부 데이터베이스 및 창고로 배치 설정 오버헤드 없이 라우팅할 수 있습니다.
두 경우 모두 추출된 데이터가 분산된 포인트 툴 집합이 아닌, 관리되는 스키마 기반의 모델에 들어갑니다.
## 범위 내 제품
[Data 360 문서 AI](https://help.salesforce.com/s/articleView?id=data.c360_a_document_ai.htm&type=5)는 _Data 360_ 플랫폼 내의 Salesforce 기본 _인텔리전트 문서 처리(IDP)_ 기능입니다. 비정형 및 반정형 문서 콘텐츠를 관리되고 쿼리 가능한 데이터로 변환하여 전체 _Data 360_ 수명 주기 전반에 걸쳐 완전히 활용할 수 있도록 합니다.
## Data 360 문서 AI란 무엇입니까?
[Data 360 문서 AI](https://help.salesforce.com/s/articleView?id=data.c360_a_document_ai.htm&type=5)는 _Data 360_ 내의 Salesforce 기본 _인텔리전트 문서 처리(IDP)_ 기능입니다. 비정형 및 반정형 문서를 수집하고, 선언적 스키마 구성을 사용하여 구조화된 데이터를 추출하고, 조합, ID 확인, 분석 및 Agentforce 활성화를 위해 해당 데이터를 _Data 360_ 파이프라인에 전달합니다.
Data 360 문서 AI는 다음 두 가지 처리 모달을 지원합니다.
- **대량 배치 처리:** 이벤트 기반으로 _비정형 데이터 모델 개체(UDMO)_에 정의된 대규모 문서 집합을 처리합니다.
- **트랜잭션 처리:** REST API를 통해 단일 문서를 처리하고 구조화된 _JSON_ 페이로드를 동기식으로 반환합니다. 그런 다음, 설계자는 해당 페이로드를 _Data 360 DLO/DMO_ 파이프라인, Salesforce _SObjects_ 또는 외부 데이터베이스 및 창고로 라우팅할 수 있습니다. _MuleSoft_, _Apex_ 콜아웃 또는 _Einstein Trust Layer(ETL)_ 파이프라인을 통해. 대상 계층은 대기 시간, 거버넌스, 데이터 보존 요구 사항에 따라 결정되는 아키텍처적 선택입니다.
문서 AI는 현재 PDF 파일, 이미지 파일(JPEG, PNG), 수기 문서를 지원합니다.
## 핵심 구성 요소
_Data 360 Document AI는_ 네 가지 처리 기술을 하나의 관리형 파이프라인으로 조합합니다. 각 구성 요소는 문서-데이터 수명 주기의 고유한 단계를 처리합니다.
- **광학 문자 인식(OCR):** LLM 처리가 시작되기 전에 스캔된 이미지, 수기 작성된 콘텐츠, 이미지 기반 PDF를 기계가 읽을 수 있는 텍스트로 변환합니다. 신뢰할 수 있는 추출을 위해 최소 150 DPI를 사용하는 것이 좋습니다.
- **대형 언어 모델(LLM):** 사용자가 선택한 모델을 사용하여 _Einstein_ LLM 게이트웨이를 통해 추출을 라우팅합니다. LLM은 _JSON_ 스키마 구성과 함께 OCR 출력을 수신하고 구조화된 추출 페이로드를 반환합니다. _Gemini_ 및 추가 모델은 향후 구현을 위해 계획되고 있습니다.
- **자연어 처리(NLP):** 구조화된 프롬프트 엔지니어링을 통해 LLM 내에서 직접 상황별 이해, 엔티티 인식, 날짜 구문 분석, 시맨틱 필드 추출을 수행합니다. 스키마 정의 프롬프트 및 OCR 출력은 유일한 입력 항목입니다. 모든 LLM 상호 작용은 ETL을 통해 라우팅됩니다. ETL은 모델 공급자와의 데이터 보존을 제로 적용하고 모델에 도달하기 전에 텍스트 기반 입력에서 _PII_를 마스킹합니다. 별도의 NLP 엔진이 적용되지 않습니다.
- **다중 모달 처리:** PDF 내에 포함된 이미지를 별도의 추출 입력으로 처리하여 LLM이 다이어그램, 이미지 렌더링 테이블, 혼합 콘텐츠 페이지에서 데이터를 추출할 수 있으므로 OCR만 분석할 수 없습니다.
네 가지 처리 기술 외에도 _Document AI_도 다음을 처리합니다.
- **Einstein Trust 레이어:** ETL을 통해 모든 LLM 상호 작용을 라우팅합니다. ETL은 모델 공급자와의 데이터 보존을 제로 적용하고 입력이 LLM에 도달하기 전에 _PII_를 마스킹합니다. 현재 PII 마스킹이 지원되지 않고 데이터가 외부 모델로 그대로 전송되는 멀티모델 데이터(예: _Document AI를_ 통해 처리되는 첨부된 문서)는 제외됩니다. ETL은 LLM 상호 작용 경로만 관리합니다. _Data Lake Objects(DLO)_에 기록된 추출된 데이터는 그대로 저장됩니다. 미사용 상태인 필드 수준 마스킹은 다운스트림 데이터 거버넌스 컨트롤을 통해 해결해야 합니다.
- **파일 크기 제한:** _Document AI_는 요청당 최대 10MB의 파일을 처리합니다. LLM 컨텍스트 길이 제한은 이 경계 내에서 밀집형 다중 페이지 문서의 처리를 추가로 제약할 수 있습니다.
## 주요 아키텍처 원리
_Data 360 Document AI_를 구축하는 엔터프라이즈 아키텍트는 구현 설계에 착수하기 전에 이러한 원칙을 적용해야 합니다.
- **스키마를 설계하기 전에 파이프라인을 선택합니다.** _배치_ 및 _트랜잭션_ 처리 파이프라인은 수집 모델, 스키마 바인딩, 목표 유연성 및 지연 시간에 차이가 있습니다. 구체적으로 수정하면 불가능한 재작업이 추가되므로 스키마를 정의하기 전에 각 사용 사례에 필요한 파이프라인을 확인해야 합니다.
- **문서 유형 수준에서 스키마를 설계하세요.** 문서 유형별로 잘 설계된 단일 스키마를 사용하는 것이 사용 사례별 구성을 사용하는 것보다 유지 관리가 더 쉽고, 추출 품질을 높이는 데 가장 큰 역할을 합니다. 이 작업을 올바르게 수행하려면 단일 예시만으로 설계하는 것이 아니라, 다양한 문서 집합(특이 사례 포함)을 사용해야 합니다. _필드_, _테이블_ 및 _스키마_ 수준에서 프롬프트를 반복적으로 사용하여 간격을 찾은 다음, 완료하기 전에 여러 문서 샘플을 테스트하고 세분화합니다. 한 문서에서 잘 작동하는 스키마가 다른 문서에서는 부족할 수 있으므로, 다양한 문서에 대한 폭넓은 적용과 반복이 필수적임을 명심하세요. 문서 유형 전반에서 신뢰성 있게 추출되지 않는 열을 제거하는 등, 스키마의 유연성도 똑같이 중요합니다. 노이즈나 불일치를 유발하는 필드를 유지하면 전체 추출 품질이 저하되므로, 열 제거를 중요한 설계 결정으로 간주하는 것이 중요합니다.
- **필드 그룹당 올바른 대상 계층을 선택합니다.** CRM 워크플로 또는 승인을 실행하는 필드는 _SObjects_에 작성됩니다. 통합 프로필 또는 피드 분석을 보강하는 필드는 _DLO/DMO_ 파이프라인에 속합니다. 외부 시스템을 제공하는 필드는 _RDBMS_ 계층에 속합니다. 단일 스키마는 동시에 여러 계층에 확산될 수 있다는 점에 유의하십시오.
- **규제 대상 콘텐츠를 처리하기 전에 거버넌스를 적용합니다.** 규제된 데이터는 모든 계층에서 보호해야 합니다. 따라서 추출된 데이터가 출력 _데이터 레이크 개체(DLO)에 저장된 후에 _PII_ 마스킹, 데이터 분류 태그 및 _특성 기반 액세스 제어(ABAC)_를 구성하는 것이 중요합니다._ 이를 통해 데이터 분류, 사용자 역할, 조직 컨텍스트를 기반으로 미세 조정된 적용 및 컨텍스트 인식 액세스를 제공합니다. _거버넌스_는 두 경로로 나뉩니다. _ELT_는 LLM 상호작용을 관리하고, DLO에 저장된 추출 데이터는 _데이터 공간_ 구성, _권한 집합_, _ABAC_ 정책을 통해 DLO 및 데이터베이스 수준에서 별도로 관리해야 합니다. 이러한 제어는 응용 프로그램 계층뿐만 아니라 저장소 계층에서 일관성을 유지해야 하므로 수집 후 데이터 액세스 방법에 관계없이 액세스 제한이 그대로 유지됩니다. 어느 한 레이어에 취약점이 있으면 다른 레이어가 올바르게 구성되어 있더라도 규제 대상 데이터가 후속 단계에서 노출될 수 있다는 점에 유의하십시오.
- **생산 전에 장애 모드에 대비한 설계를 진행합니다.** 첫 번째 프로덕션 배치 실행 전에 null 필드 처리, OCR 품질 임계값, 파일 크기 사전 유효성 검사, LLM 컨텍스트 오버플로, RDBMS 쓰기 멱등성 및 크레딧 예산 제한을 해결합니다. 이들은 예외적인 경우가 아니라, 파이프라인 설계 시 명시적으로 처리해야 하는 예측 가능한 실패 표면입니다.
- **신뢰도 점수를 진단용 부가 요소가 아닌, 주된 라우팅 신호로 취급하십시오.** 추출 결과는 기본 모델 출력의 로그 확률(logprobs)에서 파생된 필드 수준 신뢰도 값을 포함합니다. 추출된 모든 필드, 테이블 또는 열에 대해 점수는 추출된 값에 대한 모델의 토큰 수준 확신을 반영합니다. 따라서 신뢰도 점수는 _HITL(Human-in-the-Loop)_ 에스컬레이션 임계값의 주요 게이트로 사용할 수 있는 충분히 신뢰할 수 있는 통계적으로 기초화된 신호입니다. 신뢰도 점수를 사용하여 체계적으로 품질이 낮은 추출을 식별하고, 신뢰도가 낮은 필드 값, 모호한 스키마 일치 또는 반복되는 파이프라인 실패에 대해 HITL 검사점을 시작하여 휴리스틱이나 수동 점검에 의존하지 않도록 합니다. 자동 복구가 불가능할 경우 HITL 기반 신뢰도 점수 매기기를 통해 필요한 곳에 인간의 판단이 적용됩니다.
- **스키마 설계와 병렬로 활성화 경로를 설계합니다.** _Document AI의_ 가치는 Salesforce 워크플로 및 에이전트 내에서 추출된 데이터를 활성화할 수 있기 때문입니다. 추출 스키마 설계와 함께 Agentforce _Actions_, _플로우_ 및 _계산된 인사이트_를 설계할 수 있습니다.
## 아키텍처: Data 360 문서 AI 파이프라인
_Document AI는_ 두 가지 파이프라인 내에서 작동합니다.
- 대용량 UDMO 지원 처리용 _배치_ 파이프라인
- 실시간 API 기반 추출을 위한 _트랜잭션_ _처리_ 파이프라인
두 파이프라인 모두 동일한 스키마 구성 계약 및 ETL 거버넌스를 공유하지만, 문서가 시스템에 들어가는 방식과 추출된 데이터가 위치에 따라 다릅니다.
각 파이프라인을 자세히 살펴보겠습니다.
### 배치 처리 파이프라인
_배치_ 파이프라인은 UDMO로 정의된 반복 문서 집합을 처리합니다. 이는 문서가 엔터프라이즈 저장소에서 수집되고 문서 추출을 거쳐 조합, ID 확인 및 활성화를 위해 _Data 360 DLO/DMO_ 파이프라인에 전달되는 예약 또는 이벤트 기반 사용 사례에 적합합니다.
**실제 시나리오**
매일, 보험 회사는 _Amazon S3_에 PDF로 업로드되는 제공자 포털에서 수천 개의 의료 청구 문서를 받습니다. UDMO는 범위 내 문서 집합을 정의하고 모든 청구 PDF를 24시간 이내에 `/claims/incoming/` 버킷으로 보냅니다.

#### 1단계: 수집
문서는 물리적 복제 없이 엔터프라이즈 소스 시스템에서 _Data 360_으로 수집됩니다. 지원되는 소스는 _Amazon S3_, _Google Cloud Storage_, Salesforce CRM 파일 개체, _MuleSoft 오케스트레이션_ 파이프라인, 직접 API 업로드 등이 있습니다. _Headless 360_ 배포에서는 CRM 레이어를 우회하는 클라우드 스토리지 커넥터 또는 _Intension API_를 통해 문서가 수집됩니다. _모델 컨텍스트 프로토콜(MCP)_ 서버는 외부 AI 에이전트와 LLM 클라이언트가 호출할 수 있는 도구 형태로 수집 기능을 제공합니다.
수집 시 원시 문서가 _비정형 데이터 레이크 객체(UDLO)_로 저장되며, 소스 파일을 이동하거나 변환하지 않고 각 문서의 실제 위치 및 메타데이터에 매핑됩니다.
**예:**
클라우드 스토리지 커넥터를 통해 _S3_에서 _Data 360_으로 PDF가 수집됩니다. 각 문서는 _S3_ 객체를 가리키는 UDLO로 저장됩니다. 물리적 중복은 발생하지 않습니다.
#### 2단계: 추출
_Document AI는_ 각 UDLO를 추출할 필드와 대상 데이터 유형을 정의하는 스키마 구성에 따라 처리합니다. UDMO는 범위에 속하는 문서를 정의합니다. LLM(_GPT-4o_, _Gemini_ 또는 _Claude_)은 각 문서를 읽고 구조화된 추출 페이로드를 반환합니다.
**예:**
_Document AI_는 ClaimID, PatientName, DiagnosisCode, BillingAmount, ServiceDate와 같은 필드를 정의하는 클레임 스키마에 따라 각 UDLO를 처리합니다. ClaimID, PatientName, DiagnosisCode, BillingAmount, ServiceDate 그런 다음 LLM은 각 PDF를 읽고 구조화된 추출 페이로드를 반환합니다.
#### 3단계: 유지
데이터가 추출되면 _Data 360_의 원시 저장 계층인 DLO로 유지됩니다. DLO는 비즈니스 논리를 강제 적용하지 않고 추출된 필드를 유지하며, 다운스트림 변환 및 추적 가능성을 위해 정확한 물리적 표현을 유지합니다. UDLO는 파이프라인의 모든 지점에서 필드 수준 계보를 활성화하기 위해 소스 문서에 대한 참조를 유지합니다.
**예:**
추출된 모든 필드는 원본 PDF로 추적할 수 있는 전체 계보와 함께 각 클레임의 원시이자 정확한 표현을 보존하는 _Claims DLO_에 저장됩니다.
#### 4단계: 조화
DLO 필드는 표준 _Customer 360 데이터 모델_에 부합하는 DMO에 매핑됩니다. 이는 문서에서 파생한 데이터가 원시 추출된 필드에서 비즈니스를 의미하는 엔티티로 전환되는 경계입니다. _Invoice DLO_는 _Invoice DMO_에 매핑되며, _CustomerID_ 및 _BillingAmount_와 같은 필드는 통합 데이터 모델 내에서 조인 키 및 일치 특성이 됩니다. 조화된 문서 데이터는 CRM 및 트랜잭션 데이터에서 사용하는 것과 동일한 인터페이스를 통해 세분화, _계산된 인사이트_ 및 활성화에 참여합니다.
**예:**
_Claims DLO_는 _Claims DMO_에 매핑됩니다. PatientID 및 PolicyNumber 필드는 청구 레코드를 통합 환자 프로필에 연결하는 조인 키가 됩니다.
#### 5단계: 통합
정합화된 DMO 데이터는 식별 해소에 참여합니다. 추출된 필드(예: 고객 이름, 이메일 주소 또는 계정 번호)는 문서 레코드를 _통합 개인(Golden Records)_에 연결하는 일치 키로 사용되므로 문서-프로필 간 격차가 닫힙니다.
**예:**
추출 필드(예: PatientName, DateOfBirth 및 PolicyNumber)는 ID 확인을 위한 일치 키로 사용되며, 이 필드는 청구 레코드를 올바른 _통합 개인_에 연결합니다. 이는 동일한 환자가 문서마다 약간씩 다른 이름 철자로 나타나더라도 발생합니다.
#### 6단계: 인사이트 파생
아키텍트는 _계산된 인사이트_를 정의하며, 이는 조화된 문서 데이터(예: 다양한 송장 행 항목의 총 지출, 계약 갱신 위험 점수, 청구 심각도 지표)에서 계산되는 집계 메트릭입니다.
**예:**
_계산된 인사이트_는 Agentforce 쿼리에 대한 조화된 청구 데이터에서 TotalClaimsPerPatient, AverageClaimAmount, HighRiskClaimScore를 계산합니다.
#### 7단계: 작업
Agentforce 에이전트, _Tableau_, 마케팅 플랫폼, Salesforce _SObjects_에서 정합된 ID 확인 데이터에 액세스할 수 있습니다. 대상 계층은 대기 시간, 거버넌스, 데이터 상주 요구 사항에 따라 결정되는 아키텍처 결정입니다.
**예:**
_Claims Adjudication Agentforce Agent_는 _Data 360_ DMO 및 CI를 쿼리하여 우선순위 검토를 위해 고위험 청구를 찾습니다. _Tableau_ 대시보드에는 청구량 및 이상 추세가 표시됩니다. 승인된 청구 레코드는 결제 워크플로를 시작하기 위해 다시 _청구 SObject_로 돌아갑니다.
_Headless 360_ 아키텍처에서 활성화는 _쿼리 API_, _Pub/Sub API_ 또는 클라우드 데이터 웨어하우스 활성화 타겟을 통해 외부 시스템으로 직접 라우팅됩니다. 그런 다음, MCP 서버는 외부 AI 에이전트를 위해 호출 가능한 도구로 조화된 문서 데이터와 _계산된 인사이트_를 찾습니다.
### 트랜잭션 처리 파이프라인
_트랜잭션 처리_ 파이프라인은 이벤트 중심의 사용 사례(예: 양식을 업로드하는 고객, PDF를 수신하는 에이전트 또는 트랜잭션 처리 워크플로 내에서 추출을 시작하는 외부 시스템)에 적합한 UDMO 또는 미리 수집된 UDLO 없이 런타임 시 단일 문서 추출을 처리합니다. ETL 거버넌스는 두 파이프라인에 모두 동일하게 적용됩니다.
**실제 시나리오**
대출을 신청하는 동안 은행 고객이 은행의 모바일 앱을 통해 공공 요금 청구서의 PDF를 업로드합니다. 이벤트가 실시간으로 추출을 시작합니다. 즉, 미리 수집된 UDLO 또는 UDMO가 포함되지 않습니다.

#### 1단계: 스키마 구성 정의
API를 호출하기 전에 설계자는 필드, 데이터 유형 및 추출 지침을 _JSON 스키마_ 형식으로 지정하는 스키마를 정의하고 _Data 360_에 저장해야 합니다. 각 스키마에 고유한 _스키마 ID_가 할당됩니다. 런타임 시, 호출 애플리케이션은 스키마 ID를 참조하여 추출 논리를 애플리케이션 코드에 포함하는 대신 _Data 360_에 중앙 집중화된 상태로 유지합니다.
**예:**
은행의 팀은 _Data 360_에서 `CustomerName`, `AddressLine1`, `City`, `PostCode` 및 `DocumentDate`와 같은 필드를 지정하는 사전 정의된 `ProofOfAddress` 스키마를 가지고 있습니다. 이 정보는 _스키마 ID_로 참조할 수 있는 버전이 지정된 구성으로 저장됩니다.
#### 2단계: 문서 제출
호출 애플리케이션은 문서와 스키마 ID를 base64 인코딩된 페이로드 또는 파일 참조로 단일 REST API 요청에 제출합니다. UDLO 수집이 필요하지 않습니다. _Document AI는_ 문서 추출을 적용하고 제공된 스키마를 기반으로 구조화된 출력을 반환합니다.
**예:**
모바일 앱은 단일 REST API 호출에서 `ProofOfAddress` 스키마 ID와 함께 공공요금 청구서를 base64로 인코딩된 페이로드로 제출합니다. 이 프로세스에서는 UDLO 수집 단계가 필요하지 않습니다.
#### 3단계: 추출
LLM은 스키마에 대한 OCR 출력을 처리하고 구조화된 JSON 페이로드를 동기식으로 반환합니다. 문서에서 찾을 수 없는 필드는 _null_으로 반환됩니다. 발신자가 전체 JSON 응답을 소유하고 라우팅을 진행합니다.
**예:**
_Document AI는_ OCR을 PDF에 적용하고 LLM은 추출된 주소 필드가 포함된 구조화된 JSON 페이로드를 반환합니다. 찾을 수 없는 필드(예: 청구서에서 `PostCode`가 누락된 경우)는 _null_으로 반환됩니다.
#### 4단계: 대상으로 라우팅(옵션)
추출되면 JSON 페이로드를 사용 사례에 따라 하나 이상의 대상 계층으로 라우팅할 수 있습니다.
- **Salesforce SObject:** CRM 워크플로 및 승인을 위해 _Apex_ 또는 _Flow_를 통해 _SObject_ 필드에 직접 매핑합니다.
- **Data 360 DLO/DMO 파이프라인:** 조화, 신원 확인, _계산된 인사이트_, 그리고 Agentforce 그라운딩을 위해 DLO로 라우팅합니다.
- **외부 RDBMS 또는 데이터 웨어하우스:** Salesforce 외부 시스템의 경우 _MuleSoft_, _Apex_ 콜아웃, _Platform 이벤트_ 또는 ETL을 통해 라우팅합니다.
- **사용자 지정 통합:** 구조화된 JSON 페이로드를 호출 애플리케이션으로 반환하여 외부 시스템 또는 데이터 저장소에 저장할 수 있도록 합니다.
- **다운스트림 플로 또는 에이전트:** 구조화된 JSON 출력을 _SObject_에 저장하지 않고 다운스트림 플로 또는 에이전트로 직접 전달합니다. 이는 대규모 자동화 또는 에이전트 워크플로 내에서 실시간 추출 단계로 _Document AI를_ 사용하는 고객에게 일반적인 패턴입니다.
단일 스키마는 동일한 추출 지점에서 서로 다른 대상으로 라우팅되는 여러 필드 그룹을 사용하여 동시에 여러 계층으로 분기될 수 있다는 점에 유의하십시오.
**예:**
`ProofOfAddress` 페이로드는 한 번에 3개의 계층(예: `CustomerName` 및 `AddressLine1`가 _Contact SObject_에 쓰기)으로 분기될 수 있으며, 이로 인해 주소 확인 _플로_가 시작됩니다. 그런 다음 전체 페이로드는 조화 및 위험 평가를 위해 DLO로 라우팅되고, 복사본은 규정 준수 로깅을 위해 _MuleSoft_를 통해 은행의 KYC 시스템으로 라우팅됩니다.
#### 5단계: 작업
작성되면 추출된 데이터가 대상 시스템 내에서 즉시 활성화됩니다. _SObject_ 대상의 경우 트리거, 플로 및 승인 프로세스가 업서트된 레코드에서 활성화됩니다. _DLO/DMO_ 대상의 경우, 데이터는 _조화 및 신원 확인_ 파이프라인과 Agentforce 컨텍스트에 들어갑니다. 외부 _RDBMS_ 대상의 경우 쓰기가 완료되면 다운스트림 쿼리에 데이터를 사용할 수 있습니다.
**예:**
업서트된 _연락처_ 레코드에서 즉시 _주소 확인 플로_가 활성화되어 대출 신청을 다음 단계로 진행합니다. Agentforce _대출 담당자 Agent_는 _Data 360_에서 확인된 주소를 찾고 KYC 시스템은 감사 목적으로 문서 제출을 기록합니다.
## Document AI를 사용해야 하는 시기?
_Document AI_는 특정 아키텍처 조건에 가장 적합합니다. 이러한 조건 외에 적용하면 불필요한 복잡성과 추가 비용이 발생합니다.
아키텍처는 _Document AI_를 추출 메커니즘으로 사용하기 전에 이러한 기준을 평가하는 것이 중요합니다.
**Document AI를 사용해야 하는 경우:**
- **문서가 주요 데이터 소스입니다.** 필수 정보는 문서 형식에만 존재하며 구조화된 API 또는 데이터베이스에서 사용할 수 없습니다(예: 스캔된 계약, 실습 보고서, 인테이크 양식 또는 보험 청구).
- **문서 레이아웃은 소스에 따라 다릅니다.** 동일한 문서 유형이 여러 공급업체, 파트너 또는 지역에서 필드 위치와 형식이 다르게 도착합니다. 스키마 중심 LLM 추출은 레이아웃별 유지 관리 없이 조정됩니다.
- ** 추출된 데이터는 Data 360 또는 Agentforce에 입력해야 합니다.** 추출은 ID 확인, _계산된 인사이트_ 또는 Agentforce 기초 교육에 참여해야 합니다. _Document AI_는 별도의 ETL 레이어 없이 _DLO/DMO_ 파이프라인에 직접 전달됩니다.
- **볼륨은 제어 자동화를 정당화합니다.** 문서 용량은 측정 가능한 인건비 또는 데이터 품질 위험 없이 수동 처리가 처리할 수 있는 용량을 초과합니다.
- **문서에는 규제된 내용이 포함되어 있습니다.** LLM에 도달하기 전에 _PHI_, _PII_ 또는 금융 데이터를 제로 데이터 보존, PII 마스킹 레이어를 통해 라우팅해야 합니다. ETL은 기본적으로 이를 충족합니다. 어떤 시점에서도 추출된 콘텐츠가 저장되지 않기를 요구하는 고객은 _트랜잭션 API_ 플로를 고려해야 합니다. 이 플로는 어떤 _SObject_나 데이터 저장소에도 기록하지 않고 호출 애플리케이션에 직접 구조화된 출력을 반환합니다.
- **사용 사례는 이벤트 기반입니다.** 런타임 시 문서가 도착합니다(예: 고객 업로드, 에이전트 PDF 첨부 파일 또는 외부 시스템 트리거). _트랜잭션 처리_ 파이프라인은 배치 설정 없이 동기식 단일 문서 추출을 처리합니다.
**Document AI를 사용하지 말아야 하는 경우:**
- **소스 데이터는 이미 구조화되어 있습니다.** 업스트림 시스템에서 REST API, 데이터베이스 테이블 또는 구조화된 파일(예: CSV, JSON 또는 XML)을 노출할 경우 표준 _Data 360_ 커넥터를 사용합니다. LLM 추출 파이프라인을 통해 구조화된 데이터를 실행하면 추가 혜택 없이 대기 시간과 크레딧 비용이 추가됩니다.
- **문서는 고정된 스키마로 기계 생성됩니다.** 안정적인 레이아웃을 가진 알려진 ERP 또는 청구 플랫폼에서 시스템이 생성한 PDF는 결정론적 파서에 더 적합합니다. LLM 추출은 다양한 형태에 맞게 설계되었으며, 고정 스키마 문서에 적용하면 문맥 정보와 크레딧이 낭비됩니다.
- **정밀도 요구 사항이 LLM 신뢰 임계값을 초과합니다.** _Document AI_는 추출 정확도를 100% 보장하지 않습니다. 누락되었거나 잘못된 필드 값이 상당한 재정, 법률 또는 임상적 위험을 수반하는 경우 HITL 유효성 검사 단계가 필요합니다. 유효성 검사 워크플로 없이 중요한 결정을 위한 유일한 추출 계층으로 _문서 AI를_ 사용하지 마십시오.
- **문서가 플랫폼의 제약을 초과합니다.** 현재 10MB 파일 크기 제한과 LLM 컨텍스트 길이 제약으로 인해, 사전 처리를 통해 문서를 분할하고 재조립하지 않으면 _Document AI_는 대용량 또는 밀도가 높은 문서에 적합하지 않습니다.
- **참고:** Salesforce에서는 지원되는 파일 크기, 페이지 수 및 파일 확장자를 확장하기 위해 이러한 허용 가드 레일을 적극적으로 개선하고 있습니다. 제약은 앞으로도 계속해서 변화할 것입니다.
## 사용 사례: 실제 패턴을 검토하세요.
### 배치 파이프라인 사용 사례
UDMO 소스 개체가 지원하는 _Document AI 배치 파이프라인_을 사용하는 몇 가지 시나리오를 자세히 살펴보겠습니다. 이 경우 추출된 데이터는 조합, ID 확인, _계산된 인사이트_ 및 Agentforce 활성화를 위해 _Data 360 DLO/DMO_ 파이프라인을 통해 라우팅됩니다. 각 사용 사례는 예약 또는 이벤트 기반의 대용량 문서 처리에 가장 적합합니다.
**Agentforce Sales: 계약 및 송장 정보**
_계약_ PDF는 _배치_ 파이프라인을 통해 클라우드 스토리지에서 수집됩니다. 스키마는 ContractValue, RenewalDate, PaymentTerms, CounterpartyName을 추출한 다음, _계정_ 및 _계정_ DMO에 매핑합니다. _계산된 인사이트_는 갱신 위험 점수를 도출합니다. Agentforce는 갱신 기간이 끝나기 전에 계정 담당자에게 알림을 보내 수동 계약 검토와 갱신 누락을 방지합니다.
**Agentforce Service: 사례 전환 및 지식 그라운딩**
_질문 조사_ PDF 및 사례 첨부 파일은 _배치_ 파이프라인을 통해 수집됩니다. 스키마는 감정 지표, 문제 범주 및 해결 메모를 추출한 다음, _Case_ 및 _Knowledge Article_ DMOs에 매핑합니다. 사례가 열리면 Agentforce는 조화된 지식 베이스를 쿼리하고 관련 문제 해결 단계를 찾아 에이전트의 검색 오버헤드를 줄입니다.
**Agentforce 헬스: 임상 문서 처리**
실험실 보고서, 접수 PDF 및 수기 임상 양식은 _배치_ 파이프라인을 통해 수집됩니다. 스키마는 필드(예: _PatientID_, _DiagnosisCode_, _MedicationName_ 및 _TestResult_)를 추출한 다음, HIPAA 지정 케어 조정 및 임상 연구 워크플로를 지원하는 _Health Cloud_ DMO에 매핑합니다.
**금융 서비스: 대출 및 세금 문서 자동화**
대출 신청, 세금 신고서, 소득 내역서가 배치 파이프라인을 통해 수집됩니다. 스키마는 AnnualIncome, TaxYear, EmployerName을 비롯한 필드를 추출한 다음, 해당 필드를 _Financial Account_ DMO에 매핑합니다. _Calculated Insights_는 문서에서 가져온 소득 데이터와 CRM 데이터를 결합하여 자동화된 신용 위험 점수 매기기를 지원합니다. Agentforce 고객 서비스 상호 작용 중에 추출된 대출 세부 사항을 인라인으로 찾습니다. 이 패턴은 Salesforce _Agentic Enterprise Solutions_ 개발자 센터에 게시된 [대출 사전 자격 심사 에이전트](https://developer.salesforce.com/developer-centers/agentic-enterprise-solutions) 사용 사례를 직접 지원합니다.
**HR: 직원 문서 처리**
온보딩 문서, 세금 양식 및 인증 PDF는 _배치_ 파이프라인을 통해 수집됩니다. 추출된 필드는 _직원 레코드_ DMO에 매핑된 다음, _통합 직원 프로필_에 연결됩니다. 특정 _플로_은 추출된 데이터를 기반으로 온보딩 작업 및 규정 준수 확인을 시작합니다. 이 패턴은 [이력서 자동 처리](https://developer.salesforce.com/developer-centers/agentic-enterprise-solutions) Agentic 사용 사례를 직접 지원합니다. _Document AI_는 이력서 PDF에서 기술, 고용 내역, 자격을 추출하여 Agentforce가 공개 직무 기준에 따라 후보자를 일치시키고 채용 워크플로로 안내합니다.
**전문 서비스: 제안 및 연구 인텔리전스**
제안서 및 연구 보고서는 _배치_ 파이프라인을 통해 수집됩니다. 추출된 프레임워크, 벤치마크, 참여 요약이 사용자 정의 DMOs에 매핑된 다음, 벡터 검색을 위해 색인화됩니다. Agentforce 쿼리 시 컨텍스트와 관련된 권장 사항을 검색하며, 이는 추출된 문서 콘텐츠에 기반합니다. 이 패턴은 [웹사이트 콘텐츠를 기반으로 한 Agentforce](https://developer.salesforce.com/developer-centers/agentic-enterprise-solutions) 패턴을 확장합니다. 문서는 _Document AI_를 통해 인덱싱되며, _Data 360_ 커넥터를 통해 인덱싱되는 웹사이트 콘텐츠와 동일하게 에이전트 응답의 기반 기능을 제공합니다.
**HIPAA 준수 상태:**
이 문서에 설명된 _Health Cloud_ 패턴은 텍스트 입력에 ETL 컨트롤(예: 제로 데이터 보존 및 PHI 마스킹)을 적용합니다. 해당 컨트롤만으로는 HIPAA 인증을 구성하지 않습니다. 규제된 임상 환경을 위해 설계하는 설계자는 해당 컨텍스트 내에서 _Document AI 기반_ 아키텍처를 사용하기 전에 Salesforce 규정 준수 팀과 최신 HIPAA 인증 상태를 확인해야 합니다.
### 트랜잭션 처리 파이프라인 사용 사례
UDMO에 바인딩되지 않은 스키마를 사용하여 _Document AI_ REST API를 호출하는 몇 가지 시나리오를 자세히 살펴보겠습니다. 추출된 JSON 페이로드는 런타임 시 외부 시스템에 직접 동기식으로 라우팅됩니다.
**공급망: 공급업체 인보이스를 ERP로 처리**
모니터링된 저장소 버킷 또는 이메일 게이트웨이에 _공급업체 인보이스_ PDF가 도착하면 이벤트 트리거가 인보이스와 사전 정의된 스키마 ID가 포함된 _Document AI_ REST API를 호출합니다. 스키마는 VendorID, InvoiceNumber, LineItems, TotalAmount, TaxAmount, DueDate를 추출합니다. JSON 페이로드는 _MuleSoft_를 통해 _ERP 매입채무_ 모듈로 라우팅되며, _null_ 필드 검증 및 멱등성 업서트 논리를 사용하여 공급자 형식의 변동성에 대한 템플릿 유지 관리를 제거합니다.
**법적 운영: 계약 검토를 CLM으로**
법적 포털에 _계약_ PDF가 업로드되면 백엔드에서 _Document AI_ REST API를 동기식으로 호출합니다. 스키마는 GoverningLaw, IndemnityCapAmount, TerminationNoticePeriod, AutoRenewalClause, CounterpartySignatory를 추출합니다. JSON 페이로드는 _Apex_ 콜아웃을 통해 _Contract Lifecycle Management(CLM)_ 시스템으로 라우팅됩니다. 찾을 수 없는 모든 필드는 _null_으로 반환되며, CLM은 누락된 값에 기본 의무 규칙을 적용합니다.
**보험 청구: 손실 최초 통보 처리**
보험 소유자가 _First Notice of Loss(FNOL)_ 양식을 제출하면 백엔드 포털에서 _Document AI_ REST API를 동기식으로 호출합니다. 스키마는 PolicyNumber, IncidentDate, IncidentLocation, DamageDescription, ClaimantName, ContactPhone을 추출합니다. JSON 페이로드는 _Apex_ 콜아웃 또는 ETL을 통해 _ 클레임 관리_ 데이터베이스로 라우팅되며, 이는 공식 클레임을 열기 전에 조정자가 검토할 수 있는 미리 채워진 클레임 레코드를 만듭니다.
## 설계 고려 사항 및 실패 모드
프로덕션으로 전환하기 전에 다음 실패 시나리오에 대한 설계를 만들어야 합니다.
- **Null 필드 처리:** LLM은 찾을 수 없거나 확실하게 추출할 수 없는 필드에 대해 _null_을 반환합니다. 스키마 설계 시 null 처리 논리를 검증하고, 통합 레이어에 기본값 또는 거부 로직을 구현한 다음, _NOT NULL_ 제약이나 필수 일치 키가 있는 대상에 쓰기 전에 이를 적용해야 합니다.
- **OCR 품질 저하:** OCR 정확도는 150 DPI 미만이거나, 불규칙한 필기 또는 노이즈가 많은 스캔에서 저하됩니다. 잘못 인식된 데이터는 오류 신호 없이 손상된 입력으로 LLM 추출 과정에 전달됩니다. 수집 시 최소 스캔 품질을 적용하고 숫자 및 날짜 필드에 대한 신뢰 임계값 검사를 구현합니다.
- **스키마 버전 불일치:** 배치 작업이 예약된 후 스키마 구성을 업데이트하면, 진행 중인 문서가 이전 버전으로 처리되어 필드가 누락되거나 이름이 변경되어 다운스트림 매핑이 중단됩니다. 버전 스키마를 명시적으로 지정하고, 배치 작업 일정과 조정하여 업데이트를 진행합니다.
- **파일 크기 제한:** 10MB를 초과하는 문서는 거부됩니다. 모니터링이 구성되지 않으면 배치 파이프라인 오류는 감지되지 않으며, 트랜잭션 호출자는 _4xx_ 오류를 수신합니다. 수집 시 파일 크기를 미리 확인하고 사전 처리를 구현하여 정기적으로 제한에 도달하는 문서를 분할하거나 압축합니다.
- **LLM 컨텍스트 오버플로우:** 밀도가 높거나 여러 페이지로 구성된 문서는 10MB 제한 이내라도 LLM 컨텍스트 창을 초과할 수 있습니다. LLM은 컨텍스트를 초과하는 콘텐츠를 자동으로 삭제합니다. 문서를 페이지 범위별로 분할하고 추출된 필드를 재조합한 후 대상에 전송하는 청크 전략을 구현합니다.
- **Trust Layer 마스킹이 추출에 미치는 영향:** ETL은 문서 수준이 아닌 프롬프트 수준에서 작동하므로, _문서 AI를_ 통해 전달되는 문서 콘텐츠에는 마스킹이 적용되지 않습니다. 문서의 _PII_ 값에 의존하는 스키마 필드는 ETL 마스킹 정책에 영향을 받지 않습니다.
- **외부 RDBMS 쓰기 멱등성:** _트랜잭션 처리_ 파이프라인에는 외부 _RDBMS_ 타겟에 대해 내장된 멱등성이 없습니다. _통합 레이어_의 재시도는 쓰기 논리가 중복 제거를 명시적으로 처리하지 않는 한 중복 행을 생성합니다. 문서 지문 또는 외부 ID를 사용하여 모든 외부 쓰기 경로에서 멱등성 업서트를 구현합니다.
- **실행 중 신용 소진:** 대규모 배치 실행은 모든 문서가 처리되기 전에 _Digital Wallet_ 크레딧을 소모하여 불완전한 DLO 데이터 집합을 생성하며, 후속 단계에서는 이를 완료된 것으로 간주합니다. 사용 가능한 크레딧의 75% 및 90%에 소비 경고를 설정하고, 각 주기의 크레딧 예산 내에서 배치 크기를 제한합니다.
- **스키마 필드 제한 — 아키텍처 제약:** _Document AI는_ 스키마 구성에서 루트 수준 필드에 대해 50개 필드 제한을 적용합니다. 이는 런타임 오류가 아닌 설계 시간 제약이며, 설계자는 데이터 모델 및 스키마 설계 시 이를 고려해야 합니다.
- 광범위한 추출이 필요한 사용 사례:
- 가차 없이 우선순위를 정하세요. 전체 문서 적용 범위가 아닌 자동화 값을 촉진하는 필드로 스키마 범위를 좁힙니다.
- 중첩된 객체(최대 3단계; 소스 객체만 사용하는 배치 모드)를 활용하여 추출 깊이를 희생하지 않고 루트 수준 필드 수를 줄입니다.
- 고유한 문서 섹션을 대상으로 하는 여러 개의 _Document AI_ 구성에서 복잡한 문서를 분해하고, _Data 360_의 다운스트림에 연결되는 별도의 DLO에 결과를 작성합니다.
- **API 속도 제한:** _Document AI_는 테넌트당 분당 추출 API 호출 50개로 제한합니다. 이론적 한도는 _Einstein LLM 게이트웨이_에 따라 분당 300번의 통화입니다. 대용량 트랜잭션 통합은 지수 백오프, 요청 대기열, 테넌트 수준 처리량 예산을 사용하여 설계해야 합니다. 다중 테넌트 프로덕션 환경에서 버스트 용량을 사용할 수 있다고 가정하지 마십시오.
- **API 대기 시간 프로필:** _Document AI_ 추출 API는 완전히 동기적으로 동작합니다. 일반적인 응답 시간은 5~15초이며 파일 크기 및 스키마 복잡성에 따라 다릅니다.
- 이는 통합 아키텍처에 직접적인 영향을 미칩니다.
- 발신자 시간 제한을 최소 30초로 설정합니다.
- 1초 미만 SLA 요구 사항이 있는 플로우에서는 _Document AI_를 호출하지 마십시오.
- 지연 시간을 처리량 계산에 반영하여 _배치 처리_ 파이프라인의 속도 제한 한도를 고려하십시오.
- **암호화 및 비밀번호 보호 문서:** _Document AI는_ 암호로 보호된 파일(파일을 열려면 사용자 암호가 필요) 또는 소유자/권한 암호로 암호화된 PDF를 처리하지 않습니다. _PDF 권한_ 레이어에서 복사, 인쇄 또는 편집을 제한하지만 정상적으로 열리는 파일을 포함합니다.
- 이 제약은 수집 경계에 있습니다.
- _문서 접수_ 파이프라인을 설계하여 암호화된 파일을 감지하고 _문서 AI_에 도달하기 전에 _거부_ 또는 _수동 처리_ 경로로 라우팅합니다.
- 런타임 오류 처리를 주요 게이트로 의존하지 마십시오.
## Well-Architected 정렬
_Data 360 문서 AI는_ Salesforce _완벽하게 설계된 프레임워크_의 여러 기둥에 부합합니다.
- **Trust:** ETL은 LLM 공급자의 데이터 보존을 제로 적용하고, 모델에 도달하기 전에 _PII_ 입력을 마스킹하고, 민감한 콘텐츠에 대한 출력을 스캔합니다. 설계자는 저장된 추출 데이터에도 이 원칙을 적용해야 합니다. DLO의 필드 수준 마스킹은 ETL에서 적용되지 않으며 다운스트림 _데이터 스페이스_ 정책 및 _권한 집합_이 필요합니다.
- **신뢰성:** _설계 고려 사항_ 섹션의 각 실패 모드—null 필드 추출, OCR 오인식, 스키마 버전 불일치, 파일 크기 초과, LLM 컨텍스트 오버플로, ETL 마스킹 간섭, RDBMS 쓰기 멱등성 및 크레딧 소진—는 문서화된 감지 신호와 해결 경로가 있는 고유한 실패 클래스를 나타냅니다.
- **운영적 우수성(변경 관리):** 스키마 중심 추출 모델은 문서 레이아웃에서 추출 논리를 분리합니다. 공급업체가 인보이스 형식을 변경하거나 규제 양식이 업데이트되면 설계자는 통합 코드를 수정하는 대신 스키마 구성을 하나만 업데이트해야 합니다.
- **운영적 우수성(기존성):** 애플리케이션 코드에 추출 논리를 포함하는 대신 _Data 360_에서 스키마 구성을 중앙 집중화하면 추출 의도가 명시적이고 버전이 지정되어 감사할 수 있습니다. 모든 다운스트림 대상은 대상 계층에 관계없이 동일한 스키마 계약을 사용합니다.
- **Operational Excellence(통합 재사용):** _Document AI_는 여러 통합 표면에서 추출을 노출합니다. REST API, _Apex_, _Flow_, _MuleSoft_, Agentforce _Actions_ 및 MCP 서버 단일 스키마 구성은 소비자당 추출 기능을 재구축하지 않고 여러 대상 계층에 동시에 확장됩니다.
- **자원 및 비용 최적화:** 파이프라인 선택 지침, 10MB 파일 크기 경계, 사전 어셈블리 LLM 컨텍스트 길이 제약은 성능 인식 설계 결정을 나타냅니다. _사용 시기_ 섹션은 _Document AI_가 올바르지 않은 도구인 경우에 대한 조건을 공식화합니다(예: sub-second 지연 요구 사항, 전체 구조화된 소스 데이터 및 고정 스키마 시스템 생성 문서).
## 설계자를 위한 빠른 시작 가이드
이것은 Sandbox 환경에서 _Data 360 문서 AI_를 구성하기 위한 구조화된 시작 지점입니다. 프로덕션으로 이동하기 전에 Sandbox의 모든 단계를 완료합니다.
### 시작하기 전
구성을 시작하기 전에 다음을 확인해야 합니다.
- **파일 크기:** 대표 문서 크기가 10MB 미만인지 확인합니다.
- **파이프라인:** 사용 사례에 _배치_ 파이프라인(UDMO 지원, 대용량) 또는 _트랜잭션 처리_ 파이프라인(API 구동, 단일 문서)이 필요한지 확인합니다. 이렇게 하면 모든 후속 구성이 구동됩니다.
- **목표 계층:** 추출된 데이터의 위치 확인(Salesforce _SObject_, _Data 360_ DLO/DMO, 외부 RDBMS 또는 조합).
- **Agentforce 종속성:** Agentforce 지원 문서 처리를 배포하기 전에 ETL 설정을 통해 조직에서 지원되는 [LLM](https://help.salesforce.com/s/articleView?id=ai.generative_ai_large_language_model_support.htm&type=5)(예: _GPT-4o_)이 활성화되어 있는지 확인하십시오. Agentforce는 _Document AI_의 필수 플랫폼 전제 조건입니다. 모든 추출 API를 포함한 전체 _Document AI_ 기능 표면은 대상 조직에서 Agentforce가 활성화될 때까지 사용할 수 없습니다. 이 점을 조직 준비 상태 평가 및 프로비저닝 순서에 반드시 반영하세요. API 가용성이 활성화된 후 안정화될 때까지 몇 분 정도 기다리세요.
- **Agentforce 장애 영향:** _Document AI_ 구성 및 배포 후 Agentforce가 비활성화된 경우 모든 추출 처리(UI 및 API)가 즉시 차단됩니다. 모델 비활성화에도 동일하게 적용됩니다. 기본 모델을 비활성화하면 _Document AI_ 가용성에 동등한 영향을 미칩니다. 두 경우 모두 기존 스키마 구성이 유지되고 표시되지 않습니다. 구성이나 데이터 손실이 발생하지 않지만 Agentforce 및 모델이 다시 활성화될 때까지 기능이 완전히 비활성화됩니다. 운영 실행 문서를 설계하여 Agentforce 가용성 및 모델 활성화를 _Document AI_ 상태 종속성으로 처리합니다.
- **신용 소비/가격:** 대표 샘플 문서에서 산출된 TCO 추정에는 _Data 360_ 크레딧 또는 _Flex 크레딧_을 사용하세요.
#### 1단계: 스키마 및 파이프라인 구성
- **스키마 구성을 만듭니다.** _Data 360 문서 AI_ 설정에서 추출 필드, 데이터 유형 및 지침을 _JSON 스키마_ 형식으로 정의합니다. _배치_ 파이프라인의 경우 UDMO에 연결합니다. _트랜잭션 처리_ 파이프라인의 경우 소스 개체 없이 생성합니다. 스키마 ID를 기록합니다.
- **대상 계층에 필드 이름 맞추기.** 필드 이름을 DLO 열 정의, _SObject_ API 이름 또는 RDBMS 열 이름과 일치시킵니다. 잘못 정렬된 이름은 통합 레이어에서 매핑 오버헤드를 발생시킵니다.
- **UDMO 소스 개체를 구성합니다(배치 전용).** 범위에서 문서를 정의하고 수집 소스 연결(예: _S3_, _Google Cloud Storage_, _Salesforce Files_ 또는 _MuleSoft)을 구성합니다._ 수집 서비스 계정에 필요한 _IAM_ 또는 _OAuth_ 자격 증명 범위가 있는지 확인합니다.
- **PII 마스킹 정책 적용.** 규제된 콘텐츠를 처리하기 전에 ETL 설정에서 _데이터 마스킹_ 정책을 구성합니다. 입력이 LLM에 도달하기 전에 마스킹되는 필드 유형(_PHI_, _PII_ 및 금융 식별자)을 정의합니다. **Don't** 이 단계를 미루지 마십시오.
- **데이터 공간 범위 및 권한 집합 할당.** 범위 처리를 해당 _데이터 공간_에 지정하고 스키마 생성, 배치 작업 실행, REST API 호출, 다운스트림 활성화를 제어하는 _권한 집합을_ 구성합니다.
- **API 인증을 구성합니다(트랜잭션 처리 파이프라인에만 해당).** _OAuth_ 범위 cdp_ingest_api 및 api로 _연결된 앱_을 만듭니다. 조직 내부 호출자의 경우 _외부 자격 증명_에 연결하는 _명명된 자격 증명을_ 사용합니다. 외부 호출자의 경우 _OAuth 2.0_ 클라이언트 자격 증명 또는 JWT 전달자 플로를 구성합니다. 진행하기 전에 추출을 테스트하고 유효성을 검사합니다.
#### 2단계: 통합 및 대상 구성
- **SObject write-back:** JSON 응답 필드를 _SObject_ 필드에 매핑하는 _Apex_ (@InvocableMethod) 또는 _Flow_ 요소를 구현합니다. 중복을 방지하려면 외부 ID와 함께 Database.upsert()를 사용하십시오. 대상 _SObject_ 필드에 _필드 수준 보안_을 적용합니다.
- **Data 360 DLO/DMO 파이프라인:** 추출된 DLO 필드를 _Customer 360 데이터 모델_과 일치하는 DMO에 매핑합니다. 문서 레코드를 _Unified Individuals_에 연결하도록 신원 확인 규칙을 구성합니다. _계산된 인사이트_를 정의하고 Agentforce에 DMO를 추가합니다. 트랜잭션 처리 파이프라인의 경우 먼저 _ 수집_ API를 통해 JSON 페이로드를 DLO로 라우팅합니다.
- **외부 RDBMS 또는 데이터 웨어하우스:** 통합 패턴을 선택합니다. _MuleSoft_(기존 통합 패브릭), _Apex_ HTTP 콜아웃(Lightweight, Organ-Native), _Pub/Sub_ 가입자와의 _플랫폼 이벤트_(Event-Driven) 또는 ETL(High-Volume Batch) 문서 지문 또는 외부 ID를 사용하여 모든 외부 쓰기 경로에서 멱등 업서트를 구현합니다.
- **활성화 경로:** 대화형 추출을 위해 Agentforce 작업을 스키마 구성에 연결합니다. 자동화된 처리 워크플로를 위해 _플로_ 또는 _Apex_ 트리거를 구성하고 각 필드 그룹에 대한 활성화 목표를 설정합니다.
- **오류 처리(트랜잭션 처리 파이프라인에만 해당)** 전체 HTTP 응답 영역 구성: **200개**(_성공된 결과_, 부분적인 _null_ 응답 포함), **400개**(_잘못된 요청_ 또는 _스키마 ID 찾을 수 없음_), **413개**(파일이 10MB를 초과), **5xx개**(서비스 오류). 최대 3번의 시도를 통해 _5xx_ 재시도에 기하급수 백오프를 구현합니다. 모든 호출에 대한 원시 JSON 응답 및 스키마 ID를 기록합니다.
#### 3단계: 프로덕션을 위한 검증 및 준비
- **샘플 문서를 대상으로 스키마를 테스트합니다.** _Document AI_ 인터페이스 또는 REST API를 통해 대표적인 샘플을 제출합니다. 레이아웃 변형 전반에서 추출 정확성, 필드 적용 범위, null 처리를 확인합니다.
- **null 필드 처리를 확인합니다.** 모든 다운스트림 대상이 문서에서 _찾을 수 없는 필드_의 _null_ 값을 처리할 수 있는지 확인합니다. 명시적 null 처리를 하지 않으면 _NOT NULL_ 제약 조건이 조용히 실패한다는 점을 기억하십시오.
- **파일 크기를 사전 검증합니다.** 프로덕션 문서가 10MB 미만인지 확인합니다. 사전 처리를 구현하여 정기적으로 제한에 도달하는 문서를 분할하거나 압축합니다.
- **단계별 추출 검증.** _배치_ 파이프라인의 경우 전체 실행을 시작하고 추출된 필드가 각 대상 계층에 올바르게 도달하는지 확인합니다. _트랜잭션 처리_ 파이프라인의 경우 _통합_ 레이어를 통해 대상에 대한 JSON 응답을 추적합니다. _SObject_ 대상의 트리거 및 플로 실행, _DLO/DMO_ 대상의 ID 확인 링크, _RDBMS_ 대상의 idempotency를 확인합니다.
- **Trust Layer의 동작을 확인합니다.** ETL은 문서 콘텐츠에 _PII_ 마스킹을 적용하지 않으므로 LLM은 추출된 필드의 _PII_ 데이터를 그대로 반환합니다. 스키마 필드, 데이터 라우팅, 다운스트림 저장소가 PII 전달 출력을 적절하게 처리하도록 설계되었는지 확인하고 플랫폼 외부에서 규정 준수 또는 유지 요구 사항이 해결되었는지 확인합니다.
- **Digital Wallet 알림을 설정합니다.** 사용 가능한 크레딧의 75% 및 90%에 도달하면 소비 알림을 구성합니다. 각 주기의 크레딧 예산 내에서 배치 크기 제한과 임시 요율 추정을 설정합니다.
- **배치 모니터링을 검증합니다(배치 파이프라인에만 해당).** 추출 성공률, null 필드 비율 및 작업 완료를 _Data 360_ 모니터링 콘솔에서 검토합니다. UDLO에서 DLO를 통해 데이터 계보의 DMO로 태그 전파를 확인합니다.
- **API 오류 처리를 검증합니다(트랜잭션 처리 파이프라인에만 해당).** 모든 오류 조건 테스트: **413**(10MB 이상의 문서), **400**(유효하지 않은 스키마 ID), **200**(일부 null이 있는 유효한 추출). 중복 쓰기 없이 시뮬레이션된 **5xx** 응답에서 재시도 논리가 실행되는지 확인합니다.
## 결론
이 문서에서는 _Data 360 문서 AI_:의 아키텍처 기반을 강조합니다.
- 두 개의 처리 파이프라인 및 사용 시기
- 스키마 구성 모델
- 목표 계층 결정 프레임워크
- 핵심 기술 제약 사항
- 실패 모드
- _Well-Architected Framework_ 준수
[건축가용 빠른 시작 가이드](/docs/architect/ko-kr/fundamentals/guide/data360-document-ai#설계자를-위한-빠른-시작-가이드)는 샌드박스 개념 증명을 위한 구성 순서를 제공합니다.
핵심 아키텍처는 _스키마_ 계층에서 관리되는 문서에서 파생된 데이터를 지원하며, ETL 적용 LLM 파이프라인을 통해 처리되고, 다른 모든 엔터프라이즈 데이터를 관리하는 동일한 _Data 360_ 데이터 수명 주기에 전달됩니다.
올바른 파이프라인을 선택하고, 문서 유형 수준에서 스키마를 설계하고, 프로덕션 전에 실패 모드를 설계하는 등 이러한 원칙을 적용하는 설계자는 규제된 산업 거버넌스 요구 사항에 따라 확장되고 지속되는 추출 기능을 구축합니다.
### 작성자 정보
**Yugandhar Bora는** Salesforce의 소프트웨어 엔지니어링 아키텍처로, _데이터 및 인텔리전스 애플리케이션_ 플랫폼 내에서 데이터 아키텍처를 전문으로 합니다. 그는 데이터 거버넌스 및 통합 데이터 모델에 초점을 맞춘 _엔터프라이즈 아키텍처 검토 위원회(EARB)_ 이니셔티브를 이끌고 있으며, 자동화된 플랫폼 프로비저닝 솔루션에도 기여합니다.
**Ananth Anto는** Salesforce _Data 360_의 제품 관리 책임자로서 _Document AI 및 Data Graph_ 이니셔티브를 이끌고 있습니다. 방갈로르에 위치한 그는 엔터프라이즈 고객과 협력하여 실제 문서 처리 및 데이터 인텔리전스 문제를 해결합니다. 그는 _Enterprise_ 사용 사례 중 _Generative AI (Gen AI)_에 관한 내용을 탐구하는 것을 즐깁니다.
Salesforce의 소프트웨어 엔지니어링 아키텍트인 **Nishan Naseer**은 _비정형 데이터 처리_, _RAG_ 파이프라인, _문서 인텔리전스_ 분야에서 근무합니다. 그는 AI의 능력을 활용하여 실제 문제를 해결하고 복잡한 고객 문제에 대한 창의적인 솔루션을 찾는 데 열정적입니다.
# Data 360 및 통합 시작하기
이 섹션에서는 데이터 플랫폼을 구성하고 Salesforce를 엔터프라이즈 시스템과 통합하는 방법을 설명합니다. 이러한 문서는 통합 데이터 아키텍처를 구축하고 Salesforce를 광범위한 기술 에코시스템과 연결하기 위한 필수 지식을 제공합니다.
## Data 360 아키텍처
[Data 360 아키텍처](/docs/architect/ko-kr/fundamentals/guide/data-360-architecture)는 AI 기반의 미래를 위해 설계된 Salesforce의 차세대 데이터 플랫폼을 소개합니다. 이 포괄적인 가이드는 다음을 다룹니다.
- **현대 데이터 플랫폼 아키텍처**: Data 360은 AI/ML, 분산 데이터, 클라우드 레이크하우스, 비정형 데이터, 지식 관리 및 실시간 처리 기능을 통합합니다.
- **설계 원칙**: 개방성, 상호 운용성, 다중 모델 저장소, 메타데이터 중심 설계, 실시간 하이브리드 처리, 지능형 데이터, 거버넌스, 일대다 테넌스
- **핵심 차별화 요소**: Snowflake, Databricks, BigQuery, Redshift와 연합하여 기존 투자 중복 없이 Customer 360 확장합니다.
- **사용 사례 및 기능**: 실시간 인사이트, 자율적인 의사 결정, 구조화된 데이터 및 비정형 데이터에 대한 통합 액세스를 지원합니다.
이 문서는 엔터프라이즈 설계자 및 CTO가 에이전트 엔터프라이즈 시대의 데이터 전략을 계획하는 데 필수적이며, 전략 지침과 Data 360 아키텍처에 대한 기술적 심층 분석을 모두 제공합니다.
## 통합 패턴
[통합 패턴](/docs/architect/ko-kr/fundamentals/guide/integration-patterns)은 Salesforce Platform을 기업의 다른 애플리케이션과 통합하는 방법을 포괄적으로 설명합니다. 이 문서에서는 다음을 제공합니다.
- **패턴 기반 접근법**: 성공적인 Salesforce 구현에서 파생된 일반적인 시나리오의 통합 패턴입니다.
- **모형 선택 가이드**: 특정 통합 시나리오에 적합한 패턴을 선택하는 매트릭스입니다.
- **통합 모범 사례**: 안정적이고 확장 가능하며 유지 관리 가능한 통합을 빠르게 구축하는 팁입니다.
- **전체적인 적용 범위**: 실시간 동기화, 배치 처리, 데이터 마이그레이션, 이벤트 중심 아키텍처에 대한 패턴입니다.
이 문서는 Salesforce와 다른 엔터프라이즈 애플리케이션을 통합해야 하는 아키텍트 및 개발자를 위해 고안되었습니다. Salesforce의 컨설팅 아키텍트는 이러한 패턴을 아키텍처 검토 시 참조 지점으로 사용하므로 이 가이드는 통합 아키텍처에 대한 권위 있는 가이드입니다.
---
이 두 기사는 Data 360을 사용하여 최신 데이터 플랫폼을 구성하는 방법과 Salesforce를 기존 엔터프라이즈 시스템과 효과적으로 통합하는 방법을 모두 이해하는 데 도움을 줍니다. Data 360 아키텍처부터 데이터 플랫폼 기능을 이해한 다음 통합 패턴을 살펴보고 더 광범위한 기술 에코시스템과 Salesforce를 연결하는 방법을 알아봅니다.
# 개요
Salesforce Data 360은 기업이 고객 데이터를 대규모로 연결, 조화 및 활성화하는 방식을 혁신합니다. 그러나 데이터가 수명 주기 전반에 걸쳐 얼마나 안전하게 관리되는지에 대한 강점이 있습니다. 이 보안 참조 아키텍처는 Data 360 환경을 보호하기 위한 실용적인 종단간 청사진을 제공합니다. 최소 권한, 제로 Trust 설계, 기본 거버넌스의 핵심 원칙을 통해 이를 달성합니다.
Data 360의 보안은 기본적으로 공유 책임 모델입니다. Salesforce는 ISO 27001, SOC 2, GDPR(일반 데이터 보호 규정)와 같은 글로벌 표준을 사용하여 인프라, 네트워크, 암호화 서비스, 플랫폼, 규정 준수 및 응용 프로그램 자체를 보호합니다. Salesforce 관리자는 액세스를 정의하고 개인정보보호를 적용하고 통합을 관리하여 플랫폼 내에서 조직의 데이터를 보호합니다. 이 작업에는 필요한 액세스 권한만 부여하는 강력한 ID 및 액세스 관리(IAM) 구현, 2단계 인증(2FA) 적용, 최소 권한 및 엔터프라이즈 및 규제 요구 사항 준수 원칙이 포함됩니다.
Data 360 거버넌스는 이러한 책임 계층을 연결하여 보안과 규정 준수가 일치하도록 합니다. 역할, 정책, 권한 및 데이터 처리 규칙이 수집에서 활성화에 이르기까지 전체 프로세스에서 정의되고 지속적으로 적용되도록 합니다. 데이터 계보, 메타데이터 분류, 동의 인식은 모든 개체 및 프로세스에 내장되어 있습니다. 이렇게 하면 거버넌스가 수동 감독 기능에서 운영 제어 플레인으로 전환됩니다.
Salesforce는 기업이 데이터 태세, 개인정보 보호 설정 및 통합 경계에 대한 완전한 권한을 유지할 수 있는 탄력적이고 규정을 준수하는 기반을 제공합니다. 함께 모든 데이터 집합, 정책 및 사용자 작업이 추적 가능하고 일관되며 신뢰를 기반으로 하는 보안 및 거버넌스 패브릭을 만듭니다.
Data 360의 보안은 정적 제어 이상으로 확장됩니다. 데이터 수명 주기의 모든 단계에 포함되어 있습니다. 데이터가 수집되는 순간부터 암호화되고, 검증되며, 엔터프라이즈 정책에 따라 분류됩니다. 통합되고 보강되므로 메타데이터 계보와 동의 특성이 유지되어 책임을 보장합니다. 비즈니스 또는 AI 사용을 위해 인사이트가 활성화되면 암호화된 채널, 강력한 인증 및 권한 부여, 정책 인식 거버넌스, 동의 적용을 통해 아웃바운드 흐름이 보호되므로 데이터가 수집에서 활성화까지 신뢰할 수 있고 규정을 준수하며 안전하게 유지됩니다.
## Data 360의 보안 기반
Data 360은 Hyperforce 아키텍처를 기반으로 설계된 보안 기반을 제공하며 클라우드 네이티브 기능을 제공합니다.
### Hyperforce를 기반으로 구축됨
Salesforce Data 360은 전적으로 Salesforce의 Hyperforce 아키텍처를 기반으로 구축된 클라우드 네이티브 데이터 플랫폼으로 글로벌 운영을 위한 안전하고 규정 준수 가능하고 확장 가능한 기반을 제공합니다.
### Secure-by-Design 보안 설계 기반
* Hyperforce는 보안 및 규정 준수를 추가 기능이 아닌 내장 기능으로 제공합니다. Salesforce의 플랫폼 및 응용 프로그램 전체에 깊이 통합된 공통의 기본 제어 집합을 제공하여 인프라에서 앱 환경에 이르기까지 모든 계층이 보안, 개인 정보 보호, 규정 준수에 중점을 두고 설계되도록 합니다.
* Data 360은 Hyperforce 기본 제어에서 직접 강력한 액세스 제어, 암호화, 규제 준수 프레임워크를 상속합니다.
* 이 secure-by-default(기본적으로 보안이 적용된) 모델은 취약성을 최소화하고 신뢰할 수 있으며 규정을 준수하는 데이터 서비스 제공을 간소화합니다.
### 클라우드 네이티브 아키텍처
* Data 360은 격리, 성능 및 다중 테넌트 보안을 보장하는 통합 클라우드 플랫폼인 Hyperforce 상단에 호스팅되는 전용 기능 도메인 내에서 실행됩니다.
* Data 360은 마이크로서비스 아키텍처를 사용하며, 모든 서비스가 Kubernetes를 통해 컨테이너화되고 오케스트레이션됩니다.
* 제로 Trust 원칙을 적용하는 Istio 서비스 메쉬는 안전한 서비스 간 커뮤니케이션을 관리하고 트래픽 관리, 관찰 가능성, 정책 집행을 제공합니다.
### 확장 가능한 모듈식 배포
* Data 360 서비스는 Salesforce 관리 가상 사설 클라우드(VPC)로 프로비저닝되고 운영되므로 분리, 효율적인 제어, 최적화된 내부 네트워킹이 가능합니다.
* 아키텍처는 가로 확장성을 지원하므로 Data 360은 페타바이트 규모의 데이터 처리 워크로드를 처리할 수 있습니다.
### 통합 및 확장성
* Data 360은 Salesforce CRM 애플리케이션 및 기타 데이터 소스와 통합하기 위해 잘 정의된 API를 제공합니다.
* 1P(퍼스트 파티) 및 Hyperforce 기반 Salesforce CRM 조직을 모두 지원하므로 다양한 환경 간의 호환성을 보장합니다.
* Data Cloud One을 사용하면 고객이 여러 Salesforce CRM 조직을 단일 Data 360 인스턴스에 연결할 수 있습니다.
### 공유 책임 모델
Salesforce Data 360의 보안은 Amazon Web Services(AWS), Microsoft Azure 및 Google Cloud와 같은 선도적인 클라우드 공급업체에서도 사용되는 프레임워크인 [공유 책임 모델](https://compliance.salesforce.com/en/documents/a006e000010nW2FAAU)에 따라 작동합니다.
이 모델은 명확한 경계를 정의합니다: Salesforce는 클라우드 **보안**을 담당하고, 고객은 클라우드 **내** 보안을 담당합니다. 이 구분을 이해하고 운영하려면 복원 가능하고 규정을 준수하며 안전한 데이터 에코시스템을 유지하는 것이 중요합니다.
#### Salesforce: 클라우드 보안
Salesforce는 Data 360 플랫폼 및 해당 글로벌 인프라의 무결성을 보호하고 유지할 책임이 있습니다. 여기에는 다음이 포함됩니다.
* **물리적 및 환경 보안:** Hyperforce는 AWS 인프라에서 호스팅되며, Amazon은 액세스 제어, 감시, 환경 보호 조치를 통해 글로벌 데이터 센터 보호 책임을 위임받았습니다.
* **네트워크 및 경계 방어:** 운송 중(TLS 1.2 이상) 및 유휴 중(AES-256)의 모든 트래픽에 대한 DDoS(Distributed Denial of Service) 완화, 침입 감지, 암호화
* **플랫폼 경화 및 패치 관리:** 지속적인 취약성 관리, 패치 배포, OS 수준 보안 기준 수립.
* **규정 준수 및 인증:** SOC 1/2/3, ISO 27001, ISO 27017, ISO 27018, GDPR 등 프레임워크에 대한 준비도와 같은 표준에 대한 지속적인 감사
이러한 제어를 통해 Data 360 플랫폼이 안전하고 신뢰할 수 있으며 규정을 준수할 수 있으므로 고객은 인프라 보호 대신 비즈니스 논리 및 데이터 관리에 집중할 수 있습니다.
#### 고객: 클라우드의 보안
고객은 Salesforce Data 360 조직 내에서 데이터, 구성, 운영 프로세스를 안전하게 보호할 책임이 있습니다. 주요 책임 영역은 다음과 같습니다.
* **ID 및 액세스 관리(IAM):** 역할을 정의하고 다단계 인증(MFA) 및 싱글사인온(SSO)을 적용하거나 최소 권한 원칙을 적용합니다.
* **데이터 거버넌스:** 중요한 데이터를 분류하고 필요한 경우 마스킹을 적용하거나 개체, 필드, 레코드 수준 액세스 제어를 적용합니다.
* **통합 보안:** 명명된 자격 증명 및 외부 자격 증명을 사용하여 OAuth 2.0, JSON 웹 토큰 JWT, 기타 인증 표준을 통해 API 액세스를 관리합니다.
* **모니터링 및 대응:** 이벤트 모니터링 및 감사 추적을 사용하고 고급 위협 감지를 위해 보안 정보 및 이벤트 관리(SIEM) 시스템에 로그를 전달합니다.
Salesforce는 보안 기반을 제공하지만, 고객은 구성, 제어, 그리고 경계를 통해 실제 보안 태세를 결정합니다.
#### 사람 중심의 책임
보안은 단순히 기술 구조가 아니라 조직 분야입니다. Salesforce Data 360의 데이터 보호는 아키텍처, 운영, 거버넌스 팀 간의 공동 작업을 통해 달성됩니다.
**기업은 다음을 수행해야 합니다.**
* 사용하지 않거나 과도한 권한이 부여된 계정을 지속적으로 검토하고 폐기합니다.
* 정책을 코드 및 CI/CD 파이프라인으로 사용하여 적용을 자동화합니다.
* 무단 데이터 활성화 또는 유출과 같은 사고를 시뮬레이션하는 테이블탑 연습을 실시하여 대응 준비 태세를 강화합니다.
Data 360의 효과는 기능 자체만으로 확장되는 것이 아니라, 고객이 이를 얼마나 책임감 있게 운영하느냐에 따라 달라집니다.
#### Secure-by-Default: 사전 예방적 보안 조치
Salesforce Data 360은 반응형 제어에서 예방적 설계로 전환하는 '기본 보안' 철학을 채택합니다. 모든 새로운 Data 360 조직은 나중에 보안을 강화하는 대신 '모두 거부' 상태로 시작하여 첫 배포부터 제로 트러스트 원칙을 적용합니다.
#### 반응형 제어에서 예방 설계로 이동
이전 환경에서는 고객들이 더 빠른 온보딩을 위해 허용 '모두 허용' 모델을 상속받았습니다. 편리하지만, 실수로 초과 노출 및 잘못된 구성으로 인해 발생할 위험이 있습니다.
새로운 기본 보안 아키텍처는 이 접근 방식을 뒤집습니다.
* 사용자 또는 시스템에 암시적 액세스 권한이 없습니다.
* 모든 권한은 명시적으로 부여되어야 합니다.
* 데이터 액세스, 통합, 거버넌스 제어는 0일부터 적용됩니다.
이렇게 하면 설계 단계에서 최소 권한 원칙이 적용되어, 실수로 인한 노출이나 권한 상승의 위험이 크게 줄어듭니다.
#### 운영 및 거버넌스 영향
이 모델은 기술적 및 행동적 함의를 모두 가지고 있습니다.
* 팀은 권한을 규정 준수 및 비즈니스 경계에 맞춰 액세스 모델을 의도적으로 계획해야 합니다.
* 거버넌스는 사후 고려 사항이 아닌 기본 설계 요구 사항이 됩니다.
* 데이터의 소유권 및 책임은 처음부터 정의됩니다.
"모두 허용" 정책을 사용하는 레거시 Data 360 조직의 경우, 관리자가 새로운 기준에 맞게 구성을 수동으로 강화해야 하며, 이는 모든 보안 현대화 또는 Data 360 성숙도 프로그램에서 중요한 단계입니다.
#### Trust by Design
Salesforce Data 360은 기본적으로 제로 액세스를 적용하고 명시적인 정책 정의를 요구함으로써, 엔터프라이즈 데이터 보안의 근본적인 진화인 Trust by Design을 구현합니다.
이 접근 방식은 다음을 보장합니다.
* 무단 액세스 및 데이터 누출 위험이 최소화됩니다.
* 거버넌스 프레임워크는 선택적으로 적용되지 않고 구조적으로 적용됩니다.
* 엔터프라이즈는 다양한 환경에서 더욱 예측 가능하고, 감사 가능하며, 복원력 있는 보안 태세를 갖추게 됩니다.
본질적으로 보안은 더 이상 추가되는 기능이 아니라, 시작점이 되는 기반입니다.
## ID 및 액세스 관리: 데이터로 가는 관문
**Salesforce Data 360**의 IAM(ID 및 액세스 관리)은 가장 중요한 방어 계층입니다. 플랫폼에 액세스할 수 있는 사람과 내부에서 수행할 수 있는 작업을 **누가** 수행할 수 있는지 규제합니다**.** 잘 구현된 IAM 프레임워크는 고객 데이터를 보호하고 운영 무결성을 보장하기 위해 엔터프라이즈에서 보유하고 있는 가장 강력한 단일 제어입니다.
### 인증: "본인 확인"
인증은 Salesforce Data 360에 액세스하는 모든 사용자, 서비스 또는 외부 시스템이 합법적임을 확인하는 **디지털 Trust를** 설정합니다.
### 연합 ID 관리
Data 360은 [**Microsoft Entra ID(Azure AD)**](https://learn.microsoft.com/en-us/entra/identity/saas-apps/salesforce-tutorial), [**Okta**](https://help.okta.com/en-us/content/topics/provisioning/salesforce/sfdc-provision.htm) 또는 [**Ping Identity를**](https://docs.pingidentity.com/configuration_guides/salesforce/config_saml_salesforce_pf.html) 사용하는 [**SAML 2.0**](https://help.salesforce.com/s/articleView?id=xcloud.sso_saml.htm&type=5), OpenID Connect([**OIDC**](https://help.salesforce.com/s/articleView?id=xcloud.sso_provider_openid_connect.htm&type=5)) 또는 교차 도메인 ID 관리([**SCIM**](https://help.salesforce.com/s/articleView?id=xcloud.identity_scim_overview.htm&type=5)) 시스템과 같은 엔터프라이즈급 ID 공급자(IdP)와 함께 **연합 인증**을 지원합니다.
이 연합은 회사 ID 수명 주기를 Salesforce로 직접 확장합니다. 직원이 입사, 전근 또는 퇴사할 때마다 액세스 권한이 자동으로 조정되어, 고아 계정을 줄이고 규정 준수 준비도를 높일 수 있습니다.
### 싱글사인온(SSO)
[**SSO(Single Sign-On)**](https://help.salesforce.com/s/articleView?id=xcloud.sso_about.htm&type=5)를 사용하면 사용자가 회사 자격 증명을 사용하여 한 번만 인증하고 별도의 암호 없이 Salesforce 애플리케이션에 안전하게 액세스할 수 있습니다. 이렇게 하면 자격 증명 피로가 줄어들고 암호 재사용 또는 피싱으로 인한 위험이 최소화됩니다.
### 적응형 및 조건부 액세스
ID 공급자(IdP)는 인증 결정을 내릴 수 있는 단일 기관이 되어 다단계 인증(MFA), 조건부 액세스, 위험 기반 제어를 적용합니다. 인증은 단일 이벤트에서 사용자 동작 및 컨텍스트에 맞춰 지속적인 신뢰 평가로 발전합니다.
연합 인증은 다음을 제공합니다.
* **중앙 집중식 정책 집행:** 인증 표준은 모든 Salesforce 환경 전반에서 한 곳에서 관리됩니다.
* **엔드 투 엔드 추적 가능:** 통합 감사 내역은 모든 작업을 다시 확인된 ID에 연결합니다.
* **인간 중심 경험:** 마찰 없이 안전한 로그인 프로세스를 통해 팀이 자격 증명이 아닌 인사이트에 집중할 수 있습니다.
### 인증: ‘할 수 있는 것’ 정의
사용자가 확인되면 권한 부여가 사용자가 액세스, 보기 또는 수정할 수 있는 항목을 정의합니다. 중요한 데이터를 보호하고 최소 권한을 적용하는 운영 경계를 설정합니다.
**최소 권한 원칙(PoLP):** 모든 사용자와 시스템에는 업무에 필요한 권한만, 그 이상은 부여되지 않습니다. 이 원칙은 자격 증명 저하 또는 잘못된 구성으로 인한 잠재적인 손상을 대폭 제한합니다.
**역할 기반 액세스 제어(RBAC):** Salesforce Data 360은 권한 집합 및 권한 집합 그룹을 사용하여 비즈니스 역할에 맞춰 세분화된 기능을 할당합니다. 예:
* 데이터 엔지니어는 Data 360 아키텍처 권한 집합을 사용하여 수집 파이프라인 및 변환을 관리할 수 있습니다.
* 마케팅 분석가는 조화된 데이터를 쿼리할 수 있지만 Data 360 활성화 관리자 권한 집합을 통해 모델을 변경할 수 없습니다.
* 활성화 관리자는 Data 360 활성화 관리자 권한 집합을 통해 아웃바운드 캠페인을 실행할 수 있지만 소스 데이터에는 액세스할 수 없습니다.
액세스는 중앙에서 관리하고 감사할 수 있으므로 데이터 수명 주기 전반에 걸쳐 책임을 보장할 수 있습니다. Entra ID, Okta 또는 Ping Identity와 같은 IdP와 통합된 경우 액세스 정책은 SCIM 프로비저닝 및 SAML/SSO 연합을 통해 엔터프라이즈 전체에서 원활하게 확장됩니다.
### Data 360의 표준 역할 및 권한 이해
Salesforce는 업무 분리 및 ISO 27001과 같은 업계 표준 준수에 대한 모범 사례를 캡슐화하는 사전 정의된 권한 집합을 제공합니다.
역할
기본 책임
액세스 설계 원칙
시스템 관리자
환경 설정, 프로비저닝, 구성
기본 데이터 집합에 대한 액세스 권한 없음 - 시스템 및 데이터 제어 간 분리 보장
Data 360 아키텍트
데이터 수집, 변환, ID 확인, 모델링
데이터 노출 경계를 유지하기 위해 데이터 활성화를 수행할 수 없음
Data 360 활성화 관리자
세그먼트 만들기, 채널 관리, 활성화
데이터 모델에 대한 보기 전용 액세스, 수정 권한 없음
Data 360 사용자
분석 및 인사이트 사용
읽기 전용, 수정 권한 없음
Data 360 One User
동료 조직을 통한 교차 조직 액세스
공유 공간 권한 및 범위 지정 액세스 정책에 따라 관리됩니다.
이 구조적 권한 구분은 ISO 27001 및 SOC 2와 같은 프레임워크의 업무 분리(SoD) 요구 사항에 부합하여 단일 역할이 전체 데이터 수명 주기를 제어하지 않도록 합니다.
[Data 360 표준 권한 집합](https://help.salesforce.com/s/articleView?id=data.c360_a_userpermissions.htm&type=5)은 새로운 기능이 제공될 때마다 릴리스마다 자동으로 업데이트됩니다. 반대로 사용자 정의 권한 집합은 자동으로 업데이트되지 않으므로 주의를 기울이지 않으면 잠재적인 보안 취약점이 발생하거나 기능이 손실됩니다.
### 운영 및 보안 혜택
* **자동 정책 진화:** Salesforce는 플랫폼 릴리스의 일부로 표준 권한 집합을 유지하고 업데이트합니다. 새 기능이 도입되면 권한 집합이 자동으로 동기화되어 관리 오버헤드가 줄어들고 구성 드리프트가 방지됩니다.
* **공격 표면 축소:** 세분화된 액세스 경계는 데이터 오용 또는 실수로 권한 에스컬레이션을 방지합니다.
* **감사 및 규정 준수 준비도:** 표준화된 역할은 인증 절차를 간소화하여, 감사나 규제 검토 시에 기업이 액세스 제어를 보다 쉽게 입증할 수 있도록 합니다.
* **확장 가능한 거버넌스:** 관리자는 SCIM 프로비저닝 및 SAML/SSO 연합을 사용하여 이러한 역할을 Okta 및 Microsoft Entra ID와 같은 엔터프라이즈 IAM 시스템에 직접 매핑하여 Data 360과 광범위한 엔터프라이즈 에코시스템 모두에서 통합된 보안 조치를 보장할 수 있습니다.
### 역할 기반 권한 부여 모범 사례
* **표준 역할 채택:** 릴리스 전반에서 자동 업데이트 및 일관된 권한 모델을 보장하기 위해 복제 또는 사용자 정의 대신 Salesforce의 표준 권한 집합을 사용합니다.
* **Enterprise IAM과 통합:** SCIM 또는 ID 연합을 통해 액세스 프로비저닝을 중앙 집중화하여 모든 ID에 대한 가시성 및 수명 주기 제어를 유지합니다.
* **정기적인 액세스 검토 수행:** 정기적인 증명 프로세스를 구현하여 권한 누적을 감지하고 기능 요구 사항에 부합하는지 확인합니다.
* **Just-in-Time 액세스 적용:** 고급 기능의 경우 Zero Trust 원칙에 따라 자동으로 만료되는 임시 권한을 부여합니다.
IAM은 인체 ID, 시스템 액세스, 데이터 거버넌스를 연결하는 제어 플레인입니다. Salesforce Data 360은 연합 인증, 세분화된 인가, 지속적으로 발전하는 권한 모델을 통해 엔터프라이즈가 Zero Trust를 구현할 수 있는 도구를 제공합니다. 하지만 진정한 효과는 조직이 이러한 제어를 운영하는 방식에 달려 있습니다. 즉, 사람, 프로세스, 기술을 '타협 없는 데이터 신뢰'라는 하나의 목표를 위해 조율해야 합니다.
## Data 360의 데이터 거버넌스: 신뢰, 제어, 인텔리전스의 기반
오늘날의 엔터프라이즈 데이터 에코시스템에서 관리는 더 이상 제약이 아니라 신뢰할 수 있는 인텔리전스의 핵심 활성화 요소입니다. 설계자의 경우 유연성과 제어, 개방형 액세스 및 규정 준수 보장 간의 균형을 정의합니다.
Salesforce Data 360(Data 360)은 이 원칙을 기반으로 설계되었습니다. 거버넌스와 신뢰는 추가된 계층이 아니라, 아키텍처의 근간에 내재되어 있습니다. 데이터 수명 주기의 모든 단계—수집, 통합, 활성화, AI 기반 인사이트에 이르기까지—는 데이터가 분류되고 보호되며, 액세스되고, 책임감 있게 사용되는 방식을 정의하는 통합 거버넌스 제어 플레인 아래에서 작동합니다.
### 제어 플레인으로서의 거버넌스
Data 360은 거버넌스 중심 모델을 기반으로 설계되어 데이터 수집에서 인사이트 활성화에 이르기까지 모든 데이터 상호 작용이 정책을 인식하고, 감사가 가능하며, 규정을 준수하도록 합니다. 거버넌스는 수명 주기 전반에 걸쳐 데이터가 검색, 분류, 보호되는 방식을 관리하는 중앙 제어 플레인 역할을 합니다.
이 통합 제어 플레인은 다음을 보장합니다.
* **데이터 액세스는 컨텍스트에 따라 허가됩니다**. 올바른 사용자만 올바른 정책에 따라 올바른 데이터에 대해 조치를 취할 수 있습니다.
* **거버넌스가 시맨틱 및 운영 계층에 모두 포함되어 있어** 데이터가 모델링되는 방식과 데이터가 보호되는 방식 간 일관성을 보장합니다.
* **Zero Trust 및 Least Privilege** 원칙이 적용됩니다. 여기서 액세스 권한을 부여하기 전에 ID, 컨텍스트 및 정책이 실시간으로 평가됩니다.
이 아키텍처를 통해 Salesforce Data 360은 정적 권한 관리에서 동적 정책 중심 오케스트레이션 계층으로 관리를 전환합니다. 컨텍스트에 지속적으로 적응하고, 설계 단계에서부터 규정 준수를 적용하며, 엔터프라이즈 규모에서 신뢰를 유지합니다.
### 데이터 공간을 사용한 논리적 데이터 분리
매크로 수준에서 데이터 공간은 엔터프라이즈 데이터 도메인의 논리적 분리 및 격리를 제공하므로 다중 브랜드, 다중 지역 또는 다중 테넌트 운영 모델을 사용하는 조직이 단일 통합 플랫폼 내에서 데이터를 관리할 수 있습니다. 데이터 공간은 비즈니스 도메인(예: 세일즈, 마케팅 또는 고객 성공) 또는 규제 및 지리적 경계(예: EU, AMER 또는 APAC)에 맞출 수 있으므로 관리 및 액세스 제어가 기본 데이터 플랫폼을 조각화하지 않고 조직의 운영 및 규정 준수 구조를 반영할 수 있습니다.
* 각 데이터 공간은 가상 경계 역할을 하며, 사용자 또는 팀에서 볼 수 있거나 상호 작용할 수 있는 데이터 컬렉션을 정의합니다.
* 데이터 공간 내에서 명시적으로 액세스 권한이 부여되어 암시적 권한 또는 데이터 가시성의 교차 오염이 발생하지 않습니다.
* 이렇게 하면 연합 소유권이 활성화됩니다. 각 사업부는 중앙 집중식 감독 및 규정 준수를 유지하면서 도메인을 독립적으로 관리할 수 있습니다.
설계상 데이터 공간은 첫 번째 계층의 거버넌스를 제공하여, 엔터프라이즈 데이터 집합 전반에 걸쳐 구조적 명확성과 책임성을 확립합니다.
### RBAC에서 ABAC로: 컨텍스트 인가로 이동
Salesforce Data 360에서 RBAC 및 ABAC는 고유하지만 보완적인 목적으로 사용되며 플랫폼의 여러 계층에 적용됩니다.
RBAC는 주로 플랫폼 및 기능 액세스에 사용됩니다. Data 360의 구성 요소 및 기능(예: 데이터 공간, 프로세스 생성, 관리 기능, 툴링 액세스)에 누가 접근할 수 있는지를 관리합니다. RBAC는 권한 및 권한 집합을 통해 구현됩니다(예: 특정 기능이 활성화된 데이터 공간에 대한 사용자 액세스 권한 할당).
ABAC는 데이터 액세스 적용에 사용됩니다. ABAC 정책은 개체 수준 보안(OLS), 필드 수준 액세스, 행 수준 제약을 비롯한 데이터 개체 및 특성에 액세스할 수 있는 사람을 결정할 책임이 있습니다. 이러한 결정은 런타임 시 작업, 사용자 특성, 자원 특성을 평가하여 동적으로 이루어집니다.
ABAC에서는 권한이 모델의 일부로 유지되지만 정책 자체가 역할만이 아닌 액세스를 결정합니다. 정책은 사업부, 지역, 데이터 민감도, 사용 목적 또는 규제 제약과 같은 컨텍스트를 평가하여 액세스를 허용하거나 거부합니다.
예:
* RBAC를 사용하면 사용자가 Data 360 데이터 공간 및 분석 기능에 액세스할 수 있습니다.
* ABAC는 동일한 사용자가 특정 고객 데이터 집합을 읽을 수 있는지 여부, 볼 수 있는 행, 마스킹되거나 제한되는 특성을 결정합니다.
이 명확한 구분을 통해 Data 360은 안전하게 확장할 수 있습니다.
* RBAC는 플랫폼 기능 및 워크플로에 대한 제어된 액세스를 제공합니다.
* ABAC는 규정 준수, 보존 및 데이터 보호 요구 사항에 부합하는 섬세한 정책 중심 데이터 액세스를 제공합니다.
이 둘은 플랫폼 권한과 데이터 권한 부여 논리를 혼동하지 않으면서, 관리되는 데이터 민주화를 가능하게 합니다.
본질적으로 RBAC는 권한 할당을 기반으로 액세스를 적용하고, ABAC는 컨텍스트에서 권한을 평가합니다 — 작업, 사용자, 리소스 특성을 결합하여 Salesforce Data 360 전반에 걸쳐 적응형, 세분화된 액세스 제어를 제공합니다.
### ABAC: 다단계 보안 계층
Salesforce Data 360의 세분화된 액세스 제어의 핵심은 CEDAR 정책 언어로 구동되는 특성 기반 액세스 제어(ABAC)입니다.
정적 역할 기반 권한과 달리 ABAC는 액세스 권한을 요청하는 *개인*, 액세스하려는 *개인*, *어떤 조건 하에서* 액세스하는 것을 동적으로 평가하여 모든 데이터 상호 작용이 엔터프라이즈 정책 및 Trust 경계에 부합하는지 확인합니다.
#### 동적 정책 평가
Data 360의 ABAC 엔진은 세 가지 핵심 특성 유형의 조합을 기반으로 액세스 결정을 평가합니다.
* **사용자 속성:** 부서, 위치, 허용 수준
* **데이터 속성:** 분류, 민감도(PII, PHI, 금융 데이터), 데이터 공간
이 유연한 정책 중심 모델은 사용자 역할, 데이터 분류 또는 운영 조건이 변화함에 따라 자동으로 조정되며, 대규모, 분산되고 규제를 받는 기업에 필수적입니다.
#### Salesforce Data 360의 ABAC 아키텍처 구성 요소
Salesforce Data 360은 정책 중심 데이터 거버넌스에 대한 업계 모범 사례에 부합하는 표준 기반 특성 기반 액세스 제어(ABAC) 아키텍처를 구현합니다. 세 가지 주요 기능 구성 요소로 이루어져 있습니다.
* **정책 정보 지점(PIP) - 정책, 보강된 메타데이터 및 분류:**
* 정책 정의 자체(데이터 액세스, 분류, 마스킹, 보존, 사용 정책 등)를 포함하여 엔터프라이즈 데이터를 관리합니다.
* 태그, 분류, 비즈니스 컨텍스트, 종단간 계보 등과 같은 보강된 메타데이터를 관리합니다.
* LLM 및 ML 기반 분류를 활용하여 민감한 데이터(예: PII.Email, PII.Phone, PHI)에 자동으로 태그를 지정합니다.
* 태그 전파를 통해 분류가 데이터 계보를 따라 자동으로 전파됩니다(DLO → DLO → DMO).
* 변환 전반에 걸쳐 민감도와 규정 준수가 유지됩니다.
* **정책 결정 지점(PDP)**: PDP는 CEDAR 정책을 해석하는 결정 엔진입니다.
* PEP(사용자 ID, 요청 메타데이터)의 컨텍스트 입력을 수집하고 PIP의 참조 특성을 수집합니다.
* 결정적으로 정책을 평가하여 일관되고 설명 가능하며 확장 가능한 액세스 결정을 내립니다.
* 실시간 및 배치 평가를 모두 지원하므로 대용량 환경에서도 성능과 정밀도를 보장합니다.
* **정책 집행 지점(PEP)**: PEP는 런타임 시 인가 결정이 적용되는 위치입니다.
* API, UI 쿼리, CRM 보강 또는 GenAI 검색 강화 생성(RAG) 파이프라인과 같은 모든 상호작용 채널 전반의 데이터 액세스 요청을 가로챕니다.
* 모든 쿼리 및 검색이 엔터프라이즈 액세스 정책을 준수하도록 PDP 결과를 즉시 적용합니다.
PIP-PDP-PEP 삼각형은 함께 분산된 거버넌스 패브릭을 형성하여 모든 Data 360 서비스 및 액세스 모드에 일관된 정책 기반 제어를 적용합니다.
중요한 점은 Data 360의 [ABAC](https://help.salesforce.com/s/articleView?id=data.c360_a_policy_based_governance_dg.htm&type=5)는 구축되는 것이 아니라 구성되는 것입니다. 설계자들은 맞춤형 제어 플레인이나 집행 로직을 직접 구성하지 않습니다. 대신 통합 거버넌스 패브릭으로 함께 작동하는 세 가지 기본 아키텍처 구성 요소를 채우고 연결합니다.
실제 구현은 데이터를 분류하고, 정책을 정의하며, 플랫폼이 이를 자동으로 적용하도록 하는 간단한 절차를 따릅니다. 구성되면 액세스 제어가 수동 또는 절차 프로세스가 아닌 시스템 동작이 됩니다.
이 분산된 거버넌스 패브릭은 모든 액세스 채널에서 **일관된 정책 적용**을 보장하므로 Data 360 전체에 통합된 신뢰 경계가 생성됩니다.
#### 다단계 정책 적용
Data 360의 ABAC 프레임워크는 계층화된 액세스 경계를 지원하므로 데이터가 개체 수준에서뿐만 아니라 특정 필드 및 레코드 내에서도 보호됩니다.
* **오브젝트 수준 보안(OLS)**: 액세스 제어의 가장 외부 경계입니다.
데이터 레이크 개체(DLO) 또는 데이터 모델 개체(DMO)와 같은 전체 데이터 구조에 대한 액세스를 관리합니다.
예: *트랜잭션*이 아닌 *고객* 개체에 대한 액세스 권한 부여
* **필드 수준 보안(FLS)**: 개체 내 특정 필드에 대한 액세스를 제어합니다.
예: 마케팅 사용자는 고객 이름을 볼 수 있지만 신용 카드 번호 또는 국가 식별자를 볼 수 없습니다.
* **레코드 수준 보안(RLS)**: 가장 세분화된 제어 레이어입니다.
사용자가 보거나 수정할 수 있는 데이터 집합 내의 개별 레코드를 결정합니다.
예: 지역 관리자는 할당된 지역과 연결된 고객 데이터에만 액세스할 수 있습니다.
* **동적 데이터 마스킹(DDM) :** 실시간 데이터 보호를 활성화합니다. ABAC를 보완하는 DDM은 기본 데이터 집합을 변경하지 않고 중요한 정보에 대한 정책 중심 난독화를 적용합니다. 쿼리 시간에 DDM은 사용자 역할, 컨텍스트 또는 규정 준수 규칙을 기반으로 PII 또는 금융 데이터와 같은 필드를 자동으로 마스킹합니다.
* 중요한 데이터는 UI 보기, API, AI 워크플로 전반에서 보호됩니다.
* 모든 소비 계층에서 일관된 마스킹을 보장하여 데이터 누출 위험을 줄입니다.
* 감사 가능성을 유지합니다. 마스킹된 모든 쿼리는 Data 360의 거버넌스 프레임워크 내에서 기록되고 추적할 수 있습니다.
이 아키텍처는 액세스 제어를 정적 권한 모델에서 동적이고 컨텍스트 인식이 가능한 정책 패브릭으로 전환합니다. RBAC의 구조화된 단순성과 ABAC의 컨텍스트 깊이를 결합하여 Salesforce Data 360은 다음을 달성합니다.
* 수집, 정합화 및 활성화 전반에서 일관된 정책 적용.
* 데이터, 역할 및 규정 준수 요구 사항에 따라 발전하는 적응형 거버넌스.
* 데이터 수명 주기 전체에 걸쳐 통합된 신뢰 경계 — 수집에서 AI 활성화까지.
#### Salesforce Platform과의 심층 통합
Salesforce Data 360의 거버넌스 모델은 Salesforce Platform 내에 기본적으로 내장되어 운영 데이터와 분석 데이터 모두에서 통합된 보안, 규정 준수, 액세스 제어를 지원합니다. ID 연합, 권한 집합, 중앙 집중식 정책 작성 및 플랫폼 암호화 등 Salesforce의 핵심 ID 및 액세스 관리 기능을 상속함으로써 Data 360은 병렬 관리 스택을 도입하지 않고 클라우드 전체에 일관된 Trust 정책을 적용합니다. 분리, 권한 부여, 그리고 계보를 별개의 문제로 다루는 대신, 이 플랫폼은 이를 전체 데이터 수명 주기에 걸친 단일 실행 인식 신뢰 패브릭으로 통합합니다.
구조적 수준에서 이 거버넌스 패브릭은 함께 작동하는 세 가지 보완 계층으로 구성됩니다.
* 데이터 분리 및 규제 세분화에 대한 명확한 논리적 경계를 설정하는 **데이터 공간**
* **Attribute-Based Access Control(ABAC)** \- ID, 목적 및 데이터 속성을 기반으로 섬세하고 컨텍스트에 맞는 인가 결정을 내릴 수 있습니다.
* 데이터가 수집에서 인사이트 및 활성화로 이동하는 동안 비즈니스 의미, 민감성 및 추적성을 유지하는 **세맨틱 계보**
이 거버넌스 모델은 액세스 결정이 설명 가능하고 집행이 자동화되며, 규정 준수가 소급이 아닌 지속적으로 이루어지도록 합니다. 결과적으로 더 이상 제한 요소가 아닌 거버넌스를 고려해야 하는 플랫폼이 생깁니다. 대신 설계자는 데이터 제품 및 AI 기반 워크플로를 설계하여 시스템 자체에서 Trust, 개인 정보 보호 및 규제 요구 사항이 적용되는 것을 확신할 수 있게 해줍니다.
이 구성적 접근 방식은 엔터프라이즈 데이터가 단순히 사용 가능한 것에 그치지 않고 책임감 있게 실행될 수 있도록 보장하며, 투명성, 보안 또는 제어를 저해하지 않으면서 대규모 인사이트, 활성화, 자동화를 지원합니다.
## 데이터 수명 주기 보호: 수집에서 활성화까지
AI 기반 엔터프라이즈의 시대에서 데이터 보안은 일회성 이벤트가 아니라 비즈니스 또는 AI 사용을 위해 활성화되는 시점부터 정보를 보호하는 지속적인 프로세스입니다.
Salesforce Data 360은 데이터 수명 주기의 모든 단계에 보안 및 거버넌스 제어 기능을 내장하여 데이터 무결성, 기밀성, 신뢰가 수집부터 인사이트 활성화까지 보존되도록 합니다.
### 보호의 기반: 유휴 상태 및 전송 중 암호화
Salesforce Data 360의 보호 모델의 핵심은 Data 360용 플랫폼 암호화입니다. 투명하고 고성능 암호화 프레임워크로서 사용성이나 확장성을 저하하지 않고 데이터를 유휴 상태 및 전송 중에도 보호합니다.
#### 유휴 상태 암호화: 저장소 레이어 보안
Data 360 Data Lake에 남아 있는 데이터는 **저장소 계층에서 자동으로 암호화됩니다**. 따라서 실제 또는 무단 액세스가 발생할 경우에도 데이터가 읽을 수 없습니다. 주요 기능은 다음과 같습니다.
* **투명 데이터 레이크 암호화:** 데이터 레이크에 유지되는 모든 데이터는 고객 관리 키(CMK)를 사용하여 저장소 계층에서 암호화됩니다. 이를 통해 물리적 저장소에 대한 무단 액세스가 발생해도 데이터는 읽을 수 없고 해독할 수 없습니다.
* **고객 관리 키(CMK):** 고객은 암호화 키를 완벽하게 제어할 수 있습니다. 이는 금융 서비스, 헬스케어, 정부와 같은 규제된 산업에 매우 중요한 기능입니다. CMK는 GDPR, HIPAA, ISO 27001과 같은 규제 요구 사항에 직접 부합하여 데이터 독립성에 대한 세부 감사, 제어, 증거를 지원합니다.
* **외부 키 관리(EKM) :** Data 360용 플랫폼 암호화 기능인 외부 키 관리를 사용하면 고객의 AWS KMS 계정에 저장된 키를 사용하여 Data 360의 데이터를 암호화할 수 있습니다. 이를 통해 고객은 Data 360의 데이터를 안전하고 보호하면서 더욱 유연하게 작업할 수 있습니다.
* **자신의 키 가져오기 (BYOK):** CMK 및 EKM을 기반으로 구축된 Data 360을 사용하면 고객이 Salesforce 내에서 직접 자체 키 자료를 업로드하여 데이터를 암호화하고 검색 색인을 유지할 수 있습니다. 이 개선 사항은 고객이 AWS KMS에서 키를 만들거나 관리할 필요 없이 PII, 민감한, 기밀, 독점 데이터에 대한 추가 보호 계층을 제공합니다.
* **키 회전 및 수명 주기 관리:** 키 순환은 정상적으로 처리됩니다. 새 데이터는 새 키로 암호화되지만 이전 데이터는 원래 키로 암호화된 상태로 남아 가동 중지 시간 또는 성능 저하를 방지합니다. 이 순환 메커니즘은 운영 중단 없이 규정 준수를 강화합니다.
#### 전송 중 암호화: 네트워크 수준 보안
Data 360 서비스, API, 커넥터 간에 전송되는 모든 데이터는 TLS(Transport Layer Security) 1.2 이상을 사용하여 보호되므로 이동 중에 전체 암호화를 제공합니다.
이로써 다음이 보장됩니다.
* 전송 중에는 데이터를 가로채거나 변경할 수 없습니다.
* Salesforce 서비스, 신뢰할 수 있는 커넥터, 고객 끝점 간의 통신은 비공개로 유지되고 확인할 수 있습니다.
* 보안은 수집 파이프라인, 정합화 프로세스, 활성화 워크플로우 및 외부 API 통합에 걸쳐 지속적으로 확장됩니다.
저장 데이터에 대한 고객 관리 암호화와 전송 중 지속적인 암호화를 결합하여 Salesforce Data 360은 외부 공격 및 내부 인프라 위협으로부터 고객 데이터를 보호하는 심층 방어 아키텍처를 만듭니다.
### Data 360에서 시스템 간 통합(데이터 통합) 보호
암호화 및 액세스 제어는 Salesforce Data 360 내에서 데이터를 보호하지만, 시스템 전반에서 데이터 이동을 안전하게 유지하는 것도 중요합니다. 현대 엔터프라이즈는 Salesforce, 분석 플랫폼, 외부 API, 데이터 레이크 간에 민감한 데이터가 흐르는 다중 클라우드 및 하이브리드 환경에서 운영합니다.
이를 해결하기 위해 Salesforce는 명명된 자격 증명(NC) 및 외부 자격 증명(EC)을 중심으로 하는 보안 통합 프레임워크를 설계하였으며, 이를 통해 정책 중심의 안전한 연결을 위한 제로 Trust 기반의 기반을 제공합니다.
#### Salesforce의 보안 통합 프레임워크
Salesforce는 명명된 자격 증명(NC) 및 외부 자격 증명(EC)을 중심으로 강력한 **[보안 통합 프레임워크를](https://developer.salesforce.com/docs/platform/named-credentials/guide/get-started.html)** 설계했습니다. 이들은 자격 증명의 복잡성을 추상화하고 최소 권한 원칙을 적용하며, 코드나 구성에서 비밀이 노출되는 것을 방지하면서 모든 통합 전반에 걸쳐 일관된 인증 관리를 가능하게 합니다.
이 프레임워크는 보안 복잡성을 추상화하고, 모범 사례를 적용하며, Salesforce의 **Zero Trust** 및 **Security by Design** 원칙에 부합하는 모든 외부 연결에 대한 **정책 중심 제어 계획**을 수립합니다.
##### 명명된 자격 증명
명명된 자격 증명(NC)은 Salesforce의 보안 통합 아키텍처의 핵심입니다. 이를 통해 외부 엔드포인트와 인증 매개 변수를 정의할 수 있는 선언적이고 중앙 집중식 메커니즘을 제공하므로 Apex 코드 또는 구성 파일에서 사용자 이름, 암호 또는 토큰과 같은 민감한 자격 증명을 하드 코딩할 필요가 없습니다. 대신 개발자 및 관리자가 명명된 자격 증명 별칭(예: SnowflakeConnector_NC)을 참조하기만 하면 Salesforce에서 기본 인증 및 연결 관리를 자동으로 처리합니다.
**아키텍처 및 보안 이점:**
* **간소화된 유지 보수:** NCs는 외부 엔드포인트 URL 및 인증 매개 변수를 단일 관리 레코드에 통합합니다. 끝점 변경 또는 자격 증명 회전과 같은 모든 업데이트는 NC 레코드만 변경하면 되므로, 환경 전반에 걸쳐 코드나 플로우를 재배포할 필요가 없습니다.
* **강화된 보안:** 자격 증명은 Salesforce의 암호화된 암호 저장소에 안전하게 저장되므로 코드 리포지토리, 구성 파일 또는 로그에 노출되지 않습니다. 인증 프로세스 자체는 런타임 시 자동으로 관리되므로 인적 오류 및 누출 위험이 줄어듭니다.
**규정 준수:** 자격 증명과 비즈니스 논리를 분리하면 데이터 보호 규정(예: **GDPR, HIPAA 및 PCI DSS)**의 준수를 간소화할 수 있습니다. 감사자는 외부 데이터 액세스가 엔터프라이즈 보안 및 거버넌스 정책을 준수하는지 쉽게 확인할 수 있습니다.
* **원격 사이트 설정 우회:** 명명된 자격 증명은 원격 사이트 설정에 대한 기존 요구 사항을 제거하고, 특히 대규모 또는 다중 환경의 엔터프라이즈 구현 시 구성 및 배포를 간소화합니다.
#### 외부 자격 증명
외부 자격 증명(EC)은 Salesforce가 외부 서비스에 연결할 때 사용하는 인증 프로토콜 및 흐름을 정의하며, 효과적으로 '어떻게 인증할 것인가'에 대한 해답을 제시합니다. 단일 EC는 동일한 인증 유형을 공유하는 여러 NC에서 재사용할 수 있으므로, 구성 재사용을 촉진하고 일관된 보안 적용을 보장합니다.
**지원되는 인증 프로토콜:**
* OAuth 2.0(모든 변형 지원)
* JWT(JSON 웹 토큰)
* 기본 인증
* AWS Signature v4
* 사용자 정의 인증
* 인증 없음(공개 API 또는 공개 엔드포인트의 경우)
외부 자격 증명 및 명명된 자격 증명은 명확한 업무 분리에 맞춰 설계되었습니다. 외부 자격 증명은 외부 시스템에 연결하기 위한 인증 프로토콜, 토큰 유형, 새로 고침 동작을 지정하여 인증하는 방법을 정의합니다. 반면 명명된 자격 증명은 연결할 위치(끝점 URL 및 해당 연결에 사용할 외부 자격 증명)를 정의합니다. 이 설계를 통해 인증 논리와 끝점 구성이 분리된 상태로 유지되므로 Salesforce는 기업 전체에서 중앙 집중식으로 일관된 자격 증명 관리를 유지하면서 다양한 통합 프로토콜을 안전하게 지원할 수 있습니다.
### Data 360 커넥터가 이 프레임워크를 활용하는 방법
Data 360의 사용자 인터페이스는 기본 구성의 대부분을 추상하지만, 네이티브 커넥터 및 데이터 스트림에서 명명된 자격 증명 및 외부 자격 증명 프레임워크가 자주 활용됩니다.이로 인해 관리자가 안내 UI를 통해 단순히 "데이터 연결 추가"하는 경우에도 Data 360은 계속해서 이 표준화된 보안 모델을 적용합니다.
아키텍처 영향:
* **통합 보안 모델:** 외부 데이터베이스, AWS S3 또는 엔터프라이즈 API에 대한 모든 커넥터는 명명된 자격 증명 및 외부 자격 증명에 적용되는 동일한 암호화, 인증, 키 관리 표준을 활용합니다.
* **개발자 추상화:** 개발자 및 관리자는 인증 플로우 또는 자격 증명 회전을 수동으로 처리할 필요가 없습니다. Salesforce는 토큰 수명 주기, 만료, 새로 고침을 자동으로 관리합니다.
* **일관적인 정책 시행:** 이 프레임워크는 모든 커넥터가 일관된 인증, 감사, 로깅 정책을 준수하도록 보장하며, 이는 규제 산업에서 대규모 다중 소스 수집에 매우 중요합니다.
* **향후 확장성:** Salesforce가 인증 스택을 강화할 때(예: 새로운 OAuth 플로우 또는 FIDO2 표준 지원), 이러한 개선 사항은 리팩토링이나 재배포 없이 모든 커넥터에 자동으로 전파됩니다.
### Data 360 커넥터 보안 및 거버넌스
Salesforce Data 360은 다양한 소스의 데이터 통합을 간소화하는 대규모 기본 제공 커넥터 제품군을 제공합니다. 이렇게 하면 기업이 데이터를 효율적으로 통합하고 활용할 수 있습니다. Salesforce는 네이티브 Salesforce 커넥터, 클라우드 저장소 커넥터, 데이터베이스 커넥터, 응용 프로그램 및 API 커넥터를 비롯한 여러 커넥터 유형을 제공합니다. 제공되는 커넥터 외에도 제로 ETL 도구도 지원됩니다. Salesforce 커넥터를 사용하면 Sales Cloud, Service Cloud, Marketing Cloud와 같은 Salesforce 제품을 Data 360과 원활하게 통합할 수 있습니다. 또한 Amazon S3, Google Cloud Storage, Azure Data Lake 등 클라우드 저장소 공급자에 대한 다양한 커넥터가 제공됩니다. Snowflake, Redshift, BigQuery와 같은 데이터베이스의 사전 빌드 커넥터를 사용하면 엔터프라이즈에서 기존 데이터 웨어하우스를 Data 360과 연결할 수 있습니다. 또한 Data 360은 Google ads, Facebook ads, 기타 마케팅 플랫폼과 같은 다양한 타사 응용 프로그램 및 API에 대한 커넥터를 제공합니다. Data 360은 유연성을 높이기 위해 MuleSoft 및 Informatica와 같은 ETL 도구와 통합됩니다.
#### 데이터 보안 및 Salesforce Data 360 커넥터
Salesforce Data 360에 저장된 데이터의 보안은 많은 Data 360 관련 대화에서 가장 중요합니다. Salesforce의 방어 심층 보안 접근 방식에 대한 약속의 일환으로 Data 360 환경에 데이터가 수집되는 방어 방식도 동일하게 중요합니다.
Salesforce는 여러 클라우드 플랫폼, 스토리지 솔루션 및 분석 도구를 포함하는 다양한 데이터 에코시스템에서 비즈니스를 운영한다는 사실을 인식합니다. Data 360 커넥터는 이러한 환경 간의 교량 역할을 합니다. 커넥터는 Salesforce의 높은 보안 표준을 유지하면서 안전하고 확장 가능하며 효율적인 데이터 통합을 지원합니다. 이러한 커넥터는 데이터 무결성이나 개인정보 보호를 해치지 않으면서 원활한 데이터 흐름을 지원합니다.
Data 360 커넥터 보안의 세 가지 필수 구성 요소는 다음과 같습니다.
* **인증/권한 부여 매핑**: 보안 액세스 관리는 데이터 보안의 기본 사항입니다. 다양한 클라우드 커넥터는 다양한 인증 및 권한 부여 메커니즘을 사용하여 사용자 액세스를 확인하고 제어합니다. 인증은 사용자 또는 시스템이 합법적인 엔티티인지 확인하고, 인증은 부여되는 액세스 수준을 정의합니다. Salesforce는 가능한 경우 커넥터가 업계 표준을 활용하도록 합니다.
* **제로 카피 (ZETL) 기능 상호 운용성**: 데이터 중복은 보안 및 운영상의 문제를 야기합니다. 또한 불필요한 저장소 비용, 데이터 불일치, 증가된 위험 노출이 있습니다. Salesforce의 ZETL(Zero Extract, Transform, Load) 접근 방식을 사용하면 물리적 데이터 복제 없이 플랫폼 전반에서 실시간 데이터 공유를 수행할 수 있습니다. 즉, 데이터는 원래 환경 내에 남아 있으면서도 처리, 보고, 분석을 위해 계속 액세스할 수 있습니다. 또한 이는 공격 표면을 크게 줄이고 데이터 지역화 법률에 대한 잠재적인 규정 준수를 향상합니다.
* **데이터 연합 지원**: 오늘날의 멀티 클라우드 환경에서는 불필요한 데이터 이동 없이 조직에 포괄적인 데이터 액세스가 필요합니다. Data 360 커넥터 연합 데이터 모델은 파일 기반 및 쿼리 기반 데이터 연합을 모두 지원하므로 엔터프라이즈에서 외부 데이터 소스를 실시간으로 활용할 수 있습니다. 구조화된 데이터베이스, 세미 구조화 로그 또는 구조화되지 않은 파일에 액세스하는지 여부와 상관없이 Salesforce의 커넥터를 사용하면 데이터가 수명 주기 전체에 걸쳐 안전하게 유지됩니다.
Salesforce는 통합에서도 데이터 보안 및 규정 준수의 복잡성을 헤쳐 나갈 수 있도록 필요한 투명성을 고객에게 제공합니다. AWS S3, Google Cloud Storage, Snowflake 또는 기타 플랫폼과의 통합 여부와 상관없이 Data 360 커넥터는 중요한 비즈니스 데이터에 대한 Trust, 투명성 및 제어를 보장하도록 설계되었습니다.
##### Salesforce Data 360 커넥터 보안 및 인증 매핑
커넥터 유형
연결 유형 지원
기본 인증 유형
주요 보안 측면 및 참고 사항
Salesforce CRM
N/A(내부)
세션 기반(내부)
Salesforce의 강력한 내부 ID 및 액세스 관리(IAM) 모델을 사용합니다. 모든 데이터는 전송 중 및 저장 중에 Salesforce 인프라 내에서 암호화됩니다.
Marketing Cloud 참여
공용 인터넷만
OAuth 2.0, 사용자 이름/암호
표준 OAuth 2.0 프로토콜은 보안 인증에 사용됩니다. 데이터는 공용 인터넷을 통해 전송(TLS) 시 암호화됩니다.
B2C Commerce
공용 인터넷만
OAuth 2.0
표준 OAuth 2.0입니다. 데이터 전송을 위해 보안 공용 인터넷 프로토콜(TLS)에 의존합니다.
웹 및 모바일 앱
공용 인터넷만 해당
API 키, OAuth 2.0
API( 수집 API, 스트리밍 API)를 통해 수집된 데이터입니다. API 키 관리 및 표준 웹 프로토콜을 통해 보안을 관리합니다.
Amazon S3
비공개 연결 및 공개
IAM 역할, 외부 자격 증명
안전한 비공개 연결을 위해 AWS PrivateLink를 지원합니다. 공개 연결은 보안 자격 증명을 사용합니다. 데이터는 전송 중 및 저장 중에 암호화됩니다(S3의 고객 관리 키 사용은 선택 사항입니다).
Snowflake
비공개 연결 및 공개
OAuth 2.0, 비공개 키 인증, 사용자 이름/암호
VPC 비공개 연결(AWS PrivateLink)을 지원합니다. 공개 연결은 보안 인증 메서드와 함께 사용할 수 있습니다. Snowflake 내에서 고객 키를 사용하여 데이터를 암호화할 수 있습니다.
Amazon Redshift
비공개 연결 및 공개
사용자 이름/암호, IAM 인증
비공개 연결 지원(AWS PrivateLink). 공개 연결은 표준 보안 모범 사례를 사용합니다.
Microsoft Azure(스토리지/SQL)
공용 인터넷만
SAS 토큰, OAuth 2.0, 사용자 이름/암호
연결은 인증을 위해 보안 SAS 토큰 또는 OAuth에 의존합니다. 데이터는 암호화된 채널(TLS)을 통해 공용 인터넷을 탐색합니다.
Google Cloud Storage(GCS)
공용 인터넷만
OAuth 2.0, 서비스 계정
연결은 보안 OAuth 2.0에 의존합니다. 데이터는 암호화된 채널(TLS)을 통해 공용 인터넷을 탐색합니다.
MuleSoft(API)
공용 인터넷만
OAuth 2.0, API 키
API를 통해 연결됩니다. 보안은 MuleSoft Anypoint Platform을 통해 구현된 표준 API 인증 및 강력한 거버넌스 정책을 통해 관리됩니다.
#### 보안 데이터 활성화(아웃바운드 데이터 )
데이터 수명 주기의 마지막 단계인 *데이터 활성화*는 맞춤형 마케팅, 분석 또는 참여 오케스트레이션과 같은 다운스트림 애플리케이션을 위해 Salesforce Data 360 내의 통합 및 보강된 고객 프로필을 외부 시스템에 안전하게 배포합니다.
이 단계는 *관찰*에서 *행동*으로의 전환을 나타내며, 따라서 데이터 무결성, 개인정보 보호 규정 준수 및 Trust 유지에 대한 가장 큰 책임을 지게 됩니다.
##### 아웃바운드 데이터 전송 보호
Data 360은 암호화된 관리 경로를 통해 안전한 아웃바운드 연결을 적용합니다. SFTP, Amazon S3, Microsoft Azure Blob, Google Cloud Storage 또는 광고 네트워크 등 모든 활성화 대상은 Salesforce의 명명된 자격 증명 및 외부 자격 증명 프레임워크를 통해 인증되는 보안 연결 정의를 사용하여 구성해야만 자격 증명 또는 끝점이 일반 텍스트로 노출되지 않습니다.
**아키텍처 보안 컨트롤:**
* **암호화된 채널:** 모든 아웃바운드 데이터 전송은 TLS 암호화 채널을 통해 수행되므로 전송 시 기밀성과 무결성이 보장됩니다.
* **자격 증명 추상화:** 아웃바운드 끝점은 명명된 자격 증명을 사용하여 Salesforce의 암호화된 암호 저장소와 모든 API 키 및 인증 토큰의 중앙 집중식 관리를 활용합니다.
이렇게 하면 구성 파일 또는 플로 정의에 중요한 세부 사항이 노출되지 않도록 방지할 수 있습니다.
* **액세스 거버넌스:** 활성화 대상을 범위가 지정된 권한이 있는 특정 통합 사용자에게 바인딩하여 아웃바운드 이벤트에 대한 세분화된 액세스 제어 및 전체 감사 기능을 제공할 수 있습니다.
* **네트워크 보안:** 보안이 높은 환경의 경우 아웃바운드 연결을 비공개 연결 링크로 제한하여 데이터 활성화 트래픽이 공개 인터넷을 이동하는 대신 비공개 AWS 또는 Azure 네트워크 내에 유지됩니다.
##### Data 360 활성화 플로
단계
메커니즘
보안/거버넌스 제어
활성화 구성
Data 360 활성화 설정에 정의됨
명명된 자격 증명 및 외부 자격 증명을 통해 보호
데이터 준비
DMO에서 필터링 및 조인됨
동의 및 개인 정보 메타데이터 적용
아웃바운드 이전
TLS/Private Connect를 통해 암호화됨
정책 적용 및 자격 증명 추상
외부 전달
SFTP/클라우드 저장소/API
액세스가 제어되고 감사 가능한 전달
#### 활성화 시 동의 및 개인 정보 보호 적용
Data 360의 보안은 기술적 제어를 넘어 정책 인식 거버넌스를 포함하여 확장됩니다. 활성화 시 Salesforce의 Data 360 Trust Layer는 고객 동의 및 개인 정보 보호 정책을 자동으로 적용하여 적격한 데이터만 외부 대상과 공유합니다.
**핵심 기능:**
* 동의 인식 데이터 플로: Data 360은 데이터가 활성화되기 전에 "공유 금지", "판매 금지" 또는 "이메일 수신 거부"와 같은 동의 플래그를 평가합니다. 해당 동의 조건을 위반하는 레코드는 아웃바운드 데이터 집합에서 자동으로 제외됩니다.
* 규제 정렬: 이러한 정책 적용은 GDPR, CCPA, HIPAA 등 글로벌 개인정보 보호 프레임워크에 부합하여 다운스트림 적용이 아닌 데이터 활성화 프로세스에 직접 규정 준수를 포함합니다.
* 자동화된 데이터 계보 및 감사 기능: 각 아웃바운드 활성화 이벤트는 소스 DMO, 동의 상태, 대상 세부 사항 등 전체 데이터 계보 메타데이터로 기록됩니다. 이를 통해 규제 기관 또는 내부 거버넌스 팀을 위한 감사에 대비한 보고서를 제공할 수 있습니다.
Salesforce Data 360은 수집 및 저장소에서 통합 및 활성화에 이르기까지 전체 데이터 수명 주기 전반에 걸쳐 보안, 거버넌스, 개인 정보 보호 제어 기능을 포함하여 모든 단계에서 고객 데이터가 암호화되고 정책을 준수하며 신뢰할 수 있도록 합니다. Data 360은 플랫폼 암호화, 명명된 및 외부 자격 증명, 동의 인식 활성화를 통합하여 소스에서 비즈니스 활성화까지 데이터 무결성, 기밀성 및 규정 준수를 보호하는 엔드 투 엔드 Zero Trust 아키텍처를 제공합니다.
## 클라우드 간 데이터 액세스 보호: 비공개 연결 프레임워크:
### 클라우드 간 데이터 액세스를 위한 비공개 연결:
특히 규제된 산업 및 공공 부문의 많은 보안 인식 기업에서 인터넷이 제한된 데이터 환경은 규정 준수 및 사이버 보안 전략의 핵심 구성 요소입니다. 이러한 격리는 외부 노출을 최소화하지만 고객이 관리하는 데이터 레이크에 안전하게 액세스해야 하는 Salesforce Data 360 및 Agentforce 통합 문제도 제기합니다.
대부분의 엔터프라이즈 데이터 레이크는 AWS, Microsoft Azure 또는 Google Cloud와 같은 하이퍼스케일러 플랫폼에 있습니다. Salesforce Data 360은 AWS 인프라에서 작동하므로 다른 클라우드에서 호스팅되는 고객 환경에 안전하게 연결하려면 공개 인터넷을 우회하는 비공개 클라우드 간 네트워크 경로가 필요합니다.
#### 비공개 링크: AWS의 네트워크 수준 보안:
Data 360은 AWS PrivateLink를 통해 [개인 클라우드 내 연결 기능을](https://help.salesforce.com/s/articleView?id=data.c360_a_private_connect_considerations.htm&type=5) 제공하며, Snowflake(AWS에서 호스팅), Redshift 또는 S3와 같은 서비스 등 Data 360과 고객이 관리하는 데이터 소스 간에 트래픽을 공개 인터넷에 노출하지 않고 안전하고 직접 액세스할 수 있습니다.
모든 커뮤니케이션은 비공개 IP 주소 지정 및 라우팅할 수 없는 네트워크 경로를 사용하여 AWS 백본 내에 유지되므로 전송 중인 데이터 중복 위험을 없애고 엄격한 엔터프라이즈 및 규제 보안 요구 사항을 충족할 수 있습니다.
이 아키텍처는 다음을 보장합니다.
* **제로 인터넷 노출:** 데이터는 AWS 비공개 네트워크를 벗어나지 않습니다.
* **개인 IP 통신:** 트래픽은 격리되어 외부에서 접근할 수 없습니다.
* **규정 준수 정렬:** ISO 27001, SOC 2, FedRAMP 등 보안 표준을 충족합니다.
#### 프라이빗 인터커넥트: 클라우드 간 보안 확장
다중 클라우드 환경에서 작업하는 고객을 지원하기 위해 Salesforce는 비공개 상호 연결을 통해 AWS 외에도 동일한 보안 원칙을 확장하고 있습니다. 이 기능을 사용하면 Data 360과 Azure 또는 Google Cloud에서 호스팅되는 데이터 레이크 간의 클라우드 간 비공개 연결을 활성화하여 비공개 라우팅, 인터넷을 통한 이동이 전혀 없음, 암호화된 백본 전용 트래픽과 동일한 보증을 유지할 수 있습니다.
두 가지 아키텍처 배포 모델을 사용할 수 있습니다.
* **고객 관리형 상호 연결:** 고객은 Azure ExpressRoute, Google Cloud Interconnect 또는 Equinix Fabric과 같은 기존의 비공개 네트워크 회로를 Data 360 VPC와 직접 통합합니다.
* **Salesforce 관리형 상호 연결:** Salesforce는 클라우드 간 링크를 프로비저닝 및 관리하여 고객의 대상 클라우드 환경에서 비공개 서비스 엔드포인트를 제공함으로써 턴키 솔루션을 제공합니다.
### 게이트 보안: Salesforce Data 360의 API 보안 기능
엔터프라이즈 데이터를 통합하기 위한 강력한 플랫폼인 Salesforce Data 360은 강력하고 다층적인 보안 제어를 통해 구축되어 있습니다. 고객의 경우 API 보안 관리는 포괄적인 데이터 보호 전략의 중요한 부분으로써 액세스를 효과적으로 제어하고 통합을 관리하며 사용량을 모니터링할 수 있습니다.
다음은 Salesforce Data 360 내에서 고객이 API 보안을 설정, 제어, 관리할 수 있는 주요 기능 및 기능입니다.
#### API 보안 주요 기능 및 특징
고객은 몇 가지 내장 Salesforce 기능을 활용하여 Data 360 인스턴스에 대한 안전한 API 액세스를 보장할 수 있습니다.
##### 1\. 강력한 인증 및 권한 부여(OAuth 2.0)
Salesforce는 Data 360 API에 대한 엄격한 인증을 요구하며 OAuth 2.0은 표준 및 권장 프로토콜입니다.
* **연결된 앱**: 고객은 외부 응용 프로그램 액세스를 관리하기 위해 연결된 앱을 만들고 구성합니다. 이는 Data 360 수집 및 쿼리 API에 대한 액세스 권한을 인증하고 부여하는 기본 메커니즘입니다.
* **OAuth 범위**: 관리자는 최소 권한 원칙에 따라 특정 OAuth 범위를 정의할 수 있습니다(예: cdp_ingest_api, api).
* **다단계 인증(MFA)**: Salesforce Authenticator 및 기타 MFA 솔루션을 적용하여 필수 보안 계층을 추가하고 API 로그인을 통해서만 인증된 사용자가 시스템에 액세스할 수 있도록 합니다.
##### 2\. 세분화된 액세스 제어 및 권한
고객은 데이터에 액세스할 수 있는 사용자 및 응용 프로그램과 수행할 수 있는 작업을 정밀하게 제어할 수 있습니다.
* **API 액세스 제어(기능)**: Salesforce 지원에서 이 기능을 활성화하면 관리자가 API에 액세스하는 데 사용할 수 있는 연결된 앱을 명시적으로 승인할 수 있습니다. 승인되지 않은 모든 앱은 자동으로 차단되므로 무단 데이터 추출 위험이 크게 줄어듭니다.
* **권한 집합 및 프로필**: 관리자는 사용자 프로필 또는 전용 권한 집합을 통해 "API 사용 가능" 권한을 할당하여 API 액세스를 관리합니다. 이렇게 하면 사용자에게 직무와 관련된 액세스 권한만 부여됩니다.
* **역할 기반 액세스 제어(RBAC)**: Data 360 내에서 고객은 역할 기반 액세스 제어 정책을 만들고 관리하여 데이터 액세스 수준(개체, 필드, 레코드 수준 보안)을 정의하여 플랫폼 전체에서 일관성을 유지하고 제어할 수 있습니다.
* **전담 통합 사용자**: 모범 사례로는 시스템 관리자 계정을 사용하는 대신, 통합을 위해 특정 "API 전용" 사용자를 생성하고 해당 API 호출에 필요한 권한만 부여하는 것이 권장됩니다.
##### 3\. 네트워크 보안 컨트롤
* **IP 화이트리스트/로그인 IP 범위**: 고객은 API 액세스를 정의된 신뢰할 수 있는 IP 주소의 범위로 제한할 수 있습니다. 승인되지 않은 IP 범위에서의 로그인 시도는 거부되거나 검증 요청을 받을 수 있습니다.
* **개인 연결**: AWS PrivateLink에 구축된 이 기능을 사용하면 관리자가 공개 인터넷에 끝점을 노출하지 않고 민감한 데이터를 관리하여 공개적으로 표시되는 끝점에 대한 공격 위험을 없앨 수 있습니다.
* **전송 중 및 저장 중 암호화**: 모든 데이터는 전송 중(TLS 사용) 및 미사용 중에 암호화되어 가로채기된 경우에도 민감한 정보를 무단 액세스로부터 보호합니다.
##### 4\. 모니터링, 감사, 거버넌스
가시성은 보안의 핵심입니다. Salesforce는 API 활동을 모니터링 및 감사하기 위한 광범위한 도구를 제공합니다.
* **이벤트 모니터링**: API 호출 및 로그인 시도를 포함하여 다양한 이벤트를 거의 실시간으로 추적합니다. 고객은 감사를 위해 이 데이터를 사용하고 트랜잭션 보안 정책을 만들 수 있습니다.
* **보안 센터**: 이 기능은 모든 Salesforce 조직의 보안 상태, 규정 준수, 거버넌스 메트릭에 대한 단일 통합 보기를 제공하므로 모니터링 및 관리를 간소화합니다.
* **필드 감사 추적**: 고객이 로그인 및 필드 기록을 추적하고, 설정 변경 사항을 모니터링하며, 감사 및 데이터 보존 준수 의무를 해결할 수 있도록 도와줍니다.
* **데이터 거버넌스 기능**: 데이터 태그 지정 및 분류, 정책 적용, 동적 데이터 마스킹을 포함하여 API를 통해 액세스되는 데이터 접점을 포함하여 모든 데이터 접점을 통해 일관된 거버넌스 정책이 적용되도록 합니다.
#### API 보안 설정 및 관리: 고객 여정
1. 핵심 컨트롤 활성화: 먼저 MFA 및 IP 제한과 같은 조직 전체 기본값을 활성화합니다.
2. API 액세스 제어 요청: Salesforce 지원에 문의하여 조직에서 "API 액세스 제어" 기능을 활성화할 수 있습니다.
3. 연결된 앱 구성: 각 통합에 대해 특정 연결된 앱을 만들어 필수 OAuth 범위를 정의하고 권한이 있는 프로필/권한 집합에 할당합니다.
4. 최소 권한 구현: 모든 통합 사용자에게 "API 전용" 권한 및 최소한의 데이터 액세스 권한이 있는지 확인합니다.
5. 모니터링 및 감사: 이벤트 모니터링 및 보안 센터를 정기적으로 사용하여 API 사용을 검토하고, 변칙을 감지하고, 취약성 평가를 수행합니다.
6. 모범 사례 적용: 항상 TLS를 적용하고, 새로 고침 토큰을 안전하게 보관하며, 세션 ID를 주기적으로 변경하고, 데이터 입력을 검증합니다.
고객이 구성할 수 있는 이러한 강력한 기능을 활용함으로써 기업은 Salesforce Data 360 내의 모든 API 상호 작용에 대해 안전하고 규정을 준수하는 환경을 유지할 수 있습니다.
### 규정 준수, 감사, 지속적인 모니터링
#### 서비스 가용성 및 데이터 보존
Salesforce Data 360은 지리적으로 분산된 배포 모델을 통해 글로벌 데이터 보존 및 주권 요구 사항을 충족하도록 설계되었습니다. 현재 미국, 캐나다, 브라질, 독일, 인도, 오스트레일리아, 일본을 포함한 여러 규제 지역에서 서비스를 사용할 수 있습니다.
데이터 보존은 각 고객의 핵심 조직 인스턴스를 가장 가까운 해당 Data 360 지역 인스턴스에 매핑하여 결정합니다. 예를 들어 미국 또는 캐나다에 위치한 핵심 조직은 미국 지역 내의 Data 360 인스턴스와 페어링되고, 유럽 연합 내의 핵심 조직은 독일에서 호스팅되는 인스턴스에 매핑됩니다. 마찬가지로 인도, 오스트레일리아, 뉴질랜드 또는 싱가포르의 핵심 조직은 인도에서 호스팅되는 Data 360 인스턴스와 연결됩니다.
Salesforce의 Hyperforce 인프라스트럭처는 이 모델을 기반으로 지리적 데이터 제어, 보안 격리, 규정 준수에 대한 기초를 제공합니다. Hyperforce는 메타데이터, 백업, 파생 데이터 집합 등 고객 데이터가 정의된 지역 범위 내에 유지되도록 합니다. 이 아키텍처를 사용하면 기업이 APAC 및 EMEA 전역의 GDPR, FFIEC, HIPAA, 지역 개인정보보호법 등 현지 데이터 보존 및 규정 준수 요구 사항을 충족할 수 있습니다.
Salesforce는 지속적으로 Data 360의 가용성을 추가 Hyperforce 지역으로 확장하여 변화하는 글로벌 개인 정보 보호 표준, 지역 규정 준수 요구 사항 및 주체 데이터 제어에 대한 고객 기대에 부합합니다.
#### 규제 준수 활성화
Salesforce Data 360은 GDPR 및 CCPA와 같은 엄격한 글로벌 개인 정보 보호 및 규제 요구 사항을 충족할 수 있도록 설계되었습니다. 플랫폼은 데이터 액세스, 내보내기, 삭제("잊혀질 권리")를 포함하여 데이터 주체 권리(DSR)를 관리하는 기본 기능을 제공하여 수명 주기 전반에 걸쳐 개인 데이터를 규정 준수로 처리합니다.
고객은 규정 준수에 대한 최종 책임을 지지만 Salesforce는 CCPA와 같은 규정에 따라 인증된 "서비스 공급자"로 운영하며, 조직이 규정 준수 프레임워크를 효율적이고 대규모로 구현할 수 있는 플랫폼 수준 제어, 보안 보증, 계약 메커니즘을 제공합니다.
#### 근본적 신뢰: 인증 및 증명
신뢰는 Salesforce 플랫폼의 핵심이며, 이러한 신뢰는 독립적인 검증을 통해 얻을 수 있습니다. Salesforce는 고객 데이터를 보호하고 가장 높은 클라우드 보안 표준을 준수하기 위한 지속적인 노력을 보여주는 광범위한 글로벌 보안 인증 및 증명서 포트폴리오를 유지합니다.
해당 인증은 단순한 확인란이 아니라 Salesforce의 보안 제어, 프로세스, 인프라의 강도와 일관성을 확인하는 엄격하고 반복적인 감사를 나타냅니다. 이들은 함께 Salesforce의 기본 신뢰 모델의 기초를 형성합니다.
**핵심 인증 및 증명에는 다음이 포함됩니다:**
* **ISO/IEC 27001:** Salesforce의 포괄적인 정보 보안 관리 시스템을 확인합니다.
* **ISO/IEC 27017:** 클라우드별 보안 제어에 대한 모범 사례를 설정합니다.
* **ISO/IEC 27018:** 클라우드에서 개인 식별 정보(PII)를 보호하는 데 중점을 둡니다.
* **SOC 1, SOC 2, SOC 3:** Salesforce의 보안 및 개인정보 보호 제어의 설계 및 운영 효과를 확인하는 독립적인 보고서입니다.
* **PCI DSS:** 결제 카드 정보를 안전하게 처리하고 저장합니다.
* **FedRAMP High 등급 & DoD 영향 레벨 4:** 중요한 워크로드를 관리하는 미국 연방 기관에서 사용할 수 있도록 Salesforce Government Cloud를 인증합니다.
Salesforce는 이 포괄적인 인증 집합을 유지하여 고객에게 전역 규정 준수 및 보안 기대치를 충족하고 종종 초과하는 플랫폼 내에서 데이터를 관리할 수 있는 자신감을 제공합니다.
### 가시성 극대화: Salesforce Data 360의 로깅, 모니터링 및 관찰성
오늘날의 빠른 디지털 환경에서 고객 데이터를 포괄적으로 파악하는 것이 중요하지만, 해당 데이터를 관리하는 플랫폼을 포괄적으로 파악하는 것도 중요합니다. Salesforce Data 360은 고객이 데이터 품질, 보안, 성능을 보장할 수 있는 강력하고 내장형 로깅, 모니터링, 관찰 기능을 제공합니다.
이러한 도구를 사용하면 반응형 문제 해결에서 사전 예방적 관리로 전환하여 Data 360 구현을 원활하고 효율적으로 운영할 수 있습니다.
#### 사전 예방적 위협 감지 및 대응
보안은 예방으로 끝나지 않고 주의에 따라 발전합니다. 지속적으로 변화하는 위협 환경에서 Salesforce는 고급 플랫폼 모니터링 기능과 고객이 관리하는 검토 프로세스를 결합하여 사전 예방적이고 지속적인 보호를 보장합니다.
Salesforce는 가시성 및 위협 감지를 위한 강력한 기본 도구를 제공합니다.
* **설정 감사 내역**은 관리 변경 사항의 전체 내역을 캡처하여 팀이 구성 또는 정책 업데이트를 추적할 수 있도록 지원합니다.
* **이벤트 모니터링**은 사용자 동작, API 활동 및 데이터 액세스 패턴에 대한 자세한 정보를 제공합니다. 이 텔레메트리는 중앙 집중식 분석 및 상관 관계를 위한 **보안 정보 및 이벤트 관리(SIEM)** 솔루션과 원활하게 통합할 수 있습니다.
#### 1\. 이벤트 모니터링: 조직의 맥박
Salesforce Shield 제품의 일부인 이벤트 모니터링은 Salesforce 조직 내에서 사용자 활동 및 시스템 성능 데이터(특히 Data 360 관련 작업)를 추적할 수 있는 중앙 허브입니다. 분석을 위해 광범위한 "이벤트"를 로그 파일 및 개체에 수집합니다.
* **Event Log Files (ELFs):** 짧은 지연 후(시간별 또는 매일) 다운로드할 수 있는 사용자 활동 및 시스템 이벤트에 대한 세부 사항을 제공합니다. API 또는 이벤트 로그 파일 브라우저를 통해 최대 30일 동안 데이터에 액세스할 수 있으며, 장기 보관을 위해 내보내는 옵션이 있습니다.
* **실시간 이벤트 모니터링:** 즉각적인 인사이트를 위해 실시간 이벤트는 플랫폼 이벤트로 스트리밍되므로 거의 실시간으로 활동을 모니터링하고 감지할 수 있습니다. 이는 보안 및 성능에 매우 중요하므로 필요한 경우 즉시 조치를 취할 수 있습니다.
* **Data 360 특정 이벤트:** 이벤트 모니터링에는 Data 360 페이지 및 데이터와 관련된 Lightning 페이지 보기, Lightning 상호 작용 및 보고 이벤트와 같은 Data 360 사용에 고유한 이벤트 유형이 포함됩니다.
* **외부 도구와의 통합:** Salesforce는 Splunk, Datadog, New Relic, Sumo Logic과 같은 인기 타사 모니터링 솔루션과 원활하게 통합할 수 있습니다. 이벤트 모니터링 데이터를 해당 플랫폼으로 스트리밍하거나 내보내어 전체 기술 스택에 걸친 통합 관찰성을 실현할 수 있습니다.
#### 2\. 성능 모니터링 및 최적화
Data 360 구현의 성능을 파악하는 것이 우수한 사용자 환경의 핵심입니다.
* **Lightning 사용 앱:** 이 내장형 앱은 Lightning Experience 내 Data 360 페이지에 대해 페이지 로드 시간(체감 페이지 시간 또는 EPT) 및 브라우저 성능과 같은 성능 메트릭의 집계 보기를 제공합니다.
* **사용자 정의 보고서 및 대시보드:** Event Monitoring Plus라는 무료 CRM Analytics 템플릿 기반 앱을 사용하여 Data 360 개체 및 이벤트 모니터링 데이터를 사용하여 사용자 정의 보고서 및 대시보드를 구축할 수 있습니다. 이러한 시각화를 통해 추세를 파악하고 성능 병목 현상을 빠르게 식별할 수 있습니다.
그러나 기술만으로는 충분하지 않습니다. 진정한 복원력을 위해서는 자동 감지와 인적 검토 간의 체계적인 협력이 필요합니다. 자동화된 경고는 실시간 이상 현상을 포착할 수 있지만, 유효한 사용자가 야기하는 느린 무단 데이터 유출과 같은 미묘하거나 장기적인 위협은 정기적인 감사와 추세 분석을 통해 가장 잘 식별할 수 있습니다.
Salesforce는 텔레메트리, 감사 로그 및 통합 후크를 제공하며, 고객은 체계적인 프로세스, 운영 리듬, 그리고 상황에 따른 인텔리전스를 제공합니다. 이 모델은 함께 자동화, 분석 및 인적 감독을 결합하여 사고가 발생하기 전에 위협을 감지, 조사, 대응하는 **무세한 방어 모델**을 형성합니다.
### 정보에 근거한 결정: Salesforce Data 360의 보고서, 대시보드, 메트릭, 알림
Salesforce Data 360은 단순히 고객 데이터를 통합하는 것이 아니라 해당 데이터를 지능적이고 실행 가능한 상태로 만드는 것입니다. 이 가치 제안의 핵심 부분은 강력한 보고서 및 대시보드, 통찰력 있는 메트릭, 실시간 알림 기능을 제공하는 것입니다. 이러한 도구를 사용하면 고객이 익숙한 Salesforce 환경 내에서 통합 데이터를 기반으로 데이터 상태를 모니터링하고 성능을 추적하고 작업을 자동화할 수 있습니다.
#### 보고서 및 대시보드: 데이터 시각화 허브
Salesforce의 기본 보고 및 대시보드 기능은 Data 360으로 원활하게 확장되므로 플랫폼을 벗어나지 않고 통합 데이터를 시각화하고 분석할 수 있습니다.
#### 통합 데이터에 대한 보고서 작성
다양한 소스의 통합 데이터 및 계산된 인사이트를 포함하여 Data 360에 저장된 데이터에 대한 표준 및 사용자 정의 보고서를 만들 수 있습니다.
* **표준 및 사용자 정의 보고서 유형:** Data 360은 데이터 스트림, 세그먼트, 활성화, ID 확인, 계산된 인사이트와 같은 Data 360 개체에 특별히 적용되는 새 보고서 유형을 도입합니다. 이렇게 하면 표준 Salesforce 보고서 빌더를 사용하여 통합 데이터를 쿼리할 수 있습니다.
* **분자 분석:** 보고서는 최대 10개의 행 그룹화를 지원하므로 고객 특성 및 추세를 세부적으로 세분화하고 분석할 수 있습니다.
* **수식 및 요약:** 행 수준 및 요약 수식을 활용하여 각 레코드 또는 레코드 그룹을 평가하여 단일 보고서 내에서 자세한 메트릭 및 상위 수준 집계 요약을 추적할 수 있습니다.
#### 전체 보기를 위한 동적 대시보드
대시보드는 Data 360 구현 전반의 주요 메트릭 및 추세를 시각적으로 표시합니다.
* **통합 보기:** 단일 대시보드에서 여러 Data 360 보고서의 데이터를 결합하거나 Data 360 보고서를 표준 CRM 보고서와 혼합하여 운영 및 고객 인사이트를 포괄적으로 파악할 수 있습니다.
* **맞춤형 위젯:** 다양한 차트 유형(바, 선, 원형, 게이지 등) 및 테이블을 사용하여 보고서 데이터를 효과적으로 표시합니다.
* **실시간 인사이트:** 대시보드를 새로 고쳐 최신 정보를 제공하여 신속한 데이터 중심 의사 결정에 도움이 됩니다.
#### 메트릭 및 KPI: 성공 측정
Data 360을 사용하면 비즈니스 목표와 관련된 핵심 성과 지표(KPI)를 정의하고 추적할 수 있습니다. 다음을 통해 생성할 수 있습니다.
* **계산된 인사이트:** 대용량 배치로 처리된 데이터를 사용하여 강력한 메트릭을 만듭니다. 예를 들어, "평균 고객 수명 가치" 또는 "총 활성 계약 매출액"과 같은 메트릭을 계산하고 보고서 및 대시보드에서 치수 또는 측정값으로 사용합니다.
* **스트리밍 인사이트:** 스트리밍 소스의 데이터를 거의 실시간으로 처리하여 웹 사이트 또는 모바일 참여 데이터와 같은 시계열 집계를 구축합니다. 해당 메트릭은 즉각적인 오케스트레이션 및 데이터 작업을 유도할 수 있습니다.
#### 알림 및 경고: 정보를 파악하고 사전에 대응하기
Salesforce는 Data 360 내에서 중요한 이벤트 또는 데이터 변경 사항을 파악할 수 있도록 강력한 자동화 및 알림 기능을 제공합니다.
* **플로우 기반 알림:** 프로세스 플로를 설정하여 데이터 스트림, 세그먼트, 활성화와 같은 Data 360 개체의 이벤트를 기반으로 작업을 트리거하고 알림을 보낼 수 있습니다.
* **사용자 정의 알림:** 특정 조건이 충족되면 이메일이 전송되거나 Salesforce 알림 벨에 표시되는 사용자 정의 알림을 생성할 수 있습니다. 예를 들어, 데이터 스트림이 실패하거나, ID 확인 규칙에 오류가 발생하거나, 키 메트릭이 특정 임계값을 넘을 경우 경고를 받을 수 있습니다.
* **Event Notification Service (ENS):** 개발자를 위해, API 우선 접근 방식의 Event Notification Service를 사용하면 외부 시스템이 특정 이벤트 발생 시 알림을 수신할 수 있어, 기술 스택 전반에 걸쳐 원활한 통합과 실시간 반응이 가능합니다.
* **데이터 작업:** 스트리밍 인사이트를 기반으로 데이터 작업을 트리거할 수 있으며, 이 데이터 작업은 알림 전송, 플랫폼 이벤트 호출, 또는 웹후크를 통한 다른 SaaS 애플리케이션과의 통합 등으로 구성할 수 있습니다.
Salesforce Data 360 고객은 이러한 포괄적인 기능을 활용하여 데이터 에코시스템을 효과적으로 모니터링하고, 주요 메트릭을 시각화하고, 적시에 알림을 수신하여 사전 예방적 참여와 운영 우수성을 높일 수 있습니다.
### 엔터프라이즈 채택을 위한 전략적 권장 사항
엔터프라이즈 규모에서 Salesforce Data 360을 도입하려면 기술적인 활성화 이상이 필요하며, 의도한 보안 우선적인 아키텍처가 필요합니다. 다음 전략적 권장 사항은 CTO 및 엔터프라이즈 아키텍트에게 Data 360 배포의 모든 계층에서 신뢰, 복원력, 준수를 구축할 수 있는 로드맵을 제공합니다.
* **“Secure-by-Design” 접근 방식 구현:** 보안은 사후에 추가되어서는 안 되며, 기본이 되어야 합니다. Salesforce의 기본 *"모두 거부"* 정책으로 시작하고 필요에 따라 명시적으로 액세스 권한을 부여합니다. 데이터를 수집하거나 활성화하기 전에 거버넌스, 정책, 액세스 프레임워크를 정의합니다. 첫날부터 보안을 구축하면 숨겨진 노출 위험을 없애고 장기적인 규정을 간소화할 수 있습니다.
* **강력한 ID 및 액세스 관리(IAM) 전략 적용:** 연합 SSO를 통해 ID를 중앙 집중화하고 다단계 인증(MFA)을 적용하여 자격 증명 저하를 완화합니다. 로그인 IP 범위별로 액세스를 제한하고 Salesforce의 ID 공급자(IdP) 기능을 사용하여 사용자 및 통합 전반에서 종단간 책임을 설정합니다. 통합 IAM 레이어는 운영 복잡성을 줄이고 인증 표면을 강화합니다.
* **최소 권한 원칙 적용 :** 간편함이 아닌 정밀도를 위해 역할을 설계합니다. Salesforce의 표준 권한 집합을 업무 분리 기반으로 사용하여 사용자가 필요한 사항에만 액세스할 수 있도록 합니다. 권한을 지나치게 세분화하지 마십시오. 각 편차는 유지 관리 오버헤드와 의도하지 않은 액세스 위험을 증가시킵니다.
* **다중 계층 데이터 거버넌스 프레임워크 설정:** 데이터 공간을 사용하여 사업부 또는 브랜드별로 데이터를 분리하고 개체, 필드, 레코드 수준 보안(OLS, FLS, RLS)을 사용하여 특성 기반 액세스 제어(ABAC)를 적용합니다. 동적 데이터 마스킹을 사용하여 분석 또는 유용성을 방해하지 않고 실시간으로 민감한 정보를 보호합니다. 이 계층형 모델은 데이터가 도메인 전반에서 확장될 때 거버넌스를 일관되게 유지합니다.
* **전략적으로 암호화 및 보안 통합 활용:** 민감한 워크로드의 경우, 고객 관리 키(CMK)를 사용하여 플랫폼 암호화를 배포하여 암호화 수명 주기에 대한 주권을 유지합니다. 명명된 자격 증명과 프라이빗 커넥트를 사용하여 모든 시스템 간 통합을 보호함으로써 하드 코딩된 암호를 제거하고, 모든 트래픽이 비공개이며, 규정을 준수하고, 감사 가능하도록 합니다.
* **연속적인 보안 운영 프로그램 구축:** 보안은 구성에서 끝나지 않고, 운영 규율이 핵심입니다. 정기적인 이벤트 로그 및 액세스 내역 감사로 자동 모니터링을 보완합니다. 전용 보안 운영(SecOps) 기능을 구축하여 이상 징후를 식별하고 위협을 조사하며 규정 준수 여부를 검증합니다. 목표: 조기에 감지하고 신속하게 대응하며 보안 상태를 지속적으로 향상합니다.
### 향후 계획: 탄력적이고 신뢰할 수 있는 Data 360 구축
안전하고 지능적인 엔터프라이즈로의 여정은 배포로 끝나지 않으며, 규율, 설계, 신뢰를 통해 발전합니다. Salesforce Data 360은 아키텍처 기반을 제공하지만, 조직이 보안, 거버넌스, 인텔리전스를 하나의 통합된 움직임으로 운영할 때 진정한 가치가 드러납니다.
기업은 Data 360을 또 다른 데이터 플랫폼으로 접근하는 것이 아니라, 데이터, AI, 고객 참여를 하나의 거버넌스 프레임워크로 연결하는 안전하고 구성 가능한 신뢰 레이어로 접근해야 합니다. *안전한 디자인* 철학을 채택하고 모든 계층에서 최소 권한을 적용하고 모든 데이터 흐름에 대한 개인 연결을 확장함으로써 조직은 규정 준수를 확인란에서 경쟁 우위로 전환합니다.
다음 단계는 감사 자동화, 정책 적용, 암호화 수명 주기 관리를 일상적인 운영에 포함하는 지속적인 현대화입니다. 기업이 에이전트 기반 AI 아키텍처로 진화함에 따라, 오늘날 데이터를 보호하는 동일한 원칙이 내일 AI 거버넌스의 기초를 형성하며, 모든 모델, 에이전트, 결정이 설계 단계에서부터 설명 가능하고 정책 인식 및 준수하도록 보장합니다.
결국 신뢰가 디지털 전환의 새로운 통화가 됩니다. Salesforce Data 360을 사용하면, 모든 바이트, 모든 연결, 모든 인사이트가 무결하게 보호되고, 관리되며 활성화된다는 사실을 바탕으로 기업이 데이터 에코시스템을 확장할 수 있습니다.
## 작성자 정보
**Krishna Chalamasandra**는 정보 보안 기술 및 규정 준수 분야에서 25년 이상의 경험을 보유한 숙련된 사이버 보안 전문가입니다. Salesforce에서 그는 고객에게 신뢰할 수 있는 자문자이자 CISO 조직 내의 보안 및 규정 준수 고객 Trust 기능의 주요 리더입니다. 이전에는 Krishna가 10년 동안 Cisco에서 IAM, 네트워크 보안, PKI의 보안 아키텍처를 선도하고 ISO 27001, SOC 1–3, PCI, FedRAMP, FIPS 140-2를 비롯한 주요 인증을 실행했습니다. 또한 Novell에서 8년 이상 인프라 수준 제어를 구현하고 규제가 있는 글로벌 고객을 위한 복잡한 보안 검토를 지원했습니다.
**Yugandhar Bora는** Salesforce의 소프트웨어 엔지니어링 아키텍처로, 데이터 및 인텔리전스 애플리케이션 플랫폼 내 데이터 아키텍처를 전문으로 합니다. 그는 데이터 거버넌스 및 통합 데이터 모델에 초점을 맞춘 EARB(Enterprise Architecture Review Board) 이니셔티브를 이끌고 자동화된 플랫폼 프로비저닝 솔루션에 기여합니다.
# 컨텍스트
데이터 플랫폼은 30년 이상 발전해 왔습니다. 처음에는 온 프레미스, 중앙 집중식, 구조화된(주로 관계형) 운영/OLTP 데이터베이스가 산업에 주도했습니다. 이는 주로 분석 처리에 사용되었으며, 관계형이고 중앙 집중식인 데이터 웨어하우스, OLAP 및 빅데이터 플랫폼을 포함하도록 확장되었습니다. 클라우드 저장소는 데이터 웨어하우스, 레이크하우스, 분리형 저장소와 같은 분산된 아키텍처를 구동했습니다. 그러나 운영 플랫폼과 분석 플랫폼은 별도로 유지되었습니다. 오늘날 클라우드 컴퓨팅과 AI 혁명은 데이터 플랫폼 아키텍처를 근본적으로 변경하고 있습니다.
엔터프라이즈는 이미 Snowflake, Databricks, BigQuery, Redshift와 같은 성숙한 Big Data 플랫폼에 투자하고 있습니다. 그러나 이러한 플랫폼은 데이터 사일로 역할을 합니다. 고객은 비즈니스 흐름 및 응용 프로그램 내에서 직접 데이터를 활용할 수 없기 때문에 데이터에서 비즈니스 가치를 도출하지 않습니다. 이러한 솔루션에는 생성형 에이전트 AI 처리가 없고 실시간 데이터 액세스를 제공할 수 없으므로 고객 참여 시점 및 기타 업계 최고 수준의 기능에서 AI 기반 개인화를 제공할 수 없습니다.
데이터 플랫폼의 미래는 통합, 유연성, 액세스 가능성, 개방형 데이터 인프라스트럭처로 특징이 있습니다. 이 새로운 아키텍처는 GPU, 대용량 메모리, NVMe SSD, 클라우드 저장소 등 최신 계산 및 저장소 추세를 기반으로 구축되어 클라우드 컴퓨팅 및 AI와 통합됩니다. 실시간 인사이트를 제공하고, 자율 의사 결정을 강화하며, 실시간 애플리케이션을 구동할 수 있습니다. 여기에는 에이전트 AI, 예측 AI, 분석, 실시간 대규모 OLTP 데이터베이스, 데이터 레이크, 레이크하우스의 증가가 포함됩니다. 이러한 최신 데이터 플랫폼은 단순성, 확장성, 민첩성, 성능, 보안, 가용성, 비용 효율성을 위해 설계되었습니다.
## 차세대 데이터 플랫폼 아키텍처의 핵심 추세
다음 데이터 추세는 차세대 데이터 플랫폼 아키텍처를 구동합니다.
- **AI, 기계 학습 및 핵심 분석**: 에이전트 AI의 등장은 데이터 플랫폼의 개발, 배포 및 사용/액세스를 근본적으로 변화시킬 것입니다. 에이전트 AI는 대화/쿼리 의도를 이해하고, 워크플로를 계획하고, 생성하고, 의사 결정을 자동화합니다. 에이전트(단기 및 장기) 메모리는 대화 기록을 바탕으로 구성되어, 에이전트의 계획 및 결정, 실시간 대화 모델링, 그리고 데이터 플랫폼에서 중요한 개인화 지원에 활용됩니다. 에이전트는 데이터 거버넌스(예: 보안, 규정 준수, Trust), 성능(예: 동시성, 처리량 및 대기 시간에 대한 자동 확장), 페일오버 및 가용성, 관찰 가능성 및 유지 관리 등 운영 "능력"을 자동화하는 데 도움을 줄 것입니다. AI 기반 분석, 예측, 분석 Q/A용 자연어 처리(NLP), 구조화되지 않은 데이터(PDF, 이미지, 오디오, 비디오와 같은 텍스트)에 대한 분석이 표준 상태가 되므로 기업은 다양한 데이터 소스에서 자세한 인사이트를 파생할 수 있습니다.
- **데이터는 분산되어 있지만, 데이터 접근은 통합됨**: 에이전트는 인사이트 도출, 의사 결정, 그리고 비즈니스 활동 자동화를 위해 기업 데이터를 필요로 합니다. 데이터는 기업 내에서 다양한 애플리케이션과 데이터 플랫폼에 걸쳐 본질적으로 분산되어 있습니다. 그러나 기업 내의 다양한 사업부와 외부 파트너 간의 사일로를 원활하게 통합하는 것은 쉽지 않습니다. 데이터 통합은 소스에서 데이터를 수집하거나 데이터 소스와 통합하여 데이터를 공유하고, 분석 및 AI 처리를 위한 데이터 준비, 조합 및 모델링의 원시 데이터를 공유하고, CTS가 낮은 수준으로 데이터를 효율적으로 액세스할 수 있도록 대규모로 데이터를 저장하고 관리하며, 다양한 쿼리 및 분석 메커니즘과 도구를 통해 데이터를 액세스하고, 기본 스토리지 및 데이터 액세스 플랫폼과 깊이 통합합니다.
- **클라우드 기반 오픈 레이크하우스**: 클라우드 기반 빅 데이터(OLAP) 플랫폼은 오픈 파일 형식(Parquet) 및 테이블 형식(Iceberg)을 채택하여 데이터 연합(데이터 입력) 및 공유(데이터 출력)을 활성화하고 있습니다.
- **비정형 데이터 처리**: 생성형 AI의 출현, 발전, 채택으로 인해 기업은 대용량 텍스트 문서, 오디오 기록, 비디오 녹음, 기타 미디어를 구성하는 데이터의 엔터프라이즈 장부에서 가치 있는 인사이트와 비즈니스 가치를 파생하기 시작합니다. 청크, 벡터화, 시맨틱 검색 및 지식 그래프를 포함한 비정형 데이터 처리는 이러한 인사이트를 가능하게 합니다. RAG(검색 증강 생성) 및 CAG(캐시 증강 생성)와 같은 기술이 데이터 집합 전체에서 빠르고 에이전트 기반의 검색을 주도하고 있습니다.
- **지식 관리**: 지식은 단순한 원시 콘텐츠(문서, 기사, 비디오)를 넘어섭니다. 이는 콘텐츠에 의미를 부여하고 메타데이터를 큐레이팅하며, 맥락 속에 배치함으로써 조직 전반에 걸쳐 콘텐츠에 대한 공통의 이해를 구축하는 것을 의미합니다. 지식 자체는 일반적으로 구조화되어 있습니다. 지식 관리에는 콘텐츠 관리, 지식 추출, 그래프 등의 모델을 통한 표현 및 탐색이 포함됩니다.
- **풍부한 데이터 액세스**: 풍부한 데이터 액세스는 최종 사용자, 비즈니스 사용자, 관리자, 분석가를 비롯한 다양한 페르소나가 데이터, 분석, AI 도구에 액세스할 수 있어야 함을 의미합니다. 액세스 가능성은 앙상블 쿼리(관계, 키워드, 시맨틱 쿼리 포함), 자연어-SQL(NL2SQL) 쿼리, 실시간 액세스 등과 같은 메커니즘을 통해 달성됩니다.
- **실시간 처리**: 에이전트 기반 응용 프로그램은 현재 상태와 새로운 이벤트를 기반으로 실시간 결정을 내리고, 응답과 작업을 개인화하며, 이를 위해 실시간 데이터에 액세스하고 처리하고 조치를 취해야 합니다. 실시간 처리를 위해 최신 데이터(데이터 대기 시간) 및 대화형 액세스(액세스 대기 시간)가 필요합니다. 이러한 데이터 및 액세스 대기 시간에는 기본 데이터 플랫폼이 운영 및 분석 매장에서 최신 데이터 액세스, 낮은 대기 시간 액세스(지점 조회 및 쿼리) 처리, 높은 데이터 규모, 높은 처리량을 지원해야 합니다.
- **데이터 보안, 거버넌스 및 데이터 보관 위치**: 에이전트 및 대화형 AI는 응용 프로그램 UI를 간소화하므로 소비자에서 직원, 기타 AI 에이전트에 이르기까지 모든 사람이 음성 또는 서면 자연어를 사용하여 응용 프로그램과 대화식으로 상호 작용할 수 있습니다. 에이전트 응용 프로그램을 위해 저장 및 모델링해야 하는 중요한 고객 및 개인 데이터는 명확하게 정의된 액세스 및 공유 정책을 통해 보호되고 관리되어야 합니다. 점점 더 많은 고객이 해당 국가 또는 지역의 데이터 보존을 요구하는 규정을 준수해야 하며, 특히 정부에 속하거나 정부와 작업을 수행하는 고객을 대상으로 합니다.
Salesforce Data 360은 향후 데이터 추세를 해결하기 위해 고안되었습니다. Data 360은 엔터프라이즈 전반에서 사일로 데이터를 통합하여 조직에서 데이터를 저장, 모델링, 처리하여 분석, AI, 기계 학습, 에이전트 응용 프로그램을 활성화할 수 있도록 지원하는 클라우드 네이티브 메타데이터 기반 데이터 플랫폼입니다.
이 문서는 엔터프라이즈 설계자 및 CTO를 위한 필수 가이드입니다. Data 360의 아키텍처, 기능, 설계 원리, 사용 사례에 대해 자세히 설명합니다. Data 360 아키텍처의 기본 사항을 프라이머로 소개한 다음, 다중 조직 전략, 보안, 거버넌스 및 개인 정보 보호, 실시간 활성화, 데이터 정리 룸을 비롯한 기존 데이터 플랫폼과의 상호 운용성과 같은 주요 차별화 요소를 자세히 살펴봅니다.
## 설계 원칙
Salesforce Data 360은 엔터프라이즈 데이터를 실시간으로 실행하고 신뢰할 수 있도록 하는 핵심 원칙 집합을 기반으로 설계되었습니다.
- **개방성 및 상호 운용성**: 다중 클라우드 에코시스템을 위해 구축됩니다. 중복 없이 Snowflake, Databricks, BigQuery, Redshift와 같은 데이터 플랫폼을 통합하여 기존 투자를 유지하면서 Customer 360을 확장합니다.
- **스토리지-계산 분리**: 스토리지 및 처리(배치, 스트리밍, 대화형)를 독립적으로 확장합니다. 대용량 고성능 워크로드에 유연성과 효율성을 제공합니다.
- **다중 모델 스토리지 및 처리**: 텍스트, 이미지 오디오, 비디오와 같은 구조화된 다양한 비정형 데이터 유형을 지원합니다. 효율적인 저장소, 실시간 및 배치 처리, 확장 가능한 색인화, 통합 검색, 쿼리 및 분석을 제공합니다.
- **메타데이터 중심 설계**: 응용 프로그램은 코드가 아닌 메타데이터로 정의됩니다. 메타데이터는 일급 자산으로 취급되어 통합된 거버넌스, 유연성, 그리고 Salesforce 플랫폼과의 심층 통합을 가능하게 합니다.
- **실시간 하이브리드 프로세싱**: 일괄 처리 및 분석 워크로드와 함께 대기 시간이 낮은 쿼리 및 즉각적인 의사 결정을 지원합니다.
- **지능형 및 활성 데이터**: 지속적으로 인사이트를 수집, 분석하고 비즈니스 워크플로우에 직접 전달합니다. 최신 컨텍스트와 함께 노코드, 로우코드, 프로코드 및 AI 주도 자동화를 구동합니다.
- **설계를 통한 거버넌스 및 개인정보 보호**: 계보, 액세스 제어, 데이터 레지던시, 데이터 암호화 및 규정 준수가 내장되어 있습니다. 모든 계층에서 신뢰와 규제 신뢰가 강화됩니다.
- **일대다 테넌시**: 중앙 집중식 Data 360 Org는 Customer 360을 위한 단일 진실의 원천(Source of Truth) 역할을 하며, Salesforce 고객이 널리 사용하는 다중 Org Salesforce 환경을 원활하게 지원합니다.
이러한 원칙은 Data 360이 데이터를 개방적이고, 지능적이며, 실시간으로 실행 가능하게 만듭니다.
### 원칙에서 역량으로
Salesforce Data 360은 현재 데이터 추세를 해결하는 설계 원칙을 기반으로 구축된 최신 데이터 플랫폼입니다. 해당 아키텍처 기능은 엔터프라이즈 데이터가 신뢰할 수 있고 통합되며, 실시간으로 활용 가능하도록 보장함과 동시에 그 기본 원칙과 일치합니다.
- **Cloud-Native Foundation**: Hyperforce에서 실행되며, AWS와 같은 Hyperscalers에 배포되고, 불변의 마이크로서비스 기반 인프라를 갖추고 있습니다. 탄력적인 확장, 제로 트러스트 보안, 지속적인 배포, 글로벌 규정 준수를 제공합니다.
- **Salesforce(핵심) 메타데이터 기반**: 메타데이터는 Salesforce 메타데이터로 설계, 모델링, 저장되어 모든 Salesforce 애플리케이션에서 즉시 사용할 수 있습니다. 해당 메타데이터는 완전히 ACID를 준수하는 RDBMS에 저장됩니다. 거버넌스, 수명 주기 일관성, Salesforce Lightning Platform과의 깊은 통합을 보장합니다.
- **레이크하우스 저장소**: Apache Iceberg와 Parquet 위에 구축되어, 데이터 레이크의 확장성과 웨어하우스 거버넌스를 결합하며, 스키마 진화, 타임 트래블, 대용량 업데이트를 지원합니다. Data 360은 최신 개방형 표준을 기반으로 한 초대규모 저장소에서 구조화 및 비정형 데이터를 저장, 모델링, 처리하며, 배치 및 이벤트 기반 워크로드를 위한 풍부한 변환 및 데이터 처리 기능을 제공합니다.
- **유연한 수집이 가능한 엔드 투 엔드 데이터 파이프라인**: 전체 수명 주기—수집, 준비, 모델링, 통합, 분석, 활성화—를 포괄하여 분산된 포인트 솔루션에 대한 의존도를 줄입니다. 배치, 준실시간, 스트리밍을 270개 이상의 커넥터 및 MuleSoft와 함께 지원합니다. ELT 우선 접근 방식은 빠른 데이터 가용성과 다운스트림 변환의 유연성을 제공합니다.
- **오픈 프레임워크 및 Federation을 통한 엔터프라이즈 데이터 상호운용성**: Snowflake, Databricks, BigQuery, Redshift와의 양방향 Zero Copy 연합을 통해 엔터프라이즈 전체에 걸쳐 사일로화된 데이터를 통합하며, 데이터 마이그레이션이나 중복을 방지합니다.
- **데이터 분류, 모델링 및 조직**: Data 360은 데이터를 원시 수집 데이터, 정리 및 저장된 데이터, SSOT(단일 신뢰 소스)라고 하는 일반적인 정보 스키마에 따라 모델링된 데이터로 구성합니다. 이러한 SSOT 객체는 SDM(시맨틱 데이터 모델) 및 기타 큐레이팅된 애플리케이션별 모델을 정의하는 기초를 이룹니다.
- **내장형 시맨틱 데이터 모델링**은 개방형 시맨틱 쿼리 API를 통해 확장 가능한 분석을 지원하며, Tableau Next를 구동하고 애플리케이션별 분석을 가능하게 합니다.
- 구조화된 데이터, 비정형 데이터 및 그래프 데이터에서 통합된 Data 360 SQL 쿼리를 지원하는 **고성능 SQL 쿼리 엔진**입니다.
- **저지연 데이터 저장소**: 밀리초 단위 응답 시간을 제공하는 핫 데이터용 키-값 저장소입니다. 실시간으로 개인화 및 이벤트 기반 시나리오를 지원합니다. 고객 참여 데이터를 실시간으로 수집하고 처리합니다. ID, 상호작용 및 대화를 신뢰할 수 있는 단일 Customer 360 프로필 및 컨텍스트 그래프로 통합합니다.
- 비정형 데이터 저장, 청크, 내장형 생성(벡터화), 메타데이터 추출(확대), 요약, 인덱싱, Knowledge 추출, 지능형 문서 처리, 단기 및 장기(대화) 메모리 생성 등을 위한 유연하고 확장 가능한 지원을 위한 **비정형 데이터 처리 파이프라인**입니다.
- 빠른 검색 및 에이전트 검색, RAG, Knowledge 추출, 에이전트 메모리 파생 등과 같은 정확하고 효율적인 비정형 데이터 액세스를 위한 **네이티브 키워드, 벡터 및 하이브리드 인덱싱**
- AI/ML 및 Agenttic 애플리케이션을 활성화하기 위한 **프로필, 개인 설정, 컨텍스트 서비스**
- 계보 추적, 데이터 마스킹, 데이터 보존, 규정 준수 및 Trust 보증을 위한 모든 계층의 **내장형 거버넌스 및 보안**
- **엘라스틱 컴퓨트 패브릭**: Kubernetes 네이티브, 멀티 테넌트 컴퓨트 패브릭입니다. 분산 처리를 위한 Spark와 SQL 워크로드를 위한 Hyper를 실행합니다. 다양한 작업에서 탄력적으로 확장하며, 신뢰할 수 없는 코드를 실행할 수 있도록 격리를 지원합니다.
이 모든 것은 Salesforce의 클라우드 기반 플랫폼인 Hyperforce에서 실행됩니다. Hyperforce는 다음을 제공합니다.
- 암호화, 격리 및 최소 권한 정책이 포함된 **Zero Trust 보안**
- **복원력**을 다중 지역 배포를 통해 확보합니다. Salesforce Data 360은 Hyperforce의 다중 지역 복원력 및 플랫폼 수준의 장애 허용 기능을 활용할 수 있지만, 진정한 엔터프라이즈급 재해 복구(DR)에는 모든 종속 에코시스템 전반에서 재생 가능한 수집 파이프라인, 복제, 메타데이터 기반 재구성과 같은 주요 기능을 갖춘 데이터 플랫폼과 유사한 더 광범위한 아키텍처가 필요합니다.
- **관찰 가능성**과 모니터링, 메트릭, 추적 기능이 내장되어 있습니다.
- **자동 확장 및 FinOps 인식**으로 비용 초과 없이 효율성을 달성합니다.
Data 360은 기존 엔터프라이즈 투자를 대체하지 않습니다. 대신 Data 360은 이미 보유한 데이터를 신뢰할 수 있고, 관리되며, 실행 가능한 데이터로 만들어 가장 중요한 위치에서 실시간으로 AI 중심 참여를 제공합니다. 요약하면, Salesforce는 외부 데이터를 포함한 모든 엔터프라이즈 데이터를 (Salesforce) 메타데이터 기반 객체로 전환하고, 검색, 의사결정, 조치 수행을 위한 에이전트형 애플리케이션을 활성화합니다.
다음 그림은 Data 360 참조 아키텍처를 보여줍니다.
Data 360에 계층화된 가상적인 Agentforce Loan Agent를 고려하여 예제 아키텍처 흐름을 설명해 보겠습니다. 대출 에이전트가 고객(소비자)이 대출을 신청하고 즉시 대출 승인을 받을 수 있는 고객 대면 에이전트라고 가정해 보겠습니다.
Data 360은 해당 단계를 예약된 대로 수행하여 대출 에이전트가 사용할 데이터를 준비합니다.
- Data 360은 CRM에서 구조화된 고객 계정 데이터를 수집하고 데이터 레이크에 저장합니다.
- Data 360은 비정형 회사 대출 및 재무 정책 데이터를 처리합니다.
- Data 360은 Snowflake와 같은 외부 데이터 소스의 개인 데이터를 연합합니다.
- Data 360은 수집 및 연합 데이터를 변환하고 모델링합니다.
- Data 360은 프로필 데이터 그래프를 구축하고 유지합니다.
고객이 대출을 신청할 때마다 다음 작업이 수행됩니다.
- 고객이 대출 에이전트에 로그인하면 고객 세션이 실시간 레이어로 시작됩니다. 고객의 통합 프로필이 실시간 레이어로 불러와집니다.
- 고객이 필수 정보를 제공하여 대출 신청을 완료합니다.
- 고객이 비정형 데이터 처리를 위해 세금 반환, 투자, 은행 내역서와 같은 금융 문서를 Data 360에 업로드합니다.
- 업로드된 데이터는 청크되고 벡터화(임베딩 생성)되며, 색인(키워드 및 벡터)이 생성됩니다.
- 그런 다음, 고객이 대출 신청 문서를 작성하고 업로드합니다. Data 360은 대출 금액 및 기간을 실시간으로 추출합니다.
- 대출 에이전트는 Data 360 쿼리 및 프로필 및 기타 사전 생성된 색인에서 하이브리드 검색을 사용하여 관련 금융 데이터를 검색합니다.
- 대출 에이전트가 대출 데이터 및 기타 금융 프로필 데이터를 사용하여 승인 에이전트를 활성화하여 대출 승인 결정을 내립니다.
- 대출 에이전트가 결정 결과를 고객에게 전달합니다.
- 고객과 대출 에이전트 간의 전체 상호 작용도 Data 360에 수집 및 저장됩니다.
위 예에서는 대출 에이전트와 같은 에이전트 응용 프로그램을 구축하는 데 사용되는 Data 360 아키텍처 구성 요소의 개요를 제공합니다. 다음 섹션에서는 Data 360 아키텍처 계층 및 구성 요소에 대해 설명합니다.
## Data 360 아키텍처
이 섹션에서는 Salesforce Data 360의 기본 빌딩 블록을 자세히 살펴보고, 견고한 스토리지 모델부터 이후에 데이터 연결, 수집, 준비 메커니즘을 살펴봅니다. 그런 다음, 구조화된 데이터와 비정형 데이터가 어떻게 저장되고, 모델링되고, 처리되는지 살펴보고, 조합, 통합, 검색 및 지능형 활성화 기능을 이해할 수 있습니다.
### Data 360 저장소
Salesforce Data 360은 레이크하우스의 강점과 실시간 저장소를 결합하는 계층화된 통합형 스토리지 모델을 기반으로 구축됩니다. 레이크하우스 레이어는 대량의 이력 데이터와 배치 데이터를 위한 확장 가능하고 비용 효율적인 저장소를 제공하여 고급 분석 및 기계 학습 사용 사례를 지원합니다. 반면, 실시간 저장소는 낮은 대기 시간의 접근과 빈번한 업데이트에 최적화되어 고객 상호 작용, 프로필, 참여 신호가 항상 최신 상태로 유지되도록 합니다. 이러한 계층은 함께 원활하게 작동하여 데이터가 이력 및 실시간 컨텍스트 간에 유연하게 이동할 수 있도록 하며, 개인화, AI, 활성화를 위한 통합 데이터 기반에서 깊이와 즉각성을 모두 제공합니다.
#### 레이크하우스
Data 360은 AI 및 분석 응용 프로그램에 매우 중요한 구조화된 데이터와 비정형 데이터를 모두 지원하는 배치, 스트리밍, 실시간 시나리오의 대규모 데이터 관리 및 처리를 처리하도록 설계된 Iceberg/Parquet 기반의 네이티브 레이크하우스 아키텍처를 갖추고 있습니다.
Azure, AWS 또는 GCP와 같은 클라우드 기반 데이터 레이크에서 기본 저장소는 일반적으로 폴더 및 계층으로 구성된 파일입니다. Lakehouse는 쿼리 및 AI/ML 처리와 같은 작업을 쉽게 수행할 수 있도록 더 높은 수준의 구조적 및 의미적 추상화를 도입하여 이 구조를 강화합니다. 기본 추상화는 테이블 형태로, 구조와 의미를 정의하는 메타데이터를 포함하며, Iceberg나 Delta Lake와 같은 오픈 소스 프로젝트의 요소를 통합하고, Data 360이 제공하는 추가 의미 계층을 함께 포함합니다.
레이크하우스의 추상화 계층:
1. **Parquet 파일 추상화**: 기본적으로 저장소는 Parquet 형식의 데이터 레이크 파일(예: AWS의 S3 또는 Azure의 Blob)으로 구성됩니다. 소스 테이블의 데이터는 여러 파티션에서 Parquet 파일로 저장되며, 각 테이블은 해당 파일의 모음입니다.
2. **Iceberg 테이블 추상화**: 테이블은 폴더로 구성되며, 데이터 파티션은 해당 폴더 내에 Parquet 파일로 저장됩니다. 파티션을 수정하면 새 Parquet 파일이 스냅샷으로 표시됩니다. Iceberg는 각 테이블에 대한 메타데이터 파일을 관리하며, 이 파일에는 스키마, 파티션 사양, 스냅샷에 대한 세부 정보가 포함되어 있습니다.
3. **Salesforce Cloud 테이블 요약**: Iceberg를 기반으로 이 레이어는 열 이름 및 관계와 같은 의미적 메타데이터와 대상 파일 크기, 압축과 같은 구성 정보를 추가합니다. Snowflake 및 Databricks와 같은 다양한 플랫폼에서 테이블을 추상화하여 기본 스토리지 플랫폼 세부 사항으로부터 Data 360 애플리케이션을 보호합니다.
4. **레이크 액세스 라이브러리**: 이 라이브러리는 Salesforce Cloud 테이블에 대한 액세스를 제공하며, 데이터와 메타데이터를 모두 처리하고 애플리케이션 개발자를 위해 기본 저장 메커니즘을 추상화합니다.
5. **빅데이터 서비스 추상화**: 여기에는 쿼리를 위한 Hyper와, 모든 클라우드 테이블 플랫폼에서 처리를 위한 Spark와 같은 처리 프레임워크가 포함됩니다.
#### 실시간 저장소
실시간 분석 및 에이전틱 애플리케이션을 지원하기 위해 Data 360은 레이크하우스 대용량 데이터 저장소에 저지연 저장소를 추가합니다. Data 360 실시간 레이어는 메모리에서 실시간 신호 및 상호작용 데이터를 처리합니다. 그러나 메모리 기반 저장 용량이 제한되어 모든 데이터를 저장할 수 없으므로, 일부 데이터는 실시간으로 처리되지 않을 수 있습니다. Data 360은 이러한 제한 사항을 제거하기 위해 낮은 대기 시간 저장소(LLS)를 추가하여 확장 가능한 실시간 처리를 활성화합니다.
저지연 저장소는 레이크하우스의 페타바이트 규모 NVMe(SSD) 저장소 계층입니다. 모든 데이터를 반드시 저지연 저장소에 보관할 필요는 없습니다. 내구성이 뛰어난 캐시입니다. 대부분의 데이터는 결국 레이크하우스로 이동하여 장기간 저장됩니다. 실시간 레이어의 세션 내 데이터는 이후 빠른 접근을 위해 저지연 저장소로 플러시될 수 있습니다. 예를 들어, 에이전틱 대화에서는 최근 메시지를 메모리에서 처리하고, 오래된 메시지는 저지연 저장소로 플러시할 수 있습니다. 이전 대화가 필요한 경우 저지연 저장소에서 몇 밀리초 이내에 액세스할 수 있습니다. NVMe 기반 저장소를 사용하면 대량의 데이터를 밀리초 대기 시간으로 저장하고 액세스할 수 있습니다. 데이터는 레이크하우스 클라우드 저장소로 이동하여 장기간 유지될 수 있습니다. 또한 실시간 처리 또는 실시간 경험 강화를 위해 필요한 레이크하우스의 데이터가 가져와 저지연 저장소에 보관됩니다. 예를 들어 고객 프로필 컨텍스트가 미리 가져오거나 레이크하우스에서 가져와 저지연 저장소에 캐시됩니다. 또한, 세션 내 처리 시 실시간 처리를 위해 필요한 레이크하우스 개체 및 기타 개체는 저지연 저장소에 캐시될 수 있습니다.
Data 360의 저지연 저장소는 메모리(SSD) 기반 레이크하우스 저장소 계층과 함께 실제 저장소 계층 상에서 실시간 레이어를 가능하게 하며, 데이터는 이들 계층 간에 원활하게 이동합니다. 이 문서에서는 나중에 Data 360 실시간 레이어에 대해 설명합니다.
### 데이터 조직
Salesforce Data 360은 원시 입력을 통합된 현재 데이터 모델로 전환하는 엄격한 수명 주기에 따라 모든 고객 데이터(정형 및 비정형)를 표준화, 조화, 활성화하도록 설계되었습니다.
#### 데이터 수명 주기 및 개체 유형
수명 주기는 다양한 외부 데이터 입력을 가져오고 모델링된 영구 개체로 구조화하는 데 중점을 둡니다. 모델링된 데이터를 Customer 360 통합 프로파일로 조화할 수 있습니다.
**원시 수집 데이터 및 초기 변환**
프로세스는 소스 시스템(CRM, 마케팅, 파일 등)에서 그대로 수집된 원시 데이터로 시작합니다. 전체 데이터 로드 및 지속적인 변경 이벤트(델타)가 포함되며, 현재 상태를 유지하기 위해 영구 데이터와 관리 및 병합됩니다.
**인라인 변환** (예: 트림, 정규화, 연결)은 수집 중에 즉시 적용되어 예비 데이터 품질과 청결을 보장합니다.
##### 데이터 레이크 개체(DLO): 영구 레이어
**DLO**(Data Lake Objects)는 Data 360 내의 핵심 영구 저장 계층을 구성합니다. 깨끗하고 변환된 데이터를 저장하고 모든 고객 정보에 대한 정리된 장기 저장소 역할을 합니다.
소스 DLO에 **고급 데이터 변환**(예: 조인, 집계, 계산된 인사이트)이 적용되어 새로 고도로 큐레이팅된 파생 DLO를 생성합니다.
Zero Copy 데이터 연합을 통해 사용할 수 있도록 지정된 데이터는 DLO로 직접 표시됩니다.
**비정형 데이터 및 메타데이터 조직**
구조화되지 않은 콘텐츠(텍스트, 미디어, 문서)의 경우 Data 360은 구조화되지 않은 데이터 레이크 개체(UDLO)라는 특정 DLO 내에서 구조화된 메타데이터를 추출하고 유지하여 데이터를 통합합니다.
이러한 전문화된 DLO는 디렉터리 테이블로 작동하여 구조화되지 않은 자산의 실제 위치 및 컨텍스트에 대한 지도를 제공합니다. 이 기능을 사용하면 아키텍트가 비정형 데이터의 메타데이터를 구조화된 고객 데이터와 원활하게 연결하여 통합 쿼리 및 조화를 가능하게 합니다.
##### 데이터 모델 개체(DMO): 조화된 레이어
**DMO**(데이터 모델 객체)는 최종, 조화된 구조화된 데이터 레이어를 나타냅니다.
이 필드는 소스, 파생 및 비정형 메타데이터 DLO의 DLO 필드를 표준 Customer 360 데이터 모델에 매핑하여 생성됩니다.
DMO 레이어는 모든 고객 데이터에 대한 신뢰할 수 있는 단일 소스로 작동하여 광범위한 에코시스템 전반에서 통합 프로필 생성, 세분화, 활성화를 지원합니다.
#### 데이터 공간: 논리 컨테이너
데이터 공간은 모든 DLO(정형 및 비정형) 및 DMO를 포함하여 Data 360 내의 모든 데이터 및 메타데이터를 구성하기 위한 기본 논리 컨테이너입니다. 데이터 공간은 데이터 처리 및 모델링을 위한 안전하고 분리된 환경을 제공합니다.
데이터 공간은 논리적 경계와 거버넌스 경계 역할을 하며, 비즈니스 단위, 지역 또는 브랜드와 같은 고유한 엔티티에 대한 데이터를 분리하여 내부 다중 자산을 가능하게 하며, 엔터프라이즈 전체의 가시성, 계보, 규정 준수를 유지하면서 대규모 세분화된 액세스 제어를 정의하는 기반이 됩니다.
데이터 공간 내의 격리는 플랫폼의 여러 계층에 적용됩니다.
- **데이터 레벨 격리**: 각 DLO/DMO는 단일 데이터 공간에 속하므로 쿼리, 변환, 개체 매핑이 명시적으로 승인되지 않는 한 데이터 공간 경계를 넘을 수 없습니다.
- **액세스 제어 통합**: 권한 집합은 기본적으로 데이터 공간에 연결되어 있어 읽기, 쓰기, 관리 작업을 제어할 수 있습니다. 이렇게 하면 권한이 있는 사용자 및 서비스만 데이터 공간 내의 개체, 인사이트, 활성화에 액세스할 수 있습니다.
- **거버넌스 및 감사**: 데이터 공간 내의 모든 작업은 엔터프라이즈급 감사 추적 기록으로 기록되어, 규정 준수, 관리 및 규제 보고를 위한 추적이 가능하도록 합니다.
권한 집합을 통해 액세스 및 권한이 관리되어 세부적인 가시성, 통제된 업데이트, 그리고 교차 도메인 데이터 누출 방지를 보장합니다. 데이터 공간 경계를 Data 360의 보안 및 거버넌스 아키텍처와 통합함으로써 설계자는 여러 클라우드 및 비즈니스 도메인에서 일관성을 유지하면서 중앙 집중식 및 분산형 거버넌스 전략을 모두 확신할 수 있습니다.
#### 컴퓨트 패브릭
Data 360 컴퓨트 패브릭은 모든 빅 데이터 워크로드를 관리하고 실행할 수 있는 통합 계층을 제공하여 기본 인프라의 복잡성을 간소화합니다. 핵심 구성 요소는 데이터 처리 컨트롤러(DPC)입니다.
DPC는 다양한 클라우드 컴퓨팅 환경에서 Job-as-a-Service(JaS) 기능을 제공하는 포괄적인 다중 작업 부하 데이터 처리 오케스트레이션 서비스입니다. 이는 인프라 복잡성을 추상화하고 Spark(EC2의 EMR 및 EKS의 EMR)와 Kubernetes 리소스 컨트롤러(KRC) 워크로드와 같은 프레임워크의 작업 실행을 통합합니다. 중앙 집중식 제어 플레인 게이트웨이로 사용되므로 DPC는 여러 데이터 플레인에서 작업을 오케스트레이션, 예약 및 모니터링하여 신뢰성, 확장성, 비용 효율성, 일관된 개발자 환경을 보장합니다.
DPC의 필요성은 EMR과 같은 기본 클러스터 관리 시스템과 직접 상호 작용하는 제한으로 인해 발생합니다.
##### 인프라 및 클라우드 추상
EMR은 클러스터, 작업 및 단계에 대한 API를 제공하지만, 프로비저닝, 확장, 성능 조정, 비용 최적화와 같은 중요한 인프라 관리 과제가 클라이언트 팀에 부담을 줍니다. DPC는 작업 제출을 위한 간소화된 플랫폼 수준 API를 제공하여 이를 해결합니다. 자동 오류 처리, 재시도, 동적 로드 밸런싱을 지원합니다. 빈팩, 스팟 및 Graviton 기반 노드를 통해 비용 효율성을 제공합니다. TLS, PKI, IAM 격리 및 자동 패치를 통해 강력한 보안을 제공합니다. 성능 향상, 보안 패치 및 기능 향상을 제공하기 위해 Spark 및 EMR 런타임 버전 업그레이드를 관리합니다.
또한 DPC는 데이터 작업을 제출하고 관리할 수 있는 클라우드와 무관한 통합 인터페이스를 제공하며, 기본 클라우드 인프라의 복잡성과 독점 API(AWS, 향후 제공업체들)를 추상화합니다. 이렇게 하면 클라이언트 팀은 Kubernetes 및 YARN과 같은 기본 리소스 관리자의 복잡성을 감추는 공통 Data 360 API 기반 작업 제출 인터페이스만 사용하게 됩니다. 이렇게 하면 클라이언트 팀이 팟, 노드 풀 또는 Spark 클러스터 구성을 직접 관리할 필요 없이 간단하고 통합된 API를 통해 Spark 작업을 제출할 수 있습니다.
수동으로 Spark 매개 변수를 조정하려면 전문 기술이 필요하며, 잘못된 구성으로 인해 작업 실행이 느려질 수 있습니다. DPC 팀은 이 전문 지식을 중앙 집중화하여 일반적인 성능 문제를 방지하기 위한 최적화된 구성을 제공합니다. 이 전문 팀은 컨트롤러가 관리하는 모든 작업 부하에서 최적의 성능을 보장하기 위해 오픈 소스 커뮤니티의 지식을 지속적으로 통합합니다.
DPC는 Spark에 국한되지 않고 다양한 워크로드를 지원합니다. 다음은 포함됩니다.
- 실시간 처리 워크로드
- Data Actions 기능에 대한 이벤트 배달
- Milvus 관리(구형화되지 않은 데이터 색인화를 위한 벡터 데이터베이스)
- 저지연 스토리지 인프라
DPC는 또한 **Kubernetes 리소스 컨트롤러(KRC)** 프레임워크를 활용하여 Trino for Query, Event Delivery for Data Actions, Data Extraction Jobs for Connectors, 실시간 처리와 같은 워크로드를 지원합니다. 모든 KRC 워크로드에 대해 DPC는 중앙 Job-as-a-Service 기능을 제공하며, 고수준 잡 추상화에서 컴퓨트 프로비저닝, 배포, 관리를 처리합니다.
##### JaaS 혜택 및 아키텍처
DPC에서 제공하는 Job-as-a-Service 모델은 비용 효율적이고 복원성이 뛰어난 작업 처리 파이프라인을 보장합니다.
사용자는 필요한 CPU, 메모리, 저장소, 인스턴스 수, 최소/최대 클러스터 수 및 클러스터 매칭을 위한 태그에 중점을 둔 간단한 클러스터 사양을 제공합니다. DPC는 최적의 VM SKU 선택, 인스턴스 플릿 관리, Core 노드 대 Task 노드의 비율 결정, 그리고 입력에 기반한 On-Demand(주문형) 및 Spot(스팟) 인스턴스 관리를 포함한 추상적인 인프라 세부 사항을 자동으로 관리합니다. 또한 가동 중지 시간 없이 EMR 및 구성 요소 버전 관리 및 업그레이드를 처리합니다.
중요한 점은 DPC가 기본적으로 Data 360 테넌시의 경계 및 자원 분리를 이해하고 적용하도록 설계된 멀티테넌시를 지원합니다. 또한 Salesforce 인증 머신 이미지를 적용하고 서비스별 IAM 역할을 관리하며, 전송 중 및 저장 중 모두 암호화를 보장함으로써 보안과 규정 준수를 확보합니다. 라우팅 및 용량 제어를 위해, 작업-클러스터 매칭은 클러스터 태그를 사용해 관리되며, 용량 기반 라우팅은 최대 작업 동시 실행 설정을 통해 자원 활용도를 효과적으로 제어합니다.
클라우드 독립적 클라이언트 경험은 핵심적인 이점으로, 클라이언트 서비스에서 기본 클라우드 환경의 복잡성이 숨겨져 비즈니스 논리에만 집중할 수 있습니다. 이를 통해 클라우드 공급자 추상화의 목표를 달성할 수 있습니다. 마지막으로 DPC를 사용하면 사용량 및 비용을 쉽게 추적할 수 있으므로 클러스터 사용량 및 비용을 서비스별로 세분화하여 정확한 계산을 수행할 수 있습니다. 전체적으로 DPC는 플러그 가능한 아키텍처를 따르므로 새로운 실행 엔진(예: Flink, Ray) 및 클라우드 기반(GKE/Dataproc)을 사용자에게 기본 인프라 세부 사항을 노출하지 않고 원활하게 통합할 수 있습니다. 이 설계는 실행 계층에서 제어 플레인을 분리하여 백엔드와 상관없이 일관된 API 및 운영 환경을 보장합니다.
### Data 360의 데이터 처리: 원시 데이터에서 실질적 활용까지
Data 360은 원시 데이터를 정제하고 보강하여 원시 정보와 실천 가능한 비즈니스 소비 사이의 격차를 줄입니다. 정교한 활성화 및 분석을 위해 복잡한 데이터를 준비하여 데이터 개체 수명 주기를 보완합니다. Data 360은 배치 및 스트리밍 데이터 변환, 배치 및 스트리밍 계산된 인사이트, 비정형 데이터 처리, ID 확인 등 다양한 처리 유형을 지원합니다. 특히 대규모 데이터 집합에서 거의 실시간으로 다양한 작업을 효율적으로 수행하려면 데이터 변경 사항을 효과적으로 처리하는 정교한 메커니즘이 필요합니다.
#### 증분 처리 지원
테라바이트 크기의 테이블과 수백만 건의 잠재적 업데이트가 있는 환경에서 거의 실시간으로 효율적인 데이터 처리를 달성하려면, Data 360에는 돌파구가 필요했습니다. 데이터가 변경될 때 정확하게 시스템에 알림을 보내고 관련 업데이트만 업데이트될 때만 처리되도록 변경된 데이터를 효율적으로 식별해야 했습니다. 이 과제로 인해 두 가지 상호 보완적인 혁신이 도입되었습니다. 변경 사항이 발생했을 때 알리는 저장소 네이티브 변경 이벤트(SNCE)와, 무엇이 변경되었는지 식별하는 변경 데이터 피드(CDF)가 도입되었습니다.
##### 저장소 네이티브 변경 이벤트(SNCE)
SNCE는 Data 360을 반응형 증분 데이터 플랫폼으로 근본적으로 변경했습니다. 이 변화는 표준화된 이벤트 형식과 고처리량 메시지 전달 시스템을 사용하여 데이터 레이크를 적극적으로 폴링하던 방식에서 원자 커밋 이벤트를 수동으로 모니터링하는 방식으로의 전환을 의미합니다.
Iceberg 테이블에 대해 성공적으로 쓰기 작업(INSERT, UPDATE, DELETE)이 수행되면, 카탈로그에서 테이블의 현재 메타데이터 파일 포인터가 원자적으로 교체됩니다. 기본 개체 저장소 계층(S3)은 테이블의 디렉터리에 새 메타데이터 스냅샷이 작성될 때마다 S3 이벤트와 같은 기본 알림 이벤트를 전송하도록 구성됩니다.
SNCE 라이브러리는 해당 이벤트를 사용하기 위한 표준화된 방법을 제공하며 요청 시 스냅샷 메타데이터로 보강할 수도 있습니다.
이렇게 하면 다운스트림 데이터 파이프라인(스트리밍 계산 인사이트, 신원 확인, 세분화 등)이 데이터가 변경된 경우에만 구독하고 조치를 취할 수 있어, 비용이 많이 드는 전체 테이블 스캔을 피함으로써 효율성이 크게 향상됩니다.
##### 데이터 피드 변경(CDF)
SNCE를 기반으로 하는 변경 데이터 피드(CDF)는 변경 사항을 소비하고 증분적으로 처리하는 간소화된 메커니즘을 제공합니다.
CDF는 Iceberg 스냅샷을 활용하여 변경 사항 스트림을 효율적으로 생성합니다. 중요한 점은 Data 360의 최적화된 Iceberg 작성기가 쓰기 작업 자체의 일부로 변경 사항을 계산하고 저장하므로, CDF 생성이 매우 효율적이고 추가 오버헤드가 최소화됩니다. 이렇게 하면 처리 작업(스트리밍 변환 또는 스트리밍 계산된 인사이트 등)이 변경된 레코드만 선택적으로 처리하여 비용이 많이 드는 스냅샷 차이 계산을 피할 수 있습니다.
이 증분 전략은 비용 절감, 대기 시간 단축, 효율성 향상 등 대규모 데이터 집합에 몇 가지 이점을 제공합니다. 스트리밍 변환 및 증분 신원 확인과 같은 기능을 활성화하여, 이는 더 빠른 인사이트, 더 예측 가능한 시스템 부하, 향상된 성능, 그리고 더 낮은 운영 비용으로 이어집니다.
### 연결, 수집, 준비
Data 360은 Salesforce 제품에 대한 기본 지원과 함께 강력한 수집 기능을 제공하여 원활한 데이터 흐름을 보장합니다. 외부 소스의 경우 270개가 넘는 커넥터, API, SDK, MuleSoft를 통해 광범위한 연결을 제공합니다. 또한 Data 360은 제로 카피 페더레이션을 사용하므로 데이터 중복 없이 BI 및 분석을 수행할 수 있습니다.
#### Data 360 커넥터 프레임워크
Data 360 커넥터 프레임워크(DCF)는 대부분의 Data 360 연결을 위한 기반입니다. DCF는 통합 아키텍처를 통해 데이터 수집, 연합, 데이터 출력을 가능하게 합니다. DCF는 설정 및 관리용 UI, 메타데이터 영속성, 데이터 추출, 레이크하우스로의 전달 또는 외부 소스에 대한 실시간 쿼리를 활용해 커넥터 구축 및 관리를 위한 표준을 정의합니다. 또한 비공개 링크, VPN, 보안 터널 등 비공개 연결 옵션을 지원하여 고객 또는 파트너 환경에 연결할 때 엔터프라이즈급 데이터 보안 및 규정 준수를 보장합니다. 모든 커넥터에서 일관된 접근 방식을 제공함으로써 DCF는 확장성, 신뢰성, 안전한 통합을 보장하여 Data 360을 더 광범위한 에코시스템에 원활하게 연결할 수 있도록 지원합니다.
#### Data 360 커넥터
Data 360은 광범위한 데이터 소스 에코시스템에 강력한 연결을 제공하며 네이티브 Salesforce 제품과 다양한 외부 시스템을 모두 지원합니다. 이 광범위한 연결은 사일로화된 엔터프라이즈 데이터를 통합하고 AI/ML 및 에이전트 애플리케이션을 활성화하는 데 매우 중요합니다.
Data 360은 MuleSoft, API, SDK를 통해 또는 기본적으로 270개가 넘는 커넥터를 제공하여 배치, 스트리밍 또는 실시간 수집을 통해 종단간 데이터 파이프라인 기능을 지원합니다. 이러한 커넥터는 통합하는 소스 시스템 유형별로 광범위하게 범주화할 수 있습니다.
**Salesforce 네이티브 커넥터**
이러한 커넥터는 Salesforce 제품의 원활한 기본 데이터 흐름을 보장합니다.
Salesforce CRM, Data Cloud One, Marketing Cloud Engagement, Marketing Cloud Account Engagement, B2C Commerce의 커넥터를 예로 들 수 있습니다.
**외부 애플리케이션 및 SaaS**
다양한 비즈니스 애플리케이션 및 클라우드 서비스의 커넥터를 사용하면 외부 소프트웨어 플랫폼에서 데이터를 수집할 수 있습니다.
예를 들어 Adobe Marketo Engage, Microsoft Dynamics 365, Mailchimp, Airtable이 있습니다.
**데이터베이스 및 데이터 웨어하우스**
Data 360은 다양한 관계형 및 클라우드 기반 데이터 저장소 플랫폼에 연결됩니다.
예로는 Amazon Redshift, Amazon DynamoDB, Amazon RDS(MySQL, PostgreSQL, Oracle), Google BigQuery, Microsoft SQL Server가 있습니다.
**클라우드 개체 저장소 및 파일 시스템**
이러한 커넥터는 구조화된 데이터와 비정형 데이터 모두를 위한 하이퍼스케일러 스토리지 솔루션과 통합됩니다.
예로는 Amazon S3, Google Cloud Storage(GCS), Azure Blob Storage가 있습니다.
**스트리밍 및 메시징 서비스**
연속 실시간 데이터 스트림을 처리하는 커넥터는 이벤트 중심 시나리오 및 실시간 처리에 매우 중요합니다.
Amazon Kinesis 커넥터를 예로 들 수 있습니다.
**통합 플랫폼**
MuleSoft Anypoint 커넥터는 Anypoint Exchange를 통해 더 광범위한 응용 프로그램 및 데이터베이스와 Data 360의 도달 범위를 확장합니다.
**비정형 데이터 및 클라우드 개체 저장소 커넥터**
이러한 커넥터는 생성형 AI 기능을 강화하기 위해 구조화되지 않은 데이터(사전 정의된 모델이 없는 데이터)를 수집하고 참조하는 데 중요합니다.
모든 커넥터는 일관된 환경을 제공하는 Data 360 커넥터 프레임워크에 구축되어 있습니다.
#### 데이터 변환
데이터 변환은 Data 360의 기본 아키텍처 구성 요소로, 원시 수집된 데이터를 정리, 보강하고 Customer 360 데이터 모델에 맞춰 정규화된 실행 가능한 데이터 자산으로 형성하도록 설계되었습니다. 이 프로세스는 데이터 조화, 품질 향상, 그리고 프로필 통합, 세분화 및 활성화와 같은 다운스트림 사용 사례를 위한 데이터 준비에 필수적입니다. 변환은 소스 데이터 레이크 개체(DLO) 및 데이터 모델 개체(DMO)를 모두 입력으로 활용하여 각각 새로운 DLO 또는 DMO에 대한 결과를 생성합니다.
Data 360은 서로 다른 데이터 속도 요구 사항인 배치 데이터 변환 및 스트리밍 데이터 변환을 해결하기 위한 두 가지 기본 변환 패러다임을 제공합니다.
##### 배치 데이터 변환
배치 데이터 변환은 정의된 일정 또는 주문형 트리거를 기반으로 대용량 처리를 위해 고안되었습니다. 이 엔진은 복잡하고 자원 집약적인 재구축 작업을 처리하기 위해 최적화되어 있습니다.
배치 변환 프로세스는 사용자가 다단계 변환 논리를 정의할 수 있는 시각적 하위 코드 파이프라인 캔버스를 사용하여 구성됩니다. 이 엔진은 정규 데이터 모델 정렬에 중요한 복잡한 재구성 작업(데이터 구조화 및 정규화)을 고유하게 지원합니다. 여기에는 피벗(비정규화된 레코드를 여러 정규화된 레코드로 분해) 및 평면화(JSON과 같은 계층적 데이터를 구조화된 테이블로 재구축)가 포함됩니다. 시스템의 실행 모드는 전체 동기화(모든 레코드 처리) 및 고효율 증분 처리 모드를 모두 지원합니다. 증분 모드는 마지막으로 성공적으로 실행된 이후에 변경된 레코드만 처리하여 처리 시간과 리소스 소비를 크게 줄입니다. 배치 변환은 정기적 집계 및 복잡한 데이터 재구축과 같이 실시간 업데이트가 필수적이지 않은 과업에 적합합니다.
##### 스트리밍 데이터 변환
스트리밍 데이터 변환은 시스템에 데이터가 유입되는 동안 거의 실시간으로 데이터를 지속적이고 점진적으로 처리하므로, 대기 시간이 낮은 사용 사례에 필수적입니다.
기본 인터페이스는 변환이 수신되는 레코드 변경 스트림에 대해 지속적으로 실행되는 SQL SELECT 쿼리로 정의되는 SQL 우선 접근 방식입니다. 이 엔진은 데이터 정리 및 표준화(예: PII 검증 및 데이터 형식 표준화), 데이터 보강 및 병합(조인 및 유니온 사용) 등 핵심 변환 기능을 지원합니다. 중요하게도 스트리밍 조회 JOIN을 지원하여 정적 또는 느리게 변경되는 참조 데이터에 대한 실시간 데이터 보강 및 조회를 가능하게 하여 즉시 프로필 업데이트를 보장합니다. 서비스 비용을 최적화하기 위해 아키텍처는 단일 테넌트에 대한 여러 스트리밍 변환 정의를 단일 기본 컴퓨팅 작업으로 패키징하는 고밀도(HD) 작업 설계를 사용하여 자원 활용도를 극대화합니다. 스트리밍 변환은 이벤트 모니터링, 즉각적인 개인 설정, 실시간 프로필 업데이트와 같은 사용 사례에 필수적입니다.
### 제로 카피 데이터 연합 및 데이터 공유
Data 360은 Zero Copy 연합 및 데이터 공유를 지원하여 데이터 관리를 혁신화하므로 데이터를 이동하거나 복제할 필요가 없습니다. 이 기능을 사용하면 사용자가 다양한 외부 소스에서 데이터에 원활하게 직접 액세스하고 외부 환경과 데이터를 공유하여 복잡성을 크게 줄이고 저장소 비용을 절감하며 모든 결정을 최신의 신뢰할 수 있는 정보를 기반으로 합니다.
#### 데이터 연합
Data 360은 외부 데이터 웨어하우스(Snowflake, Redshift), 레이크하우스(Google BigQuery, Databricks, Azure Fabric), SQL 데이터베이스 및 기타 여러 소스와 함께 제로 카피 연합을 지원합니다. 추상화 계층을 사용하면 중복 없이 외부 데이터를 직접 쿼리할 수 있으므로 수집 시간과 저장소 비용을 줄이고 최신 정보를 확보할 수 있습니다.
Data 360은 Salesforce 및 외부 개체를 모두 추상하는 통합 메타데이터 레이어를 제공하여 외부 및 연합 데이터에 대한 액세스를 간소화합니다. 이렇게 하면 전체 Salesforce Platform 및 응용 프로그램이 이 데이터를 원활하게 사용할 수 있습니다.
Data 360은 파일 및 쿼리 기반 연합을 모두 지원하며, 그림에 표시된 것처럼 실시간 쿼리 및 액세스 가속화 기능을 갖추고 있습니다.
레이블(1) 및(2)은 외부 데이터 레이크/웨어하우스/데이터 소스에서 데이터에 액세스하기 위한 Data 360의 쿼리(실시간 쿼리 푸시다운 포함) 및 파일 기반 연합을 보여주며, 레이블(3)은 외부 데이터 레이크/데이터 소스에서 연합된 액세스 가속화를 강조합니다.
##### 쿼리 연합
Data 360의 연합 기능의 핵심은 외부 데이터에 액세스하고 지능형 쿼리 푸시다운을 수행하는 복잡한 과정을 관리하는 쿼리 연합 계층에 있습니다(레이블 1 참조). Data 360은 추가 논리가 적용되어 효율성이 향상된 JDBC 프로토콜을 사용하여 소스에 연결하고 데이터를 검색합니다. 쿼리 연합 계층은 다양한 SQL 방언을 이해하고 번역하며, 효율적인 처리를 위해 쿼리 중 외부 시스템으로 푸시할 최적의 부분을 결정하고 결과를 검색한 후, 최종 인사이트 도출을 위해 필요한 추가 처리를 수행하는 역할을 합니다.
###### 캐싱(쿼리 가속화)
더 나은 활용을 위해 Data 360은 연합 기능을 위한 선택적 가속 기능을 제공합니다.
가속 기능이 활성화되면 Data 360이 연합 데이터를 캐시하여 외부 소스에 반복적으로 직접 액세스하지 않아 더 빠른 액세스와 비용 절감 효과를 얻을 수 있습니다. 이 캐시는 가속화 레이어로 취급되며 외부 소스 데이터의 변경 사항을 빠르게 반영하도록 증분적으로 업데이트되므로 가속 보기가 실시간에 가깝게 유지됩니다.
##### 파일 연합
Data 360은 외부 데이터 레이크 및 소스의 데이터에 액세스하기 위한 파일 기반 연합(레이블 2로 표시)을 지원합니다. 이 제로 카피 기능의 기술적 기반은 표준화에 의존합니다. 기본 데이터는 Apache Parquet 파일 형식이어야 하며 Apache Iceberg 테이블 형식을 사용해야 합니다. Data 360은 메타데이터 및 저장소 액세스를 위해 IRC (Iceberg REST Catalog)를 노출하는 모든 소스와 연합할 수 있어, 플랫폼 외부에 있는 파일에 원활하고 관리되는 액세스를 보장할 수 있습니다.
파일 기반 연합을 사용하면 Data 360의 컴퓨트가 기본 저장소에 직접 액세스하여 모든 데이터 처리를 담당합니다. 따라서 쿼리 기반 연합에서 요구되는 쿼리 푸시다운이나 다양한 SQL 방언 관리가 필요하지 않습니다.
또한 Zero Copy 기능은 Data 360의 비정형 처리 파이프라인에서 액세스할 수 있는 대규모 스토리지 솔루션(S3/GCS/Azure 스토리지), Slack 및 Google Drive 등 비정형 데이터 소스에도 확장됩니다.
#### 데이터 공유
Data 360은 원본 그림에서 레이블 4와 5로 표시된 외부 데이터 레이크 및 웨어하우스와 관리 중인 데이터의 쿼리 기반 및 파일 기반 공유를 지원합니다.
##### 쿼리 기반 공유
쿼리 기반 데이터 공유의 경우 Data 360은 JDBC 드라이버를 제공하여 외부 엔진 및 애플리케이션이 데이터에 안전하게 접근할 수 있도록 합니다. 이 메커니즘을 사용하면 외부 시스템이 Data 360 내의 데이터에 대해 직접 실시간 쿼리를 연결, 인증, 실행할 수 있습니다.
##### 파일 기반 공유(데이터 공유 및 DaaS)
파일 기반 공유를 위한 기본 메커니즘은 DaaS(Data as a Service) API를 활용하는 두 가지 개념인 데이터 공유 및 데이터 공유 대상을 포함합니다.
- 세분화된 제어: 데이터 공유 개념을 사용하면 고객이 외부에서 공유되는 개체(DLO, DMO, CIO 등)를 정확하게 정의하여 의도하지 않은 데이터 노출을 방지할 수 있습니다.
- 보안 대상: 또한 데이터 공유 대상을 제어하여 명시적으로 승인된 외부 환경, 계정 또는 파트너 조직(예: 특정 Redshift 또는 Databricks 인스턴스와 공유)만 데이터를 사용할 수 있도록 합니다.
DaaS API는 외부 엔진이 데이터를 소비할 수 있도록 안전하고 관리되는 인터페이스를 제공합니다. 모든 Data 360 시맨틱을 유지하면서 필수 메타데이터 및 기본 테이블 저장소에 대한 액세스 권한을 부여합니다. 이렇게 하면 외부 엔진이 일관되고 의미 있는 컨텍스트에서 안전한 방식으로 데이터에 액세스할 수 있습니다.
### 비공개 연결
특히 대기업, 규제된 산업, 공공 부문 조직 등 많은 보안에 민감한 고객이 보안 조치의 일부로 데이터 레이크에 대한 모든 인터넷 액세스를 제한합니다. 이 정책은 규정 준수 및 위험 감소에 필수적이지만 Salesforce Data 360 및 Agentforce 공개 인터넷을 통해 해당 환경에 연결되지 않도록 방지합니다.
대부분의 데이터 레이크는 AWS, Azure 또는 Google Cloud와 같은 하이퍼스케일러 환경에 배포됩니다. Data 360 자체가 AWS에서 실행되므로 다른 클라우드 공급자에서 호스팅되는 고객 데이터 레이크에 액세스하려면 클라우드 간 네트워크 연결이 필요합니다. 공개 인터넷을 우회하는 안전한 비공개 연결 옵션이 없으면 고객이 이러한 데이터 레이크에 의존하는 사용 사례에 Data 360 또는 Agentforce 채택할 수 없거나 원하지 않는 경우가 많습니다.
#### 비공개 링크
이를 해결하기 위해 Data 360은 클라우드 전반에서 고객이 관리하는 데이터 소스에 대한 비공개 네트워크 수준 연결을 지원합니다. AWS에서는 AWS PrivateLink를 통해 활성화되며, 이를 통해 Data 360은 공개 인터넷을 이동하지 않고 자체 계정 또는 타사 데이터 레이크 환경(예: Snowflake) 내에서 고객 프로비저닝 끝점에 직접 연결할 수 있습니다.
이 아키텍처는 비공개 IP 주소 지정 및 라우팅할 수 없는 네트워크 경로를 사용하여 모든 트래픽이 AWS 백본에 남아 있어 엄격한 보안 및 규정 준수 요구 사항을 충족하며 고객 데이터에 원활하게 액세스할 수 있도록 합니다.
#### 프라이빗 상호 연결
다중 클라우드 아키텍처를 사용하는 고객의 경우 Data 360은 클라우드 간 상호 연결 지원을 통해 AWS 이상의 비공개 연결을 확장합니다. 이를 통해 Data 360에서 Azure 또는 Google Cloud에서 호스팅되는 데이터 레이크 및 서비스로의 보안 백본 전용 네트워크 경로를 활성화하고 AWS PrivateLink와 동일한 원칙(비공개 IP 주소 지정, 비공개 라우팅, 인터넷 노출 제로)을 유지할 수 있습니다.
고객은 두 가지 배포 모델 중에서 선택할 수 있습니다.
- **고객 관리형 상호 연결**: Azure ExpressRoute, Google Cloud Interconnect 또는 Equinix Fabric과 같은 기존의 비공개 회로를 Data 360의 VPC와 직접 통합합니다.
- **Salesforce 관리형 상호 연결**: Salesforce가 클라우드 간 링크를 프로비저닝하고 운영하는 완전 관리형 턴키 연결을 사용하여 대상 클라우드에 프라이빗 엔드포인트를 노출합니다.
두 모델 모두 경험이 일관적입니다. Data 360 서비스는 하이퍼스케일러 간 외부 데이터 소스에 로컬처럼 연결하여, 공용 인터넷을 경유하지 않고도 안전하게 수집, 활성화 및 쿼리를 수행할 수 있습니다.
### Data 360의 데이터 거버넌스: 신뢰와 제어의 기반
엔터프라이즈 아키텍트에게 강력한 데이터 거버넌스는 단순히 규정 준수 확인란이 아니라 신뢰할 수 있고, 확장 가능하며, 실행 가능한 고객 인텔리전스를 구축하는 데 있어 기본적인 토대입니다. Salesforce Data 360은 전체 데이터 수명 주기 전반에 걸쳐 데이터 품질, 보안, 규제 요구 사항 준수를 보장하는 포괄적인 거버넌스 프레임워크로 구성되어 있습니다.
Data 360은 중앙 집중화된 거버넌스 허브 역할을 하므로 원시 수집에서 활성화된 인사이트까지 모든 데이터가 무결하고 제어적으로 관리됩니다.
#### 고급 액세스 제어: 특성 기반 액세스 제어(ABAC)
데이터 공간은 데이터 공간 내의 모든 객체에 대한 포괄적인 액세스 제어를 제공하지만, ABAC 기반 정책은 데이터 공간 내의 개별 객체, 필드 및 행에 대해 세밀한 액세스 제어를 제공합니다. Data 360은 세분화된 액세스 제어를 위한 핵심 권한 부여 모델로 특성 기반 액세스 제어(ABAC)를 채택했습니다. 이 전략적 선택은 대용량 데이터와 다양한 액세스 요구 사항이 있는 동적이고 복잡한 엔터프라이즈 환경에서 특히 중요한 기존 RBAC(역할 기반 액세스 제어)와 비교하여 탁월한 유연성과 확장성을 제공합니다. ABAC를 사용하면 미리 정의된 역할이 아닌 사용자의 특성(예: 부서, 역할, 위치), 데이터(예: PII, 민감도, 데이터 공간), 환경(예: 일과 시간)을 기반으로 액세스 결정을 내릴 수 있습니다. 이를 통해 데이터 및 사용자 특성 변경에 따라 적응하는 매우 세분화되고 상황에 맞는 액세스 정책을 사용할 수 있습니다.
- **CEDAR 정책 언어**: Data 360의 ABAC 구현의 핵심은 CEDAR 정책 언어 사용입니다. 이 목적에 따라 구축된 공식 정책 언어는 복잡한 권한 부여 규칙을 정의하는 정확하고 검증 가능한 방법을 제공하여, 정책이 애매모호하지 않고 대규모 환경에서도 일관되게 평가될 수 있도록 합니다.
#### 거버넌스 아키텍처: 정책 정보, 적용, 결정 사항
Data 360 내의 거버넌스 시스템은 강력하고 표준 ABAC 아키텍처를 준수합니다.
- **태그 지정, 분류 및 정책 작성(정책 정보 지점 - PIP)**:
- Data 360은 LLM(대규모 언어 모델) 및 ML(기계 학습)을 활용하여 민감한 데이터 범주(예: PII.Email, PII.Phone, PII.Name) 및 기타 용도 구축 분류(PHI, FinancialData)를 구조화된 데이터(예: 연락처 테이블) 및 구조화되지 않은 데이터(예: Google Drive) 모두에서 식별하는 자동화된 태그 지정 및 분류 메커니즘을 제공합니다.
- 특히, 태그 전파는 데이터 계보(DLO -> DLO -> DMO)를 따라 이루어지며, 분류가 원시 데이터부터 조화된 DMO 레이어, 그리고 프로세스 정의로 생성된 파생 데이터에 이르기까지 데이터 변환 과정을 자동으로 반영합니다.
- 마지막으로 정책 작성 창은 데이터 및 사용자 특성을 활용하여 조직에 대한 동적 액세스 규칙을 정의하는 간단한 환경을 제공합니다.
- 이 보강된 메타데이터(태그, 분류, 정책, 계보 포함)는 정책 정보 지점(PIP)에 피드됩니다.
- **승인 서비스(정책 집행 지점 - PEP)**:
- 인가 서비스는 정책 집행 지점(PEP) 역할을 합니다. 다양한 소비 계층(하이브리드 구조화/비정형 쿼리, GenAI RAG 검색기 및 프롬프트, CRM 보강)의 모든 데이터 액세스 요청을 가로채고 정책 결정 지점과 상담하여 액세스 허용 여부를 결정합니다.
- **정책 평가 엔진(정책 결정 지점 - PDP)**:
- 이 엔진은 정책 결정 지점(PDP) 역할을 합니다. PEP로부터 제공된 액세스 요청 컨텍스트, CEDAR 기반 정책 정의, 그리고 PIP의 속성들을 종합하여 권한 있는 액세스 결정을 내립니다.
#### 핵심 정책 적용 및 통합
- **세분화된 보안 정책**: CEDAR에 정의된 정책은 다음을 포함하여 다양한 보안 수준을 적용합니다.
- **개체 수준 보안**: 해당 개체와 연결된 태그를 기반으로 전체 DLO 또는 DMO에 대한 액세스를 제어합니다.
- **필드 수준 보안**: 태그를 기반으로 개체 내 특정 민감한 필드에 대한 액세스를 제한합니다.
- **행 수준 보안**: 특정 개체의 데이터를 필터링하여 사용자 특성을 기반으로 관련 행만 표시합니다.
- **동적 데이터 마스킹**: 기본 데이터를 변경하지 않고 액세스 지점에서 특정 데이터(태그 기반)를 동적으로 마스킹합니다. 이렇게 하면 민감한 정보가 보호되면서도 광범위하게 활용할 수 있습니다. 이는 구조화된 데이터의 마스킹 필드와 비정형 데이터의 콘텐츠에 적용됩니다.
- **일관된 적용**: 전체 ABAC 프레임워크는 직접 데이터 쿼리, 생성형 AI 응용 프로그램(RAG) 검색, 또는 관련 목록을 통한 Salesforce CRM 환경 보강 등 모든 Data 360 소비 패턴에서 정책이 일관되게 적용되도록 보장합니다.
- **Salesforce Platform과의 심층적 통합**: Data 360의 거버넌스 기능은 Salesforce 핵심 플랫폼 내에서 직접 정의 및 관리됩니다. 이 통합을 통해 관리자는 익숙한 Salesforce 도구를 사용하여 액세스 정책, 사용자 ID, 특성 관리를 관리하여 전체 Salesforce 에코시스템에서 일관된 통합 관리 계층을 보장할 수 있습니다.
CEDAR 정책을 사용하여 이 정교한 ABAC 프레임워크를 구축함으로써 Data 360은 설계자에게 탁월한 수준의 제어 및 유연성을 제공하여 고객 데이터가 실행 가능한 것뿐만 아니라 안전하고 규정을 준수하며 기업 전체에서 신뢰할 수 있도록 합니다.
### Data 360 암호화: 자체 키 가져오기
산업 전반에서 조직은 데이터 누출, 무단 액세스, 변경 또는 파괴로부터 보호하기 위해 종단 간 데이터 보안에 더욱 강조하고 있습니다. 현재 Data 360을 포함한 대부분의 데이터 플랫폼은 공급업체에서 관리하는 암호화 키를 사용하여 저장 데이터 암호화를 제공합니다. 그러나 기업(특히 규제된 섹터에 속하는 기업)은 사용 중인 데이터와 전송 중인 데이터 모두에 대해 고객이 관리하는 암호화 기능을 점점 더 요구하고 있습니다.
이 모델을 사용하면 회사가 자체 암호화 키를 제어하여, 플랫폼 수준의 침해나 무단 액세스와 같은 극히 드문 상황에서도 데이터가 암호화되어 보호됩니다. 고객의 독점 키가 없으면 플랫폼 공급자를 포함한 어떠한 엔티티도 데이터를 해독하거나 재구성할 수 없으므로 전체 기밀성을 유지하고 제어할 수 있습니다.
### 비정형 데이터 저장소 및 처리
Data 360은 데이터 수집, 처리, 색인화, 쿼리 메커니즘 전반에서 원활하게 구조화(테이블), 세미 구조화(JSON), 비정형 데이터의 저장 및 관리를 지원합니다. Data 360은 오디오, 비디오, 이미지 등 텍스트 외에도 다양한 비정형 데이터 유형을 지원하여 데이터 처리 및 분석 범위를 넓힙니다. 아래 그림은 grounding(수집과 검색)의 두 측면을 보여줍니다.
Data 360은 열에 텍스트로 저장하거나 더 큰 데이터 집합의 파일에 저장하여 비정형 데이터를 관리합니다. 비정형 콘텐츠에 대한 데이터 연합을 지원하므로 여러 소스의 데이터를 통합하고 관리할 수 있습니다.
그런 다음, 데이터가 준비 및 청크되고, 임베딩이 생성되고, 키워드 색인화 및 벡터 색인화를 위해 처리됩니다. Data 360은 청크 및 임베딩 생성을 위한 여러 개의 기본 및 플러그 가능한 모델을 호스팅합니다. Data 360은 후속 처리 및 색인화를 위해 자동화되고 구성 가능한 오디오 및 비디오 콘텐츠의 전사를 지원합니다. 검색 서비스는 키워드 색인화에 사용됩니다. 벡터 색인화의 경우 Data 360은 네이티브 색인화(하이퍼 사용)를 모두 지원하며 오픈 소스 Milvus와 같은 벡터 데이터베이스도 활용합니다. 또한 Data 360은 Salesforce Search 플랫폼과 통합되어 비정형 데이터에 대한 키워드 색인화를 지원합니다. Data 360에서 통합된 다중 모달 색인화를 사용하면 문서 후반에 있는 에이전트 엔터프라이즈 검색 섹션에 설명된 대로 비정형 데이터를 검색할 수 있습니다.
검색을 위해 Data 360은 검색을 위한 API를 제공합니다. 하이퍼 기반 통합 쿼리는 구조화된 데이터, 키워드 인덱스, 벡터 인덱스 전반에서 앙상블 쿼리를 수행하며, 엄격한 가시성과 권한을 유지함으로써 RAG와 검색 기능을 향상시킵니다.
#### 확장 가능한 파이프라인
Data 360의 비정형 데이터 색인화 파이프라인은 5가지 핵심 단계인 모듈식 확장 가능한 아키텍처로 설계되었습니다.
1. 구문 분석
2. 사전 처리
3. 청크
4. 후처리
5. 포함
모든 스테이지에서 고객이 사용자 정의 프롬프트를 제시할 수 있는 LLM 기반 처리를 지원합니다. 사전 처리 및 사후 처리 단계 모두 여러 순차 단계를 포함할 수 있으므로 복잡한 변환을 유연하게 구성할 수 있습니다. 각 스테이지는 완전히 메타데이터 기반으로 설계되어, 코드 변경 없이도 원활하게 구성 및 확장이 가능합니다.
사전 처리의 예로는 소음 제거, 언어 정규화, 이미지 이해(광학 문자 인식 및 캡션)와 같은 작업이 포함되며, 사후 처리 단계에는 메타데이터 보강, 시맨틱 그룹화 또는 Raptor 청크와 같은 고급 기술이 적용될 수 있습니다.
파이프라인은 Data 360 코드 확장을 완전히 지원하므로 고객 및 내부 팀이 모든 단계에서 사용자 정의 논리를 연결할 수 있습니다. 코드 확장 구성 요소는 Data 360이 실행, 확장 및 오류 처리 등 전체 수명 주기를 완벽하게 관리하는 경량 파이썬 함수입니다. 이 접근 방식은 플랫폼 전반에서 운영의 일관성과 거버넌스를 유지하면서 혁신 및 도메인별 처리를 신속하게 도입할 수 있도록 합니다.
##### 컨텍스트 색인화
구조화되지 않은 처리를 사용하여 RAG를 설정하려면 두 가지 주요 요소가 있습니다:
1. **빠른 반복**: 샘플 테스트 쿼리를 사용하여 신속하게 확인할 수 있는 기능
2. **개인별 콘텐츠**: 소비자 페르소나에 맞게 맞춤화된 콘텐츠를 구성할 수 있는 역량입니다.
컨텍스트 색인화는 이러한 두 측면을 모두 해결하기 위해 고안된 사용자에게 친숙한 도구입니다. 이 대화형 UI는 이전에 설명된 5개의 단계를 모두 실행하는 실시간(RT) 파이프라인에서 제공됩니다. 파이프라인은 임베딩 생성 및 OCR(광학 문자 인식)과 같은 작업에 필요한 경우 GPU를 활용합니다. 또한 고객은 포괄적인 콘텐츠 처리를 위한 구성을 배포하기 전에 에이전트와 함께 RAG 파이프라인을 빠르게 테스트할 수 있습니다.
##### 문서 AI
Data 360 문서 AI를 사용하면 인보이스, 이력서, 실습 보고서, 구매 주문과 같은 문서에서 비정형 또는 반정형 데이터를 읽고 가져올 수 있습니다. 이 기능은 즉석 대화형 처리와 대량 배치 처리를 모두 지원합니다. 이는 고객의 비즈니스 프로세스 자동화를 지원하는 핵심 기능입니다. 이는 LLM 및 ML 모델을 비롯한 인공 지능에 의해 제공됩니다.
### 엔터프라이즈 지식
엔터프라이즈는 위키, 파일 공유, 콘텐츠 관리 시스템, 내부 데이터베이스 등 다양한 시스템에 분산된 방대한 지식을 보유하고 있습니다. 이 조각화로 인해 직원(특히 서비스 에이전트 및 세일즈 담당자) 및 고객이 빠르고 효율적으로 관련 정보를 찾기 어려워집니다. 주요 문제: 모든 Knowledge 소스에 걸쳐 단일하고 통합된 검색 경험이 없음; 다른 소스의 콘텐츠를 일관되게 표시하고 렌더링하지 않음; 시스템 간에 분산된 민감한 정보에 대한 액세스 관리가 없음; 핵심 비즈니스 워크플로 내에서 권위 있는 Knowledge 소스를 활용하는 어려움 (예: 사례에 관련 기사를 첨부).
엔터프라이즈 지식은 더 광범위한 엔터프라이즈 데이터 풀에서 수동 또는 자동으로 선별된 콘텐츠를 의미합니다. 수동 큐레이션은 Salesforce 지식 문서를 작성하거나 외부 시스템 내에서 지식을 개발하는 등 의도적인 조치를 통해 이루어지며, 이렇게 생성된 콘텐츠가 수집됩니다. 수집된 데이터를 통해 실행되는 Salesforce 에이전트 및 변환과 같은 프로세스를 활용하여 정교하고 선별된 레이어를 생성하고 잠재적으로 구조화된 콘텐츠와 구조화되지 않은 콘텐츠를 혼합하는 자동화된 큐레이션을 예상합니다. 수동 또는 자동으로, Salesforce 내부에서든 수집 전 외부에서든 선별된 경우, 그 결과는 원시 데이터와 구별되는 부가 가치가 추가된 콘텐츠입니다.
Enterprise Knowledge Hub 솔루션은 Data 360 기능을 활용하여 다음과 같은 작업을 수행합니다.
- **수입 및 저장**: CRM Connector는 Salesforce Knowledge 기사를 수집하고, 데이터 커넥터 프레임워크(DCF) 비정형 커넥터는 외부 소스의 원시 콘텐츠와 메타데이터를 수집합니다. 콘텐츠가 소스별 비정형 데이터 레이크 개체(UDLO)에 수집되어 SFDrive의 콘텐츠(또는 0 복제의 경우 소스)에 매핑됩니다.
- **조화 및 구조화**: 조화 파이프라인은 UDLO 및 파일 데이터를 처리하여 정제, 정규화, 보강(NLP 등), PII 마스킹을 수행하고, 이를 조화된 중간 형식으로 변환하여 SF Drive와 이에 매핑되는 조화된 UDLO(HUDLO)에 저장합니다.
- **인덱싱**: 조화된 콘텐츠에서 비정형 파이프라인(UDS)이 트리거되고 각 HUDMO에 대해 검색 색인이 구성됩니다.
- **소비**: 소비 애플리케이션에는 검색, 조회, 렌더링, 케이스와 같은 비즈니스 오브젝트와의 연결이 포함됩니다. 소비 애플리케이션의 이용 현황은 클릭, 리뷰 등과 같은 사용량 분석을 제공하기 위해 수집됩니다.
### 계산된 인사이트
Data 360의 계산된 인사이트(CI)를 사용하면 고객이 데이터에서 집계된 메트릭을 정의하고 생성할 수 있습니다. 그러면 해당 메트릭이 적시에 고객 참여, 분석, 세분화, 활성화에 사용됩니다. CI가 계산한 집계 데이터는 Lakehouse에 기록되고 계산된 인사이트 개체(CIO)로 표시됩니다.
계산된 인사이트에는 다음과 같은 두 가지 주요 유형이 있습니다.
- **배치 계산된 인사이트**: 복잡하고 대용량의 데이터 집계를 위해 설계되었으며, 메트릭은 정기적으로(예: 매일 또는 매주) 계산될 수 있습니다.
- **스트리밍 인사이트**: 실시간 이벤트 데이터에서 메트릭 및 작업을 생성할 수 있는 기능을 제공하여 지연 시간이 낮은 즉각적인 고객 참여를 지원합니다.
계산된 인사이트는 데이터 모델 개체(DMO)에 정의되며, 다른 계산된 인사이트 개체에서도 정의할 수 있습니다. 계산된 인사이트 서비스는 배치 및 스트리밍 작업의 오케스트레이션을 모두 관리합니다.
배치 및 스트리밍 인사이트 계산 모두 Spark를 사용합니다. 스트리밍 인사이트는 Spark 구조 스트리밍을 활용하고 배치 CI는 정기적으로 예약된 배치 Spark 작업을 사용하여 실행됩니다. 비용 효율성을 위해 계산된 인사이트 서비스는 종속성 및 소스 데이터 개체의 겹침과 같은 요소를 기반으로 동일한 배치 CI 작업 또는 스트리밍 CI 작업에서 함께 계산할 CIs를 그룹화합니다.
SNCE 및 CDF는 스트리밍 인사이트 계산에 중요한 역할을 합니다.
### 식별 해상도
식별 해상도는 여러 소스의 서로 다른 데이터를 하나의 포괄적인 통합 프로필로 변환하는 역할을 합니다.
통합 프로필은 '골든 레코드'가 아니며, 식별 해상도는 프로필을 통합하는 과정에서 우선값을 선택하거나 기존 데이터를 덮어쓰지 않는다는 점을 이해해야 합니다. 통합 프로필은 단일 데이터 소스 또는 여러 소스에서 동일한 엔티티와 관련된 일치하는 모든 레코드를 식별하여 소스 데이터의 잠금을 해제하는 키 집합 역할을 합니다. 이 정보를 사용하면 해당 비즈니스 사용 사례에 사용할 올바른 소스 시스템 데이터를 선택할 수 있습니다.
ID 확인은 개인, 계정 및 가구를 포함하여 다양한 레코드 유형을 통합할 수 있습니다. 리드를 기존 계정에 연결하는 데도 사용할 수 있습니다. 통합 프로세스는 전체 Customer 360 뷰를 달성하고 B2C 및 B2B 시나리오 모두에서 맞춤형 실시간 참여를 유도하는 데 필수적입니다.
식별 해상도 파이프라인은 대용량 데이터를 지속적으로 처리하도록 설계된 확장성이 높은 클라우드 네이티브 프레임워크를 기반으로 구축됩니다. 이 프로세스에는 세 가지 핵심 단계가 포함되어 있으며, 강력한 검색 색인에 의존하여 일치 프로세스를 관리합니다.
- **일치(선택 후보)**: 일치 프로세스의 목표는 동일한 엔티티에 속할 수 있는 레코드를 검색하는 것입니다. 레코드는 사용자 정의 가능한 규칙 집합에 대해 분석되며, 각 규칙에는 특정 엄격도 수준에서 일치시킬 데이터를 정의하는 기준 집합이 포함됩니다. 데이터 저장소에서 잠재적 일치 항목을 효율적으로 검색하기 위해 다음 두 가지 방법을 사용하여 가능한 일치하는 레코드를 찾는 색인을 생성합니다.
- **차단 키**: 차단 키는 잠재적으로 유사한 레코드를 함께 그룹화하기 위해 레코드의 데이터 및 일치 규칙(예: 이름의 처음 몇 자, 정규화된 전화 번호 등)에서 생성된 값입니다. 각 레코드에는 색인화되고 역 색인으로 저장되는 여러 개의 차단 키가 있으므로 시스템에서 전체 데이터 집합이 아닌 소규모 레코드 그룹에 대한 자세한 비교만 수행합니다.
- **Locality Sensitive Hashing (LSH)**: 퍼지 일치가 있는 일치 규칙의 경우 교육된 모델의 내장형을 기반으로 해시가 생성됩니다.
- **딥 매칭**: 후보 선택 단계가 잠재적 일치 항목의 더 작은 그룹을 생성하면 시스템에서 더 자세한 비교를 시작합니다. 이 단계에서 AI 모델 및 고급 알고리즘은 각 레코드 쌍을 분석하여 확률적 일치 점수를 계산합니다. 이 점수는 오타, 변형 또는 형식 차이가 있는 필드를 지능적으로 비교하여 두 레코드가 동일한 엔티티를 참조할 가능성을 정량화합니다.
- **클러스터링 및 통합**: 후보군에서 일치하는 레코드가 식별되면, 이들은 하나의 클러스터로 그룹화됩니다. 이 과정은 특히 추이적 일치 해결을 포함합니다. 예를 들어 레코드 A가 레코드 B와 일치하고 레코드 B가 레코드 C와 일치하는 경우, A와 C가 직접 비교되지 않았더라도 세 레코드가 모두 동일한 클러스터에 연결됩니다. 이러한 전체 클러스터는 통합 프로필의 기본 구조를 구성합니다. 이 클러스터링 프로세스를 통해 모든 관련 소스 레코드가 단일 지속 식별자 아래에 올바르게 연결됩니다.
- **조정**: 모든 클러스터링된 소스 레코드의 데이터 값은 정의된 조정 규칙(예: _가장 자주 사용되는_ 규칙, _가장 최근_ 사용 또는 _소스 우선 순위_)을 사용하여 결과 통합 프로필을 프로필 데이터의 발췌으로 작성합니다. 조정은 통합 프로필에 연결된 키를 사용하여 모든 소스 데이터를 사용할 수 있으므로 기존 데이터를 덮어쓰지 않습니다.
#### 식별 해결 유형
아키텍처는 다양한 사용 사례를 충족하기 위해 여러 엔터티 유형에 대한 식별 해결을 지원합니다.
- **개인 일치**: 하나의 개인에 알려진 모든 개인 식별자(이메일, 전화 번호, 충성도 ID, 쿠키)를 연결하는 통합 개인 프로필을 만드는 데 중점을 둡니다.
- **계정 일치**: 계정에 대한 데이터를 연결하는 통합 계정 프로필 만들기에 중점을 둡니다. 회사 이름을 일치시키는 경우 엔진이 퍼지 일치 시 정밀 조정된 모델을 사용합니다.
- **가구 일치**: 일치 논리를 확장하여 통합 개인 레코드를 관련 개인의 집단으로 묶습니다.
- **교차 엔터티 일치**: 통합 외에도, 식별 해결은 동일한 일치 규칙을 사용하여 프로필 객체 간의 연결을 생성합니다. 예를 들어, 계정 이름에 대한 퍼지 매칭을 사용하여 리드를 계정에 연결할 수 있습니다.
#### 준실시간 처리
통합 프로필이 항상 최신 상태로 유지되도록 식별 정합 엔진은 준실시간 아키텍처로 작동합니다. 이 클라우드 최적화 아키텍처는 지속적인 처리를 위해 빠른 처리 시간을 달성하도록 설계되었습니다. 처리 속도는 소스 데이터가 수신되는 방식에 따라 다르지만, ID 확인을 통해 15분마다 작은 변경 사항 배치를 처리할 수 있습니다.
#### 소스 프로필 연결
시스템에서 모든 소스 레코드 ID를 해당하는 통합 프로필 ID에 매핑하는 ID 링크 개체를 유지합니다. 이 기본 데이터 구조를 사용하면 엔진이 관계를 효율적으로 추적하고 통합 프로필에 변경 사항 및 업데이트를 빠르게 전파하여 웹 사이트 개인 설정, Next Best Action 권장 사항, 세분화와 같은 고객 환경이 항상 최신 사용 가능한 고객 데이터를 활용할 수 있도록 합니다.
### 세분화
세분화는 통합 고객 프로필을 실천 가능한 대상 그룹으로 전환하는 핵심 프로세스입니다. 이 기능은 마케팅, 상거래, 서비스 채널 전반에서 맞춤형 환경을 제공하는 데 매우 중요합니다. Salesforce Data 360 세분화 플랫폼은 대규모 운영을 위해 설계되었습니다. 수천 개의 객체와 관계로 구성된 데이터 모델을 기반으로 복잡한 메타데이터를 관리합니다. 플랫폼은 복잡한 규칙, 집계 기반 필터, 윈도우 기반 순위를 모두 지원하며 페타바이트 규모에서 빠르고 신뢰할 수 있는 계산을 보장합니다.
#### 세분화 유형 및 케이던스
Data 360은 다양한 세그먼트 유형을 지원하여 속도, 복잡성, 계층에 대한 고유한 비즈니스 요구 사항을 충족합니다.
1. **표준 세그먼트**: 배치 처리된 기본 세그먼트 유형입니다. 최소 12시간~24시간의 표준 게시 케이던스 또는 최근 참여 데이터에 최적화된 1시간~4시간의 빠른 빠른 게시 케이던스를 사용하여 사용자 정의 가능한 일정에 따라 게시합니다.
2. **실시간 세그먼트**: 이 세그먼트는 최신 이벤트 및 프로필 데이터를 기반으로 즉각적인 조치를 취할 수 있도록 주문형 작업을 밀리초 단위로 완료합니다. 즉각적인 개인 설정에 최적화되었지만, 제외 기준 또는 중첩된 세그먼트를 활용할 수 없습니다.
3. **워터폴 세그먼트**: 고객이 여러 기준에 맞는 경우 고객의 우선 순위를 가장 중요한 단일 세그먼트로 지정하는 데 사용되는 하위 세그먼트의 계층 구조입니다.
4. **중첩 세그먼트**: 이렇게 하면 기존 세그먼트를 더 구체적인 새로운 세그먼트(기본 세그먼트의 세분화)의 필터로 재사용할 수 있으며, 상위 세그먼트의 일정을 상속할 수 있습니다.
#### 세분화 엔진: 아키텍처 기본 사항
세분화 엔진은 속도, 규모, 복원력을 보장하는 강력한 클라우드 네이티브 아키텍처에서 작동합니다.
핵심 프로세스는 세그먼트의 수명 주기를 제어하여 필수 작업 구성을 생성하고 실행을 트리거하는 작업 오케스트레이션 서비스에 의해 관리됩니다. 이 오케스트레이션 레이어는 확장성을 위해 분할된 데이터베이스에서 상태 및 메타데이터를 유지합니다.
Data 360 쿼리는 세분화 개수 계산을 처리하지만 Spark 계산 계층은 실제 세그먼트 멤버십을 계산할 책임이 있습니다. Spark 응용 프로그램은 광범위한 고객 데이터에 대해 Spark SQL 쿼리를 실행합니다. 이 데이터는 Data 360 레이크하우스, Zero Copy 데이터 연합을 통한 외부 시스템 또는 둘 모두의 조합에 있을 수 있습니다.
인텔리전트 쿼리 생성을 통해 시스템이 매우 최적화되어 기본 Spark SQL 쿼리를 개선합니다. 여기에는 데이터 스캔을 최소화하고 중복된 하위 표현식을 제거하는 지능형 파티션 프루닝과 같은 기법이 포함됩니다. 서비스 신뢰성을 보장하기 위해, 아키텍처는 작업 부하의 크기와 복잡도에 따라 컴퓨팅 자원을 동적으로 조정하는 적응형 자원 관리 기능을 갖추고 있습니다. 또한 SLO 준수는 적응형 기간 및 재시도 논리를 사용하여 사전에 관리됩니다. 빠른 사용자 환경을 위해 가속 세그먼트 수는 샘플링 기반 접근 방식을 사용하여 세그먼트 생성 시 빠른 크기 예측을 제공함으로써 전체 쿼리 실행을 피합니다.
마지막으로 포괄적인 Spark 실행 메트릭과 자동화된 오류 분류(예: 고객 측 및 시스템 문제)를 통해 관찰 가능성 및 근본 원인 특성에 중점을 두고 진단 시간을 크게 단축하고 복원성이 높은 데이터 플랫폼을 보장합니다.
### 활성화
활성화는 Data 360 수명 주기의 중요한 마지막 단계입니다. 핵심 기능은 정적이고 세분화된 통합 고객 프로필을 실천 가능한 보강 데이터로 변환하고 이 데이터를 내부 및 외부 끝점(예: Marketing Cloud, Commerce Cloud, Adtech 플랫폼)에 전달하는 것입니다. 이 프로세스는 맞춤형 고객 여정과 실시간에 가까운 상호 작용을 트리거하기 위해 고안되었습니다. 관련 특성, 활성화 멤버십 필터링, 동의 필터링, 제한, 순위와 같은 고급 기능을 지원합니다.
활성화는 외부 전달 및 채널 규정 준수를 위한 세 가지 고유한 방법을 제공합니다.
- **배치 활성화**: 대규모 이메일 캠페인 및 광고 오디언스 갱신과 같은 대용량 예약 작업을 위해 고안되었습니다. 데이터는 보안 내부 버킷(클라우드 개체 저장소)에 스테이징하거나 보안 파일 전송을 통해 전달된 다음, 대상 시스템에서 시작한 API 수집 프로세스를 통해 전달됩니다. 배치 활성화는 Salesforce 파트너가 처리하는 데이터 양을 줄이기 위해, 특수 새로 고침 모드(증분)를 활용할 수 있습니다.
- **스트리밍 활성화**: 이벤트 기반 자동화가 필요한 준실시간 사용 사례에 최적화되었습니다. 전송은 대상 끝점에 직접 API 호출을 보내는 방식으로 이루어집니다.
- **활성화 트리거 플로우**: 이 고도로 플랫폼화된 채널은 대상 그룹 데이터를 수백 개의 고객 API가 활성화된 참여 플랫폼과 통합하기 위한 노코드/로우코드 접근 방식을 제공합니다. 활성화가 완료되면 Data 360은 Audience DMO를 채운 다음, 대규모 플로우를 트리거합니다. 이후 플로우 엔진은 오디언스 데이터를 처리하고, 외부 서비스 및 Mule 아웃바운드 대상과 같은 플랫폼 기능을 활용하여 최종 API 기반 대상에 요청을 보냅니다. 이 방법은 새 활성화 대상을 온보딩하는 데 필요한 시간을 크게 줄입니다.
활성화는 작업 관리, 분산 실행, 모니터링에 대해 세분화와 동일한 패턴을 사용합니다. 여기에는 수명 주기 관리를 위한 작업 오케스트레이션 서비스와 처리를 위한 계산 계층(Spark)이 포함되며, 성능 관측성과 서비스 수준 목표(SLO) 준수를 위해 작업 텔레메트리에 의존합니다.
그 외에도, 활성화는 -
**활성화 대상 관리**는 모든 대상 끝점의 보안 연결, 자격 증명 및 구성을 감독합니다. 데이터 형식 및 보안 프로토콜이 표준화되어 Marketing Cloud, Adtech 파트너, 기타 외부 응용 프로그램 등 다양한 플랫폼에 신뢰할 수 있는 아웃바운드 전달을 보장합니다.
활성화는 페이로드를 특정 대상에 맞게 조정합니다. Salesforce Marketing Cloud의 경우 사업부(BU) 인식 필터링, 다중 EID 지원, 교차 관개 제어가 포함됩니다.
**커뮤니케이션 거버넌스**는 고객의 선호도 및 법적 요구 사항을 준수하는 데이터 사용 및 통신을 보장합니다. 중앙 집중식 동의 모델은 전역 수신 거부에서 채널 및 목적별 동의에 이르기까지 모든 고객 기본 설정을 통합하며 통합 개인 프로필에 저장됩니다. 실행하는 동안 플랫폼은 제외 필터링을 사용하여 최종 페이로드에서 동의하지 않는 개인을 자동으로 제거하여 이러한 정책을 엄격하게 적용합니다. 또한 시스템은 연락처 선택 규칙을 적용하여, 데이터를 전송하기 전에 의도한 채널에 대해 가장 규정을 준수하며 선호되는 단일 연락처를 사용하도록 보장합니다. 이 적용 메커니즘은 동적 데이터 마스킹 및 액세스 제어와 같은 보호 조치를 채택하여 활성화 프로세스 전반에서 중요한 데이터 필드를 보호하는 기본 거버넌스 프레임워크에 의해 보호됩니다.
### 통합 쿼리: 모든 고객 데이터에 원활한 액세스
통합 데이터 플랫폼의 진정한 가치는 원본 또는 구조에 관계없이 모든 데이터 자산에 간편하고 일관된 액세스를 제공하는 기능에 있습니다. Salesforce Data 360의 통합 쿼리 기능은 이를 제공하기 위해 정확하게 설계되었으며, 다양한 데이터 저장소의 기본 복잡성을 추상하여 강력한 단일 쿼리 인터페이스를 제공합니다.
통합 쿼리 레이어는 다양한 소비 패턴에 대한 정교한 접근을 제공합니다.
- **하이브리드 구조화 및 비정형 질의**: 구조화된 데이터와 구조화되지 않은 데이터의 구조화된 메타데이터를 모두 원활하게 쿼리할 수 있는 광범위한 SQL 지원을 제공합니다. 테이블 함수를 통한 연산자 확장성이 향상되어 텍스트, 이미지, 공간 유형 전반에 걸쳐 특수 검색이 가능합니다.
- **Hyper로 성능 가속화**: 고성능 메모리 내 엔진인 Hyper를 활용하는 Data 360은 복잡한 분석 쿼리 및 대화형 대시보드를 가속화하여 대규모 데이터 집합에서 거의 즉각적인 응답을 제공합니다.
- **AI 및 개인화에 대한 통합 접근법**: 이 통합 접근은 표적화된 맞춤형 결과를 생성하는 데 매우 중요하며, 풍부한 엔터프라이즈 데이터에 AI 모델을 기반으로 RAG(검색 증분 생성)를 사용하여 더욱 정밀한 LLM 응답을 직접 지원합니다.
- **다운스트림 소비와의 통합**: 이는 UI 구동 환경, 강력한 API, 생성형 AI 워크플로, CRM 보강을 위한 기본 데이터 접근 계층으로서 데이터를 활성화에 원활하게 연결합니다.
Data 360의 통합 쿼리는 지능적이고 고성능의 단일 쿼리 인터페이스를 제공하여 설계자가 고객 정보의 전체 스펙트럼을 최대한 활용하는 민첩한 데이터 중심 응용 프로그램을 구축할 수 있도록 지원합니다.
### 데이터 작업
Data 360은 데이터 이벤트에 대한 파이프라인 활성화를 지원하는 활성 플랫폼입니다. 예를 들어, 고객의 계좌 잔액이 감소하는 등의 중대한 이벤트가 발생하면 Salesforce Flow가 해당 작업을 오케스트레이션하도록 트리거될 수 있습니다. 마찬가지로 평생 소비와 같은 주요 메트릭에 대한 업데이트가 관련 응용 프로그램에 자동으로 전파될 수 있습니다.
데이터 작업은 저장소 네이티브 변경 이벤트(SNCE) 및 변경 데이터 피드(CDF)를 사용하여 변경 사항에 대한 증분 데이터를 지속적으로 모니터링합니다. 이 데이터는 임계값 모니터링 또는 상태 변경과 같은 고객이 구성한 작업 규칙에 대해 평가됩니다. 해당 규칙이 충족되면 데이터 작업 이벤트가 생성됩니다. 이 이벤트는 추가 정보(예: 고객 충성도 상태)로 보강되어, Salesforce Flow 또는 외부 애플리케이션 등으로 즉시 전송되어 비즈니스 오케스트레이션을 촉발합니다.
#### 고객 데이터 플랫폼
Data 360은 고급 ID 확인 기능과 포괄적인 참여 내역과 함께 통합 개인 식별자 및 프로필 생성과 같은 기본 CDP(고객 데이터 플랫폼) 기능을 지원합니다. 이 플랫폼은 위에 설명된 것처럼 정확한 일치 규칙과 퍼지 일치 규칙을 모두 사용하는 신원 확인 및 신원 그래프를 지원하여 B2B(기업 간 거래) 및 B2C(기업-소비자 간 거래) 프레임워크를 모두 처리하는 데 능숙합니다. 이러한 ID 그래프는 다양한 채널의 참여 데이터로 보강되므로 중요한 분석 인사이트 및 세그먼트가 포함된 자세한 프로필 그래프를 작성하는 데 도움이 됩니다.
고객 프로필을 지원하는 핵심 컨셉은 데이터 그래프입니다. Data 360은 다양한 레이크하우스 테이블 및 상호 관계에서 파생된 비정규화 개체인 JSON 형식의 엔터프라이즈 데이터 그래프를 제공합니다. 여기에는 개인의 구매 및 탐색 내역, 사례 내역, 제품 사용, 기타 계산된 인사이트를 포괄하는 CDP에서 만든 "프로필" 데이터 그래프가 포함되며 고객 및 파트너가 확장할 수 있습니다. 이 데이터 그래프는 특정 애플리케이션에 맞게 맞춤화되며, 관련 고객 또는 사용자 컨텍스트를 제공하여 생성형 AI 프롬프트의 정확도를 높입니다. Data 360의 실시간 레이어는 프로필 그래프를 활용하여 실시간 개인 설정 및 세분화를 수행합니다. 대화, 세션, 에이전트 메모리를 데이터 그래프로 아우르는 Agentforce Context를 모델링하는 것을 구상하고 있습니다.
또한 CDP를 사용하면 Salesforce의 Marketing Cloud, Facebook, Google 등 다양한 플랫폼에서 효과적으로 세분화 및 활성화할 수 있습니다. 고객 프로필을 배치, 거의 실시간, 실시간으로 처리하여 즉각적인 의사 결정과 개인화를 가능하게 합니다. 이 기능은 B2C 및 B2B 시나리오 모두에서 상호 작용을 강화하여 비즈니스가 고객의 요구와 행동에 빠르고 정확하게 대응할 수 있도록 합니다.
### 실시간 레이어
Data 360의 실시간 레이어는 Data 360 CDP를 기반으로 하여 실시간 사용 사례로 개념을 확장합니다. Data 360의 실시간 레이어는 웹 및 모바일 클릭 스트림, 방문, 장바구니 데이터, 결제와 같은 이벤트를 밀리초 대기 시간으로 처리하도록 설계되어 고객 경험 개인 설정을 향상합니다. 고객 참여를 지속적으로 모니터링하고, Customer 360의 고객 프로필을 실시간 참여 데이터, 세그먼트, 계산으로 업데이트하여 즉각적인 개인화를 제공합니다.
예를 들어, 소비자가 쇼핑 웹 사이트에서 항목을 구매하면 실시간 레이어가 이 이벤트를 빠르게 감지 및 수집하고, 소비자를 식별하고, 업데이트된 평생 지출 정보로 프로필을 보강합니다. 이를 통해 사이트 내에서 고객 경험을 밀리초 단위로 개인화할 수 있습니다. 또한 이 계층에는 실시간 트리거 및 응답 기능이 포함되어 있어 고객 상호 작용을 기반으로 즉각적인 조치를 취할 수 있습니다.
Sub-Second Real-Time 플랫폼은 다음과 같은 몇 가지 주요 기능을 통해 이 변환을 가능하게 합니다.
1. **실시간 데이터 그래프**: Customer 360 프로필은 브랜드와 가장 관련된 주요 객체 및 필드를 포함하는 비정규화된 그래프를 사용하여 구축됩니다. 이 데이터 그래프는 실시간 데이터 처리를 가능하게 하며, 실행 가능한 콘텐츠와 인사이트를 밀리초 이내에 제공합니다.
2. **실시간 수집 및 변환**: 웹 및 모바일 소스에서 사용자 이벤트 및 프로필을 밀리초 단위로 수집합니다.
3. **실시간 신원 식별**: 장치 전체에서 고객 프로필을 병합하여 알려지지 않은 사용자와 알려진 사용자를 즉시 통합합니다.
4. **실시간 계산된 인사이트**: 고객 생애 가치(LTV) 또는 사용자 방문 내역과 같은 지표를 밀리초 단위로 계산하여 웹, 챗봇 또는 서비스 상담원에서 개인화 또는 제안을 제공할 수 있습니다.
5. **실시간 세분화**: 대상 그룹을 실시간으로 세분화하여 메시지 및 상호작용을 개인화합니다.
6. **실시간 작업**: 브랜드가 모든 사용자 참여를 평가하고 Salesforce Flow 또는 기타 관련 커뮤니케이션 채널을 통해 조치를 취할 수 있도록 합니다.
Data 360에서 실시간 파이프라인, 저지연 저장소, 서브초 데이터 처리 계층을 갖춘 새로운 실시간 플랫폼을 구축했습니다. 웹 및 모바일 채널에서 빠른 대화형 데이터가 수집되면 일련의 빠른 프로세스를 거칩니다.
웹 및 모바일 SDK와 실시간 API는 웹/모바일 애플리케이션(향후 에이전트 상호작용 포함)에서 데이터를 수집하여 비콘 서버로 전송합니다. 이 데이터는 실시간 레이어로 라우팅되어 밀리초 단위로 처리되며, 배치/스트림 데이터와 통합을 위해 레이크하우스 레이어로 전달됩니다. 실시간 레이어는 세션 내, 실시간 개인 설정을 위해 사용자 총 지출 또는 평생 가치 등 사용자 프로필(익명 또는 로그인됨)의 컨텍스트에서 들어오는 실시간 데이터를 처리합니다. 실시간 레이어는 실시간 데이터와 고객 프로필 저장을 위해 메인 메모리와 NVMe(SSD) 저장소를 사용합니다. 데이터가 실시간 레이어에 있으면 실시간 데이터 그래프로 업데이트하기 전에 다음 프로세스를 거칩니다.
- **단순 수집 및 변환**: 추가 처리를 위해 데이터가 수집되고 변환됩니다.
- **신원 해결**: 정확한 일치 규칙이 적용되어 기존의 모든 매칭 규칙 집합을 통해 프로필이 통합되므로, 데이터 전문가가 실시간용으로 별도의 신원 확인 규칙 집합을 새로 만들 필요가 없습니다.
- **계산된 인사이트**: 모든 참여가 평가되고, 합계나 개수와 같이 밀리초 단위로 처리되는 간단한 계산이 실행되며, 데이터가 실시간 데이터 그래프로 업데이트됩니다.
- **실시간 세그먼트**: 모든 참여 데이터가 평가되어 정의된 실시간 세그먼트에 대한 기준을 충족하는지 여부를 판단하고 사용자가 밀리초 단위로 적합한 세그먼트에 추가됩니다.
- **실시간 작업 및 트리거**: 모든 참여가 정의된 규칙에 따라 평가되어, 규칙이 밀리초 단위로 충족되면 실시간으로 다양한 대상에 작업이 트리거됩니다.
- **실시간 데이터 그래프 및 API**: 실시간 API도 포함된 실시간 데이터 그래프를 사용하면 브랜드가 각 사용자에 대해 업데이트된 JSON 형식 데이터를 검색하여 모든 고객 상호 작용에 최신 데이터로 정보를 제공할 수 있습니다.
#### 개인화
개인 설정은 대상을 지정할 사람, 관련 콘텐츠 및 권장 사항을 전달할 시기 및 위치, 언급할 내용 및 빈도를 파악하는 것입니다. 개인 설정 서비스 플랫폼은 맞춤형 환경을 통해 목표 달성률을 최적화하기 위해 결정되는 사항의 오케스트레이터입니다.
**개인화 서비스**는 다음 기능을 제공합니다.
- Data 360에서 프로필, 활동, 자산 데이터를 해석하는 일관된 모델 집합 및 방법
- 플랫폼 통합 실험(A/B/n, 다중 암 밴디트)
- 설계 시간(구성), ML 교육 시간 및 런타임 시 목표 통합(ML 추론)
- B2C 환경에서 익명 사용자, 실시간 및 대화형 외부의 고용량 상호 작용, 그리고 내부의 대용량 배치를 지원합니다.
- Data 360을 통한 애널리틱스 구동
- 다른 당사자(내부 및 외부)의 AI 모델 및 서비스 통합 패턴
- 핵심 메타데이터 에코시스템에 통합(PLATE 특성)
- 가치가 높은 AI 중심 사용 사례의 OOTB 구현(프로모션/콘텐츠 선택, 제품 권장 사항, 가격 책정 결정 등을 위한 컨텍스트 범주 등 다양한 ML 알고리즘을 사용하는 권장 사항/결정)
- **결정 파이프라인**
- 프로필 확장, 실험, 추천 등 개인화 결정에 대한 외부 요청을 처리합니다.
- **추천 엔진**
- 규칙 또는 ML 기반 권장 사항의 런타임 서비스.
- **인덱스 관리자**
- 권장 모델용 ML 교육 등 비동기 프로세스에 대한 워크플로 관리/오케스트레이션
- **프로세스 개체 서비스**
- 핵심 및 비핵심 간 개인화 메타데이터를 동기화하는 역할을 담당합니다.
- **속성 엔진 및 실험**
- 개인화 추천의 애널리틱스 속성 및 실험
### 에이전트 엔터프라이즈 검색
Data 360은 특별히 신규 에이전트 환경을 지원하기 위해 강력하고 풍부한 플랫폼으로 설계되었습니다. 다양한 기존 Data 360 서비스를 기반으로 구축하고 Agentforce와의 긴밀한 통합을 통해 이러한 기능을 달성합니다.
#### Data 360의 핵심 강점 활용
에이전트 엔터프라이즈 검색에 대한 접근 방식은 다음 원칙을 기반으로 합니다.
- 엔터프라이즈 데이터는 액세스에 필요한 보안 권한이 있는 사일로 서비스 또는 매장에 보관됩니다. 소스 권한을 유지하면서 이 데이터에 액세스하고 처리하는 기능은 Trust 보장하는 데 있어 매우 중요합니다.
- 전체 데이터의 교차 순위 지정 및 관련성 평가를 통해 더 나은 결과를 얻을 수 있으므로 에이전트 경험에 더 나은 컨텍스트를 제공할 수 있습니다.
이러한 경험을 제공하기 위해 에이전트 엔터프라이즈 검색은 다음 핵심 아키텍처 구성 요소를 기반으로 구축됩니다.
- **커넥터**: Data 360에서 사용할 수 있는 광범위한 커넥터 집합을 사용하면 다양한 소스에서 데이터에 액세스하고 데이터를 수집할 수 있습니다.
- **비정형 데이터 처리**: 이는 비정형 콘텐츠를 처리하는 데 기본이므로, 시스템이 다양한 데이터에서 의미와 맥락을 도출할 수 있게 해줍니다.
- **거버넌스**: 검색에서 사용되는 모든 데이터에 대해 엔터프라이즈급 보안, 규정 준수, 액세스 제어를 보장합니다. 소스 가시성 권한을 지원하면 간단한 검색 및 에이전트 환경 모두에서 권한이 있는 사용자만 데이터에 액세스할 수 있습니다. 신속한 검색을 위해 보안 권한은 데이터 액세스 초기 단계에서 검색 백엔드 자체에 의해 평가되고 적용됩니다.
- **통합 검색 계층**: 사일로화된 데이터 문제를 해결하기 위해, 커넥터들은 포괄적인 통합 검색 계층으로 데이터를 전달합니다. 이 계층은 연합 검색을 통해 접근되는 외부 시스템에 남아 있는 데이터이든, 제로 카피 및 인제스트된 데이터를 위해 고급 색인으로 네이티브하게 관리되는 데이터이든, 모든 데이터에 대한 단일 액세스 지점을 제공합니다.
- **인텔리전트 쿼리 이해**: 검색 전에 시스템에서 AI 기반 메커니즘을 사용하여 사용자 의도를 해석합니다. 쿼리를 시맨틱 벡터 일치에 맞게 임베딩 표현으로 변환하는 것 외에도, 키워드 기반 검색을 다시 작성하고 확장하여 정확도를 높일 수 있습니다.
- **하이브리드 검색 및 고급 쿼리**: 가장 관련성이 높은 정보를 찾기 위해 플랫폼은 여러 전략을 동시에 사용합니다. 하이브리드 검색은 최적화된 데이터 청크에서 정확한 키워드 일치와 시맨틱 벡터 검색을 동시에 제공하며, 전체 레코드 검색은 전체 문서를 동시에 검색합니다. 두 방식이 결합되어 시맨틱 관련성과 전체 콘텐츠 범위가 모두 보장됩니다.
- **계층 순위**: 데이터를 검색한 후, 다단계 계층적 랭킹 아키텍처가 모든 소스 및 메서드의 결과에 점수를 매기고 병합하며 재정렬합니다. 이 프로세스는 사용자 또는 에이전트에 가장 관련성이 높은 정보를 표시하는 단일 통합 목록을 만듭니다.
#### 에이전트 기반 검색 애플리케이션
생성형 AI는 엔터프라이즈 검색의 기본 소비자를 인간 사용자에서 대규모 언어 모델(LLM)으로 전환하고 있습니다. Data 360 Search는 인간 사용자와 대규모 언어 모델(LLM) 두 대상 모두에 서비스를 제공하도록 처음부터 설계되었습니다. 에이전트의 더 길고 복잡한 쿼리를 처리하고 프로그래밍 사용 및 추론 루프에 필요한 풍부한 컨텍스트 결과를 반환하도록 최적화되어 있습니다. 동시에 시스템은 인간 사용자의 더 짧고 종종 모호한 쿼리를 처리하며, UI에서 빠른 평가를 위해 스니펫과 하이라이트 등의 기능을 제공합니다.
에이전트 검색 환경의 최종 전달은 두 가지 접근 방식을 결합합니다.
1. **직접 검색 결과**: 응용 프로그램은 Data 360 통합 검색 기반에 구축된 메타데이터 기반 API를 사용하여 순위가 지정된 결과의 기존 목록을 표시할 수 있습니다.
2. **에이전트 기반 다중 턴 대화형 답변**: Agentforce와 네이티브 통합을 통해 구현됩니다. 이 대화 환경은 작업 및 쿼리를 오케스트레이션하는 기본 에이전트가 구동하여 모든 정보 검색 과업을 내부 검색 에이전트에 위임합니다.
이 전문 검색 에이전트는 엔터프라이즈 정보 검색에 최적화되어 있습니다. 이는 추론 루프를 사용하여 병렬 검색을 구성하고 실행함으로써 사용자의 요청의 다양한 측면을 탐색합니다. 모든 데이터 유형에 대한 Data 360 통합 검색 및 구조화된 쿼리 언어 등 강력한 도구 집합을 활용하여 테이블 및 엔티티에서 정확한 데이터를 검색합니다.
이 아키텍처 합성을 통해 Data 360은 맥락을 인식하고 매우 지능적이며 실행 가능한 에이전트 기반 엔터프라이즈 검색 환경을 구축할 수 있도록 지원합니다.
### 사용자 정의 코드로 Data 360 확장
확장성은 Salesforce Platform의 핵심 기능입니다. 코드 확장은 Data 360에서 확장성을 제공하여 프로 코드 사용자가 Data 360 환경 내에서 직접 사용자 정의 Python 논리를 실행할 수 있게 하며, 풍부한 선언적 및 로우코드 기능을 보완합니다. 코드 확장을 사용하면 사용자가 변환 및 비정형 데이터 파이프라인(사용자 정의 청크)과 같은 Data 360 핵심 기능을 안전하게 확장할 수 있습니다.
코드 확장 설계는 유연성, 보안, 효율성, 간소화된 개발자 환경에 우선 순위를 두고 있습니다. 두 가지 기본 실행 모델을 지원하며, 각각은 특정 아키텍처 요구 사항에 맞게 설계되었습니다.
- **Script 모델**:
- **목적**: Data 360 레이크하우스와 직접 상호 작용해야 하는 포괄적인 사용자 정의 논리의 경우
- **기능**: 고객은 코드 확장 SDK를 사용하여 전체 파이썬 스크립트를 작성함으로써 SDK API를 통해 레이크하우스에 대한 읽기 및 쓰기 액세스를 활성화합니다. 사용자 정의/복합 데이터 준비 또는 맞춤형 데이터 조작에 이상적입니다.
- **격리 및 보안**: 스크립트가 레이크하우스에 액세스하는 동안 실행은 Data 360 런타임 내에서 안전하고 분리된 환경으로 제한되어 다른 프로세스 또는 무단 시스템 액세스를 방지합니다.
- ** 기능 모델**:
- **목적**: 기존 Data 360 파이프라인에서 호출된 모듈식 상태가 없는 계산의 경우(예: 비정형 파이프라인의 사용자 정의 청크) 서버리스 함수와 유사합니다.
- **기능**: 고객이 제공하는 함수는 입력을 가져오고, 계산하고, 출력을 반환합니다.
- **격리 및 보안**: 이 함수들은 엄격한 격리를 위해 설계되었으며, 레이크하우스에 직접 액세스할 수 없습니다. 실행은 샌드박스 환경에서 이루어지며, 상태가 없고 자원이 제한되므로 집중적이고 무상태 처리 단계에 적합하여 보안을 유지하고 예측 가능한 실행을 보장하며, 영향 범위를 최소화합니다.
스크립트 및 함수 모델 모두 고객 코드를 안전하게 실행하여 한 테넌트의 코드가 다른 테넌트에 영향을 미치거나 다른 테넌트의 데이터, Salesforce 자원 또는 외부 자원에 대한 무단 액세스를 방지합니다. 이 보안은 계층화된(심층 방어) 아키텍처를 통해 달성됩니다. 이 아키텍처는 다양한 가드레일을 통합함으로써 각 테넌트의 사용자 정의 코드에 대해 분리된 실행 환경을 제공합니다. 여기에는 Kubernetes(K8s) 수준의 논리적 격리, 네트워크 격리, 런타임 샌드박싱, 최소 권한 부여가 모두 포함되며, 운영 모니터링 및 사고 대응 준비 태세로 보완됩니다.
#### 개발자 경험 및 운영 가시성
강력한 개발 수명 주기를 지원하기 위해 코드 확장은 다음을 제공합니다.
- **외부 작성 및 디버깅**: 개발자는 SDK를 활용하여 VSCode와 같은 친숙한 환경에서 Python 코드를 작성하고 디버그할 수 있습니다.
- **유연한 구축**: 사용자 정의 코드는 SDK 유틸리티, Data 360 UI 또는 API를 사용하여 패키지화하고 배포하여 CI/CD에 통합할 수 있습니다.
**운영 로그**: 자세한 실행 로그에 대한 액세스는 투명성을 제공하고 운영 환경에서 문제 해결에 도움이 됩니다.
Data 360은 이러한 안전하고 유연한 코드 확장 기능을 제공함으로써 설계자가 가장 고유하고 복잡한 데이터 처리 요구 사항에 맞게 플랫폼을 조정할 수 있도록 지원하여 확장 가능한 엔터프라이즈 데이터 패브릭 역할을 강화할 수 있습니다.
### 자체 AI 모델을 활용하여 Data 360을 확장
기업이 AI 채택을 가속화함에 따라 대부분 Amazon SageMaker, Google Vertex AI, 사용자 정의 Python 기반 환경 등 이기종 머신러닝 에코시스템을 유지하며, 신용 위험 점수 매기기, 이탈 성향, 제품 추천, 다음 최적 행동 결정과 같은 핵심적인 예측을 수행하는 모델을 호스팅합니다.
일반적으로 이러한 외부 모델을 Salesforce에 통합하려면 사용자 정의된 API 계층, ETL 파이프라인 또는 미들웨어 오케스트레이션이 필요하며 데이터 중복, 거버넌스 오버헤드, 대기 시간, 운영 복잡성이 도입되어 통합, 규정 준수, 실시간 고객 데이터 플랫폼(CDP) 비전과 충돌하는 문제입니다.
**Bring Your Own Model (BYOM)**: Data 360의 Einstein Studio를 통해 제공되며, 데이터를 이동하거나 복제하지 않고 Salesforce 워크플로우, Apex 로직 및 자동화 도구 내에서 외부에서 학습된 모델을 직접 호출할 수 있도록 지원함으로써 이러한 과제를 해결합니다. 제로 카피 연합을 통해 Data 360은 관리되는 단일 진실 소스로 작동하며, 외부 엔드포인트에서 추론할 수 있도록 조화된 Customer 360 데이터를 노출합니다. 예측 결과가 실시간으로 다시 유입되어 비즈니스 프로세스에 확장 가능한 인텔리전스를 제공합니다.
BYOM은 모델 개발, 관리 데이터, 소비 계층을 분리하여 데이터 과학 및 운영 실행 간의 격차를 효과적으로 해소합니다. 플랫폼 독립성을 유지하고, 통합 복잡성을 줄이고, AI 배포를 가속화하며, 중요한 데이터에 대한 거버넌스를 유지합니다.
아키텍처는 다음과 같이 작동합니다. Data 360은 통합된 Customer 360 데이터 파운데이션을 제공하고 Einstein Studio는 외부 ML 플랫폼(SageMaker, Vertex AI 또는 사용자 정의 엔드포인트)에 대한 연결을 오케스트레이션합니다. 외부 모델은 실시간, 배치 또는 스트리밍 모드에서 추론을 실행합니다. Salesforce 계층(Flow, Apex, Query API)은 출력을 사용하여 Sales, Service, Marketing, Industry Cloud 전반에 걸쳐 맞춤형, 자동화된, 분석적 인사이트를 제공합니다.
엔터프라이즈 관점에서 BYOM은 다음을 제공합니다:
- **데이터 무결성 및 거버넌스**: 제어되지 않는 데이터 사본을 제거하고 정책 준수를 적용합니다.
- **AI 민주화**: Salesforce 도구를 통해 비기술 사용자가 복잡한 모델에 액세스할 수 있도록 합니다.
- **Time-to-Value 가속화**: 외부 모델은 Salesforce 프로세스 내에서 즉시 활성화됩니다.
- **확장성 및 하이브리드 아키텍처 지원**: AI 워크로드의 다중 클라우드 배포를 활성화합니다.
- **미래에 적합한 AI 아키텍처**: 운영 유연성을 위해 구성 가능한 AI 전략을 지원하고 데이터, 모델, 소비 계층을 분리합니다.
**Bring Your Own LLM (BYO-LLM)**: 생성형 모델의 경우에도 동일한 확장성 메커니즘을 제공합니다. 외부 LLM의 직접 호출을 활성화함으로써 고객은 Salesforce에서 제공하는 모델 대신 Agentforce Platform에서 해당 모델을 사용할 수 있습니다. 엔터프라이즈 관점에서 BYO-LLM은 다음을 허용합니다:
- 정밀 조정된 모델에 액세스
- 현재 Salesforce에서 제공하지 않는 모델의 통합
- 고객이 제공한 계정의 모델 사용
### 데이터 공동 작업
현대 기업은 두 가지 주요 아키텍처 과제로 특징짓는 복잡한 데이터 환경 속에서 운영됩니다:
1. **기업 내 단편화**: 대규모 조직은 여러 Salesforce Org(주로 지역, 사업부 또는 과거 인수별로 세분화됨)와 다양한 기타 데이터 시스템을 자주 활용합니다. 이러한 단편화로 인해 내부 데이터 사일로가 형성되어 비즈니스 전반에서 실시간 참여를 위해 신뢰할 수 있는 단일의 통합 고객 뷰를 구축할 수 없습니다. 과제는 모든 시스템에서 데이터를 물리적으로 통합하거나 복제하지 않으면서 거버넌스를 유지한 채 이 데이터를 통합하는 것입니다.
2. **기업 간 협업**: 회사는 공동 마케팅, 측정, 비즈니스 인텔리전스를 위해 파트너 및 공급업체와 데이터를 공유해야 하는 경우가 많습니다. 중요한 독점 데이터를 보호하고 GDPR 및 CCPA와 같은 개인정보보호 규정을 준수하며 경쟁 장벽을 보호하면서 이러한 공동 작업을 활성화하는 것이 문제입니다.
Salesforce Data 360은 데이터를 이동하거나 복제하지 않고 액세스 및 인사이트를 공유하는 원칙에 기반한 제로 카피(zero-copy), Trust by Design 프레임워크를 통해 이러한 과제를 해결합니다.
#### Data 360 공동 작업 메커니즘
Salesforce Data 360은 Data Cloud One, Data 360 간 데이터 공유, 프라이버시 우선 데이터 클린룸을 통해 데이터 단편화 및 협업 문제를 해결합니다. 이러한 솔루션은 고객 데이터를 통합하고, 안전한 데이터 교환을 활성화하며, 개인 정보를 보호하는 인사이트를 제공합니다. 제로 카피(zero-copy), Trust by Design 접근 방식을 통해 조직은 실시간 참여, 향상된 파트너십, 지능형 의사 결정을 위한 데이터 잠재력을 확보할 수 있습니다. 이러한 각 데이터 공동 작업 옵션은 서로 다른 목적으로 사용됩니다.
##### Data Cloud One을 통한 내부 엔터프라이즈 활성화
Data Cloud One은 여러 Salesforce 조직을 운영하는 엔터프라이즈를 위한 기본 아키텍처 솔루션입니다. 단순한 데이터 공유를 넘어서, 신뢰할 수 있는 단일 고객 보기를 구축하고 조직 전체에서 Data 360 플랫폼의 모든 기능을 활성화하도록 설계되었습니다.
이 메커니즘은 데이터 관리 및 통합 고객 프로필 구축을 위한 중앙 기관 역할을 하는 지정된 홈 조직 Data 360 인스턴스에 중점을 두고 있습니다. 홈 조직은 Data 360이 프로비저닝되는 조직입니다. Data 360과 다른 Salesforce 조직 간에 동료 조직이라는 Data Cloud One 연결이 설정됩니다. Data Cloud One 연결의 일부로 Data 360은 각 동료 조직과 하나 이상의 데이터 공간을 공유하여 각 공유 데이터 공간의 데이터와 메타데이터에 모두 액세스할 수 있습니다. 이는 제로 카피 연합 모델 및 교차 조직 메타데이터 동기화를 통해 이루어집니다.
Data Cloud One을 사용하면 동료 조직이 자체 활성화, 개인 설정, 인텔리전스 요구에 맞게 홈 조직의 Data 360 인스턴스를 활용할 수도 있습니다. 이 전략은 내부 데이터 단편화를 제거하고 모든 사업부가 동일하고 관리되는 통합 고객 프로필에 대해 활성화되어 핵심 Data 360 구현의 ROI를 극대화하는 데 필수적입니다.
##### Data 360 조직 간 데이터 공유
분산된 내부 환경(완전한 중앙 집중화가 불가능한 경우) 및 신뢰할 수 있는 외부 파트너와의 공동 작업을 위해 Data 360-to-Data 360 데이터 공유는 독립 Data 360 인스턴스를 연결합니다.
이 제로 카피 공유 모델은 데이터 개체(DLO, DMO, CIO)를 안전하게 교환하기 위해 다른 Salesforce 조직에서 프로비저닝된 별도의 Data 360 테넌트 간 연결을 설정합니다. 연결되면 수신자 Data 360에서 전체 데이터 개체에 액세스할 수 있습니다. 수신자 Data 360의 관리자가 이 데이터에 대한 사용자 액세스를 관리하는 거버넌스 규칙을 설정할 수 있습니다.
##### 개인정보 보호 우선 협업 – Data 360 Clean Room 협업
공동 작업 시 최고 수준의 개인정보 보호와 규정 준수가 요구되거나 경쟁 이슈로 인해 원시 데이터 공유가 금지되는 경우, Data 360 Clean Room은 기본 설계에 따라 필수적으로 적용됩니다.
아키텍처 측면에서 Data 360 Clean Room 협업은 Data 360-to-Data 360 데이터 공유에 사용되는 제로 카피 공유 프레임워크 위에 구축되며, 추가적인 거버넌스 계층과 연산 제약이 적용됩니다. Data 360 Clean Room은 당사자가 익명화된 키를 기반으로 데이터 집합을 조인할 수 있는 안전하고 제어되는 컴퓨팅 환경을 제공합니다. 핵심 목적은 기본 독점 데이터를 노출하지 않고도 공동 분석 및 인사이트 생성을 허용하는 데 있습니다. 환경은 최소 집계 임계값 및 내보내기가 불가능한 식별자와 같은 프로그래밍 가능한 엄격한 규칙을 적용합니다. 이러한 규칙을 통해 승인된 개인 정보 보호 및 집계된 인사이트만 파생 및 공유됩니다. 이로써 클린 룸은 플랫폼 간 캠페인 측정 및 민감한 대상 겹침 분석과 같은 사용 사례에 필수적입니다.
## 결론: Salesforce Data 360: 에이전틱 엔터프라이즈의 필수 데이터 백본
Data 360은 차세대 AI를 구동하는 데 필요한 지능적이고 확장 가능하며 신뢰할 수 있는 데이터 패브릭으로 설계되었습니다. 아키텍처 설계는 단편화된 데이터의 문제를 해결하여 조직에서 효율성을 보장하기 위해 Zero Copy Data Federation을 사용하여 모든 고객 데이터를 대규모로 통합, 처리, 활성화할 수 있도록 합니다.
강력한 데이터 조직은 DLO(비정형 데이터 포함)에서 DMO로의 조화된 보기를 제공하며, 모두 분할된 데이터 공간 내에서 보호됩니다. 배치 및 스트리밍 변환, 계산된 인사이트, 비정형 데이터 처리, ID 확인 등 Data 360의 다양한 데이터 처리 기능은 증분 SNCE 및 CDF 아키텍처에 의해 제공되므로 효율적이고 실시간에 가까운 처리를 수행하고 상당한 비용을 절감할 수 있습니다.
확장성은 코드 확장 아키텍처에서 제공되며, 고유한 요구 사항에 대해 스크립트 또는 분리된 함수를 통해 사용자 정의 파이썬 논리를 안전하게 활성화합니다. 또한 CEDAR 정책과 함께 특성 기반 액세스 제어(ABAC)를 기반으로 구축된 포괄적인 데이터 거버넌스 프레임워크는 세분화된 보안, 동적 데이터 마스킹, 모든 데이터 사용 전반에 걸쳐 일관된 적용을 보장합니다. 이러한 과정은 정교한 세분화 및 활성화 기능으로 귀결되며, 통합 고객 프로필을 실시간 반응성을 갖춘 동적 다중 채널 참여 전략으로 전환합니다.
중요한 점은 Data 360이 광범위하고 다양한 데이터를 통합하고, 통합 쿼리를 통해 실시간 컨텍스트를 제공하는 기능(하이브리드 구조화/비정형 검색 및 하이퍼 가속 포함), 엄격한 관리를 적용하는 기능이 지능형 AI 에이전트를 강화하는 데 매우 중요합니다. Data 360은 생성형 AI 워크플로(RAG)에 신뢰할 수 있고 신선하며 관련성 높은 데이터를 제공하고, Agentforce 기반 에이전트의 다중 턴, 작업 지향 기능을 지원하여 이들이 정확하고 정밀하게 작동할 수 있도록 합니다.
소스 데이터가 실행 가능한 인사이트로 변환되는 미래에도 변함없이 사용할 수 있는 플랫폼을 제공함으로써 Data 360은 에이전트 기반 고객 경험을 구축하는 조직에 필수적인 아키텍처 기반을 제공합니다. 이는 고객 데이터를 현대 조직의 성공을 촉진하는 정교하고 맞춤형 고객 경험으로 전환하는 중요한 기초입니다.
# 개요
엔터프라이즈 데이터 아키텍처는 전환점에 있습니다. 조직은 실시간 AI 시스템을 동시에 지원하고, 점점 엄격해지는 개인정보보호 규정을 준수하고, 원시 데이터를 공유할 수 없는 외부 파트너와 공동 작업을 수행해야 합니다. 이러한 요구 사항은 데이터 플랫폼이 설계되는 방식을 근본적으로 변경하고 있습니다.
ETL 파이프라인 및 중앙 집중식 데이터 웨어하우스를 기반으로 구축된 기존 아키텍처는 이러한 요구 사항을 충족하는 데 어려움을 겪고 있습니다. 시스템 전체에서 데이터를 복제하면 대기 시간, 비용, 거버넌스 복잡성이 증가합니다. 각 복사본은 새로운 규정 준수 의무가 되어 배포된 환경에서 동의 관리, 삭제 요청, 정책 시행이 복잡해집니다.
이러한 문제를 해결하기 위해 업계는 정책에 따라 제로 카피 공동 작업 모델로 전환하고 있습니다. 데이터 클린 룸은 주요 아키텍처 기능으로 등장하여 여러 조직에서 원시 데이터를 노출하거나 전송하지 않고도 공유 신호를 분석할 수 있습니다. 데이터를 중앙 집중화된 환경으로 이동하는 대신 계산이 각 참가자의 관리 도메인 내에서 실행되고 개인 정보 보호에 안전한 결과만 반환됩니다.
이 아키텍처 변화는 산업 전반에서 점점 더 눈에 띄고 있습니다. 예를 들어, 마케팅 및 광고 분야에서 가장 큰 회사인 WPP가 InfoSum을 인수한 것은 개인 정보 보호 안전 공동 작업을 위한 인프라로서 청결한 공간이 점점 더 중요하다는 사실을 반영합니다. 금융 기관은 이를 사용하여 기관 전체에서 사기를 감지하고 소매업체는 소비자 브랜드와 프로모션을 조율하며 헬스케어 조직은 민감한 기본 레코드를 공유하지 않고 교차 제공자 환자 코호트를 분석합니다.
Salesforce Data 360은 Hyperforce에 구축된 제로 카피 아키텍처를 통해 이 모델을 운영합니다. 데이터는 소스 시스템에 남아 있지만 연합 쿼리는 런타임 시 개인 정보 보호, 동의, 보존 정책을 적용합니다. 이 접근 방식은 데이터 복제로 인해 생성되는 위험 영역을 확장하지 않고 실시간 인사이트, 클라우드 간 공동 작업, AI 중심 의사 결정을 지원합니다.
이 문서에서는 데이터 클린 룸이 현대 엔터프라이즈의 기본 아키텍처 패턴으로 작동하는 방식을 검토하여 AI 혁신, 규제 준수, 안전한 도메인 간 공동 작업을 동시에 대규모로 지원합니다.
## 왜 지금 클린룸이 중요한가
데이터 클린룸이 필요한 이유를 이해하려면 엔터프라이즈 설계자가 먼저 기존 통합 모델의 구조적 실패를 직시해야 합니다. 업계는 중앙 집중식 단독 데이터 리포지토리에서 분산화된 연합된 에코시스템으로의 결정적인 전환을 거칩니다. 여기에서는 데이터가 물리적으로 이동되지 않고, 원래 위치에서 액세스되고, 관리되며, 계산됩니다. 이 변화는 점진적인 것이 아닙니다. 이는 기존 아키텍처에서 더 이상 흡수할 수 없는 규모, 개인 정보 보호, 민첩성과 관련된 시스템적 압박에 대한 직접적인 대응입니다.
### 현대 기업의 데이터 통합 재정의
수년간 기업은 보고 및 분석을 위해 CRM, ERP, 디지털 시스템의 데이터를 중앙 창고로 복사하는 ETL 기반 아키텍처에 의존했습니다. 이 접근 방식은 과거 데이터 분석에는 효과적이었지만, 느리고 배치 중심적인 환경을 위해 설계되었습니다.
디지털 상호 작용이 가속화되고 AI 기반 시스템이 등장함에 따라 이 모델의 제한 사항이 더욱 명확해졌습니다. ETL 파이프라인은 본질적으로 비동기식이므로 이벤트가 발생한 후 몇 시간 또는 며칠 후 인사이트가 도착하는 경우가 많습니다. 이러한 대기 시간은 실시간 개인화, 적응형 의사결정, 즉각적이고 맥락적인 데이터가 필요한 AI 시스템과 같은 현대적 사용 사례와 점점 더 맞지 않습니다.
또한 복제는 거버넌스 및 보안의 복잡성을 증가시킵니다. 각각의 새 데이터 사본에는 추가 정책, 모니터링, 규정 준수 제어가 필요합니다. 규제된 환경에서 GDPR(일반 데이터 보호 규정)와 같은 프레임워크에서 조직은 데이터가 존재하는 모든 위치에서 삭제, 동의, 사용 제한을 관리해야 합니다. 이는 여러 시스템에서 데이터 집합이 복제되는 경우 운영상의 문제입니다.
이 중복은 규모가 커질수록 비용과 운영 오버헤드가 누적됩니다. 조직은 여러 플랫폼에서 수집, 저장, 보안, 처리 비용을 반복적으로 부담하며, 추가 사본의 한계 가치는 점점 줄어듭니다.
따라서 현대 데이터 아키텍처는 데이터 이동을 최소화하고 소스에서 직접 거버넌스를 적용하는 모델로 전환하고 있습니다. 제로 카피 통합과 페더레이티드 데이터 액세스를 통해 조직은 민감한 데이터 집합을 복제하지 않고도 인사이트를 생성할 수 있어, 기업 데이터 협업에 더욱 확장 가능하고 안전하며 정책에 맞는 접근 방식을 제공합니다.
### 데이터 메쉬와 데이터 패브릭의 등장
이러한 압박에 대응하기 위해 업계는 두 가지 보완적인 아키텍처 패러다임으로 통합되었습니다. 데이터 메쉬와 데이터 패브릭입니다. 이 둘은 중앙 집중식 제어에서 벗어나 연합되고 도메인 인식적인 데이터 아키텍처로의 전환을 의미합니다.
데이터 메쉬는 데이터 소유권을 세일즈, 마케팅, 공급망 등 도메인에 맞는 팀에 분산합니다. 각 도메인은 계약, 품질 표준, 서비스 수준 목표가 명확하게 정의된 제품으로 데이터를 처리합니다. 이 모델은 책임성과 비즈니스 연계성을 개선하지만, 엔터프라이즈 규모에서는 도메인 전반의 조정, 상호 운용성, 일관된 거버넌스와 관련된 새로운 문제를 제기합니다.
Data Fabric은 분산된 도메인을 일관된 시스템에 바인딩하는 연결 계층을 제공하여 이러한 문제를 해결합니다. 공유 메타데이터, 공통 의미, 자동 정책 적용, 데이터 계보, 거버넌스를 제공하여, 물리적으로 단일 리포지토리로 통합하지 않고도 데이터를 일관되게 발견, 접근, 관리할 수 있습니다.
Data Mesh와 Data Fabric은 함께 연합 데이터 접근을 위한 기반을 마련합니다. 그러나 이들은 데이터를 복사하거나 노출하지 않고 공동으로 분석해야 하는 도메인 및 조직 경계를 넘는 안전하고 관리되는 협업을 가능하게 하는 다음 단계의 중요한 문제를 해결하지는 못합니다.
### 클린 룸으로의 전략적 전환
엔터프라이즈 데이터가 더욱 분산되고 개인정보보호 규정이 더욱 엄격해지므로 조직은 핵심적인 아키텍처 문제에 직면하게 됩니다. 원시 데이터를 공유하지 않고 팀, 파트너, 플랫폼 간에 어떻게 공동 작업을 수행할 수 있을까요? 기존 데이터 통합 접근 방식은 이 수준의 배포 또는 규제 심사에 맞춰 설계되지 않았으므로 공동 작업과 규정 준수 간의 긴장이 발생했습니다.
이 과제로 인해 데이터 클린 룸이 기본적인 아키텍처 역량으로 자리잡게 되었습니다. 클린 룸은 데이터 전송에서 관리되는 연산으로 협업 방식을 전환합니다. 데이터 집합을 복사하거나 교환하는 대신, 분석 및 AI 워크로드가 메타데이터를 공유하여 데이터가 이미 존재하는 곳에서 실행됩니다. 개인정보보호, 동의, 사용 규칙에 대해 쿼리가 실시간으로 평가되고, 승인된 집계된 결과만 반환됩니다.
이 모델에서는 데이터 클린 룸이 현대 데이터 아키텍처의 신뢰 경계로 작동합니다. 이를 통해 조직이 데이터를 제어하지 않고 파트너 및 자회사와 협력하고, 정책이 아닌 시스템 제어를 통해 개인정보보호 및 동의를 적용하고, 데이터 보존 및 계약 제한을 존중하면서 클라우드 전반에서 운영할 수 있습니다.
활성화, 분석, AI 사용 사례의 경우 클린 룸은 민감한 정보를 노출하지 않고도 외부 데이터에서 인사이트를 생성할 수 있는 안전한 방법을 제공합니다. 데이터 공유에서 신뢰 기반의 협업으로 전환할 수 있습니다. 활성화 사용 사례의 경우 클린 룸은 허용된 대상으로 바로 활성화할 수 있는 대상 그룹을 생성하는 안전한 방법을 제공합니다. 이 모든 작업은 어느 쪽에도 개인 식별 정보(PII)를 노출하지 않고 수행됩니다. 이는 엔터프라이즈 데이터 아키텍처의 전환점입니다. 데이터 클린 룸은 더 이상 틈새 도구가 아닙니다. 클린 룸은 연합형, 개인정보 보호 중심, AI 준비가 된 데이터 플랫폼의 핵심 인프라가 되고 있습니다.
## 이해관계자 페르소나 및 기술 가드레일
성공적인 데이터 클린 룸 아키텍처는 데이터 활용성, 보안, 속도의 상충하는 요구를 해결하도록 설계된 다중 인터페이스 시스템입니다. 기본 기술 설계에서 각각의 고유한 마찰 지점을 해결해야 하는 세 가지 주요 페르소나가 있습니다.
### 개인정보 보호 및 규정 준수 담당자(위험 완화자)
개인정보 보호 및 규정 준수 담당자는 데이터 클린 룸을 거버넌스 도구로 사용합니다. 이들의 주된 우려는 규정 준수 드리프트이며, 외부 공동 작업 환경이 내부 시스템과 동일한 엄격한 표준을 적용하지 못할 위험입니다.
* **마찰점:** 규제 노출(GDPR, CCPA, DMA) 및 파트너가 반복적인 세분화된 쿼리를 통해 사용자의 ID를 삼각화하려고 하는 "피싱" 공격
### 데이터 과학자 및 분석가(유틸리티 최적화자)
데이터 과학자는 데이터 클린 룸을 고급 모델링을 위한 안전한 장소로 간주합니다. 이들의 주된 관심사는 유틸리티 보존이며, 개인 정보 보호 조치로 인해 데이터가 통계적으로 유용하지 않게 만들 수 있습니다.
* **마찰점:** 기계 학습(ML), 유사 모델링, 이탈 예측에 필요한 세분화된 특성에 대한 접근이 제한되고, 높은 지연 시간이 발생합니다.
### 마케팅 및 비즈니스 사용자(가치 실현자)
이 페르소나는 TTV (Time to Value)에만 초점을 맞춥니다. 이들은 데이터 클린 룸 프로젝트가 종종 수 주간의 데이터 엔지니어링 지원이 필요한 기술적 병목 현상으로 전락한다는 점을 우려합니다.
* **마찰점:** 복잡한 설정 프로세스, 수동 데이터 정리, 단순한 겹침 결과를 얻기 위해 코드를 작성해야 하는 "빈 페이지" 문제.
### "비즈니스 우선" 페르소나 모델
기존 아키텍처는 사용자 레이어보다 먼저 데이터 레이어를 구축하는 데 중점을 두지만, "비즈니스 우선" 방법론과 일치하는 우리의 전략적 접근 방식은 이 모델을 뒤집습니다. 비즈니스 사용자가 인사이트를 생성하고 즉각적인 조치를 취할 수 있도록, 코드 작성 없이 몇 번의 클릭만으로 가능한 접근 방식을 우선시합니다.
**"인사이트-액션" 워크플로우:** 아키텍처는 패시브 리포지토리가 아닌 활성 작업 영역으로 설계되었습니다. 사용 사례 템플릿 (예: 세그먼트 겹침, 활성화, 캠페인 성과)을 제공하여 비즈니스 사용자가 직접 인사이트를 얻을 수 있도록 합니다. 이렇게 하면 데이터 엔지니어가 파일을 수동으로 이동할 필요 없이 최적화된 유사 세그먼트와 같은 인사이트를 마케팅 에코시스템 전반에서 즉시 활성화할 수 있습니다.
**전략적 자산으로서의 제로 카피 연합:** TTV를 극대화하기 위해 아키텍처는 제로 카피 방식을 채택합니다. 대기 시간과 보안 위험이 발생하는 기존 ETL 프로세스 대신, 아키텍처는 쿼리를 데이터가 저장된 위치(예: Snowflake, BigQuery, 또는 Amazon S3)로 직접 연동합니다. 이렇게 하면 조직의 기존 데이터 투자가 전략적 자산으로 전환되므로 비즈니스 사용자는 엄격한 거버넌스를 유지하면서 데이터 중복 비용을 없애는 동시에 실시간으로 최신 데이터에 대해 조치를 취할 수 있습니다.
## 핵심 데이터 클린룸 사용 사례
데이터 클린룸은 쿠키 중단 및 개인정보보호 규정에 대한 응답으로 광고에 등장했지만, 측정을 넘어 산업 전반의 고객 분석, 대상 그룹 세분화, 활성화 사용 사례로 발전했습니다. 2025년 리테일 미디어 상태 보고서에 따르면, 현재 조직의 66%가 일부 용량의 청결한 공간을 사용하고 있으며, 측정 가능한 비즈니스 결과를 제공하는 개인 정보 보호 보호 협업이 필요합니다.
패턴은 모든 섹터에서 일관되며, 데이터는 소유자에게 남아 있고, 계산은 관리되며, 개인정보 보호에 안전한 인사이트만 공유됩니다.
### 마케팅 및 광고: 타사 쿠키 없이 측정
**도전:** 마케터는 캠페인 효과를 측정하고 중복 광고 노출을 피하며 도달률과 노출 빈도를 최적화해야 하지만, 더 이상 타사 쿠키나 장치 식별자에 의존할 수 없습니다.
**클린 룸 솔루션:**
* 광고주가 해시된 고객 또는 캠페인 노출 데이터 제공
* 게시자가 노출 및 참여 신호를 제공합니다.
* 클린 룸은 도달, 빈도, 귀속, 리프트를 계산합니다.
* 원시 데이터 내보내기가 없는 승인된 플랫폼을 통해 활성화
**비즈니스 결과:** 클린 룸은 광고 노출을 실제 거래와 연결하는 클로즈드 루프 어트리뷰션, 진정한 캠페인 효과를 분리해내는 증분성 분석, 그리고 채널 전반에 걸친 통합 측정 등 기존 디지털 광고에서는 제공할 수 없는 기능을 제공합니다.
**산업 증거:** 측정은 Pinterest, Disney, Paramount와 같은 주요 미디어 네트워크가 자체 깔끔한 공간을 만드는 현재 가장 확립된 청정실 사용 사례입니다.
### 리테일 미디어 및 CPG: 자사 데이터 통화
**도전:** CPG 브랜드는 리테일 미디어에 많은 비용을 지출하지만 구매 결과에 대한 가시성이 부족합니다. 소매업체는 풍부한 세일즈 지점 데이터를 소유하지만 개인정보보호 서약을 위반하지 않아도 노출할 수 없습니다.
**클린 룸 솔루션:**
* 소매업체 및 CPG 회사가 리테일 위치의 세일즈 지점 데이터와 마케팅 데이터를 결합하여 프로모션 활동 최적화
* 브랜드는 해시된 CRM 또는 로열티 식별자를 제공합니다.
* 클린 룸은 광고 노출을 매장 내/온라인 구매와 연결합니다.
* 활성화는 소매업체의 미디어 에코시스템 내에 유지됩니다.
**비즈니스 결과:**
* 소매업체는 원시 고객 정보를 판매하지 않고 자사 데이터를 수익화할 수 있습니다.
* 브랜드는 어떤 캠페인이 구매로 이어졌는지 보여주는 클로즈드 루프 어트리뷰션을 확보할 수 있습니다.
* 개인 정보 보호 위험 없이 소매 미디어 네트워크 확장
**산업 증거:** Walmart의 Luminate 및 Kroger Precision Marketing와 같은 소매 미디어 네트워크는 CPG 브랜드가 소매업체 데이터를 사용하여 고객 동작을 분석하고 마케팅 전략을 최적화하는 데 도움이 되는 깔끔한 공간을 제공합니다.
### 금융 서비스: 협업 기반 사기 탐지
**도전:** 사기 네트워크는 기관 전체에서 운영되지만 GLBA와 같은 규정 및 새로운 개인정보 보호법으로 인해 은행이 고객 또는 트랜잭션 데이터를 공개적으로 공유할 수 없습니다.
**클린 룸 솔루션:**
* 여러 은행이 익명화된 데이터를 공유하여 비정상적인 크로스 뱅크 활동과 같은 사기를 나타내는 패턴을 식별합니다.
* 공유된 사기 신호를 기반으로 연합 분석 또는 모델이 실행됩니다.
* 어느 기관도 다른 기관의 고객 수준 데이터를 볼 수 없습니다.
**비즈니스 결과:**
* 신속한 교차 기관 사기 패턴 감지
* 풍부한 신호 집합을 통해 위양성이 줄어듭니다.
* 중요한 데이터를 중앙 집중화하지 않고도 규정 준수를 유지할 수 있습니다.
**산업 증거:** Experian 및 TransUnion의 금융 서비스 솔루션은 은행 및 보험사가 엄격한 데이터 프라이버시 제어를 유지하면서 사기 감지 및 위험 평가에 대해 공동 작업할 수 있는 청결한 공간 기술을 제공합니다.
### 의료 및 생명 과학: 환자 데이터 노출 없이 연구
**도전:** 제약 회사는 의약품 개발을 위해 실제 환자 결과가 필요하지만, 데이터는 HIPAA 및 유사한 규정에 의해 보호되는 병원 EHR 시스템에 있습니다.
**클린 룸 솔루션:**
* 의사와 의약품 연구자는 클린 룸 내에서 데이터를 공유하여 환자가 치료에 어떻게 반응하는지 알아봅니다.
* 환자 데이터는 제공자 환경 내에 남아 있습니다.
* 연구자는 클린 룸을 통해 승인된 통계 분석을 실행합니다.
* 차등 프라이버시는 재식별을 방지합니다.
**비즈니스 결과:**
* 통계적으로 유효한 대규모 실제 근거
* 익명화된 환자 데이터와 평가 기준을 일치시키고 헬스케어 프라이버시 법률을 위반하지 않고 적격한 후보를 찾는 방식으로 임상 시험을 위한 환자 채용을 간소화
* 제한된 임상 시험 모집단에 대한 의존도가 감소합니다.
**산업 증거:** Datavant와 같은 헬스케어 중심의 청소실은 연구자 및 헬스케어 조직이 임상 시험 및 의약품 개발을 위해 환자 데이터를 안전하게 분석할 수 있는 HIPAA 준수 환경을 제공합니다.
### 산업 간 패턴: 협업의 필수성
이러한 주요 사용 사례 외에도 클린룸은 다음을 가능하게 합니다.
* **공급망 최적화:** 제조업체 및 공급업체는 재고 세부 사항, 생산 일정, 수요 예측을 공유하기 위해 공동 작업을 수행하여 독점 정보를 보호하면서 더 나은 조율을 할 수 있습니다.
* **M&A Due Diligence:** 한 회사가 다른 회사를 인수하면 철저한 주의에 따라 민감한 정보를 직접 공유하지 않고 금융 예상 및 고객 데이터베이스를 검사해야 하며, 정리실은 고객 세그먼트 정렬 및 규정 준수 위험과 같은 인사이트를 드러냅니다.
* **미디어 및 엔터테인먼트:** 게시자가 광고주에게 오디언스 가치를 입증하면서 구독자 신원을 보호하여, 확률적 타겟팅 대신 신뢰할 수 있는 측정에 기반한 프리미엄 CPM을 제공합니다.
AdTech, 소매, 금융 서비스, 의료 및 미디어 분야에서 데이터 클린룸은 신뢰의 기반 인프라가 되었습니다. 이전에는 개인정보보호, 규제 또는 경쟁 제약으로 차단된 중요한 공동 작업을 활성화합니다. 깨끗한 공간은 데이터 제어 또는 규정 준수를 포기하지 않고 통찰력과 수익을 확보하는 안전하고 관리되는 공동 작업을 가능하게 하는 **핵심 아키텍처 구성 요소**입니다.
## 데이터 클린룸: 신뢰할 수 있는 데이터 공동 작업의 기반
데이터 클린룸은 여러 당사자가 원시 데이터를 노출하거나 교환하지 않고도 공동 인사이트를 생성할 수 있는 안전하고 관리되는 환경입니다. 데이터 집합을 복제하는 대신, 승인된 분석, AI, 활성화 워크로드가 데이터가 저장된 위치에서 실행되며, 정책을 준수하는 출력만 반환됩니다. 활성화 시 개별 수준 레코드가 필요한 경우 데이터는 공동 작업 당사자에게 노출되지 않고 의도한 대상으로 바로 전달됩니다.
아키텍처적으로 클린룸은 데이터 공유에서 제어된 연산으로 협업 방식을 전환합니다. 각 참가자는 데이터 보관권을 유지하고 런타임 적용은 쿼리 동작, 출력 제약, 동의, 사용 정책을 관리합니다.
개인 정보 보호 식별자 정렬 메커니즘을 통해 공동 작업이 더욱 활성화되어 있으며, 이 문서의 나중에 자세히 설명된 기능은 기본 식별자를 노출하지 않고 다른 당사자의 데이터 집합을 연관시킬 수 있습니다.
따라서 데이터 클린룸은 제로 카피, 연합 데이터 전략을 기반으로 운영하는 개인정보 보호 규제, 멀티 클라우드, AI 중심 엔터프라이즈의 기본 인프라로 작동합니다.
초기 데이터 클린 룸은 중앙 집중식 "번커" 모델을 따랐습니다. 모든 참가자는 분석을 위해 데이터를 중립 타사 환경에 복사해야 했습니다. 이 접근 방식은 개념은 간단하지만 상당한 마찰을 초래했습니다. 데이터 이동으로 인해 대기 시간 및 비용이 증가하고 법적 및 규정 준수 협약이 복잡해지고 조직이 민감한 데이터의 직접적인 제어를 포기하게 되었습니다. 규제화된 산업에서는 이러한 제약으로 인해 공동 작업이 실용적이지 않은 경우가 많습니다.
현대 데이터 클린 룸은 분산/연합 모델로 발전했습니다. 데이터는 소유자의 환경에 남아 있으며, 연합 쿼리를 통해 분석이 실행됩니다. 클린 룸 자체는 각 쿼리를 가로채고, 실행 시 개인정보 및 정책 제어를 적용하며 승인된 집계 출력만 반환하는 거버넌스 계층 역할을 합니다.
차원
전통적인 클린 룸 ("번커" 모델)
현대 클린 룸(분산/연합 모델)
데이터 위치
데이터가 중앙 집중식 타사 환경으로 복사됩니다.
데이터는 소유자의 환경에 남아 있습니다.
데이터 이동
데이터 집합의 물리적 전송 및 복제 필요
원시 데이터 이동 없음, 쿼리가 실행됩니다.
관리 및 보관
데이터의 보관 권한이 부분적으로 타사 플랫폼에 양도됩니다.
각 당사자가 보유한 원시 데이터 소유권 및 관리
아키텍처 모델
중앙 집중식 집계
분산 및 연합 계산
거버넌스 집행
데이터 이동 후 적용되는 정책
쿼리 실행 시 적용되는 정책
개인 정보 보호 모델
계약 및 절차 제어에 크게 의존
런타임 제어 및 집계 임계값을 통해 기술적으로 적용됩니다.
대기 시간
수집 및 동기화로 인한 대기 시간 증가
낮은 대기 시간, 거의 실시간의 연합 쿼리
비용 구조
높은 저장, 전송 및 복제 비용
데이터가 존재하는 위치에서 계산이 수행되므로 중복이 줄어듭니다.
규정 준수 복잡성
교차 국경 데이터 이동으로 인한 복잡한 법적 계약
데이터가 원본 경계를 벗어나지 않으므로 규정 준수가 단순해집니다.
확장성
확장을 위해 추가 저장소와 데이터 복제가 필요합니다.
데이터 중복 없이 분산 계산을 통해 확장됩니다.
규제 산업 적합성
보관 및 보존 문제로 인해 비실용적인 경우가 많습니다.
주체권, 동의, 규제 제약에 더 잘 부합
Salesforce Data 360은 이 연합 모델의 예입니다. 게시자와 광고주는 원시 데이터가 플랫폼의 보안 범위를 벗어나지 않고, 클라우드 플랫폼 전반에서 협업하고 분석을 실행할 수 있습니다. 데이터 보관이 유지되고 위험이 줄어들며, 협업이 더 빠르고 쉽게 확장됩니다.
공유 데이터에서 공유 계산으로의 전환은 엔터프라이즈 협업에 대한 신뢰의 재정의를 의미합니다. 정리실은 더 이상 데이터가 저장되는 대상이 아니라 인사이트가 안전하게 생성되는 방식을 관리하는 시스템입니다.
### 엔터프라이즈급 데이터 정리 공간 구축
핵심 아키텍처 기능으로 작동하기 위해서는 엔터프라이즈급 데이터 클린룸이 몇 가지 필수 불가결한 요건을 충족해야 합니다.
#### 제로 카피 아키텍처
데이터 클린 룸에 대한 가장 기본적인 요구 사항은 제로 카피 아키텍처입니다. 기존 데이터 공동 작업은 데이터를 공유 환경에 복사하는 ETL 파이프라인에 의존합니다. 이렇게 하면 대기 시간, 비용, 보안 노출, 규제 위험이 증가하고 중요한 데이터의 관리되지 않는 복사본이 여러 개 생성됩니다.
최신 데이터 클린 룸은 이 문제를 해결합니다. 데이터는 클라우드 데이터 웨어하우스, 운영 플랫폼 또는 SaaS 애플리케이션 등 원래 레코드 시스템에 남아 있습니다. 클린 룸은 이러한 분산된 소스 전반에서 연합 쿼리를 사용하여 승인된 개인정보 보호에 안전한 결과만 반환합니다.
물리적 데이터 이동을 방지함으로써 제로 카피 클린룸은 공격 표면을 줄이고, 데이터 상주성 및 소유권을 보존하며, 데이터 패브릭 및 연합 데이터 아키텍처 원칙에 자연스럽게 부합합니다.
#### 상호 운용 가능한 데이터 클린 룸
현대 데이터 전략은 데이터를 이동하지 않고 공동 작업할 수 있는 능력에 따라 다릅니다. Salesforce Data 360은 두 가지 기본 모델을 통해 귀사의 엔터프라이즈를 글로벌 데이터 생태계에 연결하는 유연한 프레임워크를 제공합니다:
**Native Salesforce-to-Salesforce 연결:** 이 모델에서는 두 Salesforce 고객 간에 직접 공동 작업이 수행됩니다. 공유 메타데이터 레이어를 사용하면 제공자와 소비자가 간단한 구성을 통해 즉시 연결할 수 있습니다. 이렇게 하면 팀이 데이터 복제 지연 또는 위험 없이 공동 인사이트를 생성할 수 있으므로 정보가 원래 위치에서 안전하게 유지됩니다.
**External Salesforce-to-Cloud 통합(AWS 및 Snowflake):** 이 모델에서는 Salesforce 및 외부 클라우드 환경 간 공동 작업이 수행됩니다. 제로 카피 연합을 사용하면 데이터 이동의 비용이나 위험 없이 다양한 인프라를 연결할 수 있습니다. 이렇게 하면 팀은 데이터를 원래 클라우드에 유지하면서 신원 단편화를 해결하고 도달 범위를 확장하며, 중앙 집중식 관리를 유지하고 이그레스 비용을 제거할 수 있습니다.
#### 개인정보 보호 강화 기술(PET)
제로 카피 및 연합 아키텍처는 원시 데이터의 이동 또는 중복을 방지하지만, 그 자체만으로는 개인정보 보호를 보장하지는 않습니다. 이러한 모델에서 주요 위험은 데이터 저장에서 데이터 계산으로 이동합니다.
집계된 결과만 반환되는 경우에도 중요한 정보가 계속해서 분석 출력을 통해 누출될 수 있습니다. 일반적인 공격 벡터에는 반복 또는 중복 쿼리(차별화 공격), 매우 작은 모집단 분석, 그리고 외부 지식을 사용한 추론이 포함됩니다. 따라서 개인정보 보호 문제는 액세스 제어를 넘어 쿼리 실행 시 동적으로 요구되는 사항으로 이동합니다.
엔터프라이즈 데이터 정리 룸은 옵션 분석 기능 또는 정책 지침이 아닌 필수 시스템 수준 제어로 PET(Privacy-Enhancing Technologies)를 취급해야 합니다.
아키텍처 관점에서는 다음을 의미합니다.
* 개인정보 보호는 분석가가 아닌 플랫폼에서 적용됩니다.
* 사용자, 파트너 및 작업 부하 전반에 걸쳐 일관된 제어가 적용됩니다.
* 개인 정보 보호 보증은 결정적이며 반복 가능하며 감사 가능
* 시스템에서 허용되는 계산, 결과의 형태 지정, 쿼리를 차단해야 하는 시기를 정의합니다.
##### 핵심 PET 기능
**차등 개인정보 보호:** 차등 개인정보 보호(DP)는 개인의 존재 또는 부재가 쿼리 결과에 크게 영향을 미치지 않는다는 수학적 보증을 제공합니다. 실제로는 클린 룸이 캘리브레이션된 통계적 노이즈를 출력에 자동으로 삽입하고, 각 데이터 집합에 대해 정의된 개인정보 예산을 추적함을 의미합니다. 모든 쿼리는 이 예산의 일부를 사용하며, 만료되면 추가 쿼리가 차단됩니다.
설계자의 경우 DP의 가치는 입증 가능성에 있습니다. 개인정보 보호 위험은 정량적으로 제한되어 보호 가능한 규정을 준수하고 주관적 정책 해석에 대한 의존성을 줄입니다.
**보안 식별자 정렬:** 많은 공동 작업 시나리오에서 공유 고객 또는 계정과 같은 데이터 집합 간 겹침을 식별해야 합니다. 원시 식별자를 표시하면 데이터 최소화 원칙이 위반됩니다. 대신 클린 룸 등급 아키텍처는 클린 룸 경계 내에서 수행되는 결정적 해시 또는 토큰화에 의존합니다. 관계자에게 원시 식별자를 표시하지 않고 비교를 수행하여 데이터 공개 없이 조인 유사 동작을 활성화합니다.
**집계 임계값 및 결과 억제:** 결과가 매우 작은 모집단에서 파생된 경우 완전히 익명화된 출력도 손상될 수 있습니다. 이를 방지하려면 엔터프라이즈 데이터 클린 룸이 최소 집계 임계값을 적용하고, 임계값 미만의 결과를 자동으로 억제해야 합니다. 이러한 임계값은 재정의할 수 없으므로 소규모 세그먼트 누출을 일관되게 방어할 수 있습니다.
실행 계층에서 개인정보 보호 강화 기술(PETs)이 적용되지 않으면, 데이터 클린 룸이 인간의 판단과 계약에 의존하는 신뢰 기반 환경이 될 위험이 있습니다. PETs를 플랫폼에 직접 포함하면, 프라이버시는 절차적 속성이 아닌 구조적 속성이 됩니다. 이를 통해 Trust 다시 협상하지 않고 팀 및 파트너 간의 공동 작업을 확장할 수 있으며, 규제 기관 및 위험 팀은 주관적인 정책이 아닌 목표적 수학적 측정값을 사용하여 보증을 평가할 수 있습니다.
엔터프라이즈 아키텍트의 경우, PETs는 데이터 클린 룸을 보안 샌드박스에서 신뢰할 수 있는 협업 패브릭으로 격상시키는 핵심 메커니즘으로, 규제된 다자간 분석 및 AI 워크로드를 엔터프라이즈 규모에서 지원할 수 있게 합니다.
#### 감사 내역
다자간 공동 작업에서는 가시성을 통해 신뢰가 유지됩니다. 엔터프라이즈급 데이터 클린 룸은 참가자와 데이터 간의 모든 상호 작용에 대한 "문서 추적"을 제공해야 합니다.
**쿼리 로그**: 모든 SQL 실행이 기록되어 요청자의 ID, 타임스탬프, 사용된 특정 쿼리 논리를 수집합니다.
**정책 집행 로그:** 시스템은 쿼리된 항목뿐만 아니라 결과에 적용된 개인정보 보호정책(예: 집계 임계값 또는 차별 개인정보 보호)을 기록해야 합니다.
**변조 불가능한 기록:** 변경 불가능한 감사 내역(전용 데이터 모델 개체)을 사용하여 데이터 클린 룸은 참가자가 로그를 변경하거나 삭제할 수 없도록 하여, 규제 기관에게 신뢰할 수 있는 단일 버전의 진실을 제공합니다.
## Salesforce Data 360을 사용하여 현대적인 클린 룸을 활성화합니다.
Salesforce는 조직이 원시 데이터 집합을 공유하지 않고도 데이터를 분석하고 공동 작업할 수 있도록 하여 현대적인 데이터 클린 룸을 활성화합니다. 실행 시 개인정보보호, 동의, 거버넌스가 적용되는 제로 카피, 연합 아키텍처를 기반으로 구축된 Salesforce Data 360은 인사이트를 안전하고 규정 준수하며 실행 가능한 상태로 유지합니다. Salesforce Data 360은 클린 룸을 엔터프라이즈 데이터 수명 주기에 직접 포함하여 니치 분석 도구에서 AI 중심 및 다자간 공동 작업을 위한 확장 가능한 신뢰할 수 있는 인프라로 전환합니다.
### 확장 가능한 데이터 클린 룸을 위한 플랫폼 기반
인프라 레이어에서 Salesforce Data 360은 통합 제어 플레인 뒤에 대규모 리소스(AWS, Azure, GCP)를 추상하는 Salesforce의 클라우드 네이티브 런타임인 Hyperforce에서 실행됩니다. 이 아키텍처를 사용하면 데이터가 지역 내에 유지되어 주체권 및 보존 요구 사항을 충족하는 동시에 전 세계적으로 클린 룸 운영을 지원할 수 있습니다.
중요한 점은 이 파운데이션을 통해 AWS Clean Rooms와의 네이티브 상호 운용성을 비롯한 클라우드 간 클린 룸 공동 작업을 수행할 수 있습니다. Data 360을 오케스트레이션 및 거버넌스 계층으로 사용하면 Salesforce에서 관리하는 저장소로 데이터를 강제로 마이그레이션하지 않고 AWS에서 직접 작업하는 파트너와 공동 작업할 수 있습니다. 쿼리가 소스로 푸시되고 개인정보 보호 규칙이 일관되게 적용되며, 규정을 준수하고 집계된 결과만 플랫폼 간에 교환됩니다.
규정 준수와 신뢰는 애플리케이션 계층에 사후적으로 추가되는 것이 아니라, 인프라 및 실행 경계에서 적용되어 대규모 멀티 클라우드 및 다자간 협력을 위한 견고한 기반을 제공합니다.
### 수집에서 활성화까지의 Data 360 파이프라인
Data 360은 추적 가능한 종단 간 데이터 파이프라인을 구현하여, 클린 룸 작업이 원시 추출 데이터가 아닌 조화되고 관리되며 ID 인식이 적용된 데이터에서 실행되도록 보장합니다.
주요 단계는 다음과 같습니다.
* **연결**: 기본 커넥터, API, SDK, MuleSoft 또는 제로 카피 커넥터를 통한 데이터 수집 및 가상화
* **저장**: 원시 데이터를 네이티브 형식으로 저장(Parquet/Iceberg)
* **조화**: 정합성 있는 조인을 위해 정규 데이터 모델 개체(DMO)에 매핑
* **통합**: 신원 해결 과정을 통해 골든 레코드를 생성합니다.
* **인사이트 도출**: 계산된 인사이트는 관리된 경계 내에서 집계된 메트릭을 계산합니다.
* **작업**: Data 360을 오케스트레이션 및 거버넌스 계층으로 사용하면 Salesforce 조직, 마케팅 플랫폼, 광고 네트워크, 외부 데이터 플랫폼, **또는 기타 클린 룸**에 관리된 출력이 흐르며 인사이트-액션 루프가 완성됩니다.
이 파이프라인을 통해 클린 룸이 임시 추출이 아닌 엔터프라이즈급 데이터에서 작동합니다.
### 기본 통합 및 "Clicks-Not-Code"
별도의 프로비저닝 및 SQL 개발이 필요한 독립형 데이터 클린 룸 플랫폼과 달리 Salesforce 클린 룸은 Data 360에 기본적으로 내장되어 있습니다. 이렇게 하면 DMO, ID 규칙, 동의 모델, 거버넌스 정책을 재사용할 수 있어 중복 보안 계층이 제거됩니다.
Salesforce의 템플릿 기반 클린 룸 모델은 다음을 사용하는 핵심 가속 요소입니다.
* 대상 그룹 중복, 억제, 도달, 리프트 측정과 같은 일반적인 협업 패턴을 지원하는 **기본 제공 템플릿**입니다.
* 설계자 및 고급 사용자가 원시 데이터 또는 정책 복잡성을 노출하지 않고 업계별 또는 파트너별 요구에 맞게 재사용 가능한 분석 논리를 정의할 수 있는 **사용자 지정 템플릿**입니다.
이 접근 방식은 유연성을 허용하면서도 공동 작업을 표준화하여, 클린 룸들을 일회성 분석 프로젝트가 아닌 반복 가능한 기업 역량으로 확장할 수 있게 합니다.
### “Golden Path” - 인사이트에서 실행까지의 루프를 완성하다
Data 360은 전통적인 클린 룸이 겪는 일반적인 실패 모드인 활성화 격차를 해결합니다. Golden Path 프레임워크는 원시 데이터를 내보내지 않고 클린 룸 내에서 생성된 인사이트를 즉시 조치할 수 있도록 합니다.
* **설정 및 탐색**: 파트너는 스키마 메타데이터를 공유하고 템플릿을 활용하여 계약이 완료되기 전에 실행 가능성을 평가합니다.
* **분석**: 사전 구축된 템플릿과 사용자 지정 템플릿은 겹침 분석, 억제, 유사 모델링, 리프트 측정을 구동하며, 모두 관리 경계 내에서 실행됩니다.
* **활성화**: 승인된 세그먼트는 Marketing Cloud, 광고 플랫폼 또는 파트너 시스템에 직접 푸시되며, 통합된 규정 준수 결과만 공유됩니다.
템플릿은 표준화된 실행 경로가 되어, 공동 작업이 분석에서 활성화까지 예측 가능한 방식으로 진행되도록 합니다.
## Salesforce Data 360 Clean Rooms용 플레이북
Salesforce Data 360 Clean Room 배포는 단순한 구성 연습이 아니라 데이터 준비, 거버넌스 설계, 보안 연결, 운영 모니터링을 포괄하는 규제화된 아키텍처 워크플로입니다.
### 1단계: 공동 작업 사용 사례 정의(의도로 시작)
데이터 또는 구성을 다루기 전에 설계자가 다음을 명확하게 정의해야 합니다.
* 답변하려는 질문은 무엇입니까?
* 예상되는 결과는 무엇입니까?(예: 겹침 분석, 리프트 측정, 억제, 사기 감지)
* 어떤 수준의 집계가 필요합니까?
* 적용되는 규제 또는 계약상의 제약은 무엇입니까?
* 결과를 사용하는 활성화 경로는 무엇입니까?
공동 작업자의 목표를 이해하면 조인 키, 신원 규칙, 거버넌스 임계값, 비용 모델링 등 모든 요소의 방향이 결정됩니다. 정리 룸은 용도로 구축된 환경입니다. 일반 데이터 노출이 아닌 정의된 분석 목표를 중심으로 설계해야 합니다.
### 2단계: Clean Room 공동 작업을 위한 데이터 준비
공동 작업을 시작하려면 먼저 엔터프라이즈 데이터를 구조적으로, 의미적으로 준비해야 합니다. 클린 룸은 기본 데이터의 강점과 약점 모두를 증폭합니다. 여기서는 '쓰레기가 들어가면, 쓰레기가 나온다'는 말이 더욱 정확하게 적용됩니다.
**수집:** Salesforce CRM, Marketing Cloud, AWS S3, Google Cloud Storage와 같은 소스 시스템을 Data 360에 연결합니다. 가능한 경우 데이터의 불필요한 이동 또는 중복을 방지하기 위해 제로 카피 커넥터(예: Snowflake)를 사용합니다.
**시맨틱 매핑:** 데이터 스트림을 Customer 360 데이터 모델에 매핑합니다. 전화 번호(E.164 형식), 국가/시/도 코드(ISO 표준), 이메일 주소와 같은 주요 필드를 표준화합니다. 정렬이 잘못되면(예: "CA"를 사용하는 한 당사자와 "캘리포니아"를 사용하는 다른 당사자) 조인이 자동으로 실패하고 일치율이 낮아질 수 있습니다.
**신원 확인:** 결정적(정확히 일치) 및 확률적(퍼지 일치) 규칙을 구성하여 통합 개인(골든 레코드)을 만듭니다. 이 통합 엔티티는 클린 룸 매칭의 기반입니다.
식별 해결의 품질은 협업 가치에 직접적인 영향을 미칩니다. 일치 정확도가 높아지면 겹침률과 분석 신뢰도가 증가하고 거짓 음성이 줄어듭니다.
### 3단계: 클린 룸 프로비저닝
데이터가 조화되면 공동 작업 경계를 정의하기 위해 클린 룸 자체를 프로비저닝해야 합니다.
**라이센스 검증:** 모든 참가 조직에 필요한 Data 360 및 클린 룸 권한이 있는지 확인합니다.
**데이터 공간 범위 지정:** 클린 룸 개체는 특정 데이터 공간에 대한 범위를 지정해야 합니다. 해당 데이터 공간에 매핑된 개체만 클린 룸에 표시됩니다. 이를 통해 클린 룸에 대해서만 새 데이터 공간을 만들 필요 없이 논리적으로 공동 작업을 격리할 수 있습니다.
**거버넌스 규칙 정의:** 쿼리를 실행하기 전에 선언적으로 정책을 설정합니다.
* **집계 임계값:** 예를 들어 출력당 최소 100개의 레코드
* **결합 키:** 예를 들어, Email_Hash_SHA256
* **허용되는 작업:** COUNT, SUM, AVG와 같은 집계 함수만
* **명시적 제한:** 행 수준 내보내기 차단 (SELECT \*)
거버넌스 규칙은 실행 시 적용되므로 절차 지침이 아닌 개인 정보 보호 및 규정 준수 시스템 수준 속성을 만듭니다.
### 4단계: 보안 다자간 연결 설정
클린 룸은 조직 및 플랫폼 경계에 걸쳐 있습니다. 연결은 명시적이고 엄격하게 제어되어야 합니다.
**계정 연결:**
* **Salesforce-Salesforce:** Data Cloud One 또는 승인된 교차 조직 공유 메커니즘을 사용합니다.
* **다중 클라우드 시나리오:** 쿼리가 활성화되기 전에 지역 정렬 및 상주를 확인합니다.
**인증 및 인가:** 최소 권한 원칙을 사용하여 전용 통합 사용자에 대한 OAuth 기반 액세스를 구성합니다. 필요한 데이터 공간에 대한 액세스를 엄격하게 제한하고 관리 권한을 피합니다.
보안 실패는 암호화 또는 플랫폼 제어의 약점이 아닌 권한이 지나친 통합 사용자로 인해 발생하는 경우가 많습니다.
### 5단계: 클린 룸 작업 부하의 실행, 모니터링 및 제어
활성화되면 운영 감독, 쿼리 품질, 그리고 비용 관리에 초점이 이동합니다.
**쿼리 실행:** 분석가 또는 워크플로우는 계산된 인사이트 또는 승인된 SQL 인터페이스를 통해 겹침 분석 및 집계를 수행합니다. 모든 쿼리에서 집계 임계값 및 개인 정보 보호 제어가 자동으로 적용됩니다.
** 감사 및 추적 가능성 :** Salesforce Data 360 정리 룸은 감사 데이터 모델 개체(DMO) 형태로 감사 내역을 제공합니다. 이렇게 하면 쿼리를 실행한 사람, 실행 시기, 적용된 정책 등 쿼리 활동에 대한 메타데이터가 수집됩니다. 감사 DMO는 규정 준수 보고, 거버넌스 검증, 그리고 포렌식 추적 가능성을 제공하여 협업이 개인정보 보호되며 검토 가능하도록 합니다.
**소비 모니터링:** Data Cloud는 소비 기반 신용 모델을 사용합니다. 핵심 동인:
* 처리된 행(예: 1M 행 = 기준 신용 단위)
* 쿼리 복잡성
* ID 확인 작업(높은 승수)
* 배치 수집(하위 승수)
**디지털 지갑 및 경고:** 디지털 지갑을 사용하여 실시간 소비를 추적하고 50%, 75% 및 90% 임계값에서 경고를 구성합니다. 급증과 특정 작업 부하를 연결하여 예기치 않은 비용을 피합니다.
제로 카피는 계산 비용을 없애지 않습니다. 물리적 중복이 제거되는 동안 소스 시스템에서 실행이 발생합니다. 설계자는 쿼리 패턴, 조인 선택성, 실행 주기를 관리하여 비용 및 성능을 제어해야 합니다.
## 거버넌스, 보안, 규정 준수
### 대규모 Trust 위한 깔끔한 공간 설계
현대 기업에서는 신뢰가 데이터 클린룸에 추가되는 것이 아닙니다. 이는 아키텍처 결과입니다. Salesforce Data 360은 거버넌스, 보안, 규정 준수를 지속적이고 자동으로 적용하여 클린룸을 정책 중심 환경에서 플랫폼 주도 시스템으로 전환합니다.
실행 시간 제어(잠긴 ID, 감사 추적, 차등 프라이버시)는 Salesforce 내, 파트너 간 또는 클라우드 간에 공동 작업이 발생하는지 여부와 상관없이 일관되게 적용됩니다.
### 실행 시간 기반 신뢰 및 거버넌스
설계자에게 가장 중요한 변화는 사전에 가정하지 않고 실행 중에 신뢰가 적용된다는 점입니다. Salesforce Data 360은 다음과 같은 여러 핵심 플랫폼 제어를 통해 이를 달성합니다.
* **잠긴 신원:** 파트너 액세스는 확인된 Salesforce 조직 ID와 암호화 방식으로 연결되어 스푸핑 또는 무단 참여를 방지합니다.
* ** 감사 내역:** 모든 쿼리, 조인, 세그먼트 겹침, 활성화가 완전한 감사 가능성과 규정 준수를 위해 기록됩니다.
* **차등 프라이버시:** 행 수준 검사는 구조적으로 불가능합니다. 출력이 집계되고 통계적으로 경계됩니다. 공동작업자는 개인 트랜잭션이나 ID가 아닌 달성률 또는 리프트율과 같은 개인 정보 보호에 안전한 결과만 볼 수 있습니다.
이러한 제어는 계약 Trust 수학적 보증 및 플랫폼 수준 적용으로 대체하여 운영 및 법적 위험을 줄입니다.
### Einstein Trust 계층을 통한 AI 거버넌스
AI 에이전트가 클린 룸 데이터와 점점 더 상호 작용함에 따라 Salesforce는 Einstein Trust 계층을 도입합니다. 중요한 엔터프라이즈 데이터와 외부 LLM 간의 아키텍처 공급 장치 역할을 합니다. 이로써 클린 룸 인사이트가 기본 데이터를 노출하지 않고 AI 기반 의사결정을 안전하게 지원할 수 있습니다.
**핵심 기능:**
* **제로 데이터 보존:** LLM에 전송되는 데이터는 일시적입니다. 모델 공급자는 교육을 위해 프롬프트 또는 응답을 저장할 수 없습니다.
* **독성 언어 탐지 및 PII 마스킹:** 입력 및 출력이 자동으로 스캔되고 Data 360에 구성된 데이터 마스킹 정책에 따라 PII가 마스킹됩니다.
### 데이터 공간 및 권한 집합을 통한 논리적 격리
**데이터 공간**은 조직 내에서 논리적으로 격리되며, 다음과 같은 규제, 지리 및 파트너십 경계에 맞춰야 합니다.
* EU 데이터 공간
* 북미 데이터 공간
데이터 공간에 할당된 데이터 집합만 클린 룸 내에 표시되므로 우발적인 교차 경계 노출이 방지됩니다.
권한 집합은 정리된 공간을 만들거나 관리하거나, 쿼리를 실행하거나, 세그먼트를 활성화할 수 있는 사람을 정밀하게 제어합니다. 데이터 인식 권한은 데이터 모델 개체 내에서 필드 수준 제한을 적용합니다. 예를 들어 마케터는 세그먼트 이름과 대상 그룹 크기를 볼 수 있지만 수입 또는 건강 지표는 볼 수 없습니다.
보안은 시맨틱 계층에서 적용되므로 지속적인 IT 감독 없이 비즈니스 사용자에게 안전한 셀프 서비스를 제공할 수 있습니다.
### 설계를 통한 규정 준수 및 동의
동의 신호는 Data 360을 통해 자동으로 클린 룸 실행으로 전파됩니다. 동의를 취소한 사용자는 기본적으로 분석 및 활성화에서 제외되므로, 규정 준수가 수동이 아닌 시스템에 의해 강제 적용됨을 보장합니다.
Salesforce Data 360은 거버넌스, 보안, 그리고 규정 준수를 선택적 부가 기능이 아닌 일급 아키텍처 기본 요소로 취급합니다. 실행 시간 감사 가능성, 잠긴 ID, 차별화된 개인 정보 보호, 데이터 공간, 동의 인식 ID 확인 및 Einstein Trust 계층을 결합하여 파트너, 멀티 클라우드 시스템, AI 기반 워크로드 간의 클린 룸 공동 작업을 확장할 수 있으며, 이는 Trust, 개인 정보 보호 또는 규정 준수에 영향을 미치지 않고도 가능합니다.
## 결론 및 진행 경로
### 설계자를 위한 실용적인 진행 경로
데이터 클린 룸의 가치를 온전히 활용하기 위해서는, 설계자가 이를 단순한 분석 도구가 아닌 핵심 아키텍처 인프라로 다루어야 합니다. 다음 우선순위는 실용적이고 확장 가능한 경로를 정의합니다.
**협업을 최우선 아키텍처 고려사항으로 만들기:** 외부 데이터 공동 작업은 내부 통합과 같은 엄격함으로 설계해야 합니다. 클린 룸은 데이터 플랫폼, 통합 계층, AI 시스템과 함께 엔터프라이즈 참조 아키텍처 내에 내장되어야 하며, 임시적인 확장으로 배포되어서는 안 됩니다. 상호 운용성이 확대되면(예: Data 360 클린 룸과 AWS 클린 룸 통합 및 향후 클린 룸 간 호환성), 설계자는 단일 공급업체가 아닌 다중 플랫폼 생태계를 예상하는 협업 패턴을 설계해야 합니다.
**소스에서 기본적으로 개인정보 보호 설계**
**데이터 유동성 설계: **무거운 ETL과 중앙 집중식 복제를 기본으로 삼는 대신, 설계자는 먼저 연합 및 제로 카피 액세스를 고려해야 합니다. 계산을 데이터로 이동하면(적절한 경우) 불필요한 중복을 줄이고 비용을 절감하며 원본 데이터의 무결성을 유지할 수 있습니다. "연결할지 복사할지"는 상속된 습관이 아닌 의식적인 아키텍처적 결정이어야 합니다.
**인사이트와 실행 간의 격차 해소:** 분석에서 멈추는 클린 룸은 비즈니스 가치를 창출하지 못합니다. 아키텍처는 클린 룸 출력을 활성화 시스템 및 AI 워크플로우에 기본적으로 연결해야 합니다. 피드백 루프, 성능 측정, 후속 실행은 처음부터 설계되어야 합니다.
**에이전틱 엔터프라이즈에 대비하기:** AI 에이전트가 점점 더 기업 데이터를 사용함에 따라, 클린 룸은 에이전트가 원시 데이터를 노출하지 않고 운영할 수 있는 제어된 실행 환경이 됩니다. 클린 룸 전략을 AI 거버넌스 및 신뢰 프레임워크와 조율하는 설계자가 다음 단계에 가장 적합한 위치를 차지할 것입니다.
### 결론
현대 데이터 클린 룸은 엔터프라이즈 데이터 아키텍처의 근본적인 변화를 의미합니다. 데이터 노출 없이 협업을 가능하게 하여 데이터 활용도와 개인정보 보호 간의 오랜 긴장을 해소합니다.
Salesforce Data 360과 같은 아키텍처는 이 트레이드오프가 "양자택일"이 아님을 보여줍니다. 제로 복사 패턴을 통해 데이터 저장소를 활성화와 분리하고, 개인정보 보호 강화 기술을 실행에 직접 포함함으로써, 기업은 데이터 제어권을 포기하지 않고도 고부가가치 분석에 협업할 수 있습니다. 개인정보 보호는 계약상 의무에서 아키텍처적 보장으로 전환됩니다.
무엇보다 클린 룸은 정적이고 사일로화된 자산이었던 데이터를 관리되고 실행 가능한 자원으로 전환합니다. 활성화 및 AI 레이어에 기본적으로 연결되면 인사이트가 더 이상 대시보드에 머무르지 않습니다. 이 인사이트는 곧바로 의사결정, 캠페인, 자율 시스템으로 흘러들어가 데이터, 실행, 결과 간의 선순환을 기업 규모에서 완성합니다.
## 작성자 정보
**Yugandhar Bora는** Salesforce의 소프트웨어 엔지니어링 아키텍처로, 데이터 및 인텔리전스 애플리케이션 플랫폼 내 데이터 아키텍처를 전문으로 합니다. 그는 데이터 거버넌스 및 통합 데이터 모델에 초점을 맞춘 EARB(Enterprise Architecture Review Board) 이니셔티브를 이끌고 자동화된 플랫폼 프로비저닝 솔루션에 기여합니다.
**Birendra Kumar Singh는** Salesforce의 Data 360 내에서 플랫폼 및 데이터 아키텍처를 전문으로 하는 주요 기술 직원입니다. 활성화 플랫폼의 핵심 구성원이며 Data 360 고객에게 데이터 정리 공간 인프라를 제공하는 데 중점을 둔 청소 공간 이니셔티브를 이끌고 있습니다.
Salesforce의 수석 제품 관리자인 **Priyanka Kshirsagar는** Data 360 Clean Rooms를 선도하며, 엔터프라이즈 고객이 개인 정보를 보호하는 환경에서 자사 데이터에 대해 공동 작업할 수 있도록 처음부터 구축한 기능입니다. 클린 룸에서 유사 모델링 및 ID 보강 등 에이전트 AI 및 ML 기반 사용 사례에 대한 비전을 구동하고 일반 가용성 및 계층 1 Dreamforce 출시를 통해 제품을 도입했습니다.
# 개요
현대 Salesforce 통합은 간단한 데이터 교환 이상을 지원해야 합니다. 실시간 고객 환경을 구동하고 여러 시스템에서 조치를 조율하며 엄격한 보안 및 규정 준수 요구 사항을 충족하면서 엔터프라이즈 규모에서 안정적으로 운영할 수 있습니다. 따라서 올바른 통합 접근 방식을 선택하는 것은 구현 세부 사항이 아닌 중요한 아키텍처 결정입니다.
일반적인 엔터프라이즈 시나리오를 고려하십시오. 고객이 모바일 앱에서 구매를 완료하여 맞춤형 제안에 대한 실시간 자격 검사를 트리거합니다. 동시에 트랜잭션 데이터는 ERP 시스템에 기록되고, 고객 특성이 Salesforce에서 업데이트되고, 분석이 대기 시간, 데이터 중복 또는 규정 준수 위험을 유발하지 않고 데이터 레이크로 스트리밍되어야 합니다. 이와 같은 시나리오는 Salesforce가 단독으로 작동하는 경우가 거의 없으며, 더 광범위한 응용 프로그램 및 데이터 플랫폼 생태계와 원활하게 통합되어야 하는 현대 Salesforce 환경에서 일반적입니다.
이 가이드는 설계자 및 개발자가 명확하고 자신 있게 통합을 설계할 수 있도록 지원합니다. 지점 간 구현에 초점을 맞추지 않고 반복되는 엔터프라이즈 시나리오(예: 프로세스 오케스트레이션, 데이터 동기화, 실시간 데이터 액세스)를 해결하는 **확인된 통합 패턴**을 소개합니다. 각 패턴은 아키텍처 의도, 절충, 실행 모델을 강조하여 팀이 확장 가능하고 지속 가능한 정보에 입각한 설계 결정을 내릴 수 있도록 합니다.
이 문서 내에서 다음을 찾을 수 있습니다.
* 프로세스, 데이터, 가상 액세스 시나리오에서 일반적인 엔터프라이즈 전형을 나타내는 통합 패턴
* 통합 의도 및 실행 타이밍을 기반으로 올바른 접근 방식을 식별하는 데 도움이 되는 패턴 선택 프레임워크
* 확장성, 복원력, 거버넌스, 보안 고려 사항에 대한 실용 지침
* 실제 Salesforce 및 Data 360 구현에서 얻은 모범 사례
이 문서의 목표는 통합을 위한 공유 아키텍처 언어를 제공하여, 팀이 엔터프라이즈 데이터 및 거버넌스 전략에 맞춰 성능, 유연성, 신뢰의 균형을 이루는 솔루션을 설계할 수 있도록 돕는 것입니다.
## 목적 및 범위
이 문서는 엔터프라이즈의 다른 응용 프로그램의 데이터를 Salesforce Data 360(기존의 Data Cloud)과 통합해야 하는 디자이너 및 아키텍트를 위한 것입니다. 이 콘텐츠는 Salesforce 아키텍트와 파트너가 성공적으로 구현한 많은 사례의 핵심을 담고 있습니다.
Data 360의 대규모 채택에 사용할 수 있는 통합 기능 및 옵션을 숙지하려면 아래의 패턴 요약 및 패턴 선택 가이드 섹션을 참조하십시오. 설계자 및 개발자는 Data 360에 대한 데이터 상호 작용 프로젝트의 설계 및 구현 단계에서 해당 패턴 세부 사항 및 성공 사례를 고려해야 합니다.
올바르게 구현되면, 이러한 패턴을 통해 가능한 한 빠르게 운영 환경에 진입하고, 가장 안정적이며 확장 가능하고 유지보수가 필요 없는 애플리케이션 집합을 구축할 수 있습니다. Salesforce의 자사 컨설팅 아키텍트는 이러한 패턴을 아키텍처 검토 시 참고점으로 삼고, 이를 적극적으로 유지 및 개선합니다.
모든 패턴과 마찬가지로 이 콘텐츠는 대부분의 통합 시나리오에 적용되지만 전부는 적용되지 않습니다. Salesforce에서는 사용자 인터페이스(UI) 통합(예: 매시업)을 허용하지만, 이러한 통합은 이 문서의 범위에 포함되지 않습니다.
### 패턴 템플릿
각 통합 패턴은 일관된 구조를 따릅니다. 이렇게 하면 각 패턴에 제공되는 정보가 일관되고 패턴을 더 쉽게 비교할 수 있습니다.
* **이름**: 패턴에 포함된 통합 유형을 나타내는 패턴 식별자입니다.
* **컨텍스트:** 패턴이 해결하는 전체 통합 시나리오입니다. 컨텍스트는 사용자가 달성하려는 작업과 응용 프로그램이 요구 사항을 지원하기 위해 동작하는 방법에 대한 정보를 제공합니다.
* **문제:** 질문으로 표현하면 패턴이 해결하도록 설계된 시나리오입니다. 이 섹션을 읽어 패턴이 통합 시나리오에 적합한지 이해하십시오.
* **Forces:** 설명된 시나리오를 해결하기 어려운 제약 및 상황입니다.
* **솔루션:** 통합 시나리오를 해결하는 권장 방법입니다.
* **스케치:** 솔루션이 시나리오를 해결하는 방식을 보여주는 UML 순서 다이어그램
* **결과:** 통합 시나리오에 솔루션을 적용하는 방법과 해당 시나리오와 관련된 힘을 해결하는 방법에 대한 세부 사항을 설명합니다. 이 섹션에는 패턴 적용으로 인해 발생할 수 있는 새로운 문제도 포함되어 있습니다.
* **사이드바:** 주요 기술 문제, 패턴 변형, 패턴별 문제 등을 포함하는 패턴과 관련된 추가 섹션입니다.
* **예:** 실제 Salesforce 시나리오에서 디자인 패턴이 사용되는 방식을 설명하는 실제 시나리오입니다. 이 예에서는 통합 목표 및 해당 목표를 달성하기 위해 패턴을 구현하는 방법을 설명합니다.
## 패턴 요약
이 표를 이 문서에 포함된 통합 패턴의 목차로 사용합니다.
### 패턴 목록
외부 애플리케이션은 Data 360 Connect API를 실시간으로 호출하여 현재 고객 데이터를 기반으로 개인화된 작업(예: 충성도 잔액 확인 또는 AI 제안 생성)을 검색하거나 트리거합니다. 맞춤형 웹 또는 모바일 애플리케이션은 Connect REST API를 통해 조화된 Data 360 인사이트를 안전하게 검색하여 엔터프라이즈 또는 파트너 UI 내에 표시합니다.
Data 360은 실시간 이벤트(예: 동의 업데이트, 구매 트리거)를 감지 및 처리하고 연결된 시스템 또는 Salesforce 플로를 즉시 호출하여 다운스트림 작업을 수행합니다.Data 360의 고객 활동 신호(예: 이탈 위험 감지)는 CRM 업데이트, Einstein 점수 호출 또는 보존 여정을 시작하는 등 즉시 실시간 작업을 트리거합니다.
### **패턴 접근 방식**
이 문서의 통합 패턴은 데이터, 프로세스, 시각적 통합의 세 가지 범주로 분류됩니다.
#### **데이터 통합**
Data 360의 데이터 통합 패턴은 Data 360 및 외부 플랫폼 모두에 일관되고 시기적절하며 신뢰할 수 있는 정보를 보관할 수 있도록 시스템 전반의 데이터 이동 및 동기화를 해결합니다. 이러한 패턴은 일반적으로 대규모 대용량 데이터 플로를 처리하고 스키마 일관성, 계보 추적, 마스터링 규칙을 적용하는 관리 파이프라인에 의존합니다.
* **배치 수집 패턴**은 엔터프라이즈 데이터 온보딩의 기본 계층입니다. AWS S3, Azure Blob 또는 Google Cloud Storage와 같은 클라우드 저장소 서비스에서 대량 데이터를 수집하면 ID 확인, 세분화, 분석을 위해 대규모 내역 데이터 집합을 Data 360에 주기적으로 로드할 수 있습니다. 마찬가지로 Sales, Service 또는 Marketing Cloud와 같은 Salesforce Cloud의 대량 수집은 네이티브 커넥터 및 데이터 스트림을 사용하여 CRM 데이터를 통합된 데이터 레이어로 가져오므로 참여 시스템 간 조합 및 연속성을 보장합니다.
* **스트리밍 및 실시간 수집 패턴**은 고속 이벤트 데이터를 캡처함으로써 이를 확장합니다. 수집 API를 통한 이벤트 중심 수집을 통해 외부 시스템에서 고객 활동을 Data 360으로 지속적으로 스트리밍할 수 있습니다. 실시간 웹 및 모바일 동작 수집은 디지털 접점에서 직접 클릭스트림 및 상호작용 데이터를 캡처하여 즉각적인 개인화를 촉진합니다. 스트리밍 API를 통한 거의 실시간 CRM 동기화는 고객 특성과 동의 업데이트가 시스템 전반에 신속하게 반영되도록 보장합니다. Amazon Kinesis 또는 Confluent MSK와 같은 메시징 플랫폼의 이벤트 스트림 수집은 지속적인 고처리량 파이프라인을 지원하여 Data 360이 엔터프라이즈 이벤트 아키텍처와 정렬되도록 합니다.
* **Unified Multi-Org Data Platform with Data Cloud One**은 데이터 통합을 더욱 잘 보여주며, 여러 Salesforce org 및 외부 소스의 데이터를 공통 거버넌스 및 시맨틱 계층 하에 통합할 수 있는 통합 환경을 제공합니다. 이를 통해 조직은 엔터프라이즈 전반의 데이터 일관성, 공유 데이터 모델, 확장 가능한 분석을 달성할 수 있습니다.
* 활성화 단계에서 **배치 활성화 패턴**은 동일한 데이터 통합 원리를 따릅니다. Data 360에서 선별된 세그먼트는 예약된 작업에서 Marketing Cloud, Meta Ads 또는 Google Ads와 같은 다운스트림 마케팅 및 광고 플랫폼으로 내보내며, 여기에서 캠페인 실행을 트리거합니다. 마찬가지로 데이터 집합을 클라우드 저장소 대상으로 내보내 외부 분석 및 데이터 과학 파이프라인을 지원할 수 있습니다. 모든 사용 사례에서 Data 360은 동기화 및 선별된 고객 데이터의 신뢰할 수 있는 단일 데이터 소스로 작동합니다.
#### **프로세스 통합**
Data 360의 프로세스 통합 패턴은 거의 실시간으로 시스템 전반에서 비즈니스 프로세스를 트리거하거나 오케스트레이션하는 작업을 수행합니다. 이러한 패턴을 통해 Data 360은 엔터프라이즈 워크플로에 적극적으로 참여하여 상황에 맞는 응답과 동적 데이터 활성화를 구현할 수 있습니다.
* **온디맨드 API 기반 활성화**는 실시간 참여 시나리오를 지원합니다. Connect API를 통해 사용자 정의 애플리케이션은 운영 프로세스의 일부로 Data 360에서 고객 프로필을 직접 쿼리하거나 활성화할 수 있습니다. 예를 들어, 고객 상호작용 중 에이전트 콘솔이 통합 프로필 인사이트를 검색하는 경우가 이에 해당합니다. **Data Graph API를 통해 전체 고객 프로필 검색**은 고객의 전체 엔티티 그래프에 대한 API 기반 액세스를 기반으로 하는 복합 애플리케이션 및 마이크로서비스를 지원하므로 사전 단계 세그먼트 없이 동적 환경을 제공할 수 있습니다.
* **실시간 데이터 작업**은 즉각적인 대응을 가능하게 하여 이 통합 접근 방식을 한 단계 더 발전시킵니다. 구매, 양식 제출 또는 임계값 이벤트와 같은 고객 신호가 감지되면 Data 360은 CRM 레코드 업데이트, 외부 웹후크 호출 또는 맞춤형 제안 워크플로 시작과 같은 작업을 트리거할 수 있습니다. 이러한 패턴은 실시간 고객 인텔리전스와 자동화된 운영 실행을 연결하는 진정한 프로세스 오케스트레이션을 구현합니다.
#### **가상 통합**
Data 360의 가상 통합 패턴을 사용하면 데이터를 물리적으로 복사하거나 복제하지 않고도 외부 또는 연합 데이터 소스에 실시간으로 액세스할 수 있습니다. 이는 데이터 이동을 최소화하면서 쿼리 시간에 관리되고 최신 정보를 요구하는 엔터프라이즈에 매우 중요합니다.
* **Inbound Zero Copy Data Federation(External Platforms-to-Data 360)**을 사용하면 데이터 웨어하우스 또는 데이터 레이크와 같은 외부 시스템이 안전하고 관리되는 연결(예: Snowflake 보안 데이터 공유)을 통해 Data 360과 데이터 집합을 공유할 수 있습니다. 이렇게 하면 Data 360이 외부 데이터에 가상으로 액세스하고 작업할 수 있으므로 최신 상태를 유지하고 불필요한 복제를 피할 수 있습니다.
* **Outbound Zero Copy Data Sharing(Data 360-to-External Platforms)를 사용하면** Data 360이 안전한 데이터 통합 및 실시간 쿼리 메커니즘을 통해 AI 모델링, 비즈니스 인텔리전스 또는 고급 분석과 같은 외부 사용을 위해 큐레이팅된 데이터 집합을 노출할 수 있습니다.
시스템에 가장 적합한 통합 전략을 선택하는 것은 간단하지 않습니다. 고려해야 할 여러 측면과 사용할 수 있는 도구가 많으며, 일부 도구는 특정 과업에 다른 도구보다 적합합니다. 각 패턴은 각 시스템의 성능, 데이터 용량, 오류 처리, 트랜잭션성 등 특정 중요 영역을 다룹니다.
## 패턴 선택 가이드
통합 패턴을 선택할 때 통합의 전반적인 디자인과 동작을 형성하는 두 가지 기본 질문에 답변하여 시작합니다.
**통합 중인 항목은 무엇입니까? — 프로세스, 데이터 또는 가상 액세스**
이 차원은 통합의 기본 목적을 정의합니다.
* **프로세스 통합**은 비즈니스 워크플로를 오케스트레이션하고 시스템 간의 작업을 조정하는 데 중점을 둡니다.
* **데이터 통합**은 시스템 간의 데이터 동기화, 보강 또는 전파에 중점을 둡니다.
* **가상 통합**은 Salesforce 또는 Data 360에 데이터를 복사하거나 저장하지 않고 실시간으로 외부 데이터에 액세스하는 데 중점을 둡니다.
이 의도를 이해하면 시스템 간에 필요한 오케스트레이션, 데이터 이동, 커플링 수준을 결정하는 데 도움이 됩니다.
* **어떻게 실행해야 합니까? — 동기식 또는 비동기식** 방법은 통합의 실행 모델을 정의합니다.
* **동기식** 통합은 실시간으로 동작하며 차단되는 방식으로, 호출자가 즉각적인 응답을 기대합니다. 일반적으로 사용자 중심 또는 검증 시나리오에 사용됩니다.
* **비동기식** 통합은 비차단 및 분리된 방식으로, 대규모, 장기 실행 프로세스, 재시도 및 대용량 데이터 처리를 위해 설계되었습니다.
이 두 가지 측면(**통합 의도** 및 **실행 타이밍**)은 올바른 통합 패턴을 선택할 수 있는 명확하고 일관된 프레임워크를 제공하며 사용자 경험, 확장성 및 운영 복원성의 균형을 유지합니다.
**참고:** 통합 시 적용되는 측면에 따라 외부 미들웨어 또는 통합 솔루션(예: 엔터프라이즈 서비스 버스)이 필요할 수 있습니다.
### Data 360과 다른 시스템 통합
이 표에는 Salesforce에서 다른 시스템으로 통합할 때 요구 사항에 가장 적합한 패턴을 결정하는 데 도움이 되는 패턴 및 주요 측면이 나열되어 있습니다.
### 미들웨어 용어 및 정의
이 표에는 미들웨어와 관련된 몇 가지 주요 용어와 해당 패턴과 관련된 정의가 나열되어 있습니다.
기간
정의
이벤트 처리
이벤트 처리란 소스 시스템 또는 응용 프로그램에서 발생하는 식별 가능한 이벤트를 수신, 라우팅 및 응답하는 과정을 의미합니다. 미들웨어는 대상 엔드포인트를 식별하고, 이벤트를 전달하며, 필수 비즈니스 작업(예: 로깅, 재시도 또는 다운스트림 서비스 활성화)을 트리거하여 이벤트를 처리합니다. Data 360 아키텍처에서 이벤트 처리는 실시간 데이터 수집, 활성화 트리거, 게시/구독 패턴에 매우 중요합니다. 이벤트는 외부 시스템(Kafka, AWS Kinesis) 또는 Salesforce Platform 이벤트에서 생성될 수 있으며, 즉시 처리하기 위해 미들웨어 또는 Data 360 이벤트 버스에서 라우팅됩니다.
프로토콜 변환
프로토콜 변환을 사용하면 다른 데이터 전송 표준을 사용하여 시스템 간에 통신할 수 있습니다. 중간웨어는 독점 또는 레거시 프로토콜(예: AMQP, MQTT, FTP)을 지원되는 Data 360 프로토콜(REST, gRPC 또는 HTTPS)으로 변환합니다. 이렇게 하면 이기종 시스템 전체에서 상호 운용성이 보장됩니다. Data 360은 기본적으로 프로토콜 변환을 처리하지 않으므로 미들웨어는 메시지를 Data 360 API 형식으로 캡슐화하거나 변환하고 커넥터가 해석할 수 있는 조정 레이어를 제공합니다.
번역 및 변환
번역 및 변환은 하나의 데이터 형식 또는 스키마를 다른 데이터 형식에 매핑하여 상호 운용성을 보장합니다. 미들웨어는 다양한 데이터 페이로드(CSV, XML, JSON)를 Data 360 데이터 모델 개체(DMO) 및 통합 데이터 레이어 개체(UDLO)에 맞추기 위해 이러한 변환을 수행합니다. 이에는 수집 전에 정제, 보강 및 시맨틱 또는 온톨로지 기반 매핑 적용이 포함됩니다. Salesforce는 Data Prep Recipes와 같은 변환 도구를 제공하지만, 복잡한 변환(특히 시맨틱 조화)은 미들웨어에서 처리하는 것이 가장 좋습니다.
대기열 및 버퍼링
대기열 및 버퍼링은 복원력 있는 분리된 통신을 보장하기 위해 비동기식 메시지 전달에 의존합니다. MuleSoft, Kafka 또는 Azure 이벤트 허브 등 미들웨어 플랫폼은 Data 360 또는 다운스트림 시스템이 사용 중이거나 접근할 수 없는 경우 데이터를 일시적으로 저장하는 영구 대기열을 제공합니다. 이를 통해 데이터 손실을 방지하고 거의 실시간 수집 또는 활성화 재시도를 지원합니다. Data 360은 스트리밍 수집 및 플로우 기반 아웃바운드 메시지를 지원하지만, 내구성 있는 대기열 및 보장된 전달은 일반적으로 미들웨어에서 처리됩니다.
동기식 전송 프로토콜
동기식 전송 프로토콜에는 차단, 실시간 요청/응답 작업이 수반됩니다. 진행하기 전에 발신자가 회신을 기다립니다. Data 360에서는 요청 시 API 기반 활성화, 실시간 보강 또는 즉시 응답이 필요한 프로필 조회에 사용됩니다. 미들웨어는 연결 신뢰성을 보장하고 동기식 Data 360 API 호출에 대한 재시도 또는 대체 처리를 관리합니다.
비동기식 전송 프로토콜
비동기식 전송 프로토콜은 배송자가 응답을 기다리지 않고 계속 처리하는 차단되지 않은 분리된 통신을 지원합니다. 미들웨어는 배치 활성화, 스트리밍 수집 및 이벤트 기반 활성화를 위한 비동기 흐름을 처리합니다. 이를 통해 Data 360에서 이벤트 스트리밍 및 거의 실시간 데이터 수집 패턴에 필수적인 높은 처리량과 복원력을 확보할 수 있습니다.
중재 라우팅
중재 라우팅은 시스템 간 복잡한 메시지 흐름을 정의하여 올바른 데이터 또는 이벤트가 올바른 소비자에게 도달하도록 보장합니다. 미들웨어는 중재자 역할을 하며 규칙, 헤더, 콘텐츠 또는 이벤트 유형을 기반으로 라우팅 논리를 처리합니다. Data 360 통합에서 중재를 통해 여러 시스템의 이벤트 및 프로필 업데이트가 데이터 수집 API, 활성화 끝점 또는 외부 소비자에게 제대로 라우팅됩니다. 이렇게 하면 오케스트레이션을 간소화하고 다중 시스템 데이터 동기화를 지원합니다.
프로세스 작전 및 서비스 오케스트레이션
프로세스 코레오그래피와 오케스트레이션은 다중 시스템의 프로세스를 조율합니다. 코레오그래피는 중앙 컨트롤러 없이 공유된 규칙을 기반으로 시스템이 자율적으로 동작하는 비동기 이벤트 중심 흐름을 지원합니다. 오케스트레이션은 서비스 실행을 안내하는 중앙에서 관리하는 흐름입니다. Data 360 아키텍처에서 미들웨어는 시스템 전반에서 수집 및 활성화를 위한 오케스트레이션을 관리하고, Salesforce 워크플로 또는 플로우는 플랫폼 내에서 경량의 코레오그래피를 처리합니다. 미들웨어 계층에서 트랜잭션 조정 또는 상태 관리를 필요로 하는 복잡한 오케스트레이션을 사용하는 것이 좋습니다.
트랜잭션성(암호화, 서명, 신뢰할 수 있는 전달, 트랜잭션 관리)
트랜잭션성은 시스템 전반에서 원자적, 일관적인, 분리된, 내구성 있는(ACID) 작업을 보장합니다. Salesforce와 Data 360은 각자의 경계 내에서는 트랜잭션을 지원하지만, 외부 시스템 간의 분산 트랜잭션은 지원하지 않습니다. 미들웨어는 암호화, 메시지 서명, 롤백, 보상, 신뢰할 수 있는 전달 등 글로벌 트랜잭션 제어를 처리합니다. 미션 크리티컬 데이터 플로우(예: 재무 또는 동의 업데이트)의 경우 미들웨어는 Data 360 및 외부 시스템 전반에서 종단 간 무결성과 복구를 보장합니다.
라우팅
라우팅은 구성 요소 간에 메시지 또는 데이터의 제어 흐름을 지정합니다. 헤더, 콘텐츠 유형, 우선순위 또는 규칙을 기반으로 할 수 있습니다. 미들웨어는 Data 360과 관련된 이벤트 및 활성화에 대한 라우팅 논리를 처리합니다(예: 보강된 대상 세그먼트를 다양한 다운스트림 시스템(광고 플랫폼, 웨어하우스, CRM 앱)으로 이동). 라우팅은 Salesforce(Apex, 플로우) 내에서 구현할 수 있지만, 확장성, 유연성 및 거버넌스 면에서 미들웨어 라우팅이 선호됩니다.
Extract, Transform, and Load (ETL)
ETL은 소스 시스템에서 데이터를 추출하고 일관된 스키마로 변환한 후 대상(예: Data 360)에 로드하는 과정입니다. 미들웨어 또는 ETL 도구가 데이터 수집 전에 이러한 작업을 처리합니다. Data 360은 API, 커넥터 또는 대량 수집 파이프라인을 통해 ETL 출력을 수신할 수 있으며, 실시간 동기화를 위해 Change Data Capture(CDC)를 지원합니다. 미들웨어 ETL 프로세스는 레거시 시스템을 통합하고 Data 360에서 통합하기 전에 데이터 품질을 보장하는 데 필수적입니다.
긴 폴링
긴 폴링(Comet 프로그래밍)은 실시간 업데이트를 위해 시스템 간 개방형 통신을 유지하는 방법입니다. 클라이언트가 요청을 보내고 서버가 이벤트가 발생할 때까지 요청을 유지한 후 응답하고 새 연결을 다시 엽니다. Salesforce는 이벤트 중심 데이터 동기화를 위해 스트리밍 API 및 CometD/Bayeux 프로토콜에서 이를 사용합니다. 미들웨어는 이러한 이벤트를 구독하고 Data 360에 전달하여 실시간 수집 또는 활성화 트리거를 실행함으로써 엔터프라이즈 시스템 전반에서 대기 시간을 최소화할 수 있습니다.
## 데이터 수집 패턴--데이터 인바운드
데이터 수집은 Salesforce Data 360의 데이터 수명 주기에서 가장 중요한 첫 번째 단계입니다. 이를 통해 여러 외부 시스템(CRM, ERP, 웹, 모바일 또는 타사 API)의 원시 정보가 플랫폼에 들어와 통합 고객 보기의 일부가 됩니다.
올바른 수집 패턴은 비즈니스의 요구 사항에 따라 다릅니다:
* **데이터 볼륨** — 한 번에 얼마나 많은 데이터가 이동하는지
* **대기 시간** \- 데이터가 얼마나 최신이어야 하는지
* **소스 시스템 기능** — 시스템이 데이터를 연결하고 전달하는 방법
Data 360은 대용량 로드를 위한 배치, 실시간 업데이트를 위한 스트리밍, 트랜잭션 즉각성을 위한 이벤트 기반, 외부 데이터를 물리적으로 이동하지 않고 즉시 액세스할 수 있는 Zero Copy 수집과 같은 여러 수집 모드를 지원합니다.
이러한 패턴을 함께 사용하면 구매 이벤트, 클릭 스트림 로그 또는 충성도 업데이트 등 모든 고객 신호가 신뢰할 수 있는 분석 및 AI 기반 환경을 제공하기 위해 적절한 시간 범위 내에 Data 360에 효율적이고 안전하게 유입됩니다.
### 배치 수집 패턴
배치 수집 패턴은 Data 360에서 대규모 데이터 온보딩의 기반입니다. 데이터가 대량으로 처리되는 시나리오에 최적화되어 있으며, 일반적으로 일정에 따라 또는 정기적으로 처리됩니다.
이러한 패턴은 다음과 같은 경우에 가장 적합합니다.
* 기존 엔터프라이즈 레코드를 사용하여 플랫폼을 초기화하기 위한 **내역 데이터 로드**
* ERP, 데이터 웨어하우스 또는 독점 데이터베이스와 같은 레코드 시스템과 **정기적으로 동기화**
* **실시간 신선도가 중요하지 않지만** 일관성, 완전성 및 감사 가능성이 중요하지 않은 사례 사용
배치 수집은 예측 가능한 성능과 운영의 단순성을 제공하므로, 구조화된 데이터 또는 반구조화된 데이터의 테라바이트를 관리하는 엔터프라이즈에게 신뢰받는 선택입니다.
Data 360은 기본적으로 배치 수집을 지원하는, 프로덕션 환경에서 바로 사용할 수 있는 **[커넥터](https://help.salesforce.com/s/articleView?id=data.c360_a_sources_targets.htm&type=5)**를 제공합니다. 이러한 커넥터는 통합 설정을 간소화하고, 사용자 정의 ETL 개발을 줄이며, 모든 가져오기에 걸쳐 데이터 품질과 보안을 보장합니다. 아래 표는 엔터프라이즈 규모의 배치 수집에 가장 많이 사용되는 커넥터를 보여줍니다.
#### 클라우드 저장소에서 대량 데이터 수집
##### 컨텍스트
이 패턴은 CSV 또는 Parquet 파일과 같은 대량의 구조화된 데이터와 중앙 집중식 데이터 레이크 또는 예약된 파일 삭제에서 구조화되지 않은 자산을 수집하는 것과 관련된 엔터프라이즈 시나리오를 위해 고안되었습니다. 일반적으로 데이터 소스에는 Amazon S3, Google Cloud Storage(GCS), Microsoft Azure Blob Storage와 같은 클라우드 저장소 플랫폼이 포함되며, 여기서 파일은 업스트림 데이터 파이프라인 또는 배치 내보내기의 일부로 주기적으로 전달됩니다.
##### 문제
조직이 거버넌스, 확장성 또는 성능을 희생하지 않으면서, 대규모 파일 기반 데이터 집합을 기본 클라우드 저장소 플랫폼에서 예측 가능한 반복 일정에 따라 Data 360으로 신뢰할 수 있고 안전하며 높은 처리량으로 수집하는 프로세스를 구축하려면 어떻게 해야 합니까?
##### Force
대규모 파일 기반 데이터 집합을 Data 360에 수집하는 것은 단순한 데이터 전송 작업이 아니라, 규모, 거버넌스, 플랫폼 제약에 의해 결정되는 아키텍처적 도전 과제입니다.
**데이터 용량 및 규모 :** Data 360 수집 커넥터는 임의의 대량 처리량이 아닌 신뢰성과 거버넌스를 위해 최적화되어 있습니다. 예를 들어, Amazon S3 커넥터는 개체당 최대 1억 행 또는 50 GB까지 지원하며, 두 제한 중 먼저 도달하는 쪽이 적용됩니다. 과거 데이터 집합이 수십억 개의 레코드에 달하는 엔터프라이즈의 경우, 이 한계는 주요 설계 제약이 됩니다. 단일 파일을 그대로 옮기는 방식은 곧 비현실적으로 변하므로, 커넥터 제한에 도달하지 않고 확장성을 확보하려면 지능적인 데이터 분할, 청크 처리, 오케스트레이션 전략이 필요합니다.
**스키마 정의 및 유지 보수:** Data 360은 시맨틱 및 구조적 무결성을 보장하기 위해 모든 수집 파이프라인에 대해 명시적인 스키마 정의를 요구합니다. S3 수집의 경우 csv 파일은 열 머리글과 단일 대표 데이터 행을 정의해야 합니다. 이 파일은 소스 시스템, 즉 클라우드 저장소 및 Data 360 간의 정규 계약 역할을 합니다. 필드 이름, 데이터 유형 또는 인코딩의 정렬 오류로 인해 수집 실패 또는 자동 데이터 손상이 발생할 수 있습니다. 이 스키마 파일을 버전 관리에서 유지하고 CI/CD 또는 데이터 거버넌스 워크플로를 통해 유효성 검사를 적용하는 것은 프로덕션 환경에서의 모범 사례가 됩니다.
**엄격한 명명 규칙:** Data 360은 메타데이터 그래프 전체에서 일관성을 유지하기 위해 **격리된 개체 및 필드 명명 규칙**을 적용합니다.
* 개체 이름은 문자로 시작해야 하며 문자, 숫자 또는 밑줄만 포함할 수 있습니다.
* 필드 이름은 같은 패턴을 따라야 합니다.
이러한 규칙을 위반하는 파일(예: 공백, 특수 문자 또는 지원되지 않는 기호가 포함된 필드)은 수집하는 동안 스키마 유효성 검사에 실패합니다. 기업은 들어오는 파일 구조를 비활성화하고 정규화하기 위해 **처리 데이터 위생 프로세스를** 구현해야 합니다.
**인증 및 보안 조치:** 외부 저장소에 대한 각 연결은 엔터프라이즈급 보안 및 규정 준수 표준을 준수해야 합니다.
* 인증은 일반적으로 AWS 액세스/암호 키 또는 연합 ID 공급자(IdP) 인증을 통해 처리됩니다.
* 지정된 저장소 경로에 대한 읽기 액세스만 허용하도록 최소 권한을 적용하려면 IAM 역할의 범위가 지정되어야 합니다.
* 보안 액세스를 위해 아웃바운드 IP 주소를 소스 시스템의 허용 목록에 직접 추가해야 합니다.
이러한 계층형 컨트롤은 모든 파일 전송이 제로 트러스트, 감사 가능한 경계 내에서 작동하도록 보장하며, 대규모 수집에 필요한 유연성과 엔터프라이즈 규정 준수의 균형을 맞춥니다.
##### 솔루션
이 표에는 이 통합 문제에 대한 솔루션이 포함되어 있습니다.
솔루션
맞춤
댓글
기본 클라우드 저장소 커넥터 사용(Amazon S3, Google Cloud Storage, Azure Blob Storage)
최대
Data 360에 대규모 반복 파일 기반 수집을 위한 가장 신뢰할 수 있는 권장 패턴입니다. 기본 커넥터는 Data 360의 데이터 레이크 개체(DLO)로 직접 관리형 인증, 스키마 매핑, 안전한 데이터 이동을 제공합니다. 대기 시간이 중요하지 않은 예약된 배치 로드에 적합합니다(예: 시간별 또는 매일 예약).
대규모 데이터 집합 처리(커넥터 제한 초과)
사전 처리를 사용하는 경우 최고
각 커넥터는 수집 제한을 적용합니다(예: S3: 100M 행 또는 개체당 50 GB). 더 큰 데이터 집합의 경우 ETL 사전 처리 단계를 구현하여 해당 임계값 아래에 속하는 더 작은 파일/폴더로 데이터를 분할합니다. 그런 다음, 여러 데이터 스트림을 구성하여 각 파티션을 병렬로 수집하고 Data 360 내의 배치 데이터 변환에서 추가 노드를 사용하여 파티션을 통합 데이터 집합으로 다시 결합합니다.
보안 및 거버넌스
최대
모든 커넥터는 클라우드 네이티브 메서드(IAM 역할, 서비스 계정 또는 액세스 키)를 통한 보안 인증을 지원합니다. 추가 제어를 위해 클라우드 공급자의 허용 목록을 통해 Data 360 IP 범위에 대한 액세스를 제한합니다. 데이터는 암호화된 채널을 통해 전송되며, 수집하는 동안 파일이 임시로 보안된 스테이징 계층에 저장됩니다.
사용하지 않을 경우
최적화되지 않음
이 패턴은 다음에 적합하지 않습니다.
실시간 또는 거의 실시간 이벤트 수집
트랜잭션, 저 대기 시간 통합.
스키마 정의 기능이 없는 소스의 경우, 대신 스트리밍 커넥터(Kafka, Kinesis, Pub/Sub) 또는 Zero Copy 데이터 연합을 사용하십시오.
##### 스케치
이 다이어그램은 클라우드 저장소에서 Data 360으로 데이터를 수집하는 단계 순서를 보여줍니다.
이 시나리오의 경우:
* 관리자는 Data 360 설정 인터페이스(인증, 버킷 세부 사항, IAM 역할, 화이트리스트 지정)를 통해 클라우드 저장소에 대한 연결을 구성합니다.
* Data Cloud 설정 인터페이스는 클라우드 저장소 플랫폼을 사용하여 인증하여 자격 증명 및 액세스를 확인합니다.
* 관리자가 Data 360에서 데이터 스트림을 만들고 데이터 스트림을 클라우드 저장소의 개체/폴더에 연결하고 수집 일정을 정의합니다.
* 일정 트리거에서 데이터 스트림은 클라우드 저장소 플랫폼에서 소스 파일(예: CSV, Parquet)을 요청합니다.
* Cloud Storage Platform은 필수 유효한 schema_sample.csv 및 명명 규칙을 준수하는 기타 데이터 파일을 비롯한 파일을 전달합니다.
* 데이터 스트림은 Data 360 내 내부 내부 스테이징 환경에 파일을 전송합니다.
* Data 360 파이프라인은 파일을 처리합니다: schema_sample.csv의 스키마 정의를 사용하여 구조와 필드 이름을 검증하고, 수집 임계값(파일당 1억 행/50GB)을 초과하는 경우 로드를 분할합니다. 대용량 파일이 감지된 경우 사전 처리 파티션 분할 단계(다음 실행 시 관리자에게 알림)가 외부에서 수행됩니다.
* 레코드는 스테이징에서 데이터 레이크 개체(DLO)로 가져옵니다.
* 필요한 경우 데이터가 분할된 경우 배치 데이터 변환 추가 노드를 사용하여 여러 DLO를 결합합니다.
* Data 360은 성공/실패를 기록하고 모니터링을 위해 상태를 업데이트하며 데이터를 매핑, 조합 및 통합할 준비가 되었음을 나타냅니다.
##### 결과
이 패턴을 적용하면 엔터프라이즈 클라우드 스토리지 플랫폼의 구조화된 파일 또는 비정형 파일을 Data 360으로 안전하게, 일정에 따라 대규모로 수집할 수 있습니다. 이 프로세스는 자동화되고 확장 가능하며 복원성이 뛰어난 방식으로 Customer 360 데이터 모델에 조합 및 매핑을 위한 기초가 되는 DLO(데이터 레이크 객체)로 원시 데이터를 전달합니다.
###### 수집 메커니즘
수집 메커니즘은 Data 360 내에 정의된 커넥터 및 예약 전략에 따라 다릅니다.
수집 메커니즘
설명
기본 클라우드 저장소 커넥터(Amazon S3, GCS, Azure)
엔터프라이즈의 클라우드 데이터 레이크에서 CSV 또는 Parquet 형식의 파일을 직접 수집하는 것이 좋습니다. 이러한 커넥터는 증분 및 전체 새로 고침 일정을 지원합니다. 예를 들어, 은행은 S3 버킷에서 DLO로의 고객 트랜잭션 파일의 일일 동기화를 구성할 수 있습니다.
분할된 파일 전략
매우 큰 데이터 집합(개체당 1억 개 이상의 행 또는 50GB 이상)의 경우 데이터가 더 작은 논리 집합(예: 월 또는 지역별)으로 분할됩니다. 각 파티션은 별도의 데이터 스트림으로 관리되고 나중에 배치 데이터 변환의 추가 노드를 사용하여 다시 결합됩니다.
자동 예약 동기화
Data 360은 수집 작업을 자동으로 트리거하는 선언적 스케줄러(시간별, 일별 또는 사용자 정의 주기)를 제공하여 수동 개입 없이 데이터의 최신 상태를 유지합니다.
###### 오류 처리 및 복구
오류 처리 및 복구는 대용량 수집 작업의 신뢰성을 보장하는 데 매우 중요합니다.
* **오류 감지:** 각 데이터 스트림 실행은 Data 360 모니터링에서 수집 오류(예: 스키마 불일치, 파일 손상 또는 명명 위반)를 기록합니다. 관리자는 실패한 배치를 검토하고 다시 처리할 수 있습니다.
* **복구 메커니즘**: Data 360은 실패한 배치가 이전 수집을 손상하지 않도록 체크포인팅을 유지합니다. 소스 문제를 수정한 후 형식이 잘못된 CSV 파일에 대해 재시도를 구성할 수 있습니다.
* **스키마 검증**: schema_sample.csv 파일은 데이터 유형 및 구조를 정의합니다. 모든 변경 사항은 실행 간에 조용한 스키마 드리프트를 방지하기 위해 유효성 검사를 트리거합니다.
###### 멱등 설계 고려 사항
수집은 설계상 멱등성을 가집니다. 동일한 파일을 다시 처리해도 레코드가 중복되지 않습니다.
주요 전략은 다음과 같습니다.
* **파일 지문:** Data 360은 체크섬을 계산하여 이전에 처리된 파일을 식별하고 건너뛰습니다.
* **트랜잭션 수집:** 데이터는 임시로 저장되고, 모든 레코드가 성공적으로 처리된 후에만 DLO에 커밋됩니다.
* **추가 대체:** 비즈니스 논리에 따라 스트림이 대상 DLO에 추가되거나 완전히 대체될 수 있으므로 결정적 결과를 얻고 일부 데이터 겹침을 방지할 수 있습니다.
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **인증 및 권한 부여:** 커넥터는 Salesforce의 보안 통합 프레임워크를 사용하여 암호를 노출하지 않고 인증에 명명된 자격 증명 및 외부 자격 증명을 활용합니다.
* **암호화:** 데이터는 전송 시(TLS 1.2+) 및 유지 시(AES-256) 암호화됩니다.
* **네트워크 제어:** 소스 저장소 시스템(예: S3 버킷)은 Data 360 IP를 허용 목록으로 지정해야 합니다.
* **규정 준수:** 고객 관리 키(CMK)와 페어링된 경우 GDPR, HIPAA, FFIEC 지침과 같은 엔터프라이즈 데이터 보호 프레임워크를 지원합니다.
* **감사 가능성:** 모든 수집 작업 및 자격 증명 액세스는 추적 가능성 및 규정 준수 보고를 위해 기록됩니다.
##### 링크 모음
###### 시기
시기는 수집 일정 및 데이터 용량에 따라 다릅니다.
* 대규모 엔터프라이즈 데이터 집합(행 100만 개 이상)의 경우 병렬 수집을 위해 파티션이 필요할 수 있습니다.
* 일반적인 수집 지연 시간은 파일 크기 및 변환 복잡성에 따라 **몇 분에서 몇 시간**까지 다양합니다.
* 거의 실시간 수집을 위해 Data 360 스트리밍 또는 API 기반 커넥터가 파일 기반 모델을 보완할 수 있습니다.
###### 데이터 용량
* 대용량 정기 배치 수집에 가장 적합합니다.
* S3 커넥터를 통해 처리되는 각 개체는 최대 1억 개의 행 또는 파일당 50GB를 지원합니다.
* 페타바이트 규모의 시스템의 경우 데이터 분할 및 다중 스트림 오케스트레이션을 사용합니다.
###### 끝점 기능 및 표준 지원
끝점에 대한 기능 및 표준 지원은 선택한 솔루션에 따라 다릅니다.
커넥터 유형
끝점 요구 사항
Amazon S3 커넥터
적절한 IAM 정책과 스키마를 정의하는 schema\_sample.csv 파일이 있는 S3 버킷
Google Cloud 스토리지 커넥터
일관된 명명 규칙을 사용하여 서비스 계정 자격 증명 및 버킷 액세스
Azure Storage 커넥터
키 또는 SAS 토큰 기반 인증에 액세스합니다. Blob 또는 폴더 구조는 Data 360 규칙을 따라야 합니다.
###### 상태 관리
상태는 데이터 스트림 및 마지막으로 성공적으로 실행된 타임스탬프를 통해 추적됩니다.
* Data 360은 동기화 상태 및 오프셋을 자동으로 유지하므로 후속 실행 시 신규 또는 수정된 파일만 처리됩니다.
* 외부 ETL 도구와 통합할 경우 중복을 방지하기 위해 고유한 파일 식별자(예: UUID 또는 타임스탬프)를 사용하는 것이 좋습니다.
###### 복잡한 통합 시나리오
고급 엔터프라이즈 아키텍처에서 이 패턴은 다음과 통합할 수 있습니다.
* **Middleware ETL 파이프라인(예: Informatica, MuleSoft):** Data 360으로 전달하기 전에 사전 처리, 검증 및 파일 분할을 오케스트레이션합니다.
* **AI/ML 워크플로:** 처리된 DLO 데이터는 DMO를 통해 교육 환경을 모델링하거나 Data 360 활성화 타겟을 통해 RAG 인덱스를 게시할 수 있습니다.
* **트랜잭션 시스템:** 조화된 DMO는 데이터 작업 또는 플랫폼 이벤트를 통해 Salesforce CRM 또는 외부 시스템에서 다운스트림 업데이트를 트리거할 수 있습니다.
##### 예제
글로벌 금융 기관은 고객 및 트랜잭션 데이터를 AWS S3 데이터 레이크에 저장하며, 여기서 분할된 Parquet 파일은 지역별로(예: 미국, EU, APAC) 매일 밤 생성됩니다. 데이터 아키텍처 팀은 Data 360에서 각각 지역 폴더에 연결된 여러 데이터 스트림을 구성하며, 모든 파티션에서 일관된 헤더와 데이터 유형을 보장하기 위해 공유 schema_sample.csv 파일을 사용합니다. 야간 수집 일정이 데이터를 DLO에 자동으로 로드한 후, 배치 데이터 변환이 모든 지역 파티션을 하나의 통합 Customer_Transactions_DLO에 추가합니다. 이 조화된 데이터 집합은 Customer 360 데이터 모델에 매핑되어 다운스트림 분석 및 AI 활성화를 지원합니다. 이 접근 방식은 기존 데이터 레이크에서 자동화되고 신뢰할 수 있는 수집을 제공하고, 엔터프라이즈 IT 정책에 따라 강력한 인증 및 암호화를 적용하며, 향후 확장 및 스키마 발전을 지원하는 확장 가능한 모듈식 기반을 제공합니다.
#### Salesforce Clouds에서 대량 데이터 수집
##### 컨텍스트
Data 360의 기본 및 중요한 사용 사례는 Salesforce 에코시스템 전반에서 고객 데이터를 통합하는 것입니다. 이 패턴은 핵심 Salesforce Platform(Sales Cloud 및 Service Cloud(전체적으로 Salesforce CRM) 및 Marketing Cloud Engagement)에서 기본적으로 데이터를 수집하는 작업을 다룹니다. 소스에는 표준 및 사용자 정의 CRM 개체(예: 계정, 연락처, 사례, 기회)와 참여 이벤트, 이메일 전송, 추적 데이터를 보관하는 Marketing Cloud 참여 데이터 확장이 포함됩니다.
##### 문제
조직은 어떻게 표준 및 사용자 지정 CRM 개체와 Marketing Cloud Engagement 데이터 확장을 Data 360에 효율적이고 신뢰할 수 있게 수집하여 데이터를 통합 고객 프로필(ID 확인, Customer 360)을 구축하는 데 사용할 수 있으며 성능, 규제를 유지하고 소스 시스템의 중단을 최소화할 수 있습니까?
##### Force
네이티브 커넥터는 작업을 간소화하지만, 여러 운영상 및 아키텍처상의 요인이 관리되어야 합니다.
* **전체 소스 권한:** 전용 연결 사용자(통합 계정)에게 적절한 개체 및 필드 수준 읽기 권한이 있어야 합니다. 필수 권한 집합 할당 실패(예: 사전 구축된 Data 360 커넥터 권한 집합)는 수집 실패의 일반적인 원인입니다.
* **데이터 새로 고침 모드 및 비용:** 커넥터는 전체 및 델타/증분 새로 고침 모드를 지원합니다. 전체 새로 고침은 성능과 크레딧 사용에 부담을 주며, 델타 추출은 부하를 줄이지만 소스 시스템의 신뢰할 수 있는 변경 추적에 의존합니다.
* **사용자 정의 스키마 및 필드 매핑:** CRM 인스턴스에는 사용자 정의 개체/필드가 포함되는 경우가 많습니다. 매핑 오류 또는 시맨틱 드리프트를 방지하기 위해 사용자 정의 필드(이름, 유형)에 대한 정확한 스키마 매핑 및 처리가 필요합니다.
* **스타터 데이터 번들 대 사용자 정의 매핑:** 스타터 데이터 번들은 일반적인 개체/필드를 미리 선택하여 온보딩을 가속화하지만 사용자 정의가 많은 조직은 맞춤형 스트림 정의가 필요합니다.
* **처리량 및 API 제한:** 소스 조직 API 제한 및 Marketing Cloud 추출 비율은 새로 고침을 얼마나 적극적으로 예약할 수 있는지 제한합니다.
* **데이터 위생 및 명명 규칙:** 다운스트림 매핑 문제를 방지하기 위해 수집하기 전에 소스 필드 이름, null 동작 및 데이터 유형을 정규화해야 합니다.
* **보안 및 최소 권한:** 커넥터는 보안 인증에 의존하며 최소 권한 IAM 패턴, 감사 가능성, 네트워크 제어를 준수해야 합니다.
##### 솔루션
이 표에는 이 통합 문제에 대한 솔루션이 포함되어 있습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
솔루션 맞춤
최대
Data 360\에서 기본 Salesforce CRM 커넥터 및 Marketing Cloud 참여 커넥터를 사용합니다. 표준 사용 사례의 경우 스타터 데이터 번들로 시작하고 온보딩을 가속화합니다. 사용자 정의 또는 도메인별 데이터 모델에 수동 스트림 사용자 정의를 사용합니다.
고도로 사용자 정의된 CRM 인스턴스 처리
매핑 워크숍과 함께 사용할 때 가장 효과적입니다.
스타터 번들을 기준으로 처리하고 매핑 워크숍을 실시하여 다음을 식별합니다. 사용자 정의 개체 및 관계. 수식 또는 계산된 필드입니다. 관리 패키지 확장. 복잡한 수식 필드의 경우, API 부하를 최소화하기 위해 사전 스테이지 ETL 또는 Data 360 변환 내에서 값을 계산합니다.
사용하지 않을 경우
최적화되지 않은 시나리오
다음과 같은 경우 이 패턴을 피하십시오. 빈번하거나 실시간 이벤트 수집이 필요한 경우에는 이 패턴 대신 스트리밍 커넥터, 플랫폼 이벤트 또는 제로 카피 연합을 사용하십시오. 소스 조직은 API 용량이 제한되어 있어, 스로틀링이나 대기열 지연 없이 예약 추출을 지속할 수 없습니다.
보안 및 거버넌스
필수 제어
최소 권한 원칙 - 최소 읽기 액세스 권한이 있는 전용 통합 사용자를 사용합니다. 조직 전체 관리자를 사용하지 마십시오. 인증 — OAuth 2.0 및 연결된 앱을 사용하고 클라이언트 암호를 정기적으로 순환하고 새로 고침 토큰 사용을 모니터링합니다. 감사 및 추적 가능성 — 모든 수집 실행, 스키마 변경 및 커넥터 이벤트 기록 감사 준비를 위해 SIEM 또는 규정 준수 시스템에 로그를 전달합니다. 데이터 분류 — 수집 후 즉시 CEDAR 정책을 사용하여 PII/PHI 태그 지정 및 특성 기반 액세스 제어(ABAC)를 적용하여 마스킹, 동의, 다운스트림 규정 준수를 적용합니다.
##### 스케치
이 다이어그램은 클라우드 저장소에서 Data 360으로 데이터를 수집하는 단계 순서를 보여줍니다.
이 시나리오의 경우:
* **관리자가 소스 조직(들)에서 통합 사용자를 프로비저닝**한 후, 커넥터 권한 집합을 할당합니다.
* 관리자는 Data 360 설정에서 **커넥터를 구성합니다**(OAuth/연결된 앱을 통해 Salesforce CRM 및 Marketing Cloud에 연결).
* **관리자가 데이터 스트림을 생성합니다** 개체 및 데이터 확장을 선택하고, 전체 또는 델타 새로 고침을 선택하며, 일정을 설정합니다.
* **예약 실행 시** Data 360은 소스에서 스키마 및 델타 토큰을 요청합니다.
* **소스 시스템은 레코드를 반환합니다** (델타 또는 전체 페이로드). Marketing Cloud에서 추출을 제공하고 CRM에서 JSON/쿼리 결과를 반환할 수 있습니다.
* **Data 360은 파일을 내부 보안 스테이징 영역에 저장하고** 매핑된 스키마를 기준으로 검증합니다.
* **유효성 검사에 실패하면** 수집 로그에 오류를 기록하고 관리자에게 경고하며 커밋을 중지합니다. 확인에 성공하면 Data 360이 대상 DLO에 레코드를 원자식으로 커밋합니다.
* **모니터링 및 감사 로그**는 계보, 실행 기간, 행 수 및 자격 증명 사용량에 따라 업데이트됩니다. 임계값 또는 오류가 발생하면 관리자에게 경고가 발송됩니다.
##### 결과
핵심 고객 관계 및 마케팅 참여 데이터는 Data 360에 DLO(데이터 레이크 개체)로 수집됩니다. 결과:
* 프로필, 사례, 기회, 이메일/참여 메트릭을 포함하는 **통합 데이터 집합**
* **ID 확인 기초** 및 통합 개인 프로필 구축
* 관리 및 감사 가능성을 유지하면서 다운스트림 조합, 보강, AI 모델링 및 활성화에 대한 **운영 준비 상태**
###### 수집 메커니즘
수집 메커니즘은 Data 360 내에 정의된 커넥터 및 예약 전략에 따라 다릅니다.
메커니즘
사용하는 경우
Salesforce CRM 커넥터(네이티브)
표준/사용자 정의 CRM 개체에 가장 적합하며, 전체 및 델타 새로 고침을 지원합니다.
Marketing Cloud 참여 커넥터(네이티브)
데이터 익스텐션, 발송, 추적 추출에 가장 적합하며, 전체/델타 모드를 지원합니다.
스타터 데이터 번들
일반적인 세일즈/서비스/마케팅 개체에 대한 온보딩을 가속화합니다.
사용자 정의 스트림 + 사전 처리
복잡한 변환 또는 심각한 스키마 정규화가 필요한 경우 사용합니다.
###### 오류 처리 및 복구
오류 처리 및 복구는 대용량 수집 작업의 신뢰성을 보장하는 데 매우 중요합니다.
* **실행별 로그:** 각 데이터 스트림 실행은 성공/실패 세부 사항 및 행 수준 오류를 제공합니다.
* **재시도 및 체크포인트:** 실패한 실행은 소스 또는 스키마 문제를 수정한 후 다시 시도할 수 있습니다. Data 360은 스테이징 및 원자 커밋 시맨틱스를 사용합니다.
* **경고:** 스키마 드리프트, 반복 실패 또는 델타 시퀀스 간격에 대한 경고를 구성합니다.
###### 멱등성 설계 고려 사항
수집은 설계상 멱등성을 보장합니다. 동일한 데이터를 다시 처리해도 레코드가 중복되지 않습니다.
주요 전략은 다음과 같습니다.
* **변경 감지:** 델타 추출은 소스 시스템 변경 지표(LastModifiedDate / 시스템 변경 데이터 수집)에 의존합니다. 소스가 신뢰할 수 있는 타임스탬프/플래그를 제공하는지 확인합니다.
* **중복 제거:** 고유한 비즈니스 키(예: Contact.ExternalId)를 사용하여 DLO에 중복 제거 또는 업서트합니다.
* **트랜잭션 커밋:** 레코드는 스테이징된 후, 배치 처리가 성공적으로 완료되면 커밋됩니다.
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **인증 및 인가:** 커넥터는 Salesforce의 보안 통합 프레임워크를 사용하여 암호를 노출하지 않고 인증에 명명된 자격 증명 및 외부 자격 증명을 활용합니다.
* **암호화:** 데이터는 전송 중(TLS 1.2+) 및 저장 시(AES-256) 암호화됩니다.
* **네트워크 제어:** 소스 저장소 시스템(예: S3 버킷)은 Data 360 IP를 허용 목록으로 지정해야 합니다.
* **규정 준수 정렬:** 고객 관리 키(CMK)와 페어링된 경우 GDPR, HIPAA, FFIEC 지침과 같은 엔터프라이즈 데이터 보호 프레임워크를 지원합니다.
* **감사 가능:** 모든 수집 작업 및 자격 증명 액세스는 추적 및 규정 준수 보고를 위해 기록됩니다.
##### 링크 모음
###### 시기
시기는 수집 일정 및 데이터 용량에 따라 다릅니다.
* **이상적인 주기**는 비즈니스 요구에 따라 다르며, 거의 실시간 마케팅 트리거의 경우에는 매시간, 대규모 조정의 경우에는 매일 밤이 적합합니다.
* **델타 모드**는 부하와 비용을 줄여주며, 전체 새로 고침은 더 무거워서 초기 로드나 주요 스키마 변경 시에 사용됩니다.
###### 데이터 용량
* CRM 커넥터는 트랜잭션 및 중간 볼륨 데이터 집합(레코드 수백만 개)에 최적화되어 있습니다.
* 매우 큰 이력 데이터의 경우, 단계화된 ETL을 고려하여 데이터를 분할하고 단계별로 로드하는 것이 좋습니다.
###### 끝점 기능 및 표준 지원
끝점에 대한 기능 및 표준 지원은 선택한 솔루션에 따라 다릅니다.
커넥터
끝점 요구 사항
Salesforce CRM 커넥터
소스 조직은 연결된 앱, OAuth 토큰 및 읽기 권한이 있는 전용 통합 사용자를 허용해야 합니다.
Marketing Cloud 커넥터
Marketing Cloud API 자격 증명 또는 설치된 패키지. 데이터 확장은 추출/API를 통해 데이터를 노출해야 합니다.
###### 상태 관리
* **커넥터 상태:** 데이터 스트림은 마지막으로 성공한 동기화 타임스탬프 및 델타 오프셋을 유지합니다.
* **마스터 키 전략:** 일관된 비즈니스 식별자(외부 ID)를 선호하여, 다운스트림 조정 및 업서트가 결정적으로 이루어지도록 합니다.
###### 복잡한 통합 시나리오
고급 엔터프라이즈 아키텍처에서 이 패턴은 다음과 통합할 수 있습니다.
* **하이브리드 토폴로지:** CRM 수집과 스트리밍(플랫폼 이벤트)을 결합하여 거의 실시간으로 업데이트를 제공합니다.
* **중간웨어 오케스트레이션:** 복잡한 오케스트레이션, 보강 또는 변환 사전 수집이 필요한 경우 MuleSoft 또는 ETL 도구를 사용합니다.
* **활성화 피드백 루프:** 조화된 DMO는 데이터 작업 또는 플랫폼 API를 통해 소스 시스템에 대한 다운스트림 업데이트를 트리거할 수 있습니다(SoD 제어에 주의).
##### 예제
다국적 소매업체는 계정, 연락처, 사례, 기회, Marketing Cloud 참여 메트릭을 Data 360에 통합하여 통합 고객 보기를 만듭니다. 스타터 데이터 번들은 핵심 세일즈 및 서비스 개체를 초기화하고, 팀은 Loyalty_Membership__c 및 Customer_Tier__c와 같은 사용자 정의 필드를 사용하여 모델을 확장하여 충성도 컨텍스트를 수집합니다. CRM 데이터 스트림은 델타 모드에서 매시간 실행되며, Marketing Cloud Engagement는 참여 이벤트에 대한 델타 추출을 사용하여 매일 동기화합니다. 해당 데이터 집합은 DLO 및 ID 확인을 통해 처리되므로 CRM 및 참여 신호를 결합하여 개인 설정 및 다운스트림 AI 모델을 강화하는 통합 고객 프로필이 생성됩니다.
#### 스트리밍 및 실시간 수집 패턴
이 패턴들은 밀리초 단위가 중요한 시나리오, 즉 고객 상호작용, 거래 또는 신호가 즉각적인 인사이트나 조치를 유발해야 하는 상황을 위해 설계되었습니다. 이는 기존의 예약된 배치 수집을 넘어 이벤트 중심 데이터 흐름을 활성화하여, 정보가 생성되는 즉시 처리되도록 합니다.
Salesforce Data 360 에코시스템에서 "실시간"은 단일 모드가 아니라 다양한 대기 시간 모델의 연속체입니다. 한쪽 끝에는 레코드 시스템의 업데이트(예: CRM 또는 ERP)가 몇 초 또는 몇 분 이내에 Data 360에 반영되는 거의 실시간 동기화가 있습니다. 다른 쪽 끝에는 클릭, 구매 또는 모바일 상호 작용과 같은 클라이언트측 동작 신호가 밀리초 단위로 수집되고 활성화되는 실제 실시간 이벤트 캡처가 있습니다.
아키텍트의 경우, 그 구분은 단순 의미상의 차이만을 넘어서 중요한 차이를 내포합니다. 파이프라인이 설계되는 방법, API가 호출되는 방법, 다운스트림 결정을 내리는 방법을 정의합니다. 거의 실시간 동기화 또는 이벤트 스트리밍 수집과 같은 올바른 패턴을 선택하면 시스템이 데이터 무결성, 확장성, 거버넌스를 유지하면서 비즈니스의 운영 지연 시간 목표를 충족합니다.
#### 수집 API를 통한 이벤트 기반 수집—스트리밍
##### 컨텍스트
이 패턴을 사용하면 사용자 정의 응용 프로그램, 사물 인터넷(IoT) 플랫폼, POS(Point-of-Sale) 시스템 또는 타사 서비스와 같은 모든 외부 시스템이 프로그래밍 방식으로 개별 이벤트가 발생하면 이벤트 데이터를 Data 360에 거의 실시간으로 푸시할 수 있습니다.
##### 문제
개발자가 외부 응용 프로그램에서 단일 레코드 또는 소규모 비동기 이벤트 배치를 낮은 대기 시간으로 Data 360에 신뢰성 있게 전송하여, 데이터가 신속하게 처리, 세분화 및 활성화될 수 있도록 하려면 어떻게 해야 합니까?
##### Force
이 패턴은 낮은 대기 시간과 우수한 개발자 제어를 제공하지만, 몇 가지 기술적 제약과 운영상의 의존성을 수반합니다.
* **개발자 의존성:** 인증된 REST API 클라이언트와 오류/재시도 로직을 구현하기 위해서는 개발자의 추가 노력이 필요합니다. 이는 단순한 포인트 앤 클릭 커넥터가 아닙니다.
* **엄격한 스키마 적용:** 수집 API는 schema-on-write를 적용합니다. 정확한 스키마를 정의하고 커넥터 구성에 업로드해야 합니다. 모든 페이로드는 정확하게 준수하거나 거부되어야 합니다.
* **이중 상호 작용 모드:** 동일한 커넥터는 낮은 대기 시간을 요구하는 레코드 단위 업데이트를 위한 스트리밍(JSON)과, 대규모 주기적 동기화를 위한 대량 처리(CSV) 방식을 모두 지원하므로, 아키텍트는 사용 사례에 따라 적절한 방식을 선택해야 합니다.
* **인증 및 보안:** 호출은 OAuth 2.0(예: 서버 간 JWT 베어러 플로우)을 사용하는 Salesforce 연결 앱을 통해 인증되어야 합니다. 토큰 관리, 교체 및 최소 권한 범위의 적용은 필수입니다.
* **운영 가시성:** 개발자 및 플랫폼 팀은 응답 코드, 재시도, 데드레터 큐, 스키마 드리프트 경고에 대한 모니터링을 구현해야 합니다.
* **실시간 그래프 요구 사항:** 실제 인스턴스 활성화(인스턴트 세분화, 실시간 DMO 매핑)의 경우 대상 데이터 모델 개체(DMO)가 실시간 데이터 그래프의 일부여야 합니다. 그렇지 않으면 이벤트가 약간 더 긴 대기 시간 파이프라인을 거칩니다.
##### 솔루션
이 표에는 이 통합 문제에 대한 솔루션이 포함되어 있습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
솔루션 적합성
최적 저지연 이벤트 캡처에 적합
Data 360 수집 API(스트리밍 JSON)를 사용하여 단일 이벤트 또는 마이크로 배치를 푸시합니다. 엄격한 OAS 3.0 스키마(.yaml)를 사용하여 수집 API 커넥터를 구성합니다. 더 크고 빈도가 낮은 동기화에는 대량 CSV 수집을 사용합니다.
스키마 변경 사항 처리
엄격 / 관리형
스키마가 크게 변경되었습니다. OAS .yaml 업데이트, 커넥터 버전 업데이트, 계약 테스트 수행 프로듀서가 동시에 변경할 수 없는 경우 롤링 스키마 마이그레이션을 구현합니다.
사용하지 말아야 할 경우
최적이 아님
전처리가 필요한 경우(예: 중복 제거, 순서 보장 등) 또는 매우 큰 대량 로드(네이티브 대량 커넥터 또는 배치 ETL 사용)에는 적합하지 않습니다. 소스가 스키마 유효한 페이로드를 생성할 수 없거나 안전하게 인증할 수 없는 경우 대체 수집 방법을 사용합니다.
보안 및 거버넌스
필수
OAuth 2.0을 최소 권한 범위로 사용하고, 키를 주기적으로 교체하며, 토큰 사용을 기록합니다. TLS 1.2+를 적용하고 필요한 경우 클라이언트 IP를 확인하고 페이로드 PII 태그 지정을 보장합니다. 모든 이벤트에 출처 메타데이터(소스, 타임스탬프, 스키마 버전, 균일성 키)가 포함되어야 합니다.
##### 스케치
이 다이어그램은 수집 API에서 Data 360으로 데이터를 수집하는 단계 순서를 보여줍니다.
**이 경우:**
* 외부 시스템은 인증 서버에서 OAuth/JWT를 통한 인증을 요청합니다.
* 인증 서버가 외부 시스템에 액세스 토큰을 반환합니다.
* 외부 시스템은 인가 및 JSON 페이로드가 있는 Data 360 수집 API에 데이터 수집 POST 요청을 보냅니다.
* 수집 API는 스테이징 및 유효성 검사 모듈을 통해 요청 스키마 및 인증을 확인합니다.
* 스키마/인증 실패:
* 외부 시스템에 오류가 반환되었습니다.
* 거부가 모니터링 및 경고를 위해 로그로 기록됩니다.
* 확인 성공 시:
* 레코드가 데이터 레이크 오브젝트(DLO)에 스테이징되고 커밋됩니다.
* 모니터링에 대한 성공이 기록되었습니다.
* 활성화된 경우 데이터가 실시간 데이터 그래프(DMO)로 전파되어 다운스트림 워크플로를 트리거합니다.
* 그렇지 않으면 표준 배치 또는 더 높은 대기 시간 파이프라인을 통해 데이터가 처리됩니다.
* 수집 API는 외부 시스템에 성공을 통보합니다.
* 모니터링 구성 요소는 데드레터 큐, 거부율 또는 지연 시간 문제에 대해 관리자에게 경고합니다.
##### 결과
외부 이벤트 데이터는 낮은 대기 시간으로 Data 360 DLO에 수집됩니다. 대상 DMO가 실시간 그래프의 일부인 경우 인스턴트 세분화, 에이전트 워크플로, AI 모델, 운영 활성화에 데이터를 사용할 수 있습니다. 이렇게 하면 연결된 시스템에서 시작된 이벤트에 대한 신속한 비즈니스 응답을 할 수 있습니다.
###### 수집 메커니즘
수집 메커니즘은 Data 360 내에 정의된 커넥터 및 예약 전략에 따라 다릅니다.
메커니즘
사용하는 경우
스트리밍 JSON( 수집 API)
단일 이벤트, 마이크로 배치, 행동 이벤트, 클릭 스트림, IoT 텔레메트리 — 저지연이 요구되는 경우에 사용합니다.
Bulk CSV( 수집 API 대량 모드)
대기 시간 요구 사항이 완화된 대규모 정기 업로드에 적합합니다.
Edge / 미들웨어
수집 API로 푸시하기 전에 유효성 검사, 변환, 보강 또는 속도 제한이 필요한 경우 사용합니다.
###### 오류 처리 및 복구
* **즉시(동기) 오류:** 스키마/인증 오류에 대한 4xx 응답 - 클라이언트가 페이로드 또는 토큰을 수정하고 다시 시도해야 합니다.
* **일시적(비동기) 실패:** 5xx 응답 — 클라이언트가 지수 백오프와 지터를 적용하여 재시도합니다.
* **Dead-Letter Queue (DLQ):** 지속적인 실패는 수동 검토와 재처리를 위해 DLQ에 적재됩니다.
* **모니터링:** 스키마 거부율, 인증 실패, 대기 시간 백분율, DLQ 백로그를 추적합니다. 임계값에 도달하면 경고를 발생시킵니다.
###### 멱등성 설계 고려 사항
* **Idempotency Key:** 모든 이벤트에는 고유한 멱등성 키/메시지 ID가 포함되어야 합니다.
* **업서트 전략:** 비즈니스 키(ExternalId)를 사용하여 재처리 시 중복을 방지합니다.
* **Dedup 창:** 아키텍트는 멱등성 추적을 위한 중복 제거 창과 보존 기간을 정의해야 합니다.
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **인증:** 서버 간 통신에는 OAuth 2.0 (JWT 베어러)을 권장합니다. 수집으로만 범위를 제한합니다.
* **암호화:** 전송에는 TLS 1.2+를 사용하며, Data 360은 정지 시 암호화를 강제합니다.
* **최소 권한:** 연결된 앱 자격 증명은 최소 권한만을 가지며, 비밀은 주기적으로 교체하고 액세스 로그를 기록해야 합니다.
* **페이로드 거버넌스:** 이벤트 메타데이터에 동의/소모 플래그를 포함하고 수집 후 즉시 ABAC/CEDAR 정책을 적용합니다.
* **IP 컨트롤 / 개인 연결:** 필요한 경우 허용 목록을 통해 액세스를 제한하거나 비공개 네트워킹에 비공개 연결을 사용합니다.
##### 링크 모음
###### 시기
시기는 수집 일정 및 데이터 용량에 따라 다릅니다. 스트리밍 JSON은 처리 및 그래프 구성에 따라 1초 미만에서 최대 1초 정도의 대기 시간을 제공합니다. 대량 CSV는 수 분에서 수 시간의 대기 시간이 소요됩니다. 비즈니스 SLA를 기반으로 선택합니다.
###### 데이터 용량
개별 이벤트 크기는 작아야 합니다(< 몇KB). 대량 생산자의 경우 API를 호출하기 전에 프로듀서에서 배치하거나 스트리밍 버퍼(Kafka/Kinesis)를 사용하는 것이 좋습니다.
###### 상태 관리
* **스키마 버전 관리:** 이벤트 메타데이터에서 스키마 버전을 유지하고 OAS 계약을 업데이트할 때 커넥터 버전 관리를 사용합니다.
* **커넥터 오프셋:** Data 360은 커밋 시맨틱을 처리하며, 프로듀서는 안전하게 재생할 수 있도록 멱등성 키 및 마지막으로 성공한 순서를 추적해야 합니다.
###### 복잡한 통합 시나리오
고급 엔터프라이즈 아키텍처에서 이 패턴은 다음과 통합할 수 있습니다.
* **에지 검증 계층:** 미들웨어를 사용하여 이기종 프로듀서 형식을 필수 OAS 계약으로 번역하고 속도 제한 및 사전 보강을 수행합니다.
* **하이브리드 아키텍처:** 이벤트 수집을 위한 API와 대량 조정을 위한 커넥터를 결합합니다.
* **에이전트 활성화:** 실시간 DMO에 매핑된 이벤트는 자동화된 의사 결정을 위한 Agentforce 워크플로 및 Einstein 모델을 트리거할 수 있습니다.
##### 예제
소매 체인은 POS(Point-of-Sale) 구매 이벤트를 Data 360 inReal-Time으로 스트리밍하여 즉각적인 고객 참여를 촉진합니다. 각 매장은 트랜잭션을 수집하고 위치 및 장치 메타데이터로 보강하며, 중복을 방지하기 위해 JWT 베어러 OAuth를 사용하여 안전하게 JSON 이벤트를 게시하는 경량 서버 구성 요소를 실행합니다. 관리자는 **point-of-sale**에 대한 OAS 스키마를 업로드하고 수집 API 커넥터를 구성하여 이벤트 구조를 정의합니다. 수신 이벤트는 **post_sale DLO**에 수집되고, **Sale DMO**에 매핑되어 실시간 그래프에 추가됩니다. 따라서 중요한 구매가 즉시 감지되어 Agentforce VIP 워크플로를 트리거하고 고객 세분화를 업데이트하여 실시간 개인 설정을 촉진합니다.
#### 실시간 웹 및 모바일 동작 수집
##### 컨텍스트
이 패턴을 사용하면 웹사이트 및 모바일 애플리케이션에서 진정한 실시간(Real-Time)으로 페이지 조회, 버튼 클릭, 제품 노출, 비디오 재생과 같은 대용량의 세분화된 사용자 상호작용 데이터를 수집할 수 있습니다. 이는 모든 디지털 상호 작용이 사용자 환경에 동적으로 영향을 미치고 참여를 촉진할 수 있는 즉각적 개인 설정을 제공하는 데 기본적입니다.
##### 문제
디지털 속성에서 수백만 개의 사용자 상호 작용이 분당 발생하는 연속적인 동작 이벤트 스트림을 수집 및 처리하고 Data 360에서 해당 데이터를 즉시 사용할 수 있도록 하여 실시간 세분화, 개인화, 활성화를 지원하는 방법은 무엇입니까?
##### Force
이 사용 사례는 목적에 맞게 설계된 저지연 수집 아키텍처가 필요한 여러 설계 과제를 소개합니다.
* **극한 처리량:** 트래픽이 많은 웹사이트 또는 모바일 앱은 분당 수백만 개의 이벤트를 전송할 수 있습니다. 수집 계층은 이벤트 손실이나 역압 없이 이러한 대량의 데이터를 처리할 수 있도록 수평 확장이 가능해야 하며, 최대 부하 시에도 일관된 지연 시간을 보장해야 합니다.
* **클라이언트 측 계측:** 이 패턴은 서버 구동 통합과 달리 클라이언트 측 SDK에 따라 다릅니다. JavaScript 비콘(Salesforce Interactions SDK)을 각 페이지에 포함하거나 모바일 앱에 통합된 기본 SDK를 포함해야 합니다. 이를 위해 강력한 클라이언트 배포, 버전 관리, 이벤트 스키마 관리가 필요합니다.
* **저지연 이벤트 처리:** "장바구니 추가" 또는 "비디오 재생"과 같은 사용자 작업은 몇 초 이내에 Data 360에 도달해야 하며, 이를 통해 실시간 활성화 및 상황별 응답(예: 타겟 제안, 맞춤형 추천)이 가능해집니다.
* **데이터 조화 및 ID 확인:** 수집된 이벤트에는 익명 식별자(쿠키, 장치 ID, 세션 토큰)가 포함되는 경우가 많습니다. Customer 360 사용 사례를 지원하려면, 이러한 이벤트가 Data 360의 ID 해상 기능을 통해 알려진 프로필에 매핑되고, Customer 360 데이터 모델에 맞게 정합되어야 합니다.
##### 솔루션
**Salesforce Marketing Cloud Personalization Connector를** 사용하는 것이 좋습니다. 이는 고처리량 동작 수집을 위해 설계된 **내장형 완전 관리 스트리밍 파이프라인**입니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
SDK 기반 이벤트 캡처
최고
Salesforce Interactions SDK(웹) 또는 네이티브 SDK(모바일)를 배포합니다. 이러한 경량 라이브러리는 실시간으로 사용자 상호작용을 수집하고 직렬화하며, 메타데이터(세션 ID, 타임스탬프, 컨텍스트)를 첨부합니다.
이벤트 스트리밍 파이프라인
최고
이벤트는 보안 HTTPS를 통해 Marketing Cloud Personalization의 이벤트 스트리밍 서비스로 전송됩니다. 이 계층은 수평 확장이 가능하며, 2초 미만의 저지연 전송에 최적화되어 있습니다.
Data 360 통합
최고
Data 360의 퍼스널라이제이션 커넥터는 스트리밍 피드를 구독하여 각 이벤트를 데이터 레이크 오브젝트(DLO)에 거의 실시간으로 적재합니다.
데이터 모델 매핑
모범 사례
수집된 DLO가 Customer 360 데이터 모델 개체(DMO)에 매핑됩니다. 이렇게 하면 신원 확인을 통해 익명 사용자와 알려진 사용자를 연결할 수 있습니다.
실시간 그래프 활성화
옵션 / 권장
실시간 그래프에 매핑된 DMO를 포함하여 즉시 세분화를 수행하고 Einstein 또는 Agentforce 워크플로를 통해 맞춤형 작업을 트리거합니다.
사용하지 않을 때
비최적
이 패턴은 다음과 같은 경우에 적합하지 않습니다. 소스 데이터는 웹 클라이언트 및 이벤트입니다(대신 수집 API 사용). 조직은 웹/모바일 클라이언트를 제어하지 않습니다. 실시간 동작 추적은 필요하지 않습니다(배치 수집 사용).
스키마 변경 사항 처리
관리형 진화
새 상호 작용이 추가되면 이벤트 스키마가 발전합니다. SDK는 버전 이벤트 정의여야 합니다. 이전 버전과 호환되는 변경 사항(옵션 필드 추가)은 안전합니다. 변경 사항을 중단하려면 커넥터 재구성 및 계약 테스트가 필요합니다.
##### 스케치
이 다이어그램은 모바일 및 웹 채널의 데이터를 Data 360으로 수집하는 단계 순서를 보여줍니다.
**이 경우:**
* 웹 또는 모바일 채널에서 SDK를 배포합니다(사용자-상호 작용 수집).
* 테넌트 ID, 환경, 동의 제어를 사용하여 SDK를 구성합니다.
* 수집된 JSON 이벤트(메타데이터 + 특성)를 Marketing Cloud 스트리밍 끝점에 스트리밍합니다.
* Data 360 설정에서 테넌트에 대한 개인 설정 커넥터를 만들고 구성합니다.
* 이벤트를 DLO에 수집하고 Data 360 내부에 DLO → DMO를 매핑합니다.
* 즉시 활성화를 위해 실시간 그래프에서 DMO를 활성화합니다.
* 대기 시간, 스키마 규정 준수, 동의 플래그, 처리량, 오류 비율을 모니터링합니다.
* 프로덕션에 배포하고 지속적으로 모니터링합니다.
##### 결과
지연 시간이 낮은 연속 동작 이벤트 스트림이 디지털 채널에서 Data 360으로 흐릅니다. 몇 초 이내에 각 사용자 작업을 실시간 세분화, 예측 모델링 또는 트리거된 개인 설정에 사용할 수 있어 진정한 적응형 고객 환경이 활성화됩니다.
###### 수집 메커니즘
수집 메커니즘은 Data 360 내에 정의된 커넥터 및 예약 전략에 따라 다릅니다.
메커니즘
사용하는 경우
Interactions SDK(웹)
웹 브라우저 및 SPA에서 실시간으로 수집합니다.
Mobile SDK
네이티브 모바일 애플리케이션에서 실시간으로 수집합니다.
개인화 커넥터
Marketing Cloud 및 Data 360\ 간의 관리형 구독입니다.
실시간 그래프 매핑
Segmentation, Einstein 및 Journeys에서 즉각적인 활성화를 지원합니다.
###### 오류 처리 및 복구
* **계층화된 결함 허용:** 다중 계층 유효성 검사 및 재시도 메커니즘을 구현합니다. 클라이언트 SDK는 지수적 백오프를 사용해 일시적인 실패를 처리하고, 수집 계층은 내구성이 보장된 대기열과 재생 가능한 파이프라인을 사용하여 데이터 손실을 방지합니다.
* **스키마 및 데이터 거버넌스:** 이벤트 스키마의 버전을 지속적으로 확인하고 유효하지 않거나 진행 중인 이벤트가 스키마 거부 또는 대기열에 라우팅되어 안전하게 정렬 및 재생됩니다.
* **멱등성 및 중복 제거:** 안정적인 이벤트 식별자와 업서트 시맨틱스를 사용하여, 재시도나 재생 중에도 이벤트가 정확히 한 번 처리되도록 보장합니다.
* **모니터링 및 복구 자동화:** 처리량, 대기 시간, 오류 비율을 지속적으로 모니터링하면 자동 복구 워크플로가 트리거되어 대기 시간이 낮고 신뢰할 수 있는 배송이 가능하며 일관적인 실시간 개인 설정 결과가 제공됩니다.
###### 멱등성 설계 고려 사항
* 중복 제출이 다운스트림에서 중복 제거될 수 있도록 모든 이벤트에는 고유한 멱등성 키 또는 메시지 ID가 포함되어야 합니다.
* 중복을 식별하기 위해 필요한 경우 비즈니스 키(예: sessionID + eventTimestamp + userID)를 사용합니다.
* 중복 이벤트가 무시되거나 필터링되는 중복 제거 기간(예: 24시간)을 정의합니다.
* 적절한 경우 업서트 전략을 사용합니다(예: 중복 삽입 대신 카운터 또는 플래그 업데이트).
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **전송 암호화:** 모든 SDK와 스트리밍 서비스 연결에 대해 TLS 1.2 이상을 사용합니다.
* Data 360 및 마케팅 스트림에서 데이터 암호화가 유지됩니다.
* SDK는 **사용자 동의 플래그(GDPR/CCPA)**를 준수하고 동의가 거부되는 경우 추적을 억제합니다.
* **SDK 트래픽 인증:** 승인된 테넌트/클라이언트만 이벤트를 스트리밍할 수 있도록 합니다.
* **메타데이터:** 각 이벤트에는 소스 ID, 타임스탬프, 스키마 버전, 세션 ID, idempotency 키가 포함되어야 합니다.
* **최소 권한 액세스:** SDK 끝점 및 커넥터는 이벤트 수집 범위로 제한되며 자격 증명을 정기적으로 갱신합니다.
* **데이터 분류:** 이벤트 페이로드에 PII 주석 달기, 수집 후 즉시 정책 적용
##### 링크 모음
###### 시기
* 시기는 최종 사용자 활동 및 이벤트 스트리밍 구성에 따라 다릅니다.
* Salesforce Interactions SDK를 통해 수집되고 Marketing Cloud Personalization 스트림을 통해 전달된 이벤트는 일반적으로 Data 360 실시간 그래프에서 사용할 수 있게 되기 전에 대기 시간이 2초에서 2초까지 소요됩니다.
* 이렇게 하면 활성 사용자 세션 내에서 거의 즉시 세분화, 개인화, 활성화가 이루어집니다.
###### 데이터 용량
개별 행동 이벤트(예: 클릭, 보기, 장바구니 추가)는 일반적으로 페이로드당 1~5KB 크기로 가볍습니다.
대규모 디지털 속성의 경우 분당 수천에서 수백만 개의 이벤트가 발생합니다.
처리량과 복원력을 보장하기 위해:
* 트래픽이 많은 페이지에 SDK의 내장된 배치 및 재시도 메커니즘을 사용합니다.
* Marketing Cloud 스트리밍 버퍼 레이어에 버스트 처리를 오프로드합니다.
* 커넥터 메트릭 대시보드를 사용하여 수집 처리량 및 오류 비율을 모니터링합니다.
###### 상태 관리
각 이벤트에는 상태 및 버전 관리에 대한 메타데이터가 포함됩니다.
* **스키마 버전 관리:** 모든 이벤트에 스키마 버전을 포함하고 스키마를 업데이트할 때 개인 설정 커넥터 버전을 지정합니다.
* **재생 처리:** 일시적 네트워크 문제로 인해 실패한 이벤트는 지수적 백오프를 사용하여 SDK에서 자동으로 재시도됩니다.
* **Idempotency 키:** 고유 식별자(sessionId + eventType + 타임스탬프)는 재생된 이벤트가 Data 360에서 중복이 생성되지 않도록 합니다.
* **오프셋 관리:** Data 360은 성공적인 커밋을 추적합니다. 처리되지 않은 이벤트는 성공적으로 수집될 때까지 커넥터에서 다시 대기열에 지정됩니다.
###### 복잡한 통합 시나리오
이 패턴은 고급 엔터프라이즈 아키텍처에 원활하게 통합됩니다.
* **엣지 인리치먼트 레이어:** 미들웨어(예: 역방향 프록시 또는 서버리스 함수)를 추가하여 이벤트가 Marketing Cloud에 도달하기 전에 지리적, 장치 유형 또는 캠페인 메타데이터와 같은 추가 컨텍스트를 삽입합니다.
* **하이브리드(스트리밍 + 배치):** 실시간 스트림에 Marketing Cloud 커넥터를 사용하고 배치 ETL 작업(예: 주문 데이터)과 결합하여 다운스트림 조정합니다.
* **에이전트 활성화:** 실시간 DMO에 매핑된 이벤트는 Einstein 개인 설정, Agentforce 워크플로 또는 AI 기반 의사 결정을 트리거하여 현재 디지털 환경을 조정할 수 있습니다.
* **다중 테넌트 거버넌스:** 동의 플래그 및 테넌트 인식 메타데이터를 사용하여 다중 브랜드 또는 다중 지역 환경에서 개인정보보호 및 규정 준수를 적용합니다.
##### 예제
글로벌 전자상거래 회사는 React 기반 단일 페이지 응용 프로그램인 [**www.retailx.com**](http://www.retailx.com)을 활발하게 탐색하는 동안 구매자에게 맞춤형 제품 추천과 동적 콘텐츠를 제공합니다. 클라이언트 측에서 Salesforce Interactions SDK를 사용하면 사이트에서 페이지 보기, 제품 클릭, 장바구니 작업, 비디오 상호 작용을 실시간으로 캡처합니다. 해당 이벤트는 Marketing Cloud Personalization 이벤트 스트림 및 Personalization 커넥터를 통해 Data 360 DLO로 흐릅니다. 여기서 DMO에 모델링되고 실시간 그래프에 통합됩니다. 이 아키텍처는 세분화, Einstein 기반 개인 설정 및 Agentforce 활성화를 위한 동작 신호를 즉시 사용할 수 있게 하여 세션 내 고객 경험에 반응하는 기능을 제공합니다.
#### 스트리밍을 통한 거의 실시간 CRM 동기화
##### 컨텍스트
많은 비즈니스 핵심 프로세스에서는 핵심 CRM 시스템의 최신 업데이트와 Data 360 간의 완벽한 정합성이 필수적입니다. 고객 서비스, 세일즈, 마케팅 팀은 최신 정보에 의존하여 결정을 내리고 여정을 트리거하고 자동화를 활성화합니다. 이 패턴은 연락처, 계정, 사례 등 중요한 Salesforce CRM 개체의 변경 사항을 비효율적이거나 지연되는 배치 폴링 없이 최소한의 지연으로 Data 360에 동기화하는 메커니즘을 제공합니다.
##### 문제
Data 360은 주요 Salesforce CRM 개체와 거의 완벽하게 동기화된 상태를 유지하여 다운스트림 분석, 세분화, AI 중심 활성화가 항상 사용 가능한 최신 데이터에서 작동하도록 하려면 어떻게 해야 합니까?
##### Force
이 패턴은 다음과 같은 몇 가지 기술적 제약 사항 및 아키텍처 고려 사항을 도입합니다.
* **이벤트 중심 아키텍처:** 동기화는 정기적인 배치 작업이 아닌 CRM 소스 조직의 변경 이벤트로 구동되어야 합니다.
* **선택적 객체 지원:** 일부 Salesforce 표준 및 사용자 정의 개체에서는 실시간 스트리밍을 지원하지 않습니다. 설계 시 지원되는 개체 목록을 참고하여 누락을 방지해야 합니다.
* **액세스 및 권한 :** 스트리밍을 활성화하려면 소스 조직의 통합 사용자에게 "CRM 스트리밍에 대한 권한 활성화" 시스템 권한이 할당되어야 합니다.
* **데이터 신선함 vs. 처리 비용 :** 거의 실시간 동기화는 응답성을 향상시키지만, 과도한 이벤트 처리량은 수평 확장 및 강력한 오류 복구 메커니즘을 요구할 수 있습니다.
* **보안 및 신뢰 계층 통합:** 모든 이벤트 데이터는 Salesforce의 Trust 및 보안 프레임워크를 준수해야 합니다. 전송 시 암호화되고 스키마 규정 준수 검증되며 조직의 Trust 경계 내에서 처리됩니다.
##### 솔루션
권장 방법은 스트리밍(데이터 수집 변경)이 활성화된 Salesforce CRM 커넥터를 사용하는 것입니다. 지원되는 CRM 개체(예: 연락처)에 대한 데이터 스트림을 만들 때 관리자가 "스트리밍 활성화" 옵션을 전환할 수 있습니다. Salesforce의 변경 데이터 수집(CDC) 플랫폼은 소스 CRM 조직에서 레코드가 생성, 업데이트, 삭제 또는 삭제 취소될 때마다 ChangeEvent 메시지를 게시합니다.
Data 360 CRM 커넥터는 해당 CDC 이벤트를 구독하고 Data 360 내의 매핑된 데이터 레이크 개체(DLO)에 해당 변경 사항을 거의 실시간으로 적용합니다. 이를 통해 CRM과 Data 360 간의 지속적인 동기화를 최소한의 수동 개입으로 유지할 수 있습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
CDC 기반 스트리밍 커넥터
최대
기본 Salesforce 메커니즘이며, 플랫폼 이벤트 인프라와 완전히 관리되고 통합됩니다.
이벤트 가입 및 배송
최대
커넥터는 지속적인 재생 ID를 통해 ChangeEvent 채널(예: /data/ContactChangeEvent)을 구독합니다.
데이터 매핑 및 스키마 진화
모범 사례
스트리밍된 페이로드를 해당 DLO에 매핑하고, 수집 중단을 방지하기 위해 메타데이터에서 스키마 버전 관리를 처리합니다.
재생 및 오류 복구
권장
중복을 방지하고 일시적인 오류로부터 복구하려면 재생 ID 및 멱등성 키를 활용합니다.
하이브리드 모드(스트리밍 + 배치)
옵션
지원되지 않는 개체 또는 초기 대량 로드의 경우 CDC 스트리밍과 함께 배치 수집을 사용합니다.
사용하지 않을 때
최적화되지 않음
이 패턴은 다음과 같은 경우에 비최적일 수 있습니다. 소스 개체는 CDC가 활성화되어 있지 않습니다. 사용 사례는 실시간 업데이트가 필요하지 않습니다(배치가 충분). 소스 조직의 네트워크 출력이 제한되거나 이벤트 제한이 초과됩니다.
##### 스케치
이 다이어그램은 CRM의 데이터를 Data 360으로 거의 실시간으로 수집하는 단계 순서를 보여줍니다.
**이 경우:**
* 변경 사항은 Salesforce CRM(생성/업데이트/삭제/복원)에서 발생합니다.
* CDC가 내부 Salesforce 이벤트 버스에 ChangeEvent를 게시합니다.
* Data 360 CRM 커넥터는 지속적인 재생 커서를 사용하여 이벤트 버스를 구독합니다.
* 이벤트 페이로드의 스키마, 권한, 데이터 무결성을 검사합니다.
* Data 360은 확인된 이벤트를 매핑된 **Data Lake Object(DLO)**에 기록합니다.
* 활성화한 경우 매핑된 **데이터 모델 개체(DMO)**가 nearReal-Time으로 업데이트되어 세분화 및 활성화를 촉진합니다.
##### 결과
Data 360은 핵심 CRM 데이터의 지속적으로 동기화된 미러를 유지합니다.
이를 통해 다음을 수행할 수 있습니다.
* 실시간 트리거(예: 사례가 생성되면 여정이 시작됨)
* 최신 세분화(예: 계정 상태 변경 시 고객을 "골드" 세그먼트로 이동)
* 실시간 CRM 컨텍스트를 기반으로 더 정확한 분석 및 개인화.
###### 적재 메커니즘
이 패턴의 수집 메커니즘은 변경 데이터 수집(CDC)이 활성화된 Salesforce CRM 커넥터를 통해 기본적으로 관리됩니다. Data 360은 CDC 이벤트 스트림 구독자 역할을 하므로 소스 CRM 조직과 Data 360 간의 신뢰할 수 있고 대기 시간이 낮은 동기화를 보장합니다.
메커니즘
사용하는 경우
CDC를 통한 스트리밍(권장)
거의 실시간 동기화가 필요한 지원되는 모든 Salesforce 표준 및 사용자 정의 개체.
하이브리드 모드(CDC + 배치)
아직 CDC가 활성화되지 않은 개체 또는 초기 내역 로드가 필요한 경우
재생 가입 모드
가동 중지 시간 또는 배포 후 재동기화가 필요한 경우에 사용합니다.
오류 격리 모드
테스트 및 유효성 검사 환경의 경우
###### 오류 처리 및 복구
* **자동 장애 복구:** CRM 커넥터는 지수 백오프를 사용하여 임시 네트워크 또는 플랫폼 오류를 자동으로 재시도하며, 지속되는 실패는 재생을 위해 Dead-Letter Queue(DLQ)로 라우팅합니다.
* **스키마 및 인증 회복력:** 스키마 불일치는 관리자 검토를 위해 스키마 거부 대기열에서 격리되며, 인증 또는 권한 오류는 Data 360 모니터링을 통해 제어되는 재시도를 트리거하고 경고를 표시합니다.
* **이벤트 연속성 보장:** 내구성 있는 ReplayID는 커넥터 가동 중지 시 이벤트 손실이 발생하지 않도록 보장합니다. 누락된 이벤트는 재생 윈도우 또는 배치 재동기화 작업을 통해 복원됩니다.
* **데이터 무결성 및 주문:** 내장된 idempotency(RecordID + SequenceNumber)는 중복을 방지하며, ChangeEventHeader.sequenceNumber는 모든 CRM 레코드에 대한 올바른 이벤트 순서를 유지합니다.
###### 멱등성 설계 고려 사항
* **이벤트 고유성:** 각 CDC 이벤트는 결정적 중복 제거를 위해 ReplayID 및 ChangeEventHeader.entityName을 포함합니다.
* **업서트 전략:** 반복 이벤트가 중복되지 않도록 레코드 ID를 기반으로 UPSERT 논리를 구현합니다.
* **재생 처리:** 일시적인 오류가 발생할 경우 커넥터의 재생 커서를 사용하여 마지막으로 커밋된 오프셋에서 재개합니다.
* **스키마 진화: **이벤트 메타데이터에서 스키마 버전을 유지하고 CRM 스키마가 변경되면 DLO 매핑을 업데이트합니다.
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **암호화 및 Trust :** 모든 이벤트는 **TLS 1.2+**를 사용하여 전송되며 Data 360에 암호화된 상태로 저장됩니다.
* **액세스 제어:** 적절한 통합 권한이 있는 인증된 커넥터만 CDC 채널을 구독할 수 있습니다.
* **스키마 검증:** 수집 전에 모든 이벤트 페이로드가 DLO 스키마에 대해 검증됩니다.
* **동의 전파:** 개인정보보호 및 규정 준수(GDPR, CCPA)를 유지하기 위해 각 이벤트와 함께 동의 및 데이터 분류 메타데이터가 다운스트림됩니다.
* **운영 거버넌스:** Data 360 Trust 레이어를 통해 이벤트가 기록되고 감사되며, 재생, 스키마 거부 및 처리량 이상을 모니터링합니다.
##### 링크 모음
###### 시기
* CDC 이벤트는 일반적으로 CRM 변경 후 몇 초 이내에 거의 실시간으로 처리됩니다.
* 대기 시간은 이벤트 용량 및 커넥터 처리량에 따라 다를 수 있지만 Data 360은 지원되는 개체에 대해 분간 가용성을 보장합니다.
###### 데이터 용량
* 각 이벤트 페이로드는 경량(약 1~5KB)입니다.
* 사례 또는 연락처와 같은 변경률이 높은 개체의 경우 처리량 제한이 Salesforce CDC 이벤트 할당과 일치하는지 확인하십시오.
###### 상태 관리
각 이벤트에는 상태 및 버전 관리에 대한 메타데이터가 포함됩니다.
* **재생 ID:** 순차적인 이벤트 복구에 사용됩니다.
* **스키마 버전 관리:** 버전 메타데이터를 유지하여 계약 변경 사항을 관리합니다.
* **Idempotency 키:** 재시도 전반에서 중복 제거를 수행합니다.
* **오프셋 커밋:** Data 360은 성공적인 이벤트 배치마다 커밋 상태를 유지합니다.
###### 복잡한 통합 시나리오
이 패턴은 고급 엔터프라이즈 아키텍처에 원활하게 통합됩니다.
* **하이브리드(스트리밍 + 배치):** 델타 업데이트에 CDC를 사용하고 전체 새로 고침에 대량 작업을 사용합니다.
* **Cross-Org 스트리밍:** 여러 소스 조직이 DMO 매핑을 통해 통합된 동일한 Data 360 테넌트로 스트리밍할 수 있습니다.
* **에이전트 활성화:** 실시간 개체 업데이트는 Einstein 또는 Agentforce 자동화를 트리거합니다.
* **이벤트 라우팅:** 중간웨어(예: MuleSoft 또는 이벤트 릴레이)는 수집 전에 CDC 메시지를 보완하거나 라우팅할 수 있습니다.
##### 예제
글로벌 은행은 Salesforce Sales Cloud의 고객 데이터 변경 사항이 Data 360에 즉시 반영되도록 하려고 합니다.Sales Cloud에서 연락처의 주소가 업데이트되면 변경 데이터 수집 메커니즘이 ContactChangeEvent를 게시합니다.Data 360 CRM Connector는 이 이벤트를 사용하고 고객 DLO에 업데이트를 적용하고 관련 Customer 360 프로필을 자동으로 업데이트합니다. 이로 인해 Einstein Next Best Action이 새 주소를 확인하도록 유발되어, 원래 CRM 변경 후 몇 초 이내에 피드백 루프가 완료됩니다.
#### 클라우드 메시징 플랫폼(Kinesis 및 MSK)에서 이벤트 스트림 수집
##### 컨텍스트
현대 디지털 엔터프라이즈는 Amazon Kinesis 데이터 스트림 및 Amazon MSK(Apache Kafka용 관리 스트리밍)와 같은 실시간 이벤트 스트리밍 플랫폼을 사용하여 분산된 응용 프로그램, IoT 장치, 트랜잭션 시스템에서 지속적인 데이터 플로를 캡처합니다. Data 360은 네이티브 자사 커넥터를 통해 해당 플랫폼에서 직접 수집할 수 있으므로 사용자 정의 ETL 또는 미들웨어 기반 솔루션이 필요하지 않습니다. 이 패턴은 대기 시간이 낮은 고처리 용량 데이터 수집, 실시간 인사이트, 개인 설정, AI 기반 활성화를 지원하기 위해 고안되었습니다.
##### 문제
엔터프라이즈에서 Data 360을 AWS Kinesis 또는 AWS MSK Kafka 주제에 안전하고 효율적으로 연결하여 구조화된 이벤트 및 프로필 데이터를 지속적으로 수집하여 스키마 준수, 확장성, 거버넌스를 보장하는 방법은 무엇입니까?
##### Force
이 패턴은 다음과 같은 여러 아키텍처 및 운영 고려 사항을 도입합니다.
* **네이티브 커넥터 가용성:** Salesforce는 Amazon Kinesis 및 Amazon MSK 모두에 정식 출시된 기본 커넥터를 제공합니다. 이러한 커넥터는 자사 지원을 제공하며 사용자 정의 API 기반 파이프라인이 필요하지 않습니다.
* **인증 및 보안:** 각 커넥터는 **AWS 수준 인증**이 필요합니다.
* Kinesis의 경우 IAM 정책에 따라 AWS 액세스 키 및 비밀 키를 사용합니다.
* MSK의 경우 액세스 키/암호 또는 OpenID Connect(OIDC)를 통해 인증을 구성할 수 있습니다.
* **스키마 정의:** Data 360에는 스트리밍 페이로드를 해석하는 스키마가 필요합니다.
Kinesis의 경우 연결 설정 시 스키마 파일이 업로드되어 이벤트 구조 및 필드 매핑을 정의합니다.
* **구성 소스:**
* Kinesis 커넥터가 특정 Kinesis 스트림 이름을 구독합니다.
* MSK 커넥터가 MSK 클러스터 내 Kafka 주제를 구독합니다.
* **네트워크 액세스:** 안전한 환경의 경우 PrivateLink 또는 VPC 라우팅을 사용하여 커넥터를 구성하여 데이터가 공용 인터넷을 이동하지 않도록 할 수 있습니다.
* **운영 거버넌스:** 스트리밍 처리량, 스키마 검증 및 인증 이벤트는 Data 360 Trust 레이어 내에서 모니터링되어 규정 준수 및 추적 가능성을 보장합니다.
##### 솔루션
이 솔루션은 **Data 360** 내의 **Native Amazon Kinesis** 또는 **Amazon MSK** 커넥터를 활용합니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
Kinesis 네이티브 커넥터
최대
AWS Kinesis와의 1차 통합으로, 지속적인 고처리량 수집을 지원합니다.
MSK 네이티브 커넥터
최대
OIDC 및 키 기반 인증을 지원하는 관리형 Kafka 수집입니다.
스키마 매핑 및 검증
모범 사례
이벤트 구조를 정의하는 스키마(.json/.avro)를 업로드하면, 수집 중 일관성이 적용됩니다.
IAM 구성
권장
대상 Kinesis 스트림 또는 MSK 주제에 읽기 전용 액세스 권한이 있는 최소 권한의 IAM 역할을 할당합니다.
개인 네트워크 라우팅
옵션
안전한 내부 라우팅을 위해 PrivateLink/VPC 끝점을 구성합니다.
하이브리드 패턴(스트리밍 + 배치)
옵션
델타에는 스트리밍을, 백필 또는 과거 데이터 로드에는 배치 수집을 사용합니다.
오류 격리 모드
권장
스키마 거부 및 임시 오류를 재생을 위해 DLQ로 라우팅합니다.
##### 스케치
이 다이어그램은 Kafka 및 Kinesis와 같은 이벤트 플랫폼의 데이터를 거의 실시간으로 Data 360으로 수집하는 단계 순서를 보여줍니다.
**이 경우:**
* 응용 프로그램 또는 장치가 Kinesis 스트림 또는 MSK 토픽에 이벤트를 게시합니다.
* Data 360 커넥터는 AWS 자격 증명 또는 OIDC 토큰을 사용하여 인증합니다.
* 커넥터가 계속해서 스트림을 폴링하거나 구독합니다.
* 이벤트가 단계화되고 스키마 및 정책에 대한 유효성을 검사한 후 DLO(데이터 레이크 개체)로 커밋됩니다.
* 매핑된 경우 활성화를 위해 데이터 모델 개체(DMO)가 거의 실시간으로 업데이트됩니다.
* 모니터링 레이어는 메트릭, 스키마 거부, 대기 시간을 추적합니다.
##### 결과
AWS Kinesis 또는 MSK에서 Data 360으로 직접 구조화된 데이터를 지속적이고 저 대기 시간으로 수집합니다. 데이터는 즉시 다음 용도로 사용할 수 있습니다:
* 신원 확인
* 실시간 세분화
* Einstein AI 활성화
* Agentforce 기반 트리거
배치 ETL에 대한 의존성을 제거하여, 엔터프라이즈 이벤트 기반 설계에 부합하는 스트림 기반 아키텍처를 구현할 수 있습니다.
###### 수집 메커니즘
메커니즘
사용하는 경우
Kinesis 커넥터(권장)
대용량의 구조화된 데이터를 지속적으로 수집해야 하는 AWS 기본 스트리밍 소스의 경우
MSK 커넥터
Kafka 호환 플랫폼에서 이벤트 파이프라인을 실행하는 조직
하이브리드(스트리밍 + 배치)
정기적인 대량 로드와 결합된 증분 이벤트 수집의 경우
###### 오류 처리 및 복구
* **자동 재시도:** 커넥터는 임시 네트워크 또는 플랫폼 오류가 발생하면 지수적 백오프를 적용하여 재시도합니다.
* **스키마 거부:** 잘못된 페이로드는 관리자 검토를 위해 스키마 거부 대기열로 라우팅됩니다.
* **DLQ 재생:** 지속적인 실패는 재처리를 위해 데드레터 큐에 저장됩니다.
* **멱등성 제어:** 이벤트 키 또는 순서 번호는 중복 제거 및 순서가 지정된 수집을 보장합니다.
* **모니터링 통합:** 모든 실패, 재시도, 처리량 메트릭이 Data 360 모니터링 대시보드에 표시됩니다.
###### 멱등성 설계 고려 사항
* **이벤트 고유성 및 추적:** 각 이벤트에 결정적 고유 키(예: Kinesis의 경우 PartitionKey + SequenceNumber 또는 MSK의 경우 Topic + Partition + Offset)가 할당되어 정확한 일회 수집이 가능합니다.
* **커넥터 체크포인팅:** Data 360 커넥터는 마지막으로 처리된 오프셋 또는 순서 번호를 유지하여 장애 또는 재시작 후 안전하게 수집을 재개합니다.
* **중복 제거 및 업서트 논리:** DLO 커밋 동안 중복 이벤트가 감지되어 건너뛰고, 유효한 레코드는 일관성을 유지하기 위해 고유한 키를 사용하여 업서트됩니다.
* **재생 및 복구 제어:** 실패하거나 지연된 이벤트는 Dead-Letter 및 Replay 대기열을 통해 저장된 오프셋에서 재생되므로 중복 없이 신뢰할 수 있는 복구가 가능합니다.
###### 보안 고려 사항
보안은 인증에서부터 암호화 및 액세스 제어에 이르기까지 수집 파이프라인 전반에 걸쳐 통합됩니다.
* **인증:** AWS IAM 정책 또는 OIDC를 사용하여 자격 증명 교환을 안전하게 수행합니다.
* **암호화:** Data 360 내에서 데이터는 **전송 중(TLS 1.2+)** 및 **저장 시(AES-256)** 암호화됩니다.
* **액세스 제어:** 최소 권한 역할이 적용되며, 커넥터는 특정 스트림/토픽에 한정됩니다.
* **거버넌스:** 전체 추적 가능성을 위해 모든 레코드에 적용되는 계보 및 분류 메타데이터입니다.
* **네트워크 보안:** 경우에 따라 AWS PrivateLink를 사용하여 **개인 하위 네트워크** 내에서 배포할 수 있습니다.
##### 링크 모음
###### 시기
* **준실시간 처리:** CDC 및 스트리밍 커넥터는 소스 변경 후 몇 초 이내에 이벤트를 처리하여, 일반적으로 1분 이내의 데이터 신선도를 보장합니다.
* **결정적 지연 시간:** 종단간 지연은 소스 처리량, 이벤트 배치, 네트워크 조건에 따라 다르지만 Data 360은 지원되는 개체에 대해 예측 가능한 SLA 기반 대기 시간을 보장합니다.
* **탄력적 확장:** 수집 파이프라인은 이벤트 양이 많은 상황에서도 자동으로 확장되어, 피크 시에도 시의적절성을 유지합니다.
* **운영 가시성:** 모니터링 대시보드는 대기 시간 보장 및 문제 해결을 위해 이벤트 지연, 커밋 타임스탬프, 재생 상태를 표시합니다.
###### 데이터 용량
* **경량 페이로드:** 개별 CDC 또는 스트리밍 이벤트는 소형(일반적으로 1~5 KB)으로, 고빈도 업데이트에 최적화되어 있습니다.
* **변경이 빈번한 객체:** 변동성이 있는 엔티티의 경우(예: 사례, 연락처, 주문) 설계자는 CDC 할당 및 이벤트 처리량이 예상 업데이트 비율에 부합하는지 확인해야 합니다.
* **병렬 스트림:** Data 360은 대량 개체 볼륨 또는 여러 소스 조직에서 가로 확장을 위한 다중 스트림 수집을 지원합니다.
* **백압 처리:** 내장된 조절 메커니즘은 부하가 걸릴 때 이벤트를 손실 없이 유지하며 수집 안정성을 보장합니다.
###### 상태 관리
각 이벤트에는 상태 및 버전 관리에 대한 메타데이터가 포함됩니다.
* **재생 & 오프셋 추적:** 모든 이벤트에는 재생 ID 및 순서 메타데이터가 포함되어 있으므로 순서대로 전달 및 체크포인트 기반 복구가 가능합니다.
* **스키마 버전 관리:** 이벤트 머리글 내의 버전 태그는 소스 스키마가 발전할 때 이전 버전과 호환되는 처리를 보장합니다.
* **Idempotency 키:** 각 이벤트에는 고유한 트랜잭션 또는 커밋 키가 포함되어 있어 Data 360에서 안전하게 재복제 및 재시도를 제거할 수 있습니다.
* **원자적 커밋:** 수집 파이프라인은 DLO에 대한 하위 단계 커밋이 성공한 후에만 오프셋을 완료 처리하여 일관성을 보장합니다.
###### 복잡한 통합 시나리오
이 패턴은 고급 엔터프라이즈 아키텍처에 원활하게 통합됩니다.
* **하이브리드 수집:** 증분 델타용 CDC를 대량 데이터 스트림과 결합하여 전체 새로 고침을 수행하여 신선함과 완전성을 모두 유지합니다.
* **Cross-Org 스트리밍:** 여러 CRM 또는 ERP 조직이 DMO 매핑 및 온톨로지 정렬을 통해 통합된 동일한 Data 360 테넌트에 게시할 수 있습니다.
* **이벤트 보강:** 중간웨어(예: MuleSoft, 이벤트 릴레이)는 Data 360에 도달하기 전에 스트리밍 데이터를 보강, 필터링 또는 라우팅할 수 있습니다.
* **AI 및 에이전트 활성화:** 실시간 업데이트는 시작 이벤트로부터 몇 초 이내에 Einstein 예측 또는 Agentforce 응답과 같은 다운스트림 자동화를 트리거합니다.
##### 예제
글로벌 리테일 엔터프라이즈는 AWS Kinesis를 사용하여 세일즈 지점 및 웹 상호 작용 데이터를 스트리밍합니다. Data 360의 Kinesis 커넥터는 IAM 자격 증명을 통해 인증하고 트랜잭션 DLO에 이벤트를 지속적으로 수집합니다. 각 레코드는 스키마 유효성 검사를 거치고, 메타데이터로 보강되며, 고객 DMO로 즉시 전파됩니다. Einstein AI 모델은 몇 초 이내에 고객 세그먼트를 업데이트하고 Agentforce가 실시간으로 Next-Best-Offer 권장 사항을 트리거하여 완전히 이벤트 기반 개인화 루프를 달성합니다.
## 제로 복사 패턴--인바운드 및 아웃바운드
Zero Copy는 통합 방법 이상이며, 엔터프라이즈 데이터가 이동하는 방식 또는 이동하지 않는 방식의 기본적인 변화입니다. 일반적으로 데이터 통합을 수행하려면 ETL 파이프라인을 통해 대량의 레코드를 복사하고 중복 데이터 저장소를 만들며 동기화 지연 및 거버넌스 문제를 야기했습니다. Zero Copy는 이 모든 과정을 없앱니다.
이 모델에서 Data 360은 Snowflake 및 Databricks와 같은 외부 데이터 플랫폼에 직접 연결하여 데이터를 이동하거나 복제하지 않고 원본 위치에서 데이터를 안전하게 읽고 활성화합니다. 결과적으로 엔터프라이즈 데이터 레이크하우스와 Salesforce 에코시스템 간에 매끄러운 다리 역할을 하여 즉각적인 접근, 운영 오버헤드 감소, 강력한 데이터 거버넌스를 제공합니다.
#### 인바운드 Zero Copy--외부 플랫폼에서 Data 360으로
인바운드 Zero Copy 기능을 사용하면 Data 360이 Snowflake 또는 Databricks에 저장된 고객 프로필, 트랜잭션 또는 제품 데이터와 같은 외부 데이터를 소스에서 쿼리하고 조화할 수 있습니다. Data 360은 파일 수집 대신 외부 웨어하우스의 기존 스키마 정의 및 보안 정책을 활용하는 안전한 메타데이터 인식 연결을 설정합니다.
* **직접 연합:** Data 360은 데이터를 복제 없이 안전하고 최적화된 쿼리를 통해 현 위치에서 읽습니다.
* **통합 거버넌스:** 데이터는 소스 시스템의 보안, 액세스 제어, 규정 준수 프레임워크에 따라 유지됩니다.
* **운영 효율:** ETL 오버헤드 및 저장소 중복을 제거하여 비용과 복잡성을 줄입니다.
* **실시간 준비:** 데이터가 업데이트되면 즉시 Data 360에서 활성화할 수 있도록 온디맨드 방식으로 조화를 이룹니다.
##### 컨텍스트
현대 데이터 중심 기업은 Snowflake 및 Databricks와 같은 클라우드 규모의 데이터 레이크하우스 플랫폼에서 페타바이트의 고객, 트랜잭션, 텔레메트리 데이터를 관리합니다. 이러한 환경은 분석, AI, 규정 준수에 대한 신뢰할 수 있는 단일 소스로 사용됩니다.
Data 360은 Zero CopyData Federation을 도입하여 중복 데이터를 복사, 변환 또는 저장하지 않고도 외부 데이터 집합을 직접 쿼리하고 *현장*에 사용할 수 있습니다.
이 패턴을 통해 조직은 기존 데이터 웨어하우스 또는 레이크하우스 인프라에 Customer 360 패브릭을 확장할 수 있습니다. 이를 통해 중복, 지연, 거버넌스에 대한 타협 없이 실시간 통합 및 활성화를 달성할 수 있습니다.
##### 문제
기업들은 Snowflake, Databricks 또는 Apache Iceberg와 같은 오픈 레이크 형식에서 이미 선별된 풍부한 데이터 집합을, ETL 파이프라인이나 물리적 데이터 이동에 따른 비용, 지연 및 거버넌스 오버헤드 없이 Data 360에서 세분화, 신원 확인 및 활성화를 위해 어떻게 활용할 수 있습니까?
##### Force
이 패턴은 여러 아키텍처, 보안, 성능 관련 고려 사항이 있습니다.
**네트워크 및 보안**
* Data 360은 외부 창고 또는 레이크하우스에 대한 안전한 비공개 연결을 설정해야 합니다.
* 일반적으로 Salesforce 비공개 연결 또는 PrivateLink/VPC 피어링을 사용하여 구성되어 트래픽이 고객의 제어 네트워크에서 벗어나지 않도록 합니다.
* 외부 시스템은 Data 360 IP를 허용 목록으로 지정하고 TLS 1.2+ 암호화를 적용해야 합니다.
**인증 및 액세스 제어**
* 키 쌍 인증, OAuth 2.0 또는 ID 공급자(IdP) 기반 Trust 위임 지원(Data 360은 신뢰할 수 있는 클라이언트 역할)
* 외부 시스템의 역할 기반 액세스 제어(RBAC)는 쿼리 실행에 대한 최소 권한 액세스를 적용합니다.
**성능 및 계산 종속성**
* 쿼리 연합은 SQL 실행을 Snowflake 또는 Databricks로 푸시하여 계산 클러스터를 활용합니다.
* 외부 쿼리 부하에 따라 성능과 비용이 달라지며, 세분화의 지연 시간과 비용은 외부 컴퓨트 구성에 의해 결정됩니다.
**진화하는 표준: File Federation**
* 차세대 모델인 File Federation은 Apache Iceberg 또는 Delta Lake와 같은 오픈 테이블 형식을 활용하여 Data 360이 객체 저장소(예: Amazon S3, Azure ADLS, Google Cloud Storage)에서 직접 읽을 수 있도록 합니다.
* 소스 컴퓨트 레이어를 우회함으로써, File Federation은 스키마 무결성을 유지하면서 읽기 중심의 분석 워크로드에 대한 대기 시간과 비용을 크게 줄입니다.
**거버넌스 및 규정 준수**
* 데이터는 소스 플랫폼에서 벗어나지 않으며, 규정 준수, 암호화 및 보존 정책은 원본에서 계속 적용됩니다.
* 모든 메타데이터, 계보와 동의 속성이 Data 360의 Trust 레이어로 전파되어 엔드 투 엔드 추적 가능성을 보장합니다.
##### 솔루션
Data 360 내에서 Snowflake, Databricks 또는 파일 통합 기본 Zero Copy 커넥터를 사용하는 것이 좋습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
Snowflake Zero Copy Connector
최고
자체 네이티브 통합을 제공하며, Snowflake의 데이터 공유 또는 외부 테이블 API를 통해 실시간 쿼리 연합을 설정합니다.
Databricks Zero Copy 커넥터
최고
델타 레이크의 테이블/뷰에 대한 직접 실시간 액세스를 지원하며, 푸시다운 쿼리는 Databricks 런타임에서 실행됩니다.
File Federation (아파치 아이스버그 / 델타 / 파케)
신흥 모범 사례
Data 360은 외부 계산 종속성 없이 개체 저장소에서 열려 있는 테이블 형식을 직접 판독합니다. 대규모 데이터셋에 적합합니다.
개인 네트워크 구성
권장
보안 네트워크 수준 연합을 위해 Salesforce 비공개 연결 또는 VPC 피어링을 사용합니다.
인증 및 키 관리
모범 사례
정기적인 순환 및 볼트 관리를 통해 안전한 키 기반 또는 OAuth 기반 인증을 구현합니다.
스키마 등록
필수
Data 360이 외부 스키마를 검색하고 외부 데이터 레이크 개체(외부 DLO)에 매핑합니다.
관리되는 메타데이터
권장
모든 외부 DLO는 규정 준수 가시성을 위해 분류, 동의, 계보 메타데이터를 상속합니다.
##### 스케치
다음 다이어그램은 Data 360에서 0 복사 연결을 설정하고 외부 DLO를 만드는 방법을 설명합니다.
이 시나리오의 경우:
* 관리자는 Data 360 설정에서 Zero Copy 연결(Snowflake, Databricks 또는 파일 통합)을 구성합니다.
* 안전한 인증 및 네트워크 라우팅이 설정됩니다(비공개 연결/OAuth/키 쌍).
* 관리자가 실시간 데이터베이스, 스키마, 테이블을 찾아 외부 소스를 선택하는 데이터 스트림을 만듭니다.
* 데이터를 복사하는 대신 Data 360은 실시간 테이블 또는 아이스버그 파일을 참조하는 메타데이터 포인터인 외부 DLO(데이터 레이크 개체)를 만듭니다.
* 외부 DLO는 Customer 360 엔티티(예: 고객, 트랜잭션, 제품)에 매핑됩니다.
* Data 360은 세분화, 활성화 또는 인사이트 계산 시 원본 위치에 있는 소스를 쿼리합니다.
* 모든 액세스, 쿼리 계보, 메타데이터는 Data 360 Trust 계층 내에서 감사됩니다.
##### 결과
* 외부 데이터는 Snowflake, Databricks 또는 S3에 남아 있습니다(ETL, 중복, 추가 저장소 없음).
* Data 360은 정체성 해결, 계산된 인사이트 및 활성화를 위해 엔터프라이즈 규모의 데이터에 실시간으로 접근할 수 있습니다.
* 조직은 기존의 거버넌스, 암호화, 규정 준수 프레임워크에서 완벽한 제어를 유지합니다.
* 이 패턴은 로컬 접근의 성능과 연합 스토리지의 거버넌스를 결합하여 진정한 Zero Copy 아키텍처를 구현합니다.
###### 호출 메커니즘
호출 메커니즘은 이 패턴을 구현하기 위해 선택한 솔루션에 따라 다릅니다.
메커니즘
사용하는 경우
Snowflake 연합(권장)
실시간 고성능 쿼리 연합은 관리되는 엔터프라이즈 데이터 웨어하우스 환경에서 사용하기에 적합합니다.
Databricks 연합
델타 또는 Parquet 지원 데이터 집합이 있는 통합 분석 및 레이크하우스 환경에 적합합니다.
File Federation (아파치 아이스버그 / 델타 레이크)
계산 분리 및 비용 최적화가 핵심인 개체 저장소의 대규모 데이터 집합에 적합합니다.
하이브리드 모드(영제 복사 + 수집)
역사적 데이터는 일회성 수집이 필요하지만, 실시간 데이터는 Zero Copy를 통해 접근됩니다.
###### 오류 처리 및 복구
* **자동 재시도 및 쿼리 백오프:** 임시 연결 또는 쿼리 시간 초과는 지수 백오프를 사용하여 자동으로 재시도됩니다.
* **스키마 불일치 격리:** 소스 스키마의 변경 사항(예: 새 열)은 스키마 거부 대기열에 기록되며, 관리자가 스키마 메타데이터를 다시 매핑하거나 새로 고칠 수 있습니다.
* **인증 페일오버:** 자격 증명이 만료되면 Data 360은 저장된 새로 고침 토큰 또는 키 순환 정책을 사용하여 연결을 재시도합니다.
* **컴퓨팅 가용성 감지:** Snowflake 또는 Databricks 클러스터가 일시 중지되면 Data 360은 연합 작업을 중단하고, 컴퓨트가 재개되면 이를 재시도합니다.
* **모니터링 통합:** Data 360 모니터링 대시보드에 표시되는 모든 연결 상태, 쿼리 대기 시간, 계보드 메타데이터
###### 멱등성 설계 고려사항
* **쿼리 결정론:** 연합 쿼리는 일관된 스냅샷 시맨틱을 사용하여 세분화 또는 활성화 시 안정적이고 반복 가능한 읽기를 보장합니다.
* **외부 DLO 버전 지정:** 각 연합 쿼리는 계보 추적을 위한 스키마 및 타임스탬프 메타데이터를 포함합니다.
* **오프셋 없는 액세스:** Zero Copy는 읽기 전용이므로 이벤트 오프셋에 의존하지 않습니다. 일관성은 외부 시스템의 ACID 보증(Snowflake/Delta Lake)을 통해 적용됩니다.
* **스키마 드리프트 관리:** Data 360에서 버전이 지정된 스키마 매핑을 유지하고 소스 진화에 대한 외부 DLO 메타데이터를 새로 고칩니다.
###### 보안 고려 사항
보안은 연합 모델 전체에서 필수적인 요소로, 신뢰 또는 규정 준수에 있어 어떠한 타협도 허용하지 않습니다.
* **암호화:** 모든 데이터 교환은 TLS 1.2+를 사용하며, 외부 웨어하우스는 정지 상태에서 AES-256으로 암호화합니다.
* **액세스 제어:** 외부 테이블은 읽기 전용 권한이 있는 최소 권한 역할을 통해 액세스할 수 있습니다.
* **네트워크 격리:** 비공개 연결 또는 VPC 경로를 사용하면 공개 끝점에 노출되지 않습니다.
* **관리 데이터 흐름:** 정책 집행을 위해 Data 360 Trust 계층에 계보, 동의 및 분류 메타데이터가 흐릅니다.
* **감사 가능:** 모든 연합 쿼리 및 스키마 액세스 이벤트는 규정 준수 추적 가능성을 위해 기록됩니다(GDPR, CCPA, HIPAA).
##### 링크 모음
###### 시기
* 쿼리는 외부 웨어하우스 또는 저장소에서 실시간으로 실행되어 최신 데이터 상태를 즉각적으로 확인할 수 있습니다.
* 세분화 또는 활성화 실행은 Snowflake, Databricks 또는 S3 기반 아이스버그 테이블에서 초 단위의 변경 사항을 반영합니다.
* 쿼리 대기 시간은 소스 시스템의 성능 계층에 따라 다릅니다(일반적으로 쿼리당 초~수십초).
* “새롭고 복사되지 않은” 데이터 액세스를 요구하는 분석 및 AI 워크로드에 적합합니다.
###### 데이터 용량
* 복제 없이 Snowflake 또는 Databricks에 원래 저장된 페타바이트 규모의 데이터 집합을 지원합니다.
* Data 360은 원시 데이터 집합이 아닌 결과만 검색하여 네트워크 및 계산 비용을 최소화합니다.
* 파일 통합은 파티션 가지치기와 열 기반 푸시다운을 통해 대규모 분석 스캔을 최적화합니다.
* 웨어하우스 컴퓨팅 용량 및 Data 360의 연합 쿼리 오케스트레이션 레이어를 사용하여 선형으로 확장합니다.
###### 상태 관리
* 외부 DLO는 Data 360에서 연결, 스키마, 버전 메타데이터를 유지합니다.
* 스키마 발전은 메타데이터 새로 고침 주기를 통해 자동으로 관리됩니다.
* 쿼리 계보에는 추적 가능성을 위한 타임스탬프, 사용자 ID, 실행 메트릭이 포함됩니다.
* 상태별 수집 또는 오프셋은 유지되지 않으며, 일관성은 외부 소스의 ACID 보증에서 승계됩니다.
###### 복잡한 통합 시나리오
* **하이브리드 모드:** Zero Copy(실시간 연합용)와 수집(과거 데이터 집합용)을 결합합니다.
* **교차 웨어하우스 액세스:** Data 360은 단일 조직 내의 여러 Snowflake 또는 Databricks 테넌트에서 연합할 수 있습니다.
* **AI/BI 상호 운용성:** 외부 시스템(예: SageMaker, Tableau, Power BI)은 역 Zero Copy를 통해 Data 360의 강화된 프로필을 다시 쿼리할 수 있습니다.
* **파일 통합 확장:** 개방형 레이크 형식(Iceberg/Delta)을 채택하는 엔터프라이즈는 하나의 연합 모델 아래에서 구조화된 데이터와 비정형 데이터를 통합할 수 있습니다.
##### 예제
글로벌 금융 기업은 모든 트랜잭션 및 상호 작용 데이터를 Snowflake에 저장하고 고객 특성 및 마케팅 이벤트를 Data 360에 유지합니다. Zero Copy Data Federation을 사용하여 Data 360은 Private Connect를 통해 Snowflake에 안전하게 연결합니다. 예를 들어, "지난 30일 동안 지출한 고객이 $10,000를 넘는 경우 Data 360은 쿼리를 Snowflake로 푸시하고 집계된 결과를 검색하고 Journey Builder에서 해당 프로필을 즉시 활성화합니다. 복제 또는 ETL이 필요하지 않습니다. 이 예에서는 엔터프라이즈 데이터 에코시스템 전체에서 통합된 실시간 연합 인텔리전스를 사용합니다.
#### 아웃바운드 제로 카피 — Data 360에서 외부 플랫폼으로
아웃바운드 제로 카피는 동일한 원칙을 반대로 확장합니다. Snowflake와 같은 외부 시스템은 Data 360을 내보내거나 Data 360에서 데이터 집합을 복사하는 대신 직접 Data 360을 쿼리하여 강화된 고객 인텔리전스 연합 소스로 취급할 수 있습니다.
* **역연합:** 외부 분석 또는 AI 플랫폼은 Data 360의 통합 프로필 데이터를 추출하지 않고 액세스할 수 있습니다.
* **소스에서 데이터 활성화:** 비즈니스 팀은 AI 모델링, 보고 또는 고객 개인화 등 이미 데이터가 있는 위치에서 인사이트를 활용할 수 있습니다.
* **지연 없이 상호 운용성:** 배치 내보내기 또는 동기화 작업이 없으며 플랫폼 간에 인사이트가 즉시 흐릅니다.
* **일관된 의미론:** 두 시스템 모두 동일한 온톨로지 및 스키마 매핑을 공유하므로 컨텍스트와 의미가 에코시스템 전체에서 유지됩니다.
Zero copy은 Data 360의 역할을 *데이터 저장소*에서 *세맨틱 활성화 계층*으로 재정의합니다. 이를 통해 조직은 관리되는 고성능 웨어하우스에서 데이터를 정확하게 보관하고 Salesforce의 신뢰 경계 내에서 전체 가치를 확보할 수 있습니다.
이 패턴은 현대 데이터 메시 및 AI 네이티브 아키텍처와 일치합니다. 데이터는 분산 상태를 유지하지만 인텔리전스는 통합됩니다. 이제 설계자는 복사를 할 필요 없이 더 빠르고 효율적이며 규정을 준수하는 활성화 파이프라인을 구축할 수 있습니다.
##### 컨텍스트
Salesforce Data 360은 통합 고객 프로필 및 활성화를 지원하며, Snowflake 또는 Databricks와 같은 엔터프라이즈 데이터 웨어하우스는 데이터 과학, 기계 학습, BI 워크로드에 대한 분석 백본 역할을 합니다.
Salesforce Data 360의 제로 카피 아웃바운드 공유 기능은 이러한 환경을 원활하게 연결하여 복제 또는 ETL 없이 Snowflake 또는 Databricks 내에서 직접 조화된 Data 360 데이터에 대한 관리, 보안, 실시간 액세스를 허용합니다.
이를 통해 분석가와 데이터 과학자는 마케팅, 영업, 서비스 활성화에 사용되는 동일한 실시간 신뢰 데이터를 쿼리, 시각화 및 모델링할 수 있습니다.
##### 문제
데이터를 복사하거나, 거버넌스를 훼손하거나, 기존의 역 ETL 파이프라인을 통해 대기 시간을 유발하지 않으면서, 엔터프라이즈가 Data 360의 통합 고객 프로필 및 계산된 메트릭(예: 평생 가치, 이탈 위험)을 외부 분석 시스템에 안전하고 효율적으로 노출할 수 있는 방법은 무엇입니까?
##### Force
이 패턴은 여러 가지 아키텍처, 거버넌스, 운영 고려 사항을 도입합니다.
* **관리 보안:** Data 360 데이터에 대한 액세스는 제어되고 세분화되고 감사할 수 있어야 합니다. Zero Copy 공유는 명시적 개체 수준 액세스를 사용하므로 지정된 소비자에게는 승인된 데이터 모델 개체(DMO) 및 계산된 인사이트 개체(CIO)만 제공됩니다.
* **명시적 개체 선택:** 관리자는 데이터 공유를 통해 공유 가능한 데이터를 큐레이팅하여 노출할 개체를 명시적으로 선택합니다. 이를 통해 거버넌스를 유지하고 위험 노출을 최소화할 수 있습니다.
* **양측 구성:** Data 360 및 외부 웨어하우스 모두 설정이 필요합니다. Data 360은 데이터 공유 대상을 정의하고(Snowflake/Databricks), 수신 시스템은 공유를 수락하고 인스턴스화해야 합니다.
* **쿼리 연합 모델:** 수락되면 외부 플랫폼이 연합 보기를 통해 실시간으로 관리되는 Data 360 데이터를 쿼리하여 추출 작업 또는 수동 새로 고침 주기를 제거합니다.
* **오픈 표준의 진화:** 파일 통합과 같은 새로운 접근 방식은 오픈 테이블 형식(예: Apache Iceberg)을 활용하여 스토리지 계층에서 읽기 전용 액세스를 가능하게 하여 다중 클라우드 아키텍처 전반에서 확장성, 성능 및 상호 운용성을 향상합니다.
##### 솔루션
이 솔루션은 Snowflake 또는 Databricks와 같은 데이터 플랫폼과 Salesforce Data 360의 네이티브 Zero Copy 공유를 활용합니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
데이터 공유 생성
최고
관리자가 Data 360 내에서 데이터 공유를 만들어 선택한 DMO 및 CIO(예: 통합 개인, 고객 건강 점수)를 추가합니다.
목표 구성
최고
Snowflake 또는 Databricks 계정 식별자 및 인증 매개 변수를 지정하는 데이터 공유 대상을 만듭니다.
공유 게시
모범 사례
데이터 공유를 데이터 공유 대상에 연결하여 안전하게 게시합니다.
웨어하우스 수락
필수
외부 관리자가 공유를 수락하여 공유 개체를 창고의 읽기 전용 보기/테이블로 구체화합니다.
세분화된 액세스 제어
권장
Data 360 내에서 개체 및 역할 기반 권한을 적용하고 웨어하우스 수준 역할 기반 액세스 제어에 부합합니다.
연합 쿼리 액세스
최고
분석가는 표준 SQL을 통해 실시간 공유 데이터를 쿼리하며 다운스트림 분석 및 ML을 위해 기본 웨어하우스 데이터와 조인합니다.
파일 통합 옵션
옵션
대용량 데이터 집합의 경우, 계산 종속성 없이 S3 또는 Delta Lake를 직접 읽을 수 있도록 Apache Iceberg 기반 연합을 활용합니다.
##### 스케치
다음 다이어그램은 Salesforce Data 360에서 외부 데이터 플랫폼으로의 호출을 보여줍니다.
**이 경우:**
* Data 360 관리자는 통합 고객 및 계산된 인사이트 개체를 포함하는 데이터 공유를 정의합니다.
* 데이터 공유 대상(Snowflake 또는 Databricks 계정)이 보안 자격 증명 및 거버넌스 정책으로 등록됩니다.
* Data 360에서 공유를 게시하며 Snowflake/Databricks 관리자가 수락합니다.
* 공유된 데이터는 창고 내에서 안전한 읽기 전용 테이블로 표시됩니다.
* 분석가, BI 도구 또는 ML 파이프라인은 복사하거나 동기화하지 않고 실시간 통합 고객 데이터를 쿼리합니다.
* 모든 액세스는 Data 360 Trust Layer 및 창고 거버넌스 로그 내에서 감사됩니다.
##### 결과
* 외부 웨어하우스는 조화된 Data 360 데이터에 대해 실시간으로 쿼리 가능한 액세스를 얻습니다.
* 역 ETL 파이프라인을 제거하여 운영 부담 및 대기 시간을 줄입니다.
* 통합 데이터에서 직접 AI/ML 교육, 예측 모델링, 고급 BI를 활성화합니다.
* 제로 중복, 강력한 거버넌스, 그리고 설계 단계부터 보안이 적용된 액세스 제어를 유지합니다.
* 단일 거버넌스 모델 하에서 인바운드 연합과 아웃바운드 공유가 공존하는 양방향 제로 카피 루프를 완료합니다.
###### 호출 메커니즘
호출 메커니즘은 이 패턴을 구현하기 위해 선택한 솔루션에 따라 다릅니다.
메커니즘
사용하는 경우
Snowflake 보안 데이터 공유(권장)
엔터프라이즈 웨어하우스가 Snowflake이고 데이터 이동 또는 중복 없이 조화된 Data 360 데이터 집합에 대한 실시간 관리 액세스 권한이 필요한 경우 사용합니다. 제로 지연 공유 및 네이티브 계보 집행이 필요한 분석, AI, 규정 준수 중심 워크로드에 적합합니다.
Databricks 델타 점유율
다운스트림 소비자가 Databricks 또는 Delta Lake 환경에서 운영하고 열려 있는 델타 공유 프로토콜을 통해 통합 또는 활성화된 데이터 집합에 대한 실시간 읽기 전용 액세스 권한이 필요한 경우 사용합니다.
외부 테이블 공유 (아파치 아이스베르크 / 파켓)
개체 저장소(S3, ADLS 또는 GCS)에서 오픈 형식 아키텍처를 유지하고 Athena, BigQuery 또는 Snowflake-on-Iceberg와 같은 분석 엔진 간의 상호 운용 가능한 저렴한 비용 공유가 필요한 경우 사용합니다.
데이터 공유 API(프로그래밍 액세스)
사용자 정의 앱 또는 미들웨어(예: MuleSoft)가 이벤트 기반 새로 고침 알림 및 세분화된 액세스 제어가 포함된 API를 통해 공유 데이터 집합을 안전하게 검색, 구독 또는 사용해야 하는 경우 사용합니다.
하이브리드 공유(제로 복제 + 아웃바운드 공유)
양방향 교환 패턴을 구현할 때, 인바운드 데이터에는 제로 카피를 활용하고, 인사이트 발행에는 아웃바운드 데이터 공유를 활용하여 엔터프라이즈 데이터 플레인 전반에 걸쳐 의미와 거버넌스의 일관성을 보장합니다.
###### 오류 처리 및 복구
* **연결 재시도:** Data 360과 창고 간의 임시 연결 또는 인증 실패를 자동으로 다시 시도합니다.
* **공유 검증:** 잘못되었거나 권한이 없는 공유 구성은 **관리자 검토 대기열**에서 격리됩니다.
* **동기 상태 모니터링:** Data 360은 모니터링 대시보드를 통해 실시간 공유 상태, 쿼리 지연 시간, 액세스 로그를 표시합니다.
* **액세스 취소:** 관리자는 공유를 즉시 취소하여 잔여 데이터 복사본 없이 양측에서의 액세스를 비활성화할 수 있습니다.
* **관리 감사 내역:** 모든 구성 및 액세스 변경 사항은 규정 준수 확인을 위해 기록됩니다.
###### 멱등 설계 고려 사항
* **일관적인 공유 식별:** 각 데이터 공유 및 데이터 공유 대상 쌍에는 정확한 거버넌스 및 액세스 추적 가능성을 보장하는 고유한 식별자가 있습니다.
* **변경할 수 없는 보기:** 공유된 데이터 개체는 읽기 전용이며, 소비자는 상태를 변경할 수 없으므로 결정적 결과 및 규정 준수가 보장됩니다.
* **원자적 공유 수명 주기:** 공유 게시, 취소, 업데이트는 원자적 작업으로, 모두 완전히 완료되거나 롤백됩니다.
* **재생 일관성:** Data 360 데이터가 새로 고쳐지면 웨어하우스 측 쿼리는 항상 최신 일관된 스냅샷을 반환하므로 오래된 읽기가 없어집니다.
###### 보안 고려 사항
보안은 제로 카피 공유의 모든 측면에 기반합니다.
* **인증**: OAuth 2.0, 비공개 키 교환 또는 ID 연합(OIDC)을 사용하여 상호 신뢰를 설정합니다.
* **암호화**: 데이터는 전송 중(TLS 1.2+)과 저장 시(AES-256) 모두 암호화됩니다.
* **액세스 제어**: 개체 수준 권한은 Data 360 Trust 계층에 따라 최소 권한 액세스를 적용합니다.
* **네트워크 보안**: 데이터 교환은 Salesforce 비공개 연결 또는 보안 데이터 교환 API와 같은 비공개 네트워크 링크를 통해 이루어집니다.
* **거버넌스 메타데이터**: 모든 공유 개체에는 추적 가능성 및 규정 준수를 위해 계보, 분류, 동의 특성이 포함되어 있습니다.
##### 링크 모음
###### 시기
* **실시간 가용성:** 공유된 데이터는 복제 지연 없이 Data 360의 최신 상태를 반영합니다.
* **쿼리 신선도:** DMO 또는 CIO의 변경 사항은 공유 웨어하우스 보기에 즉시 반영됩니다.
* **성능 탄력성:** 쿼리 푸시다운은 창고 계산 리소스에 동적으로 조정됩니다.
* **모니터링:** 실시간 대시보드는 운영 보증을 위한 공유 대기 시간과 쿼리 성능 지표를 표시합니다.
###### 데이터 용량
* **확장 가능한 공유:** 분석 요구에 따라 세분화된 개체 수준 또는 전체 도메인 데이터 공유를 지원합니다.
* **최적화된 쿼리 성능:** Snowflake/Databricks는 공유 데이터를 지능적으로 캐시하여 대기 시간을 최소화합니다.
* **스토리지 효율:** 제로 중복은 불필요한 저장소 비용을 제거합니다.
* **파일 통합 옵션:** 페타바이트 규모의 데이터 집합의 경우 Direct Iceberg 기반 공유는 계산을 우회하고 액세스를 가속화합니다.
###### 상태 관리
* **스키마 진화:** 버전 제어 스키마는 Data 360 모델이 발전할 때 호환성을 보장합니다.
* **액세스 상태 추적:** 수명 주기 관리를 위해 Data 360 내에서 유지되는 활성/비활성 공유 상태입니다.
* **메타데이터 동기화:** 공유 개체 정의 업데이트는 다운스트림 웨어하우스 카탈로그에 자동으로 반영됩니다.
* **불변 상태 보장:** 웨어하우스 보기는 항상 Data 360 데이터의 일관된 시점 상태를 나타냅니다.
###### 복잡한 통합 시나리오
* **하이브리드 모드:** 제로 카피(실시간 연합용)와 데이터 수집(역사적 데이터 집합용)을 결합합니다.
* **교차 창고 액세스:** Data 360은 단일 조직 내의 여러 Snowflake 또는 Databricks 테넌트에서 연합할 수 있습니다.
* **AI/BI 상호 운용성:** 외부 시스템(예: SageMaker, Tableau, Power BI)은 역 제로 카피를 통해 Data 360의 강화된 프로필을 다시 쿼리할 수 있습니다.
* **파일 통합 확장:** 개방형 레이크 형식(Iceberg/Delta)을 채택하는 엔터프라이즈는 하나의 연합 모델 아래에서 구조화된 데이터와 비정형 데이터를 통합할 수 있습니다.
##### 예제
클라우드 간 분석을 사용하면 조직에서 관리되는 Salesforce Data 360 데이터와 Snowflake 및 Databricks와 같은 플랫폼의 네이티브 데이터 집합을 결합하여 완전한 360도 분석 보기를 제공할 수 있습니다. 다중 테넌트 액세스를 통해 다양한 사업부가 데이터를 복제하지 않고 별도의 공유를 통해 선별된 정책 제어 데이터 조각을 안전하게 소비할 수 있습니다. 그러면 데이터 과학자는 Snowflake ML 또는 Databricks MLflow 환경 내 통합 고객 프로필에서 직접 모델을 교육하여 연합형 AI 및 기계 학습을 수행할 수 있습니다. 이 프로세스 동안 내장된 계보, 거버넌스, 감사 기능을 통해 모든 데이터 액세스 및 사용이 GDPR 및 HIPAA와 같은 기업 정책 및 규제 요구 사항을 지속적으로 준수하도록 보장됩니다.
## Data Cloud One이 포함된 통합 다중 조직 데이터 플랫폼
Data Cloud One을 사용하면 여러 Salesforce 조직(예: 사업부, 지역, 제품 라인 또는 인수)이 있는 조직에서 단일 중앙 Data 360 인스턴스를 공유할 수 있습니다. 이 조직은 "홈 조직"으로 작동하며, "공동 조직"이라는 다른 조직은 최소한의 노력과 사용자 정의 코드 없이 완전한 거버넌스 제어를 사용하여 통합 데이터에 액세스하고 작업을 수행할 수 있습니다.
##### 컨텍스트
기업은 보통 판매, 서비스, 마케팅 또는 각기 다른 지역 등의 용도로 두 개 이상의 Salesforce 조직을 운영하는 경우가 많습니다. 각 조직에 자체 데이터, 구성, 프로세스가 있을 수 있습니다. Data Cloud One 이전에는 각 조직에 자체 Data 360 설정 또는 복잡한 사용자 정의 코드가 있어야만 조직 전체에서 데이터를 공유할 수 있었습니다. Data Cloud One은 Data 360을 사용하는 단일 '홈' 조직과 저코드 구성 및 메타데이터 공유를 통해 연결되는 여러 '동료' 조직을 허용하여 이를 간소화합니다.
##### 문제
비즈니스가 홈 조직의 Data 360에서 수집, 조화 및 관리하는 통합 Customer 360 데이터를 모든 Salesforce 조직(예: 영업, 마케팅, 서비스 등)에서 일관되게 사용하도록 하면서, 중복 작업, 사용자 정의 코딩, 조직별 별도 Data 360 인스턴스 운영, 그리고 거버넌스상의 공백을 피할 수 있으려면 어떻게 해야 할까요?
##### Force
이 패턴은 여러 가지 아키텍처, 보안, 성능 고려 사항을 도입합니다.
* **다중 조직 복잡성**: 각 사업부의 조직에 서로 다른 데이터, 사용자 정의 개체, 보안, 프로세스가 있을 수 있으므로 일관된 통합 보기를 유지하기가 어렵습니다.
* **중복 및 비용**: 조직당 별도의 Data 360 인스턴스를 실행하면 추가 설정, 추가 관리, 추가 라이선스, 데이터 사일로 위험이 발생합니다.
* **거버넌스 및 데이터 공유 제어**: 각 동료 조직이 볼 수 있고 조치를 취할 수 있는 *데이터를* 결정해야 합니다. 거버넌스 위험 없이 단순히 "모두"를 공유할 수는 없습니다.
* **설정 속도**: 마케팅, 영업 또는 서비스 팀은 교차 조직 데이터를 사용자 정의 코드로 제공받기 위해 몇 주를 기다릴 수 없으므로, 클릭 구성 방식의 솔루션이 필요합니다.
* **데이터 레지던스, 지역적 고려 사항**: 가정 및 동료 조직이 다른 지역에 있는 경우 데이터가 저장되는 위치 또는 공유 방법에 대한 법적 또는 규제 제약이 있을 수 있습니다.
##### 솔루션
다음 표에는 이 통합 문제에 대한 다양한 솔루션이 포함되어 있습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
홈 조직 프로비저닝
최고
하나의 Salesforce 조직을 Data 360이 프로비저닝되는 홈 조직으로 지정합니다. 이는 중앙 데이터 리포지토리 및 거버넌스 허브가 됩니다.
동료 조직 연결
최고
Data Cloud One 앱을 통해 홈 조직에서 하나 이상의 동료 조직에 대한 동료 연결을 구성합니다. 사용자 정의 코드가 필요하지 않습니다.
데이터 공간 정의
모범 사례
홈 조직 내의 데이터 공간을 정의하여 데이터(예: 리테일, 서비스, 마케팅)를 논리적으로 분할하고 액세스 경계를 격리합니다.
데이터 공간 공유
최고
홈 조직에서 동료 조직으로 선택한 데이터 공간을 명시적으로 공유하여 통합 데이터의 관리 기반 역할 기반 가시성을 보장합니다.
액세스 구성
필수
동료 조직에서 Data Cloud One 앱을 활성화하고 프로필, 인사이트, 세그먼트 액세스에 대한 사용자 권한을 할당합니다.
거버넌스 및 정책 관리
권장
홈 조직에서 모든 데이터 수집, ID 확인 및 신뢰 구성을 중앙 집중화하여 종단간 거버넌스를 유지합니다.
다중 조직 동기화
최고
홈 조직의 데이터 변경 사항 및 계산된 인사이트는 관리 동기화 파이프라인을 통해 동료 조직 전체에서 실시간으로 반영됩니다.
하이브리드 배포 옵션
옵션
대기업의 경우 여러 동료 조직이 로컬 컨텍스트 및 규정 준수 경계를 유지하면서 단일 홈 조직에 연결할 수 있습니다.
##### 스케치
다음 다이어그램은 Salesforce가 데이터 마스터인 이 패턴의 이벤트 순서를 보여줍니다.
**이 경우:**
* **홈 관리자**: 데이터 공간을 만들고 데이터 공유를 정의합니다(선택한 DMO/CIO, 세그먼트).
* **홈 관리자**: 동료 조직에 대한 데이터 공유 대상을 만들고 Trust(OAuth 클라이언트, 허용된 조직 ID)를 구성합니다.
* **홈 관리자**: 대상에 데이터 공유를 게시하고 ABAC 정책(CEDAR) 및 암호화/키 제어(필요한 경우 CMK)를 첨부합니다.
* **공동 조직 관리자**: 초대를 수신하고, ID 매핑을 확인하고, 공유를 수락합니다.
* **동료 조직**: Data Cloud One Bridge는 Data Cloud One 사용자를 프로비저닝하고 Permission Sets 및 데이터 공간 가시성을 적용합니다.
* **동료 조직 앱(플로우 / Einstein / Apex)**: 데이터 그래프를 쿼리하거나 Data Cloud One API를 호출하여 공유 DMO 또는 세그먼트를 읽습니다.
* **활성화**: 동료 조직이 활성화를 트리거하거나 데이터 작업을 통해 다시 쓰기를 수행할 수 있습니다(허용되는 경우).
##### 결과
* 연결된 모든 조직에서 고객 데이터(Customer 360)에 대한 **신뢰할 수 있는 단일 소스** — 중복 Data 360 인스턴스가 없습니다.
* **더 빠른 가치 실현 시간.** 동료 조직은 몇 주간의 사용자 정의 코딩이 아닌, 몇 분 만에 통합 데이터와 Data 360 기반 기능에 액세스할 수 있습니다.
* **제어된 데이터 공유.** 승인된 데이터 공간만 공유되므로 보안 및 거버넌스를 유지하고 비즈니스 유연성을 제공합니다.
* 비즈니스 기능(영업, 서비스, 마케팅)은 동일한 통합 데이터 기반으로 운영되어, 엔터프라이즈 전반에서 일관된 지표, 활성화 및 인사이트를 제공합니다.
###### 호출 메커니즘
호출 메커니즘은 이 패턴을 구현하기 위해 선택한 솔루션에 따라 다릅니다.
메커니즘
사용하는 경우
Data Cloud One 네이티브 공유(권장)
여러 Salesforce 조직(Sales, Service 또는 Industry Cloud)이 Data 360\에서 직접 통합 고객 데이터에 실시간으로 액세스해야 하는 경우 사용합니다. 이렇게 하면 복제가 필요 없으며 골든 레코드, 세그먼트, 계산된 인사이트에 지연 없는 액세스가 가능합니다.
Data Cloud One Bridge를 통한 조직 간 공유
여러 사업부 또는 자회사가 별도의 Salesforce 조직에서 운영되지만 중앙 Data 360 인스턴스에서 공통 고객 데이터 및 세그먼트에 대한 공유 액세스 권한이 필요한 경우 사용합니다. 독립 운영 체제를 유지하는 다중 조직 엔터프라이즈에 적합합니다.
Einstein 1 플랫폼 쿼리 API
Salesforce 앱, Flow 또는 Einstein Copilot이 Data 360 데이터를 프로그래밍 방식으로 쿼리하거나 활성화해야 하는 경우 사용합니다. 배치 내보내기를 사용하지 않고 다른 Salesforce 애플리케이션에 통합 프로필, 지표 또는 활성화 결과를 실시간으로 검색할 수 있습니다.
Salesforce 채널 활성화
개인 설정, 캠페인 실행 또는 에이전트 지원 환경을 위해 Marketing Cloud, Service Cloud 또는 Commerce Cloud에 Data 360 데이터(세그먼트, 인사이트 또는 특성)를 활성화해야 하는 경우 사용합니다.
데이터 그래프 액세스(시맨틱 쿼리 레이어)
수동 조인 또는 변환 없이 Copilot, AI 워크플로, 실시간 클라우드 간 분석을 지원하는 Salesforce 데이터 그래프를 통해 통합 데이터 모델에 시맨틱 수준으로 액세스해야 하는 경우 사용합니다.
###### 오류 처리 및 복구
* **교차 조직 동기화 복원성:** Data Cloud One은 임시 네트워크 또는 플랫폼 오류에 대해 기하급수적 백오프를 사용하여 홈 및 동료 조직 간에 실패한 동기화 작업을 자동으로 다시 시도합니다.
* **일부 배치 절연:** 실패한 레코드 배치는 조정에 성공할 때까지 홈 조직 내의 재시도 대기열에서 격리되어 데이터 분산을 방지합니다.
* **스키마 거부 거버넌스:** 관리자가 검토하고 수정할 수 있도록 스키마 또는 매핑 불일치가 스키마 거부 대기열로 라우팅됩니다.
* **재생 및 재개 연속성:** 각 동기화 작업은 오프셋 검사점을 유지하므로 복제가 중복되지 않고 마지막으로 성공적으로 커밋된 후 다시 시작할 수 있습니다.
* **통합 모니터링:** 모든 실패, 재시도 및 복구 메트릭은 가시성 및 SLA 보증을 위해 신뢰 계층 모니터링 대시보드에 수집됩니다.
###### 멱등성 설계 고려 사항
* **결정적 멱등성 키:** 모든 동기화 이벤트에는 정확한 일회성 처리를 보장하기 위해 고유한 키(조직 ID + 레코드 ID + 버전 번호)가 포함되어 있습니다.
* **재생 안전:** 중복 또는 재생된 이벤트는 커밋 시 필터링되어 다운스트림 DMO 및 CIO 업데이트가 일관되도록 합니다.
* **원자적 커밋 의미론:** 동료 조직은 성공적인 다운스트림 작성 후에만 데이터를 커밋됨으로 표시하여 교차 조직 트랜잭션 무결성을 유지합니다.
* **전쟁 해결:** 다중 소스 업데이트는 최종 기록 우선 또는 정책 기반 병합 논리를 따르며, 계보와 일관성을 유지합니다.
* **검사점 지속성:** 동기화 작업은 안전한 복구 및 재생을 위해 마지막으로 처리된 오프셋 및 Trust 레이어 내 상태를 유지합니다.
###### 보안 고려 사항
* **강력한 인증:** 홈 조직과 동료 조직 간의 연결은 Connected Apps(연결된 앱)을 통해 관리되는 자동으로 순환되는 토큰과 함께 상호 OAuth 2.0을 사용합니다.
* **세분화된 권한 부여:** 동료 조직은 관리되는 데이터 공유 정책을 통해 명시적으로 공유된 특정 데이터 공간, DMO 또는 CIO에만 액세스할 수 있습니다.
* **전 구간 암호화:** 데이터는 홈 조직과 동료 조직 모두에서 전송 중(TLS 1.2+)과 저장 시(AES-256) 암호화됩니다.
* **최소 권한 원칙:** 통합 사용자는 필수 개체에만 범위를 지정하며, 관리 또는 시스템 수준 권한은 전파되지 않습니다.
* **감사 및 규정 준수 가시성:** 모든 동기화 이벤트, 스키마 변경 사항, 자격 증명 업데이트 및 액세스 권한 부여가 Data 360 Trust 레이어에 기록되어 완벽한 추적 가능성을 제공합니다.
* **개인 네트워크 격리:** Salesforce 비공개 연결 또는 비공개 링크(옵션)는 안전한 내부 채널에서만 데이터 복제를 보장합니다.
##### 링크 모음
###### 시기
* 홈 조직과 동료 조직 간의 동기화는 소스 조직에서 데이터가 변경된 후 일반적으로 몇 초 이내에 거의 실시간으로 이루어집니다.
* Zero Copy 아키텍처는 복제 또는 배치 지연 없이 모든 참가 조직에서 공유 데이터를 즉시 쿼리할 수 있도록 합니다.
* 활성화 및 세분화 작업에 연결된 조직의 최신 업데이트가 자동으로 반영되므로 운영 체계가 최신 상태로 유지됩니다.
* 종단간 대기 시간은 결정적이며, Data Cloud One의 오케스트레이션 파이프라인에 의해 관리되어 로드 중에도 일관된 교차 조직 적시성을 보장합니다.
###### 데이터 용량
* 지역 및 사업부 전반에 걸쳐 다중 테넌트, 초대규모 데이터 동기화를 위해 설계되었으며, 조직당 수십억 개의 레코드를 관리할 수 있습니다.
* 데이터는 복제되지 않고 참조만 되어, 저장 공간 사용량이 줄어들면서도 전역 쿼리 기능이 유지됩니다.
* 스트리밍 델타와 메타데이터 압축은 대역폭과 커밋 오버헤드를 최적화하여, 변경 속도가 높은 개체(예: 연락처, 주문)의 처리 효율성을 높입니다.
* Trust Layer를 통한 적응형 로드 밸런싱과 오케스트레이션으로 여러 동료 조직에 수평 확장이 가능합니다.
###### 상태 관리
* 동기화된 모든 데이터 집합은 메타데이터 계보, 버전, 조직 소유권 컨텍스트를 유지하여 종단 간 추적 가능성을 보장합니다.
* 체크포인트 지속성은 조직 간 마지막으로 동기화된 오프셋을 저장하여 중복 없이 복구할 수 있도록 합니다.
* 조직 간의 스키마 버전 관리 및 시맨틱 정렬은 Trust Layer에 의해 자동으로 관리됩니다.
* 수동 상태 재설정은 필요하지 않습니다. 동기화 상태는 Data Cloud One 오케스트레이션 서비스를 통해 유지됩니다.
###### 복잡한 통합 시나리오
* **교차 조직 연합:** 통합 관리 모델 하에서 여러 Data 360 테넌트 또는 지역에서 원활한 쿼리와 활성화를 실현합니다.
* **하이브리드 동기화:** 트랜잭션 업데이트를 위한 거의 실시간 복제를 대량 또는 아카이브 데이터의 예약 동기화와 결합합니다.
* **다중 지역 거버넌스:** 상주, 동의, 규정 준수 경계를 존중하면서 지리적으로 분산된 데이터 공유를 지원합니다.
* **AI 및 자동화 활성화:** 동기화된 데이터는 조직 전반에서 Einstein AI, Agentforce 또는 맞춤형 ML 모델을 즉시 구동하여 실시간 교차 조직 인텔리전스를 제공합니다.
###### 예제
글로벌 리테일 조직에는 Consumer Retail, Premium Brands, International Markets용으로 각각 하나씩, 총 세 개의 Salesforce 조직이 있습니다. Consumer Retail 조직에서 Data 360을 프로비저닝하여 홈 조직으로 지정합니다. Data Cloud One을 사용하여 프리미엄 브랜드 및 국제 시장 조직에 대한 동료 연결을 설정합니다. 각 동료 조직과만 적절한 데이터 공간(예: “Customer 360 – Retail Profiles” 및 “Customer 360 – Premium Profiles”)을 공유합니다. 프리미엄 브랜드 조직에서 마케팅 팀은 통합 고객 프로필을 보고, 계산된 인사이트(예: 프리미엄 고객 생애 가치)를 기반으로 세그먼트를 구축하며, 커스텀 코딩이나 데이터 중복 없이 홈 조직의 Data 360 인스턴스가 제공하는 마케팅 자동화를 트리거할 수 있습니다.
## 데이터 활성화 패턴--데이터 아웃바운드
데이터 활성화는 Salesforce Data 360의 가치를 실제로 생성하는 과정입니다. 플랫폼 내에 존재하는 통합, 보강, 관리 데이터를 가져와 비즈니스 전체에서 작동하도록 만드는 프로세스입니다. 실제로는 마케팅 자동화, 서비스 콘솔, 세일즈 활성화, 분석 또는 AI 모델 등 Data 360에서 고객을 참여시키는 시스템에 선별된 세그먼트, 계산된 인사이트, 컨텍스트 특성을 안전하게 전달하는 것을 의미합니다.
기술적 관점에서 활성화 패턴은 트리거되는 채널, 발생하는 변환 또는 매핑, 정책이 적용되는 방법 등 이 데이터가 이동하는 방식을 정의합니다. 이러한 패턴은 단순히 데이터를 내보내는 것이 아니라 측정 가능한 비즈니스 결과를 촉진하는 정책 인식 데이터 플로를 실시간으로 오케스트레이션하는 것입니다. 각 활성화 경로는 Customer 360을 실시간 운영 자산으로 전환하여, 모든 접점에서 개인화, 예측적 의사결정, 지속적인 학습을 지원합니다.
### 배치 활성화 패턴
배치 활성화는 Data 360에서 데이터를 내보내기 위한 가장 널리 사용되고 운용상 입증된 방법입니다. 예약된 주기에 따라 정기적으로 다운스트림 플랫폼에 미리 정의된 대상 세그먼트 또는 특성 집합을 게시합니다. 이 패턴은 즉각적인 업데이트보다는 일관되고 대량의 대상 그룹 전달에 의존하는 마케팅 및 참여 워크플로에 이상적으로 적합합니다.
일반적인 사용 사례에는 이메일 여정, 직접 메일 캠페인 또는 디지털 광고 네트워크에 대한 대상 업로드가 포함됩니다. 각 활성화 실행은 Data 360의 통합 프로필 그래프에서 적격 세그먼트를 추출하고, 거버넌스 및 동의 정책을 적용하고, 출력을 대상 시스템에 안전하게 전송합니다.
아키텍처적으로 배치 활성화는 예측 가능, 감사 가능, 비용 효율적인 데이터 배포 접근 방식을 제공하며, 운영 단순성과 엔터프라이즈급 신뢰도에 균형을 맞춥니다. 적시에 전달되고 제어된 올바른 데이터가 측정 가능한 비즈니스 영향을 미치는 대규모 캠페인 실행의 기반입니다.
#### 마케팅 및 광고 플랫폼에 세그먼트 활성화
##### 컨텍스트
현대 마케터는 이메일, 광고, 모바일, 웹 등 여러 참여 채널에서 작업하며, 각각 정확하고 시기 적절하며 맞춤화된 고객 대상을 요구합니다. Data 360은 이러한 대상 그룹을 위한 통합 기반 역할을 하며 모든 시스템의 고객 데이터를 실행 가능한 풍부한 세그먼트로 결합합니다.
배치 활성화는 Data 360에서 다운스트림 마케팅 또는 광고 플랫폼으로 세그먼트를 내보내는 데 사용되는 가장 일반적인 활성화 패턴입니다. 일반적인 대상에는 Marketing Cloud Engagement, Google Ads, Meta 사용자 정의 대상 그룹 또는 LinkedIn Ads가 포함되며, 여기에서 캠페인을 선별된 대상 그룹에 직접 실행할 수 있습니다.
##### 문제
마케팅 팀이 Data 360의 통합 및 보강 데이터를 사용하여 구축된 정밀하게 정의된 대상 그룹을 사용하여 외부 마케팅 또는 광고 시스템에서 활성화할 수 있도록 만드는 방법은 무엇입니까?
예를 들어, 다음과 같은 세그먼트를 고려해 보십시오: "지난 90일 동안 구매하지 않았지만 최근 웹사이트에서 활동한 고가치 고객."
마케터는 캠페인의 관련성과 효과를 유지하기 위해 이 대상 그룹이 정확하게 전송되고 관련 특성(예: 충성도 계층, 지역 또는 예측 CLV)으로 보강되고 정기적으로 새로 고쳐야 합니다.
##### Force
배치 활성화 패턴을 구성하는 몇 가지 기술 및 운영 요소:
* **ID 매핑:** 정확한 대상 그룹 전달을 위해서는 Data 360의 통합 개인 ID를 Marketing Cloud의 구독자 키 또는 디지털 광고 플랫폼의 해시 이메일 등 대상 시스템의 해당 식별자에 매핑해야 합니다. 이를 통해 정확한 일치를 보장하고 대상 지정 오류를 방지할 수 있습니다.
* **속성 선택 및 보강:** 마케터는 ID를 벗어나 이름(성 없이), 충성도 상태, CLV 또는 기타 개인 설정된 특성과 같은 추가 프로필 데이터를 포함하여 다운스트림 개인 설정 및 분석을 활성화해야 합니다.
* **대상 플랫폼 구성:** 각 대상은 연결 세부 사항, 인증, 데이터 필드 매핑을 포함하여 Data 360에 활성화 대상으로 등록되어야 합니다. 이 일회성 설정은 보안 연결을 정의하고 활성화된 데이터를 수신할 수 있는 시스템을 관리합니다.
* **거버넌스 및 규정 준수:** 데이터 활성화는 동의 메타데이터, 개인정보 보호정책(예: GDPR 또는 CCPA) 및 통합 프로필에 저장된 마케팅 권한을 준수해야 합니다. 동의 인식 활성화를 통해 데이터가 승인된 목적으로만 사용됩니다.
* **예약 및 성능:** 활성화는 다운스트림 대상 그룹을 최신 상태로 유지하기 위해 주로 매일 또는 매시간 예약됩니다. 중복 또는 데이터 손실 없이 대용량 및 증분 새로 고침을 효율적으로 처리해야 합니다.
##### 솔루션
Data 360의 **배치 활성화** 프로세스는 마케터의 기술적 마찰을 최소화하면서도 관리성과 확장성을 유지하는 안내 워크플로를 따릅니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
세그먼트 생성
최고
마케터 또는 분석가가 데이터 모델 개체(DMO) 또는 계산된 인사이트 개체(CIO)에서 필터를 적용하여 시각적 세분화 캔버스에서 세그먼트를 구축합니다. 이렇게 하면 활성화 대상 그룹이 정의됩니다.
활성화 설정
최고
사용자가 활성화를 만들고 소스로 방금 구축한 세그먼트를 선택합니다. 이렇게 하면 Data 360이 다운스트림 시스템으로 내보낼 대상 그룹이 정의됩니다.
활성화 대상 선택
모범 사례
마케터가 사전 구성된 활성화 대상을 선택합니다(예: Marketing Cloud, Google Ads, LinkedIn Ads). 각 대상은 인증 자격 증명 및 필드 매핑을 사용하여 Data 360에 등록됩니다.
페이로드 정의
필수
마케터는 연락처 식별자(예: 이메일, 모바일, 해시 ID)를 선택하고 대상 시스템에서 강화할 추가 프로필 특성(예: 이름, 충성도 계층 또는 CLV)을 선택하여 페이로드를 정의합니다.
예약 및 빈도
권장
활성화를 한 번 또는 반복적으로 실행하도록 예약할 수 있습니다(예: 매일 또는 매주). 예약을 통해 다운스트림 대상 그룹이 동기화되고 최신 상태로 유지됩니다.
실행 및 내보내기
최고
활성화 작업이 실행되면 Data 360이 세그먼트를 쿼리하고, 선택한 특성을 수집하고, 동의 필터를 적용하고, 데이터를 대상 플랫폼으로 내보냅니다. Marketing Cloud의 경우 일반적으로 공유 데이터 확장이 생성되거나 업데이트됩니다.
거버넌스 및 규정 준수
필수
Trust 계층은 데이터 보호 및 마케팅 규정(예: GDPR, CCPA)을 준수하기 위해 스키마 검증, 동의 메타데이터 및 정책 제어를 적용합니다.
모니터링 및 감사 기능
모범 사례
모든 활성화 실행은 성공/실패 메트릭, 실행 로그 및 계보 가시성을 통해 Trust 계층 모니터링 대시보드에서 추적되므로 운영 투명성과 SLA 보증이 가능합니다.
##### 스케치
다음은 단계의 요약입니다.
* **세그먼트 구축:** 마케터 또는 분석가는 시각적 세분화 도구를 사용하여 여러 통합 데이터 개체에 걸쳐 필터를 조합해 세그먼트를 생성합니다.
* **활성화 생성:** 세그먼트를 소스로 선택하고 사전 구성된 대상을 선택합니다(예: Marketing Cloud 또는 Google Ads).
* **페이로드 정의:** 연락처 식별자 및 기타 프로필 속성이 오디언스 내보내기 및 보고를 위해 선택됩니다.
* **전달 일정 예약:** 활성화가 한 번 또는 반복적으로 실행되도록 예약되어 대상이 최신 상태로 유지됩니다.
* **실행:** 트리거 시 Data 360이 세그먼트를 쿼리하고 페이로드를 구축하고 동의 필터를 적용한 후 결과를 대상 시스템으로 푸시합니다.
##### 결과
* Data 360의 타겟팅되고 강화된 오디언스 세그먼트가 다운스트림 마케팅 및 광고 플랫폼에서 직접 제공됩니다.
* 대상 그룹이 자동으로 새로 고쳐 최신 통합 고객 데이터와 동기화되어 실시간 캠페인 관련성을 유지합니다.
* 마케터는 활성화된 대상 그룹을 Google Ads, Meta 또는 LinkedIn Ads와 같은 디지털 광고 플랫폼에서 Marketing Cloud Journeys, 이메일 캠페인 또는 사용자 정의 대상 그룹의 입력 소스로 사용할 수 있습니다.
* 모든 활성화 실행은 종단간 계보를 유지하여 Data 360과 외부 시스템 간의 규정 준수, 추적 가능성, 일관성을 보장합니다.
* 비즈니스 사용자는 완전하고 신뢰할 수 있는 Customer 360 뷰를 기반으로 고도로 개인화되고 데이터 기반의 경험을 제공할 수 있습니다.
###### 호출 메커니즘
호출 메커니즘은 대상 플랫폼 및 활성화 대상 구성에 따라 다릅니다.
메커니즘
사용하는 경우
Marketing Cloud 참여 활성화(권장)
Marketing Cloud에서 동적 세그먼트, 맞춤형 특성, 실시간 업데이트가 필요한 이메일 또는 교차 채널 여정을 실행할 때 사용합니다. Data 360은 캠페인 활성화를 위해 공유 데이터 확장으로 직접 내보내집니다.
Ad Platform 활성화(Google Ads, LinkedIn Ads, Meta Ads)
재타겟팅 또는 유사 모델링을 위해 Data 360 세그먼트를 광고 플랫폼의 사용자 정의 대상 그룹으로 활성화할 때 사용합니다. 해시 식별자 및 동의 인식 전달을 지원합니다.
CRM 활성화(Sales 또는 Service Cloud)
맞춤형 세일즈 참여 또는 서비스 상호 작용을 위해 CRM 사용자와 보강된 고객 데이터, 인사이트 또는 성향 점수를 공유할 때 사용합니다. 데이터는 데이터 작업 또는 통합 프로필 구성 요소를 통해 강화된 레코드 또는 인사이트로 제공됩니다.
MuleSoft 또는 API를 통한 외부 활성화
충성도, 전자상거래 또는 타사 데이터 웨어하우스와 같은 Salesforce가 아닌 시스템에 활성화가 도달해야 할 때 사용합니다. MuleSoft 또는 Data 360 활성화 API는 이벤트 기반 새로 고침 옵션과 함께 안전하고 정책에 의해 관리되는 전달을 보장합니다.
하이브리드 활성화(배치 + 이벤트 트리거형)
예약된 배치 활성화와 이벤트 기반 트리거를 결합할 때 사용합니다. 이를 통해 버려진 장바구니나 이탈 위험 경고와 같이 시간에 민감한 캠페인에서 상시 개인화가 가능합니다.
###### 오류 처리 및 복구
* **작업 수준 오류 격리:** 각 활성화 실행은 Data 360 오케스트레이션 계층에서 고유하고 추적 가능한 작업으로 실행됩니다. 실패한 실행은 다른 활성화 또는 세그먼트 정의에 영향을 미치지 않고 자동으로 격리됩니다.
* **일부 배치 복구:** 특정 레코드를 내보내지 못할 경우(예: 식별자 불일치 또는 API 속도 제한으로 인해), 시스템은 지수적 백오프와 병렬 복구를 적용한 증분 델타 대기열을 사용하여 다시 시도합니다.
* **스키마 유효성 검사 오류:** 아웃바운드 페이로드 특성이 더 이상 대상 스키마와 일치하지 않는 경우(예: 삭제된 특성 또는 이름이 변경된 필드) 작업이 영향을 받는 레코드를 관리자 검토를 위해 스키마 거부 대기열로 라우팅합니다.
* **재생 및 재개 지원:** 각 활성화 작업은 마지막으로 성공한 배치를 캡처하는 검사점 토큰을 유지합니다. 복구 시, 처리는 검사점에서 다시 시작되어 중복이나 데이터 손실이 발생하지 않도록 보장합니다.
* **전체 모니터링:** 모든 활성화 이벤트, 재시도 및 전달 메트릭은 Trust Layer Monitoring에 기록되므로 이벤트 모니터링 API를 통해 SLA 추적, 근본 원인 분석 및 자동 경고가 가능합니다.
###### 멱등성 설계 고려 사항
* **결정적 활성화 키:** 모든 활성화 실행은 세그먼트 ID, 활성화 ID, 대상 시스템 ID를 결합하는 복합 멱등성 키를 사용하여 정확히 한 번만 전달을 보장합니다.
* **재생 감지:** Data 360 활성화 서비스는 이전 작업 해시와 비교하여 수신된 페이로드를 검사함으로써 재생을 감지하고 억제합니다.
* **원자적 내보내기 커밋:** 페이로드는 쓰기 확인에 성공한 후에만 대상 시스템에 반영되어, 부분 업데이트나 중복 계산을 방지합니다.
* **일관적인 ID 확인:** 활성화는 통합 ID(예: 통합 개인)에 의존하므로, 재생이나 재시도 시에도 항상 동일한 골든 레코드를 대상으로 하여 의미상의 일관성을 유지합니다.
* **활성화 상태 지속성:** 오케스트레이션 계층은 필요 시 결정적 재처리를 위해 활성화 상태 메타데이터(타임스탬프, 상태 코드들, 순서 토큰)를 저장합니다.
###### 보안 고려 사항
* **강력한 인증:** 각 활성화 대상(예: Marketing Cloud, Ads 또는 CRM)은 토큰 순환 및 테넌트별 범위와 함께 OAuth 2.0을 사용하여 무단 데이터 내보내기를 방지합니다.
* **속성 수준 거버넌스:** 데이터 공유 정책 및 활성화 템플릿에 의해 적용되는 통합 프로필의 승인된 특성만 활성화할 수 있습니다.
* **전송 중 및 저장 시 암호화:** 전송 중에 모든 페이로드가 TLS 1.2+를 사용하여 암호화되고, Data 360과 대상 플랫폼 모두에서 AES-256을 사용하여 암호화됩니다.
* **계약 및 정책 시행:** 활성화 작업은 Data 360의 Trust Layer에 저장된 동의 개체 및 데이터 정책을 준수합니다. 유효한 동의 메타데이터가 없는 레코드는 내보내기에 자동으로 제외됩니다.
* **감사 및 규정 준수 로깅:** 각 활성화 실행은 누가 시작했는지, 어떤 데이터가 전송되었는지, 어떤 대상으로 이동했는지 수집하여 Trust 계층 대시보드 내에서 전체 규제 감사 추적(GDPR, CCPA)을 활성화합니다.
* **최소 권한 액세스:** 각 대상에 대한 통합 사용자는 활성화별 범위로 제한됩니다(관리 권한 또는 관련 없는 시스템에 대한 쓰기 액세스 권한 없음).
##### 링크 모음
###### 시기
* 예약 또는 거의 실시간 배치 내보내기를 위해 고안되었습니다(분-시간 대기 시간).
* 캠페인 캘린더에 맞춰 시간 초과 새로 고침을 지원합니다.
* 활성화 작업은 데이터 준비 마커를 사용하여 순서대로 처리하여 데이터를 새로 고칠 수 있습니다.
* 데이터 정확도가 즉각성보다 큰 비대화형 활성화 시나리오에 가장 적합합니다.
###### 데이터 용량
* 대규모 데이터 집합(실행당 수백만 개의 레코드)을 처리합니다.
* 세그먼트 분할 및 병렬 내보내기 채널을 통해 수평으로 확장합니다.
* 시간 초과를 방지하고 처리량을 최적화하기 위해 청크 기반 배치를 사용합니다.
* 데이터 완결성이 중요한 엔터프라이즈급 데이터 파이프라인에 적합합니다.
###### 상태 관리
* 작업 ID, 타임스탬프, 순서 토큰을 기록하는 활성화 상태 개체를 유지합니다.
* 재시작 가능성 및 오류 복구에 점검을 사용합니다.
* 버전이 지정된 세그먼트 정의는 활성화 주기 전반에 걸쳐 재현성을 보장합니다.
* 소스 세그먼트, DMO 특성, 대상 페이로드 간의 계보 추적 가능성을 활성화합니다.
###### 복잡한 통합 시나리오
* 사전 구축 커넥터를 통해 Salesforce CRM, Marketing Cloud, 외부 시스템과 원활하게 통합합니다.
* 다중 대상 활성화를 지원하며 여러 대상(예: CRM + 광고)에 데이터를 동시에 배포합니다.
* 복합 워크플로(예: 배치 내보내기 후 다운스트림 API 호출 또는 AI 점수 매기기)를 트리거할 수 있습니다.
* 데이터 모델 거버넌스 계층을 통해 스키마 진화를 정상적으로 처리합니다.
##### 예제
지난 90일간 비활성 고객을 다시 참여시키려는 글로벌 리테일 브랜드 Data 360을 사용하여 데이터 아키텍처는 구매 내역, 충성도 계층, 동의 메타데이터로 보강된 "고정 쇼핑객" 세그먼트를 정의합니다. 배치 활성화 작업은 매일 밤 실행되며, 이 세그먼트를 Marketing Cloud Engagement로 푸시하여 맞춤형 "We Miss You" 이메일 캠페인을 트리거하고, 리타겟팅을 위해 Ad Studio로 푸시합니다. 이 작업은 동일한 전달 기능을 활용하여 재시도 간 중복을 방지하며 모든 이벤트는 감사 준수에 대해 Trust 계층에 기록됩니다.
#### 클라우드 저장소로 데이터 내보내기
##### 컨텍스트
기업은 보관, 규정 준수 또는 다운스트림 통합을 위해 Salesforce Data 360에서 통합 또는 세분화된 데이터를 표준 파일 형식(예: CSV 또는 Parquet)으로 내보내려면 관리 메커니즘이 필요합니다. 이 패턴을 사용하면 신뢰할 수 있는 고객 데이터가 Amazon S3, Azure Blob 또는 Google Cloud Storage(GCS)에서 호스팅되는 엔터프라이즈 데이터 레이크 또는 분석 파이프라인으로 안전하게 유입되도록 Data 360을 클라우드 간 저장소로 내보낼 수 있습니다.
일반적인 사용 사례에는 다음이 포함됩니다.
* 규제 보존을 위해 동의된 고객 데이터 집합을 정기적으로 보관합니다.
* 비Salesforce 분석 워크로드(예: Tableau, Databricks 또는 Power BI)에 대해 선별된 세그먼트를 내보냅니다.
* 입력으로 구조화된 CSV 또는 Parquet 파일이 필요한 외부 기계 학습 모델을 활성화합니다.
##### 문제
조직이 스키마 무결성 및 규정 준수 제어를 유지하면서 관리, 안전, 자동화된 방식으로 Data 360에서 클라우드 스토리지 버킷(예: Amazon S3)으로 선별된 세그먼트 또는 데이터 집합을 내보낼 수 있는 방법은 무엇입니까? 예를 들어, 규정 준수 팀은 다음을 수행해야 할 수 있습니다. "유효한 동의를 가지고 EU 지역의 모든 활성 고객을 추출하고 외부 감사 및 보고를 위해 매주 S3 위치로 데이터를 내보냅니다." 이를 위해 수동 개입 또는 비관리 데이터 이동 없이 올바른 파일 형식, 액세스 권한 및 배달 일정을 보장하는 반복 가능한 정책 인식 내보내기 파이프라인이 필요합니다.
##### Force
여러 운영 및 아키텍처 요인에 따라 이 내보내기 패턴이 적용됩니다.
* **인증 및 권한 부여**: 인증된 시스템만 대상 버킷에 쓸 수 있도록 하려면 내보내기는 클라우드 공급자의 IAM 모델(예: AWS IAM 역할 또는 Azure 서비스 주체)을 준수해야 합니다.
* **스키마 정렬**: 아웃바운드 스키마는 대상 시스템의 예상 구조와 형식(CSV, Parquet 또는 JSON)과 일치해야 합니다.
* **데이터 개인 정보 보호 및 동의**: 내보낸 데이터 집합은 유효한 동의 메타데이터가 없는 레코드를 필터링해야 합니다.
* **예약 및 신선함**: 많은 내보내기는 정기적으로 수행되며(매일, 매주 또는 매월), 엔터프라이즈 데이터 새로 고침 주기와 일치해야 합니다.
* **거버넌스 및 모니터링**: 모든 내보내기는 전체 계보 가시성을 통해 감사할 수 있어야만 데이터 보존 및 규제 요구 사항(예: GDPR, CCPA)을 준수할 수 있습니다.
##### 솔루션
파일 내보내기 활성화 패턴은 수집에 사용되었지만 데이터 출력에 대해 구성된 같은 보안 클라우드 저장소 커넥터를 재사용합니다. 먼저 관리자가 Data 360에서 클라우드 저장소 플랫폼(예: Amazon S3, Azure Blob Storage 또는 GCS)을 활성화 대상으로 등록합니다. 그런 다음, 사용자가 활성화 워크플로를 구성하고 실행하여 원하는 세그먼트를 지정된 파일 저장소 경로로 내보냅니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
세그먼트 선택
최고
분석가가 Data 360\ 내에서 기존 세그먼트 또는 쿼리 정의를 선택합니다. 세그먼트에 따라 내보낼 레코드 및 특성이 결정됩니다.
활성화 설정
최고
사용자가 세그먼트를 소스로 선택하고 클라우드 저장소 대상을 대상으로 선택하는 새 활성화를 만듭니다(예: S3).
활성화 대상 구성
필수
관리자가 자격 증명, IAM 역할 및 출력 경로를 사용하여 대상을 미리 구성합니다. 지원되는 형식에는 CSV, Parquet, JSON이 포함됩니다.
Payload 정의
모범 사례
필수 특성(예: ID, 이름, 이메일, 지역, 동의 플래그)을 선택하여 내보내기 스키마를 정의합니다. 시스템에서 특성 수준 관리를 적용합니다.
예약 및 빈도
권장
정의된 케이던스(매일, 매주, 매달)에서 실행되도록 내보내기를 예약하거나 필요에 따라 수동으로 트리거할 수 있습니다.
실행 및 배달
최고
실행 시 Data 360은 세그먼트를 쿼리하고 내보내기 파일을 컴파일하고 암호화한 후 클라우드 공급자의 API를 사용하여 구성된 버킷/폴더에 작성합니다.
거버넌스 및 규정 준수
필수
Data 360의 Trust 계층은 모든 내보내기가 동의 정책, 스키마 검증 및 규정 준수 필터를 준수하도록 보장합니다.
모니터링 및 감사 기능
모범 사례
각 내보내기는 Trust 계층 모니터링 대시보드에서 상태, 실행 로그 및 계보 메타데이터와 함께 추적됩니다.
##### 스케치
다음은 단계의 요약입니다.
* **세그먼트 선택:** 분석가 또는 데이터 관리자가 내보낼 통합 세그먼트를 선택합니다.
* **활성화 만들기:** 새 활성화 작업을 만들고 등록된 클라우드 저장소 대상을 선택합니다.
* **페이로드 정의:** 내보내기 스키마, 특성 목록 및 파일 형식을 지정합니다(예: CSV).
* **예약 내보내기:** 일회성 또는 반복 일정을 선택합니다.
* **작업 실행:** Data 360은 지정된 버킷 경로에 파일을 생성하고 안전하게 전달합니다.
* **모니터링 및 확인:** 결과 및 로그는 Trust 계층에서 검토하여 검증 및 규정 준수 여부를 확인합니다.
##### 결과
* Data 360의 대상 그룹 세그먼트를 다운스트림 마케팅 및 광고 플랫폼에서 바로 사용할 수 있습니다.
* 대상 그룹이 자동으로 새로 고쳐 최신 통합 고객 데이터와 동기화되어 실시간 캠페인 관련성을 유지합니다.
* 마케터는 활성화된 대상 그룹을 Google Ads, Meta 또는 LinkedIn Ads와 같은 디지털 광고 플랫폼에서 Marketing Cloud Journeys, 이메일 캠페인 또는 사용자 정의 대상 그룹의 입력 소스로 사용할 수 있습니다.
* 모든 활성화 실행은 종단간 계보를 유지하여 Data 360과 외부 시스템 간의 규정 준수, 추적 가능성, 일관성을 보장합니다.
* 비즈니스 사용자는 완벽하고 신뢰할 수 있는 Customer 360 뷰를 통해 고도로 맞춤화된 데이터 중심 환경을 제공할 수 있습니다.
###### 메커니즘 호출
호출 메커니즘은 대상 클라우드 스토리지 플랫폼 및 활성화 구성에 따라 다릅니다.
메커니즘
사용하는 경우
Amazon S3 활성화
엔터프라이즈 데이터 레이크가 AWS에서 호스팅되는 경우 사용합니다. Data 360은 IAM 역할 또는 임시 자격 증명을 사용하여 S3 버킷에 파일을 직접 기록하여 안전하고 확장 가능한 내보내기를 보장합니다.
Azure Blob 스토리지 활성화
조직이 Microsoft Azure에서 운영하는 경우 사용합니다. Data 360은 SAS 토큰 또는 서비스 주체를 사용하여 Blob 컨테이너에 암호화된 파일을 작성합니다.
Google Cloud Storage(GCS) 활성화
데이터 과학 또는 분석 워크로드가 GCP에서 실행되는 경우 사용합니다. Data 360은 OAuth 자격 증명을 사용하여 CSV 또는 Parquet 형식의 GCS 버킷으로 파일을 내보냅니다.
SFTP 또는 외부 파일 게이트웨이
규제 또는 레거시 시스템에서 SFTP 끝점 또는 엔터프라이즈 관리 파일 전송 플랫폼을 통해 안전한 파일 전달이 필요한 경우 사용합니다.
하이브리드 내보내기(파일 + API)
다운스트림 응용 프로그램에 분석을 위한 파일 기반 내보내기와 워크플로 오케스트레이션을 위한 API 트리거(예: MuleSoft 플로)가 모두 필요한 경우 사용합니다.
###### 오류 처리 및 복구
* **작업 수준 격리:** 각 내보내기는 개별 작업으로 실행됩니다. 실패한 작업은 독립적으로 격리 및 재시도됩니다.
* **일부 파일 재시도:** 특정 배치가 업로드에 실패할 경우(예: 네트워크 중단으로 인해) 기하율 백오프를 사용하여 해당 청크를 다시 시도합니다.
* **스키마 불일치 처리:** 스키마 드리프트 또는 필드 불일치가 스키마 거부 대기열에 레코드를 라우팅하여 검토합니다.
* **Checkpoint & Resume:** 내보내기 작업은 검사점 메타데이터를 유지하므로 중복 없이 마지막으로 성공적으로 쓰기를 다시 시작할 수 있습니다.
* **통합 모니터링:** 실패 및 재시도는 가시성과 SLA 규정 준수를 위해 신뢰 계층 대시보드에 기록됩니다.
###### 동임 설계 고려 사항
* **결정적 내보내기 키:** 각 내보내기 작업에는 세그먼트 ID + 대상 ID + 타임스탬프로 구성된 고유 ID가 포함되어 있습니다.
* **재생 안전:** 중복 작업 실행은 작업 해시를 사용하여 감지되고 중복 내보내기를 방지하기 위해 건너뛰습니다.
* **Atomic 쓰기 보증:** Data 360은 전체 완료 및 체크섬 유효성 검사 후에만 대상 버킷에 파일을 커밋합니다.
* **일관적인 스키마 버전 관리:** 내보내기 정의는 실행 전반에서 스키마 일관성을 보장하기 위해 버전이 제어됩니다.
* **검사점 지속성:** 필요한 경우 결정적 복구 및 재처리를 위해 작업 내보내기 상태 유지
###### 보안 고려 사항
* **강력한 인증:** 클라우드 커넥터는 OAuth 2.0, IAM 역할 또는 서비스 책임자를 인증된 쓰기에 사용합니다.
* **모든 곳에 암호화:** 데이터는 전송 중(TLS 1.2+) 및 유지 중(AES-256) 모두 암호화됩니다.
* **Consent-Aware 내보내기:** 유효한 동의가 있는 레코드만 내보내며 Trust Layer 정책에 따라 적용됩니다.
* **최소 권한 원칙:** 사용자 및 서비스 계정 내보내기는 지정된 저장소 경로로 제한됩니다.
* **포괄적 감사 로깅:** 모든 내보내기 레코드 메타데이터(이니시에이터, 스키마, 대상, 규정 준수 보고 타임스탬프 포함).
##### 링크 모음
###### 시기
* 대기 시간이 초 미만인 즉각적인 이벤트 중심 활성화를 위해 고안되었습니다.
* 즉각적인 개인화, 추천 또는 의사 결정이 필요한 시나리오에 적합합니다.
* 스트리밍 모드에서 작동 - Data 360에서 유효한 데이터 변경 사항이 발생하는 즉시 트리거가 실행됩니다.
* 배치 일정 또는 세그먼트 재계산을 기다리지 않고 지속적인 응답을 보장합니다.
###### 데이터 용량
* 대규모 데이터 집합(실행당 수백만 개의 레코드)을 처리합니다.
* 세그먼트 분할 및 병렬 내보내기 채널을 통해 수평으로 확장합니다.
* 시간 초과를 방지하고 처리량을 최적화하기 위해 청크 기반 배치를 사용합니다.
* 데이터 완결성이 중요한 엔터프라이즈급 데이터 파이프라인에 적합합니다.
###### 상태 관리
* 각 이벤트 작업은 자체 이벤트 토큰 및 재생 ID를 유지하여 동일한 처리를 수행합니다.
* 임시 실패 시 마지막으로 커밋된 이벤트에서 재개할 수 있는 검사점 지속성을 지원합니다.
* 정확한 한 번 활성화 시맨틱스를 보장하기 위해 내장된 중복 제거 논리와 재생 구간을 포함합니다.
* 작업 결과(성공/실패)는 실시간으로 기록되고 신뢰 계층 관찰 가능성 대시보드를 통해 표시됩니다.
###### **복잡한 통합 시나리오**
* 즉각적인 응답 체인을 위한 Salesforce 플로, Einstein 1 플랫폼 이벤트 또는 외부 웹후크와 직접 통합
* 즉시 CRM 레코드 업데이트, AI 점수 매기기 또는 Marketing Cloud 메시지 전송 등 다운스트림 자동화를 트리거할 수 있습니다.
* 구성 가능한 오케스트레이션 지원: 이벤트 트리거는 Data 360 작업, Apex 호출 또는 외부 API를 호출할 수 있습니다.
* 컨텍스트 인식 응답이 즉시 발생해야 하는 에이전트 및 적응형 엔터프라이즈 패턴을 위해 고안되었습니다.
###### 예제
글로벌 리테일 엔터프라이즈는 Databricks에서 분석을 위해 "활성 충성도 구성원" 세그먼트의 주간 내보내기를 제공해야 합니다. Data 360 관리자는 Amazon S3를 활성화 대상으로 구성하고 주간 CSV 내보내기를 s3://enterprise-analytics/loyalty/weekly\_exports/ 경로로 예약합니다. 내보내기 작업은 매주 일요일 실행되며 2M+ 레코드가 포함된 동의 필터링 파일이 생성됩니다.
모든 이벤트, 스키마 정의 및 계보는 Trust 계층 대시보드에 기록되어 투명성, 감사 가능성 및 규정 준수 여부를 보장합니다.
### 요청 시 API 기반 활성화
주문형 API 기반 활성화는 배치 작업 또는 예약된 내보내기를 기다리지 않고 Data 360 인사이트를 필요한 시기에 실행할 수 있는 실시간 이벤트 기반 접근 방식입니다. 이 패턴을 사용하면 고정 케이던스에 미리 작성된 세그먼트를 게시하는 대신 외부 시스템, Salesforce 앱 또는 AI 에이전트가 Data 360 API를 직접 호출하여 요청 시 특정 대상 그룹 조각, 고객 특성 또는 인사이트를 가져오거나 활성화할 수 있습니다.
이 패턴은 사용자가 포털에 로그인하거나, 에이전트가 고객 레코드를 열거나, AI Copilot이 Next Best Action 쿼리를 시작하는 등 대화형 트리거 기반 환경을 위해 고안되었습니다. 시스템은 사전 계산된 내보내기를 사용하지 않고 Data 360에서 실시간으로 가장 최신 관리 데이터를 동적으로 쿼리하거나 활성화합니다.
주요 장점은 즉각성과 정밀도입니다.
* 모든 API 호출은 Data 360의 통합 동의 인식 프로필 그래프 내에서 최신 고객 인텔리전스 액세스합니다.
* 활성화는 동일하고 감사 가능하며 엔터프라이즈 Trust 및 규정 준수 요구 사항에 부합합니다.
* Salesforce Flows, Apex 또는 외부 시스템에서 Einstein 1 플랫폼 API, Connect API 또는 Activation API를 통해 통합을 직접 트리거할 수 있습니다.
이 접근 방식은 대기 시간 및 개인 설정이 가장 중요한 사용 사례(예:
* 서비스 통화 도중 맞춤형 제품 제안 트리거
* 실시간 동작 이벤트를 기반으로 동적 캠페인 대상 그룹을 생성합니다.
* 참여 시점에 작동하는 AI 또는 ML 모델에 실시간 결정을 제공합니다.
#### Connect API를 통한 응용 프로그램 사용자 정의 통합
##### 컨텍스트
기업은 내부 웹 포털, 모바일 앱 또는 파트너 대면 웹 환경과 같은 사용자 정의 구축 응용 프로그램 내에서 조화된 실시간 Data 360 인사이트를 표시해야 하는 경우가 많습니다. 이 패턴을 사용하면 개발자가 관리 및 API 기반 액세스를 통해 Salesforce CRM 및 기타 컨텍스트 시스템과 함께 통합 고객 데이터를 소비하고 표시하는 UI 중심의 안전한 솔루션을 구축할 수 있습니다.
일반적인 사용 사례에는 다음이 포함됩니다.
* 내부 직원 대시보드 또는 모바일 앱에 Data 360 인사이트를 포함합니다.
* 고객과 거래 내역의 가시성을 제공하는 파트너 또는 딜러 포털을 만듭니다.
* Data 360 데이터를 타사 웹 응용 프로그램 또는 환경 계층에 통합합니다.
* Data 360 및 Einstein 1에서 제공하는 실시간 맞춤형 권장 사항 표시
##### 문제
개발자는 민감한 정보를 복제하거나 내보내지 않고 종종 다른 Salesforce 데이터 소스와 함께 조화된 Data 360 데이터에 안전하게 액세스하고 표시하는 사용자 정의 UI 중심 응용 프로그램을 구축할 수 있는 방법은 무엇입니까?
예를 들어, Data 360에서 통합 고객 프로필, 상호 작용, 계산된 인사이트를 표시하는 고객 포털을 구축해야 할 수 있습니다.
이를 위해서는 프런트엔드 환경을 구동하고 인증을 처리하고 거버넌스를 보장하는 동시에 Data 360의 내부 데이터 모델의 복잡성을 추상화하는 단일 안전하고 성능이 뛰어난 API 계층이 필요합니다.
##### Force
다양한 아키텍처 및 운영 고려 사항이 이 패턴에 영향을 미칩니다.
* **UI 중심 액세스:** 기본 목표는 배치 추출 또는 백엔드 동기화를 수행하지 않고 사용자 정의 프런트엔드 환경(웹 또는 모바일) 내에서 데이터를 표시하는 것입니다.
* **보안 게이트웨이:** 선택한 API는 인증된 응용 프로그램 및 사용자에 대해 안전하고 확장 가능한 진입점으로 작동하여 엔터프라이즈급 액세스 제어를 적용해야 합니다.
* **통합 데이터 컨텍스트 :** 응용 프로그램은 Data 360 데이터(예: 통합 프로필, 계산된 인사이트)를 CRM, ERP 또는 사용자 정의 개체 데이터와 원활하게 결합할 수 있어야 합니다.
* **개발자 단순성:** API는 클라이언트 계층에서 백엔드 처리 또는 스키마 매핑을 최소화하는 프레젠테이션 지원 페이로드를 반환해야 합니다.
* **거버넌스 및 관찰 가능성:** 모든 액세스는 명확한 계보, 인증, 정책 집행을 통해 신뢰할 수 있고 감사 가능한 채널을 통해 진행해야 합니다.
##### 솔루션
솔루션은 Data 360 위에 맞춤형 데이터 중심 애플리케이션을 구축하기 위한 기본 통합 게이트웨이로 Salesforce Connect REST API를 사용하는 것입니다.
Connect API는 Data 360의 조화된 프로필, 세그먼트, 계산된 인사이트 등 UI 사용에 최적화된 응답 형식(JSON 기반, 경량, 모바일 지원)으로 Salesforce 데이터에 대한 RESTful 액세스를 제공합니다.
개발자는 연결된 앱을 통해 인증하고 OAuth 2.0 토큰을 가져오고 /query, /chatter 또는 /data와 같은 Connect API 리소스를 호출하여 응용 프로그램 인터페이스에 통합 데이터를 직접 표시합니다.
Connect API는 Query API, Data Graph API, Einstein 1 플랫폼 API 등 다른 API의 전송 기반 역할을 하며, 개발자가 여러 데이터 소스를 하나의 통합된 액세스 패턴으로 결합할 수 있도록 합니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
인증 및 앱 등록
필수
Salesforce에서 OAuth 2.0 기반 인증을 위한 연결된 앱을 만듭니다. Data 360 API 액세스에 대한 범위를 구성합니다.
데이터 액세스(프로필, 세그먼트, 인사이트)
최대
Connect API 끝점(/services/data/vXX.X/connect)을 사용하여 조화된 Data 360 데이터, 통합 프로필, 계산된 인사이트를 쿼리합니다.
UI 통합
최대
프런트엔드 앱(React, Angular, iOS, Android)은 Connect API를 호출하여 대시보드, 포털 또는 모바일 인터페이스에서 Data 360 데이터를 렌더링합니다.
데이터 그래프 쿼리
권장
복잡한 조인 및 관계를 간소화하는 시맨틱 수준 쿼리에 대해 Connect API와 데이터 그래프 API를 결합합니다.
실시간 새로 고침
옵션
라이브 데이터 업데이트를 위해 Connect API와 WebSocket 또는 스트리밍 확장을 사용합니다.
보안 및 거버넌스
필수
OAuth 범위, Data 360 정책 및 Trust 계층 감사 프레임워크를 사용하여 데이터 가시성을 적용합니다.
##### 스케치
다음은 단계의 요약입니다.
* **연결된 앱 등록** — 외부 앱 인증을 위한 OAuth 범위 및 API 권한을 정의합니다.
* **액세스 토큰 가져오기** — 외부 앱이 OAuth 2.0 인증을 수행하여 Data 360 액세스 토큰을 수신합니다.
* **Invoke Connect API** — 앱이 REST API 호출을 만들어 통합 프로필, 세그먼트 또는 인사이트 데이터를 검색합니다.
* UI에서 **데이터 렌더링** — 응답은 브랜딩 포털 또는 모바일 인터페이스에서 사용자에게 분석되고 표시됩니다.
* **오류 처리 및 토큰 새로 고침** — 앱은 세션 연속성을 위해 재시도 로직 및 자동 토큰 새로 고침을 구현합니다.
* **모니터링 및 감사 액세스** — 모든 API 호출은 가시성 및 규정 준수를 위해 Trust 레이어에 기록됩니다.
##### 결과
개발자는 Data 360과 긴밀하게 통합된 안전한 사용자 정의 브랜딩 응용 프로그램을 만들 수 있습니다. 이러한 앱은 다음을 수행할 수 있습니다.
* 실시간으로 조화된 고객 프로필 및 인사이트를 표시합니다.
* 통합 API를 통해 CRM 또는 사용자 정의 개체와 함께 Data 360 데이터를 표시합니다.
* Trust 계층을 통해 일관된 인증, 인가, 감사 제어를 활용합니다.
* 비즈니스 사용자 또는 파트너에게 경험 전반에 걸쳐 신뢰할 수 있는 고객 인텔리전스에 대한 원활하고 관리되는 접근 권한을 제공합니다.
##### 호출 메커니즘
호출 메커니즘은 대상 클라우드 스토리지 플랫폼 및 활성화 구성에 따라 다릅니다.
메커니즘
사용하는 경우
Connect REST API(권장)
UI 친화적인 JSON 형식으로 Data 360 데이터에 실시간 액세스해야 하는 웹, 모바일 또는 타사 앱을 구축할 때 사용합니다.
데이터 그래프 API
앱이 여러 개체(예: 고객 → 트랜잭션 → 캠페인)에서 시맨틱 수준 쿼리를 수행해야 하는 경우 사용합니다.
쿼리 API
SOQL과 유사한 쿼리를 실행하여 높은 정밀도로 통합된 데이터 집합을 검색하는 경우 사용합니다.
Einstein 1 플랫폼 API
사용자 정의 UI 내에서 AI 기반 인사이트 또는 Copilot 생성 권장 사항을 통합하는 경우 사용합니다.
MuleSoft 또는 Apex 게이트웨이 래퍼
앱과 Connect API 간에 추가 오케스트레이션, 캐싱 또는 정책 적용이 필요한 경우 사용합니다.
###### 오류 처리 및 복구
* **요청 제한:** 속도 제한 상황에서는 API 호출을 자동으로 백오프하고 재시도합니다.
* **스키마 드리프트 보호**: GraphQL 스키마 버전 관리 또는 REST 메타데이터 검색을 사용하여 스키마 변경에 적응합니다.
* **토큰 만료 관리** – 애플리케이션은 세션 중단을 방지하기 위해 OAuth 토큰을 자동으로 새로 고칩니다.
* **API 오류 격리** – 실패한 API 호출이 동시 세션에 영향을 미치지 않고 기록되고 다시 시도됩니다.
* **Trust Layer Observability** – API 성공률/실패율 및 액세스 로그가 Trust Layer 대시보드에 표시됩니다.
###### 멱등 설계 고려 사항
* **결정적 요청 ID**: 각 API 요청에는 재실행에 안전한 처리를 위한 상관 ID가 포함되어 있습니다.
* **캐시 검증 헤더:** ETag 및 최종 수정 머리글은 중복 데이터 가져오기를 방지합니다.
* **원자 읽기 작업:** Connect API를 사용하면 각 응답이 일관된 통합 데이터 스냅샷을 반영합니다.
* **재생 보호** – 중복 API 호출은 요청 서명 및 타임스탬프를 사용하여 필터링됩니다.
###### **보안 고려 사항**
* **OAuth 2.0 인증:** 모든 API 호출은 연결된 앱을 통해 안전한 단기간 OAuth 액세스 토큰을 사용합니다.
* **최소 권한 액세스:** API 범위는 필수 개체 및 필드로만 제한됩니다.
* **모든 곳에 암호화:** 전송 중에는 TLS 1.2+를 사용하고, 캐시되거나 저장된 응답에는 AES-256 암호화를 적용합니다.
* **동의 인식 데이터 액세스**: Data 360은 검색된 모든 레코드가 동의 및 거버넌스 정책을 준수하도록 합니다.
* **전체 감사 로깅:** 모든 API 상호 작용은 사용자, 앱 및 Trust 계층의 타임스탬프 메타데이터로 기록됩니다.
##### 링크 모음
###### 시기
* 대기 시간이 낮고 실시간 API 액세스를 위해 설계되었습니다.
* 즉시 데이터 렌더링이 필요한 대화형 응용 프로그램에 적합합니다.
* 캐시 및 색인화된 Data 360 소스를 통해 거의 즉각적인 쿼리 응답 시간을 지원합니다.
* 배치 일정 또는 비동기 활성화 주기에 종속되지 않습니다.
###### 데이터 용량
* 소규모에서 중간 크기의 데이터 집합(예: 프로필, 인사이트 또는 최근 트랜잭션)을 가져오는 대화형 사용 사례에 최적화됩니다.
* 커서 기반 페이지 매김을 통해 페이지 매김된 결과를 정상적으로 처리합니다.
* 대량 내보내기에 적합하지 않으므로, 대규모 데이터 집합의 경우 배치 또는 파일 내보내기 패턴을 사용합니다.
###### 상태 관리
* 응용 프로그램은 OAuth 토큰 및 로컬 캐시를 사용하여 경량 세션 상태를 유지합니다.
* Connect API는 효율성을 위해 조건부 요청 및 부분 새로 고침을 지원합니다.
* API 응답에는 릴리스 전반의 스키마 일관성을 위한 버전 마커가 포함되어 있습니다.
###### 복잡한 통합 시나리오
* 여러 도메인에서 시맨틱 쿼리를 위해 Connect API와 데이터 그래프 API를 결합합니다.
* 예측적, 대화형 경험을 위해 Einstein 1 Copilot 또는 AI API와 통합합니다.
* 하이브리드 UI 개발을 위해 Experience Cloud 또는 Lightning 웹 구성 요소와 함께 사용합니다.
* MuleSoft를 통해 확장하여 실시간으로 데이터 보강 또는 외부 시스템 조회를 오케스트레이션합니다.
##### 예제
다국적 보험 회사는 보험사가 통합 프로필, 최근 청구, 맞춤형 제안을 볼 수 있도록 고객 셀프 서비스 포털을 구축합니다. 프런트엔드 eact 기반 앱은 OAuth 2.0을 통해 인증하고 Connect REST API 및 데이터 그래프 API를 사용하여 데이터를 검색합니다. 모든 데이터는 실시간으로 표시되며, 동의 상태를 반영하고, Data 360 Trust 계층을 통해 관리됩니다. 개발자는 Salesforce 내에서 직접 API 호출 및 감사 추적을 모니터링하여 완벽한 규정 준수 및 관찰 가능성을 보장합니다.
#### 데이터 그래프 API를 통한 고객 프로필 검색 완료
##### 컨텍스트
기업에서는 서비스 콘솔, 추천 엔진 또는 개인화 플랫폼과 같은 실시간 의사결정 시스템을 위해 전체 고객 프로필에 대한 즉각적인 액세스를 점점 더 요구하고 있습니다. 이 패턴을 통해 애플리케이션은 Data 360의 Data Graph API를 사용하여 사전 계산된 통합 고객 데이터 보기를 거의 실시간으로 검색하고, 대화형 환경에 1초 미만의 응답 시간을 제공합니다.
일반적인 사용 사례에는 다음이 포함됩니다.
* 고객 서비스 또는 Sales Console 내에서 360도 고객 보기를 표시합니다.
* AI 기반 "Next Best Action" 또는 "Next Best Offer" 권장 사항을 제공합니다.
* 페이지 로드 시점에 초개인화된 웹 또는 모바일 환경을 제공합니다.
* 에이전트 또는 셀프 서비스 환경에서 세션 내 결정 지원
##### 문제
응용 프로그램이 런타임 시 느린 다중 개체 쿼리를 실행하는 대신 사전 계산된 전체 통합 고객 보기를 즉시 검색할 수 있는 방법은 무엇입니까? 예를 들어, 맞춤형 제안을 선택하려면 웹 개인 설정 엔진이 전체 고객 컨텍스트(인구 통계, 기본 설정, 트랜잭션, 계산된 인사이트)를 밀리초 이내에 로드해야 합니다. 전통적인 관계형 쿼리는 여러 조인이 필요하여, 허용할 수 없는 대기 시간이 발생할 수 있습니다. 따라서 속도, 완전성 및 거버넌스를 결합하는 단일 키 검색을 통해 조회할 수 있는 비정규화된 즉시 사용 가능한 프로필 데이터를 제공하는 API가 필요합니다.
##### Force
여러 운영 및 성능 요소가 이 패턴에 영향을 미칩니다.
* **속도:** 응답 시간은 실시간에 근접해야 합니다. API가 동기식 상호 작용을 지원하려면 전체 프로필을 밀리초 이내에 반환해야 합니다.
* **완전성:** 응답에 모든 관련 특성, 관계, 계산된 인사이트가 포함되어야 하며, 이상적으로 단일 페이로드에 포함되어야 합니다.
* **검색 효율:** 프로필은 customerId, contactKey 또는 이메일과 같은 식별자를 통해 검색할 수 있어 다단계 쿼리가 없어야 합니다.
* **데이터 신선함 vs. 지연 시간:** 일부 사용 사례는 속도를 위해 사전 계산(캐시)된 데이터를 선호하며, 다른 경우 실시간 데이터가 필요하며 대기 시간이 더 길어집니다.
* **거버넌스 및 보안:** Salesforce Trust Layer 정책을 통해 액세스 권한을 유지하여 데이터 가시성 및 동의 규칙을 준수해야 합니다.
##### 솔루션
솔루션은 Salesforce 데이터 그래프 API를 사용하여 데이터 그래프 레코드로 저장된 미리 계산된 비정규화 고객 보기를 검색하는 것입니다. 데이터 그래프는 Individual, Transaction, ProductInterest와 같은 여러 데이터 모델 객체(DMO)를 하나의 읽기 전용 레코드로 결합하여 구체화된 시맨틱 보기를 제공하며, 이는 JSON 블롭으로 표시되는 경우가 많습니다.
개발자는 다음과 같은 REST 끝점을 사용할 수 있습니다.
GET /api/v1/dataGraph/{dataGraphEntityName}/{id}
고유 식별자를 사용하여 전체 레코드를 검색합니다. 동적 시나리오의 경우 API는 구체화된 캐시를 우회하고 Data 360 전반에서 실시간 쿼리를 실행하고 최신 데이터에 대한 최소 대기 시간을 트레이딩하는 live=true 매개 변수를 지원합니다.
이를 통해 개발자는 비즈니스 요구에 따라 즉각적인(캐시된) 프로필 검색과 최신의(실시간) 프로필 검색 중에서 선택할 수 있습니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
데이터 그래프 정의
필수
설계자는 여러 DMO를 하나의 시맨틱 엔티티(예: UnifiedCustomerProfile)로 결합하는 데이터 그래프를 정의합니다.
프로필 조회
최대
애플리케이션은 GET /api/v1/dataGraph/{entity}/{id}를 호출하여 고유한 ID 또는 키로 전체 비정규화 프로필을 조회합니다.
실시간 매개 변수 사용
옵션
?live=true를 추가하여 캐시된 조회 대신 최신 데이터를 강제로 재계산합니다. 이는 중요한 결정에 적합합니다.
인증
필수
연결된 앱을 통해 OAuth 2.0을 사용하여 API 호출을 안전하게 인증합니다.
응답 구문 분석
모범 사례
응용 프로그램이 JSON 응답을 UI 또는 결정 엔진에 직접 구문 분석하며 추가 조인이 필요하지 않습니다.
캐싱 전략
권장
반복 프로필 조회를 위해 단기 로컬 캐싱(예: 메모리 내 또는 CDN)을 구현합니다.
모니터링 및 가시성
필수
Trust 계층 대시보드를 사용하여 쿼리 성능, 응답 시간 및 정책 준수를 모니터링합니다.
##### 스케치
다음은 구현 플로의 요약입니다.
* **데이터 그래프 정의** — 데이터 아키텍트가 여러 DMO의 통합 고객 보기를 모델링하는 데이터 그래프를 생성합니다.
* **연결된 앱 등록** — 개발자가 보안 API 액세스를 위한 OAuth 자격 증명을 구성합니다.
* **Data Graph API 호출** — 응용 프로그램이 Data Graph 이름과 레코드 ID를 포함하는 GET 요청을 보냅니다.
* **프로세스 응답** — API는 고객 프로필의 전체 JSON 표현을 반환합니다.
* **Render or Act** — 사용하는 앱(UI 또는 엔진)은 개인 설정, 권장 사항 또는 서비스 작업에 통합된 데이터를 사용합니다.
* **모니터링 및 조정** — 성능 메트릭과 액세스 로그는 Trust 계층 관찰 콘솔을 통해 검토됩니다.
##### 결과
이제 응용 프로그램은 사전 결합된 전체 고객 프로필을 즉시 검색하여 개인화, 서비스 및 의사 결정 자동화와 같은 실시간 상호 작용을 지원합니다.
이 패턴은 다음을 보장합니다.
* 1초 미만의 응답 시간으로 즉각적인 의사 결정을 지원합니다.
* Data 360 시맨틱 모델에 부합하는 일관되고 관리된 데이터 검색을 제공합니다.
* 간소화된 응용 프로그램 로직으로, 조인이나 스키마 조정이 필요 없습니다.
* 감사 및 관찰성을 위해 Trust 계층을 통해 추적 가능한 규정 준수 액세스
###### 호출 메커니즘
호출 메커니즘은 대상 클라우드 스토리지 플랫폼 및 활성화 구성에 따라 다릅니다.
메커니즘
사용하는 경우
데이터 그래프 API(권장)
ID 또는 키로 사전 구체화된 전체 프로필을 즉시 검색하는 데 사용합니다.
live=true를 사용하는 데이터 그래프 API
최신 데이터가 필요한 고부가가치 사용 사례(예: 사기 감지, 실시간 제안)에서는 약간 더 높은 대기 시간을 감수합니다.
Connect API (폴백)
데이터 그래프 검색을 다른 Salesforce 데이터와 결합하는 복합 앱 시나리오에 사용합니다.
쿼리 API
즉각적인 프로필 검색 대신, 임시 쿼리나 분석용 읽기 작업을 구성할 때 사용합니다.
MuleSoft API Proxy
엔터프라이즈 게이트웨이를 통해 데이터 그래프 호출을 라우팅하거나 추가 오케스트레이션/정책을 적용해야 하는 경우 사용합니다.
###### 오류 처리 및 복구
* **원활한 대체 처리** – 실시간 쿼리가 실패하거나 시간 초과 임계값을 초과할 경우, 캐시된 데이터 그래프 검색으로 자동 전환됩니다.
* **시간 초과 관리** – 고부하 상태의 API 호출에 대해 재시도 및 회로 차단기 로직을 구현합니다.
* **유효하지 않은 ID 처리** – 존재하지 않는 프로필 키에 대해 표준 404 Not Found 응답을 반환하고, UI에서 원활하게 처리합니다.
* **스키마 버전 유효성 검사** – 스키마가 발전할 때 불일치를 방지하기 위해 데이터 그래프 버전 메타데이터를 검증합니다.
* **관찰성 통합** – SLA 모니터링을 위해 Trust 계층 대시보드 내의 모든 오류, 재시도 및 지연을 기록합니다.
###### 멱등성 설계 고려 사항
* **결정적 키** – 각 프로필 검색 시, 예측 가능하고 재생 안전한 쿼리를 보장하기 위해 고정된 ID (예: IndividualId)를 사용합니다.
* **캐시 일관성** – 조건부 검색 및 캐시 검증에 ETag 또는 Last-Modified 헤더를 사용합니다.
* **Atomic Retrieval** – 각 API 응답은 구체화된 데이터 그래프 레코드의 일관된 스냅샷을 나타냅니다.
* **재생 보호** – 클라이언트 응용 프로그램이 상관 관계 ID 및 타임스탬프를 통해 중복 검색을 감지합니다.
###### 보안 고려 사항
* **강력한 인증** – 연결된 앱을 통한 OAuth 2.0은 보안 토큰 기반 액세스를 적용합니다.
* **동의 인식 검색** – 동의된 특성만 반환됩니다. 동의 필터는 Trust 계층에서 자동으로 적용됩니다.
* **필드 수준 거버넌스** – Data 360의 메타데이터 및 정책 정의를 통해 속성에 대한 액세스를 제어합니다.
* **교통 및 중지 중 암호화** – 모든 응답은 TLS 1.2+ 및 AES-256로 암호화됩니다.
* ** 감사 및 추적 가능성** – 모든 프로필 검색 이벤트는 식별자, 타임스탬프 및 정책 컨텍스트로 기록됩니다.
##### 링크 모음
###### 시기
* 즉각적인 검색을 위해 설계되었습니다.
* 최신 데이터에 대한 실시간 쿼리를 지원하며, 대기 시간은 약간 더 높습니다(초 미만).
* 동기 의사 결정 및 대화형 응용 프로그램에 최적화됩니다.
* 배치 전 활성화 또는 세그먼트 재계산이 필요하지 않습니다.
###### 데이터 용량
* 요청당 **단일 레코드 조회** 또는 소규모 세트(수십 개에서 수백 개)에 이상적입니다.
* 대규모 대량 검색에 최적화되어 있지 않으며 대용량 읽기에 배치 또는 쿼리 API를 사용합니다.
* 속도를 위해 가로로 확장 가능한 캐싱 및 사전 구체화를 사용합니다.
###### 상태 관리
* 경량의 무상태 액세스를 유지합니다. 각 요청은 독립적입니다.
* 재생 안전한 검색을 위해 캐싱 헤더를 지원합니다.
* 응용 프로그램에서 로컬 캐시 또는 단기 세션 저장소를 유지하여 반복 조회를 줄일 수 있습니다.
###### 복잡한 통합 시나리오
* 복합 데이터 환경을 위해 **Einstein 1**, **Connect API** 및 **MuleSoft**와 원활하게 통합합니다.
* 즉각적인 컨텍스트 인식을 필요로 하는 **액티컬 시스템**(예: Copilot 또는 AI 추론 엔진)을 구동할 수 있습니다.
* 검색 또는 상태 변경 시 실시간 트리거를 위해 **데이터 작업**과 결합됩니다.
* 성능이나 거버넌스를 저해하지 않으면서 **대규모 개인화를** 구현할 수 있습니다.
##### 예제
글로벌 전자상거래 플랫폼은 **Data 360의 Data Graph API를** 사용하여 추천 엔진에 대한 통합 고객 프로필을 실시간으로 검색합니다. 사용자가 로그인하면, 응용 프로그램은 데이터 그래프 끝점을 호출하여 해당 고객의 **UnifiedCustomerProfile**을 가져오고, 인구 통계 속성, 행동 신호 및 계산된 인사이트를 단일 JSON 페이로드로 반환합니다. 개인 설정 엔진은 활성 세션 동안 "Next Best Offer"를 결정하고 표시하기 위해 이 응답을 밀리초 이내에 사용합니다. 모든 요청은 **Trust Layer**를 통해 관리되고 기록되므로 상호 작용 전반에서 완벽한 가시성, 정책 집행 및 규정 준수가 보장됩니다.
### 실시간 데이터 작업
실시간 데이터 작업을 사용하면 Data 360에서 변경되는 즉시 고객 데이터를 즉시 활성화할 수 있습니다. 예약된 배치 내보내기를 기다리는 대신 해당 작업은 업데이트, 인사이트 또는 트리거를 Salesforce 또는 외부 시스템에 직접 밀리초 내에 푸시합니다. 고객의 상태, 동의 또는 참여 메트릭이 Data 360에서 업데이트되면 해당 신호는 맞춤형 제안을 즉시 구동하거나 Service Cloud 자동화를 트리거하거나 충성도 계층을 업데이트하여 모든 고객 경험이 가장 최신의 통합된 사실을 반영합니다.
이 패턴은 맞춤형 웹 환경, 사기 감지 경고, Next-Best Action 권장 사항 또는 실시간 CRM 업데이트와 같은 **높은 영향과 지연에 민감한 사용 사례**에 이상적입니다. 데이터 인사이트와 비즈니스 액션 간의 격차를 해소하여 통합 데이터를 즉각적인 인텔리전스로 전환합니다.
#### 실시간 데이터 액션: 고객 신호를 즉각적인 행동으로 전환
##### 컨텍스트
현대 디지털 환경과 운영 워크플로우는 이벤트가 발생하는 순간 즉각적인 상황에 맞는 조치를 요구합니다. 예를 들어, 체크아웃 중에 고객 레코드를 업데이트하거나 반품이 스캔될 때 재고를 조정하거나 사용자가 장바구니를 떠나는 순간 맞춤형 프로모션을 제공합니다. **[실시간 데이터 작업](https://help.salesforce.com/s/articleView?id=data.c360_a_data_actions_cdp.htm&type=5)**을 통해 시스템이 통합 Data 360 프로필과 계산된 인사이트를 서브초에서 수초 이내의 지연으로 호출, 보강 및 조치를 취할 수 있으므로 대화형 개인화, 운영 자동화 및 즉각적인 의사 결정을 가능하게 합니다.
##### 문제
런타임 시 응용 프로그램, UI 상호 작용 흐름 또는 미들웨어가 Data 360을 호출하여 예약된 배치 작업 또는 중량 파이프라인을 기다리지 않고 단일 통합 프로필을 읽고, 계산하거나 업데이트하거나 작업(예: 제안 보내기, CRM 업데이트, 워크플로 시작)을 트리거할 수 있는 방법은 무엇입니까?
##### Force
여러 기술적, 운영적, 거버넌스 요인이 이 패턴에 영향을 미칩니다.
* **저 대기 시간 요구 사항:** 호출은 우수한 UX를 유지하거나 운영 SLA를 충족하기 위해 1초 미만에서 몇 초 이내에 완료되어야 합니다.
* **결정적 정체성 해결:** 요청은 신속하고 신뢰할 수 있는 올바른 통합 개인 프로필(골든 레코드)으로 해결해야 합니다.
* **세분화된 권한 부여:** 실시간 통화는 요청 시 특성 수준 정책 및 동의 검사를 적용해야 합니다.
* **페이로드 최소화:** 실시간 페이로드는 대기 시간과 비용을 줄이기 위해 작고 집중되어야 합니다(단일 프로필 또는 소규모 속성 집합).
* **개발자 경험:** API는 개발자 친화적이어야 합니다(REST/gRPC/GraphQL), 명확한 스키마와 안정적인 프로덕션 사용 계약이 있어야 합니다.
* ** 감사 및 추적 가능성:** 규정을 준수하기 위해 모든 실시간 작업은 계보, 사용자 ID, 정책 결정과 함께 기록되어야 합니다.
##### 솔루션
**Data 360의 실시간 데이터 작업** 인터페이스(API + SDK)를 가장자리 캐싱 및 필요한 경우 최소한의 컴퓨팅 변환과 결합하여 사용하는 것이 좋습니다. 통합은 데이터 작업 끝점을 호출하여 프로필 특성을 읽거나 쓰거나 인사이트를 계산하거나 오케스트레이션을 시작합니다. 페이로드를 반환하거나 작업을 실행하기 전에 정책 적용 지점에서 실시간 정책 확인(CEDAR) 및 동적 마스킹이 적용됩니다.
솔루션 영역
맞춤
댓글/구현 세부 사항
실시간 데이터 작업
최고
단일 레코드 읽기/쓰기 및 작업 트리거에 대해 엔드포인트를 노출합니다. OAuth/JWT를 통해 인증합니다.
신원 확인
필수
수신 식별자(email, externalId, 쿠키)를 통합 개인 ID로 실시간 매핑합니다. 캐시를 사용하는 결정적 해결자를 사용합니다.
정책 집행(CEDAR)
모범 사례
요청 시 동의, ABAC, 마스킹 정책을 평가하고 정책 결정에 따라 필드를 거부하거나 마스킹합니다.
에지/캐시 레이어
권장
프로필 조각 및 계산된 인사이트에 짧은 TTL 캐시를 사용하여 대기 시간을 줄이고, 변경 이벤트 발생 시 캐시를 무효화합니다.
경량 변환
권장
작업 경로에 간단한 보강 또는 계산된 필드를 적용합니다. 무거운 변환은 사전에 계산되어야 합니다.
작업 오케스트레이션
최고
복잡한 흐름에 대해 동기식 단일 단계 작업(예: 제안 토큰 반환) 및 비동기 오케스트레이션(대기열 \+ 웹후크)을 지원합니다.
가시성 및 추적
필수
감사 및 디버깅을 위해 요청/응답, 정책 결정 및 계보를 Trust Layer/SIEM에 기록합니다.
속도 제한 및 트래픽 제어
필수
트래픽이 많은 순간에는 클라이언트 할당량을 엄격히 적용하고, 우아한 서비스 저하 전략을 시행합니다.
##### 스케치
다음은 단계의 요약입니다.
* 클라이언트(UI/미들웨어/POS)는 식별자 및 작업 유형과 함께 인증된 데이터 작업 요청을 보냅니다.
* API 게이트웨이는 토큰을 검증하고, 속도 제한을 적용한 후, Data 360 작업 서비스로 요청을 전달합니다.
* 작업 서비스는 식별자를 통합 개인 ID로 매핑합니다(빠른 경로 캐시; 실패 시 그래프 조회로 대체).
* 정책 집행(PDP)은 PIP 및 요청 컨텍스트의 특성을 사용하여 CEDAR 정책을 평가합니다.
* 허용되면 작업 서비스가 모든 필수 프로필 특성/인사이트를 읽고 간단한 변환을 수행합니다.
* 작업 서비스는 동기식으로 응답(예: 제공 토큰, 업데이트된 특성)을 반환하거나 비동기 오케스트레이션을 대기열에 넣고 확인을 반환합니다.
* 모든 이벤트, 결정 및 페이로드는 Trust 레이어에 기록되고 선택적으로 SIEM에 전달됩니다.
##### 결과
* 응용 프로그램은 1초 미만에서 1초 이내의 지연 시간 내에 통합 프로필 읽기/쓰기 및 작업 트리거에 대해 즉시 정책에 따른 액세스를 받을 수 있습니다.
* 배치 지연 없이 실시간 개인화, 의사결정 및 운영 워크플로(예: 제안, 에이전트 지원, 재고 업데이트)가 활성화됩니다.
* 모든 작업은 감사 가능하고 동의를 인지하며 프라이버시 및 규정 준수를 유지하기 위해 속성 수준 마스킹을 적용합니다.
###### 호출 메커니즘
호출 메커니즘은 대상 플랫폼 및 활성화 대상 구성에 따라 다릅니다.
메커니즘
사용하는 경우
RESTful 데이터 작업 API
동기 프로필 읽기 또는 작업 응답이 필요한 웹/모바일 앱 및 미들웨어에 권장됩니다.
gRPC / Binary RPC
대기 시간이 매우 낮은 엔터프라이즈 서비스 또는 지속적인 연결이 있는 내부 마이크로 서비스에 사용합니다.
GraphQL 단일 레코드 쿼리
클라이언트에게 유연한 필드 선택이 필요하고 페이로드를 최소화하려는 경우 사용합니다.
이벤트 트리거형 웹후크
작업이 다운스트림 프로세스를 트리거하는 비동기 워크플로에 사용합니다(예: 여정 시작).
플랫폼 이벤트 / PubSub
여러 시스템이 단일 작업 이벤트에 반응해야 하는 팬 아웃 시나리오에 사용합니다.
Edge SDK(클라이언트 라이브)
대기 시간이 짧고 프로필 조각을 캐시하며, 필요한 경우에만 데이터 작업 API를 호출하는 클라이언트에 사용합니다.
###### 오류 처리 및 복구
* **동기 오류:** 사람이 읽을 수 있는 메시지와 멱등성 토큰을 포함한 구조화된 오류 코드를 반환합니다.
* **일시 재시도:** 클라이언트는 429/5xx 응답에서 기하급수적 백오프를 사용하여 멱등성 요청을 재시도해야 합니다.
* **정책 거부 처리:** 거부는 명확한 이유 코드를 반환합니다. 정책 실패 시 민감한 데이터는 절대 반환되지 않습니다.
* **비동기 오케스트레이션 실패:** 오케스트레이션 작업은 DLQ로 이동하여 재생할 수 있으며, 작업 상태 API를 사용하면 클라이언트가 폴링하거나 콜백을 받을 수 있습니다.
* **폴백 전략:** 신원 확인에 실패할 경우 결정적 오류와 경우에 따라 제안된 수정(예: externalId 필요)을 반환합니다.
###### 멱등성 설계 고려 사항
* **멱등성 키:** 클라이언트는 변경 작업에 대해 멱등성 키(UUID + 클라이언트 네임스페이스)를 제공합니다.
* **결정적 키:** 복합 키(UnifiedIndividualId + ActionType + TimestampWindow)를 사용하여 중복을 감지합니다.
* **안전한 재시도:** 작업을 부작용에 내성이 있도록 설계하거나, 블라인드 삽입 대신 업서트를 수행하도록 설계합니다.
* **재생 보호:** 재생을 방지하기 위해 비즈니스 기간 이후에 처리된 멱등성 키를 보관하고, TTL을 설정합니다.
* **무상태성:** 가능한 경우 동기 작업을 무상태로 유지하고, 비동기 워크플로에는 최소한의 상태만을 유지합니다.
###### 보안 고려 사항
* **인증:** OAuth 2.0 (서비스 계정의 경우 JWT 베어러 또는 mTLS); 단기 토큰 및 새로 고침 순환.
* **권한 부여:** 정책 결정 지점은 요청당 특성 기반 액세스 제어(CEDAR) 및 동의 검사를 적용합니다.
* **전송 및 저장 암호화:** 전송 시에는 TLS 1.2 이상을 사용하고, 저장 시에는 캐시된 조각이나 감사 로그에 대해 AES-256 암호화를 적용합니다.
* **최소 권한:** 최소 권한으로 제한된 API 클라이언트; 읽기, 쓰기, 오케스트레이션 역할이 구분됩니다.
* **데이터 최소화:** 요청 및 동의된 특성만 반환하고 PII/PHI에 동적 마스킹을 적용합니다.
* **네트워크 제어:** 경우에 따라 고위험 작업에 대해 비공개 네트워크(Private Connect, IP 허용 목록)의 호출이 필요합니다.
* ** 감사 및 모니터링:** 요청 메타데이터, 정책 결정, 요청자 ID, 응답 해시를 Trust Layer 및 SIEM에 기록합니다.
##### 링크 모음
###### 시기
* 동기식 작업의 평균 지연 시간이 1초 미만에서 낮은 단일 초 수준에 맞게 설계되었습니다.
* 에지 캐시(짧은 TTL)와 사전 계산된 인사이트가 왕복 요청 수를 줄입니다.
* 비동기 경로는 백그라운드 처리로 무거운 작업에 대해 거의 즉각적인 확인을 제공합니다.
###### 데이터 용량
* 단일 레코드 또는 소규모 배치 상호작용(1~100건)에 최적화되었습니다.
* 대량 내보내기를 위한 기능이 아니므로, 대량의 경우 배치 활성화를 사용하십시오.
* 높은 처리량을 위해 풀링/연결 재사용 및 병렬 오케스트레이션 대기열을 사용합니다.
###### 상태 관리
* 동기식 호출의 경우 무상태 요청 모델을 사용하며, 권한 부여 및 트랜잭션에 대해서는 최소한의 작업 상태만 유지됩니다.
* 변경 이벤트에 의해 캐시가 무효화되므로, TTL 및 무효화 신호가 캐시를 항상 최신 상태로 유지하도록 합니다.
* 오케스트레이션 작업은 Trust 계층에 저장된 영구 상태(jobId, 상태, 재시도)를 유지합니다.
###### 복잡한 통합 시나리오
* **에이전트 지원:** 에이전트를 위한 실시간 프로필 조회와 계산된 성향 값이 1초 미만 내에 서비스 콘솔에 반환됩니다.
* **POS / Edge 장치:** 프로모션이나 로열티 상태를 검증하기 위해 로컬 SDK와 간헐적인 데이터 작업을 사용합니다.
* **하이브리드 흐름:** 결정을 위한 동기 데이터 작업과, 다운스트림 시스템 업데이트 및 캠페인 트리거를 위한 비동기 오케스트레이션을 사용합니다.
* **타사 미들웨어:** MuleSoft 또는 API 게이트웨이는 인증을 조정하고, 컨텍스트를 강화하고, 추가 정책 검사를 적용할 수 있습니다.
##### 예제
소매 모바일 앱은 구매자가 쇼핑객의 이메일 및 장바구니 컨텍스트와 함께 **제안 적격성** 데이터 작업을 호출하여 쇼핑객이 **체크아웃**을 누를 때 맞춤형 인스턴트 쿠폰을 표시할지 여부를 결정합니다. 요청은 API 게이트웨이에서 검증된 후 데이터 작업 서비스로 전달되며, 이 서비스는 캐시 히트를 사용하여 이메일을 통합 개인 ID로 매핑하고, PDP를 통해 마케팅 동의를 검증하며, 고객 생애 가치와 최근 구매 내역을 바탕으로 자격을 평가합니다. 쇼핑객이 자격을 갖추면 서비스에서 서명된 쿠폰 토큰을 반환하고 결정을 기록합니다. 쿠폰 발행 시 재고 예약이 필요한 경우 비동기식 오케스트레이션이 트리거되어 재고를 예약하고 CRM 시스템에 알립니다. 앱은 쿠폰을 즉시 표시하고 다운스트림 업데이트는 백그라운드에서 완료되며 Trust Layer는 관리 및 규정 준수에 대한 전체 감사 추적을 캡처합니다.
## 참조
* [커넥터 & 통합](https://help.salesforce.com/s/articleView?id=data.c360_a_sources_targets.htm&language=en_US&type=5)
* [웹 및 모바일 SDK](https://help.salesforce.com/s/articleView?id=data.c360_a_web_mobile_app_connector.htm&language=en_US&type=5)
* [1초 미만 실시간 수집](https://help.salesforce.com/s/articleView?id=data.c360_a_real_time_capabilities.htm&type=5)
* [Bring Your Own Lake (Zero Copy 쿼리)](https://help.salesforce.com/s/articleView?id=data.c360_a_byol_data_federation.htm&language=en_US&type=5)
* [Bring Your Own Lake (Zero Copy File)](https://help.salesforce.com/s/articleView?id=data.c360_a_file_federation.htm&type=5)
* [데이터 그래프](https://help.salesforce.com/s/articleView?id=data.c360_a_data_graphs.htm&type=5)
* [활성화: MC Engagement](https://help.salesforce.com/s/articleView?id=data.c360_a_create_marketing_cloud_activation.htm&language=en_US&type=5)
* [활성화: MC Personalization](https://help.salesforce.com/s/articleView?id=data.c360_a_create_mc_personalization_activation_target.htm&language=en_us&type=5)
* [활성화: B2C Commerce](https://help.salesforce.com/s/articleView?id=data.c360_a_b2c_commerce_activation.htm&language=en_US&type=5)
* [데이터 공유 (Zero Copy)](https://help.salesforce.com/s/articleView?id=data.c360_a_data_shares.htm&language=en_US&type=5)
* [활성화: 파일 저장소](https://help.salesforce.com/s/articleView?id=data.c360_a_add_activation_target.htm&language=en_US&type=5)
* [데이터 작업](https://help.salesforce.com/s/articleView?id=data.c360_a_data_actions_CDP.htm&language=en_US&type=5)
* [실시간 1초 미만 데이터 작업](https://help.salesforce.com/s/articleView?id=data.c360_a_create_a_real_time_data_action.htm&language=en_US&type=5)
* [외부 활성화 플랫폼](https://help.salesforce.com/s/articleView?id=data.c360_a_build_external_activation_platforms.htm&language=en_US&type=5)
## 실행 요약
대규모 Salesforce Field Service(SFS) 환경에서 외부 계약자 네트워크를 관리하려면 플랫폼 보안과 예약 성능 사이의 균형을 좁혀야 합니다. 이 가이드에서는 기존의 **영역 기반** 패턴과 외부 계약자의 액세스 및 관리를 규제하는 새로운 **계정 기반 공유** 패턴의 두 가지 주요 아키텍처 패턴을 비교합니다. 이 문서에서는 조직이 운영 목표를 가장 잘 지원하는 기본 구조를 선택하고 각 옵션의 제약 사항을 이해할 수 있도록 심층적으로 검토합니다.
이 패턴 선택은 예약 효율성, 자원 활용도, 발송자 생산성에 영향을 미칩니다. 회사는 올바른 접근 방식을 선택하여 솔루션의 장기적인 확장성을 유지하면서 내부 직원과 외부 파트너 모두에게 원활한 환경을 제공합니다.
즉각적인 운영상의 이점 외에도, 이 기본 선택은 조직이 자율 서비스를 준비하는 정도를 좌우합니다. 계정 기반 공유 패턴은 Agentforce, 특히 Field Service의 일정 예약 에이전트가 인공 데이터 실로로 제한되지 않고 전체적인 평가를 수행하는 데 필요한 통합 데이터 가시성을 제공합니다. 계정 기반 공유를 사용하면 Data Cloud가 계약직 성과 메트릭을 더욱 효과적으로 집계하여 다중 공급업체 환경에서 필요한 엄격한 데이터 격리를 유지하면서 원활한 경쟁 벤치마킹을 수행할 수 있습니다.
### 서비스
- **경쟁 중복을 기반으로 패턴을 선택하십시오.** 외부 계약자가 공유 영역에서 내부 또는 기타 외부 자원과 경쟁하는 경우 계정 기반 공유가 아키텍처적으로 올바른 선택이 될 수 있습니다. 영역 기반 공유는 계약자가 독점적이고 중첩되지 않는 서비스 영역/작업을 받는 경우에만 적합합니다.
- **영역 확산을 방지하십시오.** 필요하지 않은 경우, 데이터를 격리하기 위해 전용 계약자 영역을 생성하면 예약 효율성과 성능이 저하되고, 규모에 따라 관리 오버헤드가 크게 증가하는 계층적 부풀림이 발생합니다. 계정 기반 공유는 이러한 문제점을 해소합니다.
- **AI 기반 스케줄링의 기반을 구축합니다.** Field Service의 스케줄링 에이전트와 최적화 엔진은 전체 자원 풀 가시성을 확보하면 성능이 향상됩니다. 영역 기반 공유의 사일로형 구조는 이러한 문제를 야기하며, 계정 기반 공유가 바람직한 아키텍처 기반입니다.
## 소개 - 계약직 네트워크의 진화
지난 10년 동안 현장 서비스의 계약자 네트워크는 내부 팀의 특별 확장에서 통신, 유틸리티, 가정 서비스 등을 비롯한 산업 전반에 걸쳐 전략적이고 의도적으로 구조화된 에코시스템으로 발전했습니다. 많은 현장 작업이 정규직 직원과 함께 계약자에 의존하고 있어, 액세스, 가시성, 발송 제어에 대한 명확한 규칙이 필요합니다.
조직이 Salesforce Field Service를 확장할 때, 영역 스타일 패턴, 계정 중심 공유 또는 하이브리드를 통해 외부 리소스를 설계하고 관리하는 방식이 혼합된 인력의 작업을 얼마나 안전하고 효율적으로 예약할 수 있는지를 직접적으로 좌우합니다.
## 대상
이 가이드는 Salesforce Field Service 구현의 설계, 성능, 확장성을 담당하는 기술 및 전략적 이해당사자를 대상으로 합니다.
- **솔루션 및 기술 아키텍트:** 다양한 공유 패턴이 일정 예약 및 최적화 효율성에 미치는 영향을 평가합니다.
- **현장 서비스 운영 리더:** 명명된 계약자, 계약자 회사, 일시적 근로자 등 다양한 계약자 페르소나 간의 장단점을 이해합니다.
- **Salesforce 관리자:** 복잡한 보안 요구 사항을 관리하기 위해 서비스 영역 및 플랫폼 공유 테이블이 사용되는 방식에 대한 인사이트를 확보합니다.
## SFS 계약자 정의
대상 계약자 페르소나는 적절한 공유 아키텍처를 직접 결정합니다. 각 범주는 레코드 수준 액세스가 구조화되는 방식, Optimizer가 자원 가용성을 인식하는 방식, 솔루션의 확장 방식에 고유한 영향을 미칩니다.
- **명명된 계약자:** 내부 직원과 유사하게 취급되는 개별 외부 자원입니다. 명명된 계약자는 전용 사용자 라이센스가 필요합니다. 공유 모델은 내부 기술자 액세스 패턴을 반영하므로, 지원하기 가장 단순한 계약자 페르소나입니다.
- **계약자 회사:** 자체 직원을 관리하는 타사 엔티티입니다. SFS에서 계약자 회사는 용량 기반 자원으로 표시되며, 여기서 상위 조직이 특정 개인이 아니라 회사에 작업을 예약하고 할당합니다.
- **일시적 근로자:** 여러 영역에서 일시적으로 작업하는 사용자입니다. 가장 아키텍처적으로 복잡한 페르소나입니다. 일시적이며 다중 영역에 걸친 관계는 영역 기반 공유의 경계를 무너뜨리므로, 가시성이 정적 지리적 할당이 아니라 레코드 수준에서 동적으로 관리되어야 합니다.
## 계약직 복잡성 이해
### 계약직 관리가 복잡한 이유
이러한 패턴은 상위 조직과 계약직의 목표가 기술적으로 상충되는 경우가 많기 때문에 복잡합니다.
1. **상이한 목표:** 상위 조직은 주로 고객 만족도 및 계약 업무/계약(예: 자원 기본 설정, 신속하고 시기 적절한 서비스, 계약직 간의 작업 및 시간 분포 방법 관리)에 중점을 둡니다. 반대로 계약자는 일반적으로 이동 시간 및 운영 비용을 최소화하면서 할당된 작업을 최대화하는 데 집중합니다.
2. **경쟁:** 내부 직원과 달리 다른 계약업체는 종종 직접적인 경쟁업체입니다. 상위 조직은 지역을 전체적으로 파악해야 합니다(투명성), 계약직은 서로의 운영과 엄격하게 격리해야 합니다(격리).
3. **브랜드 무결성:** 최종 고객의 경우 작업자는 브랜드를 나타내며, 종종 모회사가 실시간 상태 업데이트를 확인해야 합니다. 그러나 계약자는 종종 내부 작업을 닫힌 시스템, 즉 '블랙 박스'에 숨겨둡니다.
4. **가시성 및 보안:** 일반적으로 공유 서비스 영역은 모든 할당된 자원의 전체 가시성을 의미하지만 다중 계약자 환경에서는 보다 구체적인 보안 패턴이 필요합니다. 경쟁 무결성 및 데이터 프라이버시를 유지하려면 계약직이 서로의 독점 이름, 일정 또는 자원 정보에 액세스하지 못하도록 방지해야 합니다.
### 핵심 긴장 - 투명성 및 격리 비교
| 역할 | 요구 사항 |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **조직** | 외부(계약자 포함) 및 내부 모두의 모든 기술자를 확인해야 하며, 예약 및 최적화 엔진이 해당 기술자를 함께 고려하여 지역 전체 최적화를 수행하려고 합니다. |
| **계약직** | 계약자는 독점적인 작업을 보호하고, 동일 지역에서 활동하는 경쟁자나 조직 내부의 기술자로부터 엄격하게 격리되도록 '블랙 박스'와 같이 운영됩니다. |
| **도전** | 파트너에게 필요한 가시성 및 액세스 권한을 유지하면서 조직에 효율성과 투명성을 모두 제공하는 시스템을 설계합니다. |
### 계약자 복잡성 매트릭스
Salesforce Field Service 내의 계약업체 설계는 각각 자원 가시성, 발송 소유권, 라이선스에 영향을 미치는 3가지 고유한 운영 모델에 걸쳐 있습니다.
1. 외부 수용력 할당
2. 파트너 셀프 예약
3. 사내 주도 발송
**외부 용량 할당(플랫폼 외부 용량):** 계약업체는 외부에서 직원을 관리하고 개별 기술자 일정 대신 정의된 수용력(예: 사용 가능한 시간 10시간)을 제공합니다. 이 수용력은 예약 목적으로 시간 또는 작업 항목 버킷으로 취급됩니다.
**파트너 자체 예약:** 계약직 관리자는 익스피리언스 사이트를 통해 Salesforce에 로그인하여 자체 팀을 예약합니다. 다른 파트너와 엄격하게 격리해야 합니다.
**내부 지시 발송:** 내부 발송자는 계약직 기술자를 직접 예약합니다. 계약자는 실행에 Field Service Mobile 앱을 사용합니다.
:::warning
내부 발송자에 전체 SFS 라이센스가 필요합니다. 이 모델의 계약직 기술자는 Field Service Mobile 라이센스(또는 모바일 액세스가 있는 커뮤니티 라이센스)만 필요합니다.
:::
| 차원 | 외부 수용력 할당 | 파트너 셀프 예약 | 사내 주도 발송 |
| ----------------------- | ---------------------------- | -------------------------- | -------------------------------------------------------- |
| **자원 가시성** | 수용력만 | 파트너 소유 | 전체 내부 |
| **발송자** | 계약직(외부) | 계약직(Salesforce) | 내부 발송자 |
| **Salesforce 라이센스** | 최소 | Experience Cloud | 전체 SFS(발송자), 커뮤니티(계약 기술자) |
### 범위의 패턴
| 패턴 이름 | 설명 |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **영역 기반 공유** | 계약자가 전용으로 분리된 서비스 영역에 할당됩니다. 레코드 가시성은 영역 멤버십에 따라 결정됩니다. 각 계약업체 또는 그룹은 엄격한 지리적 경계 내에서 운영됩니다. |
| **계정 기반 공유** | 계약자는 내부/기타 외부 자원과 함께 표준 지리적 영역 구조 내에서 운영합니다. 레코드 수준 가시성은 공유 규칙에 따라 관리되므로 통합 리소스 풀이 활성화됩니다. |
## 공유 및 가시성 - 영역 기반 공유
이 패턴에서는 **서비스 영역**이 기본 보안 경계로 사용됩니다. 각 계약업체는 고유한 "하위" 영역에 할당됩니다.

### 일반적인 사용 사례
- 소규모 파트너 네트워크
- 지리적 영역이 엄격하게 중복되지 않는 파트너
- 내부 자원 작업과 근본적으로 다른 계약자 작업으로 인해 경쟁이 제거되는 상황(예: 외부 계약자가 '유형 A 설치'만 처리하는 반면 내부 자원은 다른 모든 작업 유형을 처리함).
### 이점
- **간소화된 구성:** 표준 사용자 영역 설정 및 자동화를 사용합니다.
- **명확한 데이터 구분:** 표준 서비스 영역 개체를 통해 데이터 가시성을 용이하게 하고 보안 관리를 단순화합니다.
### 단점 및 기술 부채
- **최적화 효율:** 엔진에서 영역 경계 전반의 자원을 평가할 수 없으므로 최적의 일정 예약 및 효율적인 라우팅이 차단됩니다.
- **영역 확산:** 매우 적은 자원에 대해 다수의 영역을 생성하면 일정 예약에 추가 오버헤드가 발생합니다.
- **간트 성능:** 대규모 계층(1,000개 이상의 영역)은 플랫폼 제한에 도달할 위험뿐만 아니라 상당한 성능 병목 현상을 유발할 수 있습니다.
## 공유 및 가시성 - 계정 기반 공유
이 가이드는 새로운 솔루션 접근 방식을 소개합니다. **계정 기반 공유**(Salesforce의 기본 기준 기반 공유 규칙, 필드 값을 기반으로 레코드 액세스를 허용하는 것과 동일한 플랫폼 메커니즘을 통해 구현됨) 계정 기반 공유는 **지리적** **가시성**을 분리합니다. 영역은 크고 연속적이지만, 가시성은 계정 관계를 기반으로 하는 플랫폼의 공유 테이블을 통해 관리됩니다. 실제로 기준 기반 공유 규칙은 레코드의 필드(예: `ServiceResource.Company`)를 평가하고 해당 레코드를 해당 그룹과 자동으로 공유합니다. 기준 기반 공유는 레코드 수준에서 사용자 정의 코드 없이 계정 기반 공유가 작동하도록 하는 엔진입니다.

### 일반적인 사용 사례
- 직원 중 상당 부분이 외부 자원으로 구성된 대규모 에코시스템
- 같은 우편번호를 담당하는 여러 계약자가 있는 도시 지역
- 내부 및 외부 자원이 모두 동일한 작업을 수행할 수 있는 상황(예: '유형 A 설치')이더라도, 비즈니스 규칙에 따라 자원 선택에 특정 논리가 적용됩니다(예: 특정 상황에서 내부 자원을 우선 선택).
### 이점
- **최대 활용률 및 ROI:** 엔진은 전체 지역 풀을 평가하여 각 작업에 대해 '최적의' 자원을 찾습니다.
- **확장성:** 영역 수를 늘리지 않고 대규모 계약자 및 외부 자원을 지원합니다.
- **통합 관리:** 내부 직원은 수백 개의 사일로 폴더가 아닌 하나의 보기를 관리합니다(하위 영역).
### 단점 및 기술 부채
- **개발 노력:** 공유 테이블을 관리하려면 사용자 정의 자동화(플로 또는 Apex)가 필요합니다.
- **멤버십 공유:** 서비스 영역 구성원(STM) 레코드를 명시적으로 공유해야 함
:::tip
**확장성 영향**
통합 지역 풀이 없는 대규모 계약자 파트너 풀을 관리하는 조직은 커버리지 격차에 직면하는 경우가 많으며, 각 파트너가 지리적 및 관리적 사일로에서 관리되기 때문에 가장 가까운 기술자가 스케줄링 논리에 표시되지 않습니다. 통합 풀(계정 기반 공유)로 전환함으로써 조직은 전체 리소스 풀에서 가장 가까운 사용 가능한 기술자를 식별하여, 전체적인 일정 예약을 통해 이동 거리를 20% 이상 절감하고 서비스 응답 시간을 단축할 수 있습니다.
:::
## 수용력 기반 자원
외부 인력(외부 용량 할당 측면)의 경우 아키텍트는 [**용량 기반 자원**](https://help.salesforce.com/s/articleView?id=service.fs_define_resource_capacity.htm&type=5)을 사용하여 계약자의 인력 "요약"을 나타낼 수 있습니다.
### 용량과 개인 사용 시기
- **용량:** 계약자가 자체 배차 및 경로 관리를 할 때 이를 사용합니다. 수행하는 사람이 누구인지 보다는 그들이 수행할 수 있는 총 작업량에 초점을 맞춥니다.
- **개인:** 기술자의 하루를 세부적으로 파악해야 할 경우 이를 사용합니다. 개인 기반 자원을 사용하면 정확한 위치, 실시간 가용성, 특정 작업 할당을 내부 직원처럼 관리할 수 있습니다.
## 계약자 공유 패턴 선택
Field Service 계약자 패턴을 설계하기 전에 이 결정 트리를 사용하여 적절한 공유 아키텍처를 결정합니다.
**계약자 공유 패턴 선택 결정 트리**

Salesforce Field Service에서 계약직 공유 패턴을 선택하기 위한 _결정 트리입니다. 외부 자원을 사용 중인지 여부에 따라 트리는 자원 유형 및 작업 독점성을 분기하여 영역 기반 공유 또는 계정 기반 공유를 권장합니다. _
### 적절한 패턴 선택
| 영역 기반 공유 | 계정 기반 공유 |
| --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| 독점적이고 경쟁하지 않는 작업 할당이 있는 외부 자원 | 내부 또는 기타 외부 자원과 경쟁하는 이름이 지정된 외부 자원 |
| 동일한 지리적 영역의 다른 외부 파트너와 겹치지 않음 | 동일한 지리적 영역 내에서 작업하는 여러 파트너 |
| 복잡성 감소, 구현 및 유지 관리 속도 향상 | 복잡성 증가, 레코드 수준 가시성을 구현하고 유지하기 위해 필요한 추가 단계 |
## 구현 지침 - 계정 기반 공유 논리
이 패턴의 핵심은 `ServiceResource.AccountId` 또는 `ServiceResource.Company`(계약업체) 관계를 플랫폼 공유 레코드로 변환하는 자동화 계층입니다.
### 세 가지 액세스 기둥
익스피리언스 사이트에서 발송자 및 서비스 자원의 올바른 액세스를 확인하려면 다음을 통해 액세스를 제어해야 합니다.
- **서비스 자원 공유 규칙:** 기준(계정/회사)을 기반으로 액세스 권한 부여
- **서비스 영역 공유 규칙:** 기준(영역 이름/ID)을 기반으로 액세스 권한 부여
## 고급 고려 사항 - 모바일 작업자 환경
계정 기반 공유를 사용하는 경우 할당된 기술자의 **Field Service Mobile Experience** 및 레코드 가시성을 고려해야 합니다.
- **할당된 자원 공유:** 표준 SFS 기능은 할당된 자원에게 서비스 약속 및 상위 작업 주문에 대한 액세스 권한을 자동으로 부여합니다. 이 설정을 통해 기술자가 할당된 작업에 대한 추가 사용자 정의 공유 규칙을 요구하지 않고 작업을 실행하는 데 필요한 정보를 확보할 수 있습니다.
- **가시성 위험:** 할당된 작업이 기본적으로 처리되는 동안 계정 또는 영역 연결이 없는 할당되지 않은 약속 또는 향후 약속에 대해 주의하십시오. 조직 전체 기본값(OWD)이 엄격하게 관리되지 않거나 공유 집합이 너무 넓으면 할당되지 않은 약속이 통합 영역의 모든 사용자에게 표시될 수 있습니다.
- **계정-영역 연관:** 모든 서비스 약속이 계정 및 영역에 명시적으로 연결되어 있는지 확인합니다. 이 연결을 통해 모바일 앱 내에서 정리된 필터링을 수행하고 지역 풀에 있는 할당되지 않은 작업에 데이터 누출이 발생하지 않는지 확인할 수 있습니다.
## 실제 비즈니스 시나리오
### 시나리오 1 - 어반 허브
- **요건:** 런던에 10개의 서로 다른 계약업체가 파이버 설치를 제공합니다.
- **컨텍스트:** 영역 기반 공유 접근 방식에서 런던은 10개의 겹치는 영역으로 분할됩니다. 발송자는 근처 가용성을 확인하는 데 어려움을 겪을 수 있으므로 이동 시간이 길어질 수 있습니다.
- **권장 사항:** **계정 기반 공유**. 계정 기반 공유를 활용하여 통합 "그레이터 런던" 서비스 영역을 구현하여 세부적인 데이터 보안을 유지합니다. 계정 기반 공유는 계약직 A의 관리가 각자의 리소스에 국한되도록 분리되는 반면, SFS Optimizer는 모든 내부 및 외부 기술자에 대한 부서 간 가시성을 유지합니다. 이 완전한 예약 접근 방식은 완전한 예약(SFS 고객 배포 전반의 현장 관찰을 기반으로 한 방향적 추정)을 통해 이동을 20% 이상 줄일 수 있는 보다 효율적인 라우팅 논리를 수행하여 자원 활용도를 즉시 개선하고 서비스 응답성을 향상시킬 수 있습니다.
### 시나리오 2 - 수용력 기반 가용성
- **요건:** 공급업체는 보일러 수리를 위한 최대 40개의 "슬롯"을 매일 제공하지만, 자체 기술자 파견을 관리합니다.
- **컨텍스트:** 40개의 개별 자원 레코드를 관리하면 불필요한 오버헤드가 추가됩니다.
- **권장 사항: 공급업체 계정에 연결된 수용력 기반 리소스**입니다. 하나의 리소스 레코드는 공급업체의 일일 총 수용력을 나타내므로 Gantt를 원활하게 유지하고 개별 계약직 기술자 레코드를 관리할 필요가 없습니다.
### 시나리오 3 - 계절별 수용력 확장
- **요건:** 유틸리티 회사는 폭풍 시즌 동안 50개의 소규모 현지 계약업체를 온보딩하여 급증하는 수리에 대응합니다.
- **컨텍스트:** 매 시즌 50개의 영역을 만들고 삭제하면 관리 부담이 커지고 일정 예약 및 최적화 엔진의 유연성에 부정적인 영향을 미칩니다.
- **권장 사항:** **계정 기반 공유**. 영구 "오버플로" 지리적 영역을 만듭니다. 계약직이 온보딩되면 계정을 만들고 해당 계정에 자원을 연결하기만 하면 됩니다. 자동화 계층은 영역 계층을 재설계하지 않고도 가시성을 즉시 보장합니다.
### 시나리오 4 - 다중 공급업체 긴급 보장
- **요건:** 우선 순위가 높은 가스 누출의 경우, 어느 계약업체 소속이든 관계없이 가장 가까운 기술자를 출동시켜야 합니다.
- **컨텍스트:** 영역 기반 공유는 가장 가까운 기술자가 다른 영역에 위치할 수 있어, 스케줄링 논리상 해당 기술자에게 접근할 수 없는 문제가 발생합니다.
- **권장 사항:** **계정 기반 공유**. 공급업체를 하나의 대규모 영역으로 통합하면, 엔진이 전체 다중 공급업체 풀을 대상으로 이동 거리를 고려한 완전한 검색을 수행하여 중요한 안전 사고에 대한 응답 시간을 단축합니다.
### 시나리오 5 - 독점적 지역 프랜차이즈
- **요건:** 전문화된 HVAC 파트너는 원격 지역 또는 농촌 구/군에 서비스를 제공할 수 있는 10년 전용 법적 권한을 보유합니다.
- **컨텍스트:** 이 지역에는 다른 계약업체가 없으며, 해당 파트너가 자체적으로 일정 예약 및 기술자 파견을 전담합니다.
- **권장 사항:** **영역 기반 공유** 이 시나리오에서 전용 서비스 영역은 가장 효율적인 선택입니다. 다른 파트너와의 지리적 겹침이 없으므로 영역 경계에서 제공하는 격리가 추가 공유 자동화 없이 법적 및 운영 요구 사항과 완벽하게 일치합니다.
## 구현 지침 - 공유 자동화 계층
계정 기반 공유는 발송자 사용자와 서비스 자원 레코드 간에 공유되는 공통 계정/회사 식별자에 레코드 수준 액세스를 연결하여 가시성을 지리적 요소와 분리합니다. 플랫폼의 기본 기준 기반 공유 엔진이 이 필드를 평가하고 영역 계층을 변경하지 않고 자동으로 액세스 권한을 부여하거나 취소합니다.
### 필요한 세 가지 아키텍처 구성 요소
필요한 세 가지 아키텍처 구성 요소는 다음과 같습니다.
1. 사용자와 서비스 자원 객체 모두에 계약자 계정과 연결되는 공통 식별자 필드가 존재합니다.
2. 계약자 회사별로 모든 발송자 사용자를 집계하는 공개 그룹이므로 공유 규칙이 일관되게 적용됩니다.
3. 식별자를 평가하고 관련 레코드에 대한 적절한 공개 그룹 액세스 권한을 부여하는 기준 기반 공유 규칙입니다.
### 공개 그룹
영역을 경계로 사용하는 대신 공개 그룹을 사용하여 동일한 가시성이 필요한 발송자를 집계합니다. 발송자는 영역 기반 공개 그룹의 구성원으로서 특정 영역, 작업 주문 및 서비스 약속을 확인할 수 있습니다.
- **그룹 생성:** 각 계약자 회사에 대한 공개 그룹을 만듭니다.
- **멤버 할당:** 각 계약자 공개 그룹에 관련 파트너 커뮤니티 사용자(발송자)를 추가합니다.
### 기준 기반 공유 규칙
기준 기반 공유 규칙을 활용하여 공개 그룹에 특정 레코드에 대한 액세스 권한을 부여합니다.
- **서비스 자원 공유 기준:** 서비스 자원 공유 규칙은 서비스 자원 레코드의 회사/계정 식별자를 해당하는 계약자 공개 그룹과 일치시켜 계약자별 기술자 가시성을 적용합니다.
- 발송자가 할당을 예약 및 업데이트할 수 있도록 읽기/쓰기 권한을 부여합니다.
- **서비스 영역 공유 기준:** 서비스 영역 공유 기준을 사용하여 영역 액세스 제한에 대한 논리를 설정합니다. 발송자에게 작업이 허가된 광범위한 지리적 영역에 대한 액세스 권한을 부여합니다. 예:
- **기준:** ServiceTerritory.Name이 "Atlanta"와 같습니다.
- **공유 대상:** 관련 계약자 공개 그룹(예: 계약자 A, 계약자 B, 계약자 C)
- **액세스 수준:** 읽기/쓰기
자세한 구현 지침은 공식 Salesforce 문서를 참조하십시오.
- [기준 기반 공유 규칙](https://help.salesforce.com/s/articleView?id=sf.security_sharing_rules_criteria.htm)
- [공개 그룹](https://help.salesforce.com/s/articleView?id=sf.user_groups.htm)
- [공유 레코드 관리를 위한 Apex 트리거](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers.htm)
### 구현 결과
올바르게 구현되면 계정 기반 공유가 다음을 제공합니다.
- **통합 가시성:** 발송자는 수동으로 영역을 재할당하지 않고 전체 영역 전반에 걸쳐 모든 관련 리소스를 볼 수 있습니다.
- **동적 액세스:** 계약직 할당이 변경되면 관리자가 개입하지 않고 공유 규칙이 가시성을 자동으로 조정합니다.
- **경쟁적 격리:** 각 계약자는 자체 자원만 볼 수 있으므로 데이터 프라이버시가 유지됩니다.
- **확장 가능한 아키텍처:** 계정 및 공개 그룹을 만들기만 하면 새 계약자가 온보딩될 수 있으며, 나머지는 공유 규칙이 자동으로 처리됩니다.
## ROI 프레임워크: 성공 측정
| KPI 범주 | 메트릭 | 대상 영향(계정 기반 공유) |
| -------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **운영 효율성** | 이동 시간 단축 | 통합 풀(계정 기반 공유)으로 전환함으로써 조직은 완전한 예약(SFS 고객 배포 전반의 현장 관찰을 기반으로 한 방향적 추정)을 통해 20% 이상의 이동을 줄이고 전체 리소스 풀에서 사용 가능한 가장 가까운 기술자를 식별하여 서비스 시간을 가속화합니다. |
| **자원 생산성** | 기술자 이용률 | 최상의 리소스를 최적화하고 이동을 줄여 생산성 향상 |
| **고객 경험** | 응답 시간/SLA 준수 | 응답 시간이 25% 이상 향상됨 (SFS 고객 배포 전반의 현장 관찰에 기반한 방향적 추정) |
## 전략적 권장 사항 및 장기 가치
### 미래 대비: AI, 자동화, 확장성
현장 서비스 조직이 반응적 모델에서 사전 예방적 모델로 전환함에 따라, 선택한 아키텍처 패턴이 장기적인 운영 민첩성을 위한 '혁신 한계'를 결정짓습니다.
- **AI 및 기계 학습 지원:** 계정 기반 공유는 데이터 사일로에 의해 제한되지 않고 엔진이 전체 리소스 풀을 가시화하여 최적의 대상을 찾을 수 있도록 합니다. 비효율적인 영역 사일로를 피함으로써, Field Service용 Scheduling Agent(Salesforce 내 AI 지원 예약 도우미)는 분리된 소규모 영역에 얽매이지 않고 보다 합리적인 이동 경로와 기술자 할당을 제공합니다. 이 접근 방식은 전체 최적화를 극대화하여 이동 KPI 및 기술자 준비도를 직접 향상합니다. 계정 기반 공유는 엔진이 전체 리소스 풀에 대한 가시성을 확보하도록 하여, AI 기반 예약을 지원하고 인공 데이터 사일로에 의해 제약받지 않는 "true best" 매칭을 가능하게 합니다.
- **아키텍처 확장성:** 영역 기반 공유는 분리된 영역에 의존하므로 "성능 장벽"이 발생하는 경우가 많습니다. 계약직 네트워크가 성장함에 따라 예약 엔진의 효율성이 인접 영역에서 사용 가능한 용량에 도달하지 못하도록 하는 인공 경계로 중립됩니다. 또한 영역 기반 공유에 모든 파트너에 대해 새로운 영역과 수동 조정이 필요한 경우 계정 기반 공유가 성장을 간소화합니다. 조직은 계정 및 관련 서비스 자원 레코드를 만들어 수백 개의 계약직 파트너를 온보딩하여 핵심 지리적 영역 구조를 그대로 유지하고 성능을 높일 수 있습니다.
### 최종 결정 매트릭스: 아키텍처 비교
| 결정 동인 | 영역 기반 격리 | 계정 기반 공유(제안) |
| ------------------------------------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| **예약 및 최적화 효율성** | 낮음(사일로화된 자원) | 높음(집계 풀) |
| **작업 성과** | 낮음(동일한 지리적 영역을 중복 커버하는 사일로화된 영역 및 자원) | 높음(사용률 극대화, 이동 시간 최소화, 신속한 대응/서비스 시간 단축) |
| **영역 확장성** | 미흡("계층 확산" 위험) | 우수(정적 지역) |
| **설정 복잡성** | 낮음(선언적/OOTB) | 중간(Flow/Apex 필요) |
| **파트너 데이터 보안** | 높음(하드 경계) | 높음(플랫폼 공유 규칙) |
| **내부 관리** | 높음(발송자가 보기 간에 수동으로 전환) | 낮음(통합 지역 보기) |
### Brownfield 마이그레이션: 영역 기반 공유에서 계정 기반 공유로 전환
이 가이드는 기본적으로 새 구현에 초점을 맞춥니다. 그러나 많은 조직이 이미 대규모로 영역 기반 공유를 실행하고 있으며 상당한 영역 계층 부채를 겪고 있습니다. 라이브 프로덕션 환경에서 영역 기반 공유에서 계정 기반 공유로 마이그레이션하면 전환 작업을 시작하기 전에 평가해야 할 고유한 아키텍처 위험이 있습니다. 이 섹션에서는 기존 시스템 마이그레이션의 현재 상태 평가, 전환 전략 결정, 마이그레이션 위험 관리와 같은 세 가지 중요한 측면을 다룹니다.
- **영역 유출 평가:** 마이그레이션 계획을 수립하기 전에 현재 영역 계층을 수량화합니다. 핵심 진단 질문은 다음과 같습니다. 계약직 격리를 강제 적용하기 위해서만 존재하는 영역은 실제 지리적 경계와 비교하여 몇 개입니까? 계약직별 하위 영역과 운영상 상위 영역의 비율은 어떻습니까? 내부 및 외부 자원 간에 영역이 공유되었습니까, 아니면 완전히 사일로화되었습니까? 이 감사는 실제 지리적 구조를 누적된 격리 부채와 구분합니다. 파트너 가시성 관리를 위해만 생성된 영역은 계정 기반 공유에서 제거할 수 있는 강력한 후보입니다. 실제 운영 지역(예약 영역, SLA 지역, 규제 범위)을 인코딩하는 영역은 유지되며 액세스 제어와 혼동되지 않습니다.
- **하이브리드 전환 수용력:** 규모가 큰 조직의 경우 영역 기반 공유에서 계정 기반 공유로의 전체 컷오버는 거의 권장되지 않습니다. 대신 하이브리드 전환은 다음 갱신 기간까지 레거시 영역 기반 공유 코호트를 유지하면서 계정 기반 공유 아래에 새 계약자를 온보딩하여 위험을 줄입니다. 하이브리드 접근 방식은 계정 기반 공유 자동화의 범위가 계정/회사 식별자로 엄격하게 지정되어 있으므로 해당 ID가 없는 리소스가 중단 없이 영역 기반 액세스에 머무를 수 있도록 아키텍처적으로 실현 가능합니다. 하이브리드 상태를 영구 운영 모델이 아닌 임시 아키텍처로 취급합니다.
- **핵심 마이그레이션 위험:** 기존 시스템 마이그레이션은 사전에 완화해야 하는 세 가지 주요 아키텍처 위험을 야기합니다. 첫째, 새로운 기준 기반 규칙에 의해 트리거되는 공유 테이블 재구축은 자원 집약적이므로, 장시간 재계산으로 인해 디스패처의 가시성 격차가 발생하지 않도록 활동이 적은 시간대에 전환 작업을 예약하십시오. 둘째, 전환 중에 진행 중인 작업 주문의 가시성이 손실될 위험이 있습니다. 활성 레코드가 마감될 때까지 병렬 영역 멤버십을 유지하거나 공유를 미리 설정하십시오. 마지막으로, 하위 영역을 제거하면 리소스 풀이 이동되므로 최적화 및 예약 정책을 조정하십시오. 테스트를 수행하고, 기준선 실행을 하고, 메트릭을 수집하여 지리적 경계가 유효하게 유지되고 효율성 향상이 실제로 실현되었는지 확인하십시오.
## 일반 권장 사항
확장성 및 최적화 ROI를 고려하여 겹치는 지리적 영역의 여러 경쟁 계약자를 관리하는 고성장이 있는 Field Service 조직에 대해 **계정 기반 공유** 접근 방식을 권장합니다. 영역 기반 공유는 단순하고 선언적 설정을 제공하지만, 계정 기반 공유를 사용하면 조직이 스케줄링 및 최적화 엔진의 전체 잠재력을 활용할 수 있습니다. 지리적 구역과 가시성을 분리함으로써, 조직은 비즈니스 성장에 맞춰 확장 가능한 영역 설정을 유지하고 다음과 같은 결과를 얻을 수 있습니다.
- **운영 효율:** 자원을 단일 풀로 집계하면 엔진이 모든 작업에 대한 진정한 "최상의" 기술자를 찾을 수 있어 이동 시간과 운영 비용을 줄일 수 있습니다.
- **고급 서비스 수준:** 포괄적인 일정 예약은 가장 가용성이 높거나 가장 가까운 계약 자원을 식별하여 서비스 지연을 줄이고 서비스 시간을 가속화하고 고객 만족도를 직접 향상합니다.
- **발송자 생산성:** 내부 직원은 사일로화된 "하위" 영역 간을 전환하는 대신 통합 지역 보기를 관리할 수 있습니다.
영역 기반 공유는 지리적 영역/구역이 절대적으로 중첩되지 않는 매우 사일로화된 계약자 운영에 가장 적합합니다.
## 구현 체크리스트: 다음 단계 및 참여
아키텍처 패턴 선택은 첫 번째 단계입니다. 성공적으로 실행하려면 Salesforce 모범 사례 및 플랫폼 기능을 지속적으로 준수해야 합니다.
**다음 단계:**
- **지형 감사:** 현재 영역 계층 및 외부 자원 활용도를 검토합니다. 파트너 격리용으로만 생성된 "계약자 영역"이 있는지 식별하십시오. 계층이 이러한 사일로로 복잡하다면, 계정 기반 공유로 마이그레이션할 때의 이점과 소요 노력을 평가하십시오.
- **Sandbox 환경 검증:** 전체 또는 부분 Sandbox 환경에서 계정 기반 공유 패턴을 프로토타입으로 구현하고, 모든 각도에서 엔드 투 엔드로 가시성을 테스트합니다.
- **내부 사용자(관리자, 발송자 및 내부 기술자):** 적절한 액세스를 확인합니다. 일부 내부 사용자는 모든 영역에 대한 접근 권한이 있어야 합니다.
- **계약업체 관리자 사용자:** 가시성이 오직 자신의 직원에게만 엄격하게 제한되는지 확인합니다.
- **계약업체의 기술자 (외부 자원):** 접근 권한이 자신에게 할당된 작업에만 적절히 제한되어 있는지 확인합니다.
- _조직 가시성에 대한 엄격한 테스트는 경쟁 파트너 간의 데이터 누출을 방지하는 데 필수적입니다._
- **성능 벤치마킹 및 ROI 평가:** 최적화 허브 및 Field Service Intelligence 대시보드를 활용하여 이동 시간 단축, 자원 활용도, 응답 시간 개선에 대한 인사이트를 확보하고, 이해관계자에게 아키텍처 전환을 정당화하는 데 필요한 데이터를 제공합니다. 전환이 진행 중일 때 프로덕션 환경에서도 이 전후 분석을 반복할 수 있습니다.
- **파일럿 단계:** Sandbox 환경 테스트가 완료되면 내부 및 외부 리소스가 지리적으로 겹치는 하나 또는 두 영역에서 단계적으로 파일럿을 실행합니다. 이상적으로는 Sandbox 환경에서 테스트된 영역을 반영해야 합니다. 전체 배포 전에, 더 넓은 롤아웃에 앞서 소규모의 통제된 사용자 그룹을 대상으로 공유 논리를 검증하는 것이 권장됩니다.
- **솔루션 확장성:** 공유 테이블 및 서비스 영역 구성원(STM) 레코드를 관리하는 데 필요한 사용자 정의 자동화(Flow 또는 Apex)가 장기적인 지속성을 위해 설계되었는지 확인합니다. 솔루션은 모듈식 설계 패턴(예: 트리거 프레임워크)을 활용하고 플랫폼 총괄자 제한 내에서 대용량 리소스 할당을 원활하게 처리하도록 논리가 구축되어야 합니다.
## 아키텍처 노트
_이 가이드의 모든 패턴은 프로덕션 배포 전에 Sandbox 환경에서 검증해야 합니다. 구현 동작은 조직 구성, 데이터 용량 및 비즈니스 규칙에 따라 다를 수 있습니다._
## 참조 및 추가 읽기
**플랫폼 문서 (Salesforce 공식):**
- [Field Service 개발자 가이드:](https://developer.salesforce.com/docs/atlas.en-us.field_service_dev.meta/field_service_dev/fsl_dev_introduction.htm) Field Service 데이터 개체, API, 사용자 정의에 대한 핵심 참조
- [ServiceResource 개체 참조:](https://developer.salesforce.com/docs/atlas.en-us.field_service_dev.meta/field_service_dev/sforce_api_objects_serviceresource.htm) SR 개체에 대한 API 문서
- [ServiceTerritoryMember 개체 참조:](https://developer.salesforce.com/docs/atlas.en-us.field_service_dev.meta/field_service_dev/sforce_api_objects_serviceterritorymember.htm) STM 개체에 대한 API 문서
- [기준 기반 공유 규칙:](https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/security_sharing_rules_criteria.htm) 계정 기반 공유를 기반으로 하는 공유 규칙을 구현하기 위한 공식 보안 가이드
- [Apex 트리거 개발자 가이드:](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers.htm) 계정 기반 공유에 필요한 사용자 정의 자동화 계층에 대한 참조
- [Apex 트리거의 모범 사례:](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_bestpract.htm) 확장 가능한 트리거 개발을 위한 Salesforce 권장 패턴
**Salesforce 도움말 기사**
- [현장 서비스 계약직 설립 지침:](https://help.salesforce.com/s/articleView?id=service.fs_setting_up_contractors.htm&type=5) Salesforce Field Service에서 계약업체 리소스 구성 지침
- [수용력 기반 리소스 정의:](https://help.salesforce.com/s/articleView?id=service.fs_define_resource_capacity.htm&type=5) 기사에서 참조되는 수용력 기반 리소스 설정 공식 문서
- [Field Service 최적화 엔진은 어떻게 작동합니까?](https://help.salesforce.com/s/articleView?id=service.fs_start_optimization.htm&type=5) Field Service 최적화 참조. 기사에서 참조하는 계정 기반 공유 혜택 및 ROI와도 관련된 최적화 실행 지침입니다.
- [최적화 허브 설정](https://help.salesforce.com/s/articleView?id=service.pfs_optimization_hub_set_up.htm&language=en_US&type=5): 다음 단계 섹션에서 참조된 최적화 허브의 구성 가이드
- [Experience Cloud 개요:](https://help.salesforce.com/s/articleView?id=experience.networks_overview.htm&language=en_US&type=5) 계정 기반 공유를 위한 Partner Community 설정(플랫폼 내 관리)
**Salesforce Trailhead/학습**
- [Field Service Basics:](https://trailhead.salesforce.com/content/learn/modules/field_service_basics) 영역, 자원, 운영 시간을 다루는 기본 모듈
- [Field Service Scheduling:](https://trailhead.salesforce.com/content/learn/modules/field-service-lightning-scheduling-basics) 이 가이드의 최적화 토론을 기반으로 하는 예약 개념
- [Field Service 최적화:](https://trailhead.salesforce.com/content/learn/modules/field-service-lightning-optimization) 최적화 설정 및 일정 정책 자세히 살펴보기
- [Salesforce 보안 및 누가 무엇을 볼 것인가:](https://trailhead.salesforce.com/content/learn/modules/data_security/data_security_sharing_rules) 공유 규칙 및 데이터 보안 기본 사항
- [Experience Cloud로 파트너 포털 구축:](https://trailhead.salesforce.com/content/learn/projects/communities_share_crm_data/create_portal_and_users) 기사에서 참조하는 Experience Cloud 파트너 설정의 기본 가이드
**산업 및 전략적 컨텍스트**
- [Salesforce 서비스 상태 보고서, 7th Edition:](https://www.salesforce.com/resources/research-reports/state-of-service/) 이 문서의 ROI 인수와 직접적으로 관련된 Field Service, AI 채택, 기술자 생산성 추세에 대한 전용 인사이트가 포함된 전 세계 6,500명의 서비스 전문가를 설문 조사하는 최신 Edition입니다.
- [Field Service용 Agentforce:](https://www.salesforce.com/news/stories/agentforce-for-field-service-announcement/) Salesforce의 AI 기반 필드 서비스 플랫폼은 섹션 13에서 다루는 AI 및 미래 대비 논의와 직접적으로 관련이 있습니다. 계정 기반 공유를 통한 통합 리소스 풀은 Agentforce의 일정 관리 인텔리전스를 극대화하고 있습니다.
- [Gartner Field Service Management 시장 가이드:](https://www.gartner.com/en/documents/6311147) FSM 시장 환경에 대한 최신 Gartner 분석(Gartner 구독 필요).
## 작성자 정보
**모어 에프스타인**
_Salesforce Field Service의 수석 성공 설계자_
Georgia Tech에서 산업공학을 전공하고 MBA를 취득한 Mor은 미션 크리티컬 Field Service 구현의 문제 해결과 가속화에 대해 입증된 실적을 가진 신뢰받는 고문입니다. 데이터 기반 문제 해결과 결합된 글로벌 고객 대면 경험을 통해 전 세계의 Field Service 조직에 적합한 자원으로 자리잡을 수 있습니다. Mor은 일정 예약 및 최적화 여정을 통해 고객을 안내하여 조직이 지능형 일정 예약의 잠재력을 최대한 활용하여 효율성 및 서비스 제공에서 측정 가능한 이점을 달성할 수 있도록 지원합니다.
**리 에프라티**
_Salesforce Field Service의 수석 성공 아키텍트_
Lee는 10년 이상의 Salesforce 구현 및 컨설팅 경험을 보유한, 필드 서비스 아키텍처와 모바일 솔루션 설계에 특화된 숙련된 기술 아키텍트입니다. Lee는 복잡한 조직 구조와 네이티브 SFS 플랫폼 및 모바일 응용 프로그램을 조율하여 글로벌 엔터프라이즈의 최대 운영 ROI를 촉진하는 데 중점을 둡니다. 고객 중심의 사고방식과 포괄적인 플랫폼 지식을 바탕으로, Lee는 전 세계 Salesforce 고객에게 지속적인 가치를 제공하는 컨설팅 접근 방식을 제공합니다.
# 가이드 개요
비동기식 처리는 컨텍스트별로 더 높은 제한을 허용하여 [확장성을](/docs/architect/ko-kr/well-architected/guide/reliability.html#scalability-and-capacity-planning) 향상합니다. 비동기식 요청은 자체 스레드에서 실행되므로 사용자가 비동기식 과업이 백그라운드에서 실행될 때 계속해서 클라이언트 측에서 작업을 수행할 수 있습니다.
Salesforce Lightning Platform은 특정 사용 사례를 해결하는 데 사용할 수 있는 다양한 비동기식 기술을 제공합니다. 각 기술에는 각 사용 사례에 대한 접근 방식을 선택할 때 고려해야 하는 이점과 제한이 있습니다.
구현할 기술을 선택할 때 다음과 같은 세 가지 중요한 고려 사항에 유의하십시오.
1. 비동기 처리가 모든 문제에 최선의 방법은 아닙니다. 비동기식 처리를 위해 직접 사용자 상호 작용이 필요하지 않은 프로세스를 좋은 후보로 생각하는 것은 유혹스러운 일일 수 있지만 몇 가지 단점이 있습니다. 먼저 비동기 프로세스에는 SLA가 없으므로 비동기 프로세스가 설정된 시간 내에 완료되도록 보장할 수 없습니다. 두 번째로, 일관된 응답 대기 시간이 보장되지 않습니다. 비동기 프로세스가 특정 시간 내에 완료되는 경우 후속 프로세스가 완료되기까지 다른 시간이 소요될 수 있습니다. 따라서 사용자가 응답을 직접 대기하지 않는 경우에도 응답에 의존하는 후속 프로세스가 있는 경우 또는 과도한 응답 시간이 있으면 데이터가 외부 시스템의 데이터와 동기화되지 않을 수 있습니다.
2. Salesforce Platform에서 비동기 요청을 처리하는 방법은 여러 가지이므로 최상의 접근 방식을 선택해야 합니다. Salesforce Platform에서 비동기 처리를 지원하는 기술은 내부적으로 다르게 작동하며, 일부는 매우 특정한 사용 사례에 맞게 설계되었습니다.
3. 클라이언트 측에서 기술이 비동기식인 경우 모든 종단간 처리가 병렬로 수행되는 것은 아닙니다. 선택에 따라 클라이언트의 메시지가 서버 측에서 여전히 직렬화될 수 있습니다.
작업에 잘못된 기술 또는 잘못된 기술 조합을 사용할 경우 비동기식 처리의 혜택을 취소하는 의도하지 않은 결과가 발생할 수 있습니다. 이 가이드에서는 다양한 비동기식 사용 사례에 대한 잠재적인 단점 및 안티 패턴뿐 아니라 설명 및 권장 사항과 같은 이유를 제공합니다. 또한 다양한 비동기 구현 기법이 Salesforce Platform에서 작동하고 규제되는 방식에 대한 인사이트를 제공합니다.
어떤 기술을 사용할 것인지 결정할 경우 가장 적합한 기술에 대한 일반적인 사용 사례의 빠른 매핑을 제공하는 집중된 [비동기 처리 결정 가이드](/docs/architect/ko-kr/decision-guides/guide/async-processing)가 있습니다.
## 적용 범위 내 제품
Salesforce Lightning Platform은 직원, 자율 AI 에이전트, 회사 데이터 및 애플리케이션을 신뢰할 수 있는 단일 시스템으로 통합하여 생산성과 고객 경험을 향상시킬 수 있는 종합적인 AI 기반 플랫폼입니다. 이는 Customer 360 앱, Data Cloud, Slack을 연결하여 'agentic enterprise'를 창출함으로써 엔드 투 엔드 자동화를 실현할 수 있게 해줍니다.
이 문서에서는 MuleSoft, Informatica, Commerce Cloud, Tableau, Marketing Cloud와 같은 다른 에코시스템의 기술을 다루지 않습니다.
이 가이드는 Salesforce Lightning Platform 내의 비동기 처리에만 중점을 두고 있습니다. 비동기 통합 패턴에 대한 정보를 원하는 경우 [이벤트 기반 아키텍처](/docs/architect/ko-kr/decision-guides/guide/event-driven)를 참조하십시오.
## 서비스
- **비동기식 처리를 사용하기 전에 사용 사례가 패턴에 맞는지 확인하십시오.** 비동기 패턴에는 SLA가 없으며, 다중 총괄자 메커니즘이 적용되며, 라이센스를 기반으로 정의된 수용력 제한이 있을 수 있으며, Salesforce Platform 내 비동기 인프라에 할당된 리소스의 유한적인 특성으로 인해 처리 지연이 발생할 수 있습니다. 사용자가 작업을 계속하기 전에 시스템에서 응답해야 하는 시나리오에서 비동기 처리를 사용할 때 이러한 제한 사항을 심각하게 고려하십시오.
- **Salesforce를 통한 비동기 처리는 무한한 확장성 요구에 맞는 솔루션이 아닙니다.** Salesforce Platform은 무제한으로 확장되지 않으며 비동기 패턴은 여전히 제한이 적용됩니다. 비동기 처리는 스레드를 사용하며, 이는 CPU가 명령 스트림을 실행하기 위해 필요한 컨텍스트 정보를 포함합니다. 스레드는 병렬로 실행할 수 있습니다. CPU의 사용 가능한 스레드는 제한되므로 플랫폼에 사용 가능한 스레드를 최대한 효율적으로 사용하도록 하는 메커니즘이 마련되어 있습니다. 플랫폼의 [흐름 제어 메커니즘](/docs/architect/ko-kr/decision-guides/guide/async-processing#flow-control)은 조직이 너무 많은 스레드를 소비하고 다른 조직에 부정적인 영향을 미치지 않도록 방지합니다. 플랫폼의 [공정 사용 알고리즘](/docs/architect/ko-kr/decision-guides/guide/async-processing#fair-usage)은 조직이 각 메시지 유형에 사용할 수 있는 스레드 수를 제어합니다.
- **트랜잭션이 진정으로 비동기인지 판별하십시오.** 일부 아키텍처 패턴은 종단간 비동기로 동작합니다. 그러나 다른 프로세스는 클라이언트 또는 브라우저 측에서는 비동기적으로 동작하지만, 서버 측 요청은 직렬화되어 동기식 거버너 제한이 적용됩니다.
- **Salesforce Platform에서 대규모 아웃바운드 통합을 구축하려면 비동기 Apex를 통한 콜아웃 대신 플랫폼 이벤트 및 강력한 미들웨어를 사용합니다**. 플랫폼에서 사용할 수 있는 비동기 스레드 수는 제한되므로 비동기 Apex를 통한 아웃바운드 통합의 확장성이 제한됩니다. 조직에 메시지 트래픽이 많고, 사용 가능한 스레드 수를 초과하며, 처리 시간이 긴 아웃바운드 통합이 있는 경우, 비동기 Apex를 사용하면 불가피하게 지연이 발생하게 됩니다.
- **비동기식 처리를 사용할 때 모니터링을 포함해야 합니다.** 모니터링을 통해 주요 성능 사고가 발생하기 전에 가능한 한 빨리 문제를 감지하고 문제를 수정할 수 있습니다.
- **극심한 부하를 유발할 수 있는 이벤트를 고려하십시오.** 비동기 프로세스를 설계할 때 작업 부하 급증 및 감소를 예측 가능한 방식으로 관리할 수 있는지 확인하십시오. 구현에서 전력 중단과 같은 예기치 않은 이벤트를 처리하는 방법을 고려하고 데이터 손실 또는 기능 손실을 완화하는 안전장치를 설계합니다.
## 자세한 접근 방식
서버측 비동기 처리를 위한 접근 방식을 선택할 때 먼저 조직의 요구 사항 및 사용 가능한 자원을 평가합니다. 목표는 구현 및 유지 관리 비용을 최소화하는 동시에 확장성을 유지하고 제한 위반 가능성을 최소화하는 접근 방식을 선택하는 것입니다. 이 목표는 다음 섹션에 설명된 기술적 고려 사항 및 팀 구성에 따라 다릅니다. 예를 들어, 프로 코드 솔루션을 유지 관리할 수 있는 팀에 Apex 개발자가 있는지 고려하십시오. 그렇지 않으면 선언적 접근 방식이 더 적합할 수 있습니다. 또한 다른 도구에 다른 집합의 [제한](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm)이 적용될 수 있다는 점에 유의하십시오.
Salesforce에서 비동기 주문 프로세스의 사용 사례를 고려하십시오. 주문이 저장되면 항목을 패킹하고 배송하는 방법에 대한 특별 지침이 포함된 외부 창고 관리 시스템에 메시지를 트리거합니다. 주문하는 사용자는 창고 관리 시스템의 즉각적인 응답이 필요하지 않으므로 요청이 비동기식으로 전송될 수 있습니다. 비동기 처리를 사용하면 사용자가 지연 없이 작업을 계속할 수 있습니다.
아키텍처에 대한 고려 사항:
- 몇 개의 동시 프로세스가 필요합니까?
- 동시 프로세스가 서로 상호 작용하는 방식
- 각 프로세스 내에서 실행되는 SOQL 쿼리는 몇 개입니까?
- 각 프로세스 내에서 실행되는 DML 작업은 몇 개입니까?
- 각 프로세스가 실행되기까지 얼마나 걸립니까?
- 프로세스가 특정 타이밍에 얼마나 민감합니까?
### 비동기 Apex
Salesforce Platform의 [다중 테넌트 아키텍처](/docs/architect/ko-kr/fundamentals/guide/platform-multitenant-architecture)는 많은 테넌트(조직)의 다양한 요구 사항을 격리하고 동시에 지원합니다. 이 가이드에 포함된 모든 비동기식 Apex 메서드는 Salesforce Platform의 동일한 비동기식 인프라 내에서 실행됩니다. 두 가지 기본 적용 메커니즘인 플로 제어 및 공정 사용에 따라 관리되는 메시지 대기열 프레임워크를 사용합니다.
플로우 제어 및 공정 사용 메커니즘은 단일 테넌트가 너무 많은 서버 자원을 사용하여 나머지 테넌트에 충분한 자원을 남기지 않도록 방지합니다. 이러한 메커니즘의 작동 방식을 이해하는 것이 유용하지만 다음 섹션에 간략하게 설명된 모범 사례와 같은 비동기식 처리 모범 사례를 수행하면 문제가 발생할 가능성이 크게 줄어듭니다.
#### 플로 제어
플랫폼의 플로우 제어 메커니즘은 한 조직이 특정 메시지 유형에 대해 과도하게 요청을 보내 스레드를 과도하게 소모하여 다른 조직에 부정적인 영향을 주는 것을 방지합니다. 프레임워크가 메시지 유형과 연결된 대기열에 새 항목을 추가하기 전에 대기열에 있는 처음 몇 천개의 기존 항목을 확인합니다. 대부분의 기존 항목이 동일한 조직과 연결되어 있고 해당 조직에 이미 작업자 스레드에 항목이 있는 경우 새로 추가된 항목이 대기열의 뒤쪽으로 이동됩니다. 이 프로세스를 재대기열 지정이라고 합니다. 배치 Apex 및 대량 API 프로세스는 대기열에 대량의 항목을 동시에 삽입하기 때문에 재대기열 지정이 일반적으로 발생합니다.
#### 공정한 사용
플랫폼의 공정 사용 메커니즘은 계층 기반 시스템을 구현합니다. 시스템을 사용하면 Salesforce Platform의 각 조직이 향후, 대기 가능, 배치 메시지 유형을 포함하여 지정된 메시지 유형에 대한 처리 시간을 공정하게 할당할 수 있습니다. 한 조직이 특정 메시지 유형을 독점하는 동안 다른 조직이 동일 메시지 유형 작업을 대기하고 있다면, 공정 사용 알고리즘은 해당 조직이 그 메시지 유형에 사용할 수 있는 스레드 수를 줄입니다.
비동기식 Apex 메서드를 사용하는 장점은 SOQL 쿼리 제한 및 힙 크기 제한과 같은 일부 거버너 제한이 더 높다는 것입니다. 그러나 이러한 방법에 지나치게 의존하지 마십시오. 비동기 인프라에 할당된 유한한 자원으로 인해 Future, Queueable, Batch Apex를 많이 사용하면 공정한 사용 및 플로우 제어에 기반한 제한으로 인해 처리 지연이 발생할 수 있습니다.
#### 비동기 Apex를 통한 아웃바운드 콜아웃에 대한 특별 고려 사항
비동기 Apex를 사용하는 아웃바운드 콜아웃은 비동기 Apex 제한에 포함됩니다. 일일 제한은 현재 250,000 또는 적용 가능한 사용자 라이선스 수의 200배 중 더 큰 값입니다. 이 제한은 대량 사용 사례에 문제가 될 수 있습니다. 제한을 초과하면 비동기식 Apex 작업과 연결된 아웃바운드 콜아웃이 실패합니다.
또한 플랫폼에 사용 가능한 비동기 스레드 수가 제한되므로 비동기 Apex를 통한 아웃바운드 통합의 확장성이 제한됩니다. 사용 가능한 스레드를 초과하는 대용량 아웃바운드 통합은 처리 시간이 길어지며 지연이 발생할 수 있습니다.
대량 사용 사례의 경우 다음과 같은 대체 접근 방식을 고려하십시오. 이러한 접근 방식의 API 호출은 일일 API 요청 제한에 포함됩니다. 이는 일일 비동기식 Apex 제한보다 상당히 높습니다. 따라서 이러한 접근 방식은 더욱 확장 가능합니다. 그러나 CPU에서 처리할 수 있는 동시 요청 수에 여전히 물리적 제한이 있습니다.
- **미들웨어 예약 가져오기.** 비동기 Apex를 통해 데이터를 푸시하는 대신, 미들웨어를 사용해 예약된 일정에 따라 데이터를 가져오면 대용량 아웃바운드 통합 작업의 지연을 방지할 수 있습니다. MuleSoft Anypoint Platform과 같은 미들웨어는 기본 SOAP API 또는 REST API를 동기식으로 사용할 수 있으므로 (있는 경우) 지연이 거의 발생하지 않습니다. 미들웨어는 대용량 데이터에 대해 기본 Bulk API를 사용할 수도 있습니다.
- **플랫폼 이벤트 알림을 통한 미들웨어 풀.** 아웃바운드 통합을 수행하기 위해 Future, Queueable 또는 Batch 비동기 Apex를 대기열에 추가하는 대신 플랫폼 이벤트를 사용할 수 있습니다. 플랫폼 이벤트는 아웃바운드 정보를 직접 전달하거나, 미들웨어 도구에 네이티브 API를 통해 필요한 정보를 가져와 최종 대상으로 전달하도록 지시할 수 있습니다. 이러한 접근 방식은 비동기 Apex가 겪는 지연의 영향을 받지 않습니다. 그러나 [플랫폼 이벤트 제한](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_limits_default.htm)은 여전히 적용됩니다.
#### 비동기 Apex의 트레이드오프
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
Apex Future Methods
Apex Future 메서드 대신 Queueable Apex를 사용하는 것이 좋습니다. Queueable Apex는 future 메서드와 동일한 사용 사례를 가지지만 추가적인 혜택을 제공합니다.
프로 코드
예
예
비동기식
Queueable Apex
Future 메서드 대신 이 접근 방식을 선호합니다. 장기 실행 데이터베이스 작업 또는 외부 웹 서비스 콜아웃과 관련된 프로세스에 사용합니다. Queueable Apex는 Future 메서드보다 작업 ID, 비기본 유형 지원, 작업 체인화 등 추가적인 혜택을 제공합니다.
프로 코드
예
예
비동기식
Scheduled Apex
Cron 식으로 정의된 예약된 시간에 Apex 실행합니다. Cron 식을 통해 Apex 예약하는 작업은 비동기식 프로세스이지만, 작업이 시작되면 기본 코드가 동기식으로 실행됩니다.
프로 코드
예
예
동기식
Apex Continuation Callouts
동기 트랜잭션 컨텍스트에서 실행되는 Apex 메서드의 콜아웃입니다.
프로 코드
예
예
동기식
#### Queueable Apex
대기 가능한 Apex 사용하면 광범위한 데이터베이스 작업 또는 외부 웹 서비스 콜아웃과 관련된 Apex 프로세스를 비동기식으로 실행할 수 있습니다. Queueable Apex를 사용하려면 [Queueable 인터페이스를 구현하고](https://developer.salesforce.com/docs/atlas.en-us.258.0.apexref.meta/apexref/apex_class_System_Queueable.htm) Apex 작업 대기열에 작업을 추가합니다. 이 접근 방식은 비동기식 Apex 작업이 자체 분리 스레드에서 백그라운드에서 실행되도록 하며 기본 Apex 논리의 실행을 지연하지 않습니다. 시스템 자원을 사용할 수 있게 되면 대기열에 지정된 각 작업이 실행됩니다.
Queueable Apex는 비동기 Apex의 진화를 나타냅니다. 다음을 포함하여 Apex Future 메서드에서 사용할 수 없는 기능을 제공합니다.
- **작업 ID:** System.enqueueJob 메서드를 호출하여 작업을 제출하면 메서드가 새 작업의 ID를 반환합니다. 이 ID를 사용하여 작업을 식별할 수 있습니다. 진행 상태를 모니터링하려면 Salesforce 설정의 Apex 작업 페이지를 보거나 AsyncApexJob 개체를 쿼리합니다.
- **비기본 유형 지원:** 대기 가능한 클래스에는 sObjects 또는 사용자 정의 Apex 유형과 같은 비기본 데이터 유형의 구성원 변수가 포함될 수 있습니다.
- **작업 체인화 지원:** 실행 중인 작업에서 두 번째 작업을 시작하여 대기 가능 작업을 함께 연결할 수 있습니다. 이 기술은 프로세스 종속성과 관련된 시나리오를 해결하는 데 도움이 됩니다.
- **최대 깊이 제어:** Queueable 작업에 최대 스택 깊이를 설정하여, 작업 체인이 예기치 않은 재귀 호출로 이어지지 않도록 구성할 수 있습니다.
- **중복 제거 서명:** Queueable 작업은 중복 작업을 감지하고 제거하기 위한 옵션 서명을 제공합니다.
- **구성 가능한 지연:** 대기 가능 작업이 실행되기까지 최대 10분의 지연 시간을 정의할 수 있습니다.
- **트랜잭션 파이널라이저:** Queueable 작업에 후속 작업 시퀀스를 연결하여, 결과에 따라 적절한 조치를 취할 수 있습니다. 예를 들어, [트랜잭션 파이널라이저](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_transaction_finalizers.htm)는 처리되지 않은 예외로 인해 실패한 Queueable 작업을 최대 5회까지 다시 대기열에 지정할 수 있습니다.
#### Apex Future 메서드 및 Queueable Apex에 대한 고려 사항
Salesforce는 대기열 기반 프레임워크를 사용하여 비동기 프로세스를 처리합니다. 이 대기열은 조직 전반의 요청 작업 부하 균형을 맞추는 데 사용됩니다. 조직이 이 대기열을 최대한 효율적으로 사용하도록 하려면 다음을 수행합니다.
- 대량의 최종 사용자 활동 또는 통합 API 호출로 생성된 작업에서 직접 Future 또는 Queueable 메서드를 대기열에 추가하지 마십시오. 이 접근 방식은 일일 비동기 Apex 한도를 빠르게 소진하여 심각한 비즈니스 영향을 초래할 수 있습니다.
- 동기 작업당 두 개 이상의 비동기 작업을 대기열에 지정하지 마십시오. 단일 동기 작업에서 여러 비동기 메서드가 대기열에 추가되면, 비동기 활동이 동시에 실행되어 행 잠금 충돌이나 행 잠금 시간 초과 오류를 유발할 수 있습니다.
- 비동기 대기열에 많은 수의 Future 또는 Queueable 메서드를 추가하지 마십시오.
- Future 및 Queueable 메서드가 가능한 한 빨리 실행되는지 확인합니다. 향후 메서드를 실행하는 데 시간이 더 오래 걸릴수록 대기열에서 이후의 요청이 지연될 가능성이 높습니다. 배치 작업의 빠른 실행을 보장하려면, 웹 서비스 콜아웃 시간을 최소화하고 Future 메서드에 사용되는 쿼리를 최적화하며, Process Builder, 워크플로 규칙, 플로, Apex 트리거 등 기타 객체 자동화를 최적화해야 합니다.
- 비동기 메서드를 대규모로 테스트합니다. 처리할 최대 메서드 수를 생성하는 환경을 사용합니다. 이 테스트를 통해 프로덕션 환경에서 성능 문제 또는 제한이 발생하는지 여부를 판단할 수 있습니다. 누적 일일 제한에 미치는 영향도 고려하십시오.
- Future 또는 Queueable 메서드 대신 배치 Apex를 사용하여 대량의 레코드를 처리합니다. 배치 Apex는 수천 개의 레코드에 대해 실행되는 복잡하고 장기 실행되는 프로세스를 처리할 수 있으며, 더 많은 자원을 사용할 수 있는 시간 동안 실행되도록 예약할 수 있습니다.
#### 예약된 Apex
예약된 Apex를 사용하여 cron 식으로 정의된 대로 지정된 시간 및 반복 빈도로 실행합니다. Cron 식을 통해 Apex 예약하는 작업은 비동기식 프로세스이지만, 작업이 시작되면 기본 코드가 동기식으로 실행됩니다. 예약된 Apex는 일간 또는 주간 유지 관리 작업에 적합합니다.
#### 예약된 Apex에 대한 고려 사항
- 예약된 Apex 작업은 한 번에 100개만 가능합니다. 이 제한을 피하려면 예약된 Apex 대신 Apex 코드를 호출하는 일정 트리거 플로를 사용하는 것이 좋습니다.
- 트리거에서 강의 일정을 예약하려는 경우에는 주의를 기울여야 합니다. 트리거가 제한보다 더 많은 예약 클래스를 추가하지 않도록 보장할 수 있어야 합니다. 특히 API 대량 업데이트, 가져오기 마법사, 사용자 인터페이스를 통한 대량 레코드 변경, 한 번에 두 개 이상의 레코드를 업데이트할 수 있는 모든 사례를 고려하십시오.
- 향후 최대 10분까지 예약해야 하는 일회성 작업의 경우 지연된 Queueable 작업을 사용합니다. 이 접근 방식은 예약된 작업 100개 제한에 포함되지 않습니다.
- 예약된 Apex는 동기 제한이 적용되는 동기 컨텍스트에서 실행됩니다.
- 예약된 작업이 실행되는 기간을 고려합니다. 장기 실행 작업은 다음에 예약된 작업의 시작과 겹칠 수 있습니다.
- Salesforce가 지정된 시간에 클래스를 실행하도록 예약합니다. 서비스 가용성에 따라 실제 실행이 지연될 수 있습니다. 서비스 점검 가동 중지 시간 동안 예약된 작업은 서비스가 재개되면 실행됩니다.
- 배치 작업을 대기열에 넣는 유일한 목적으로 예약 작업을 작성하는 대신, 배치 작업을 예약하는 데 [System.scheduleBatch](https://developer.salesforce.com/docs/atlas.en-us.258.0.apexcode.meta/apexcode/apex_batch_interface.htm#apex_batch_scheduleBatch_section)을 사용합니다.
#### Apex 연속
이전에는 Visualforce 컨트롤러 또는 Lightning 구성 요소 컨트롤러와 같은 동기식 Apex 트랜잭션 컨텍스트에서 실행되는 Apex 메서드에서 생성된 동기식 콜아웃이 장기 실행 요청에 대해 [Apex 동시 제한](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm)이 적용되었습니다. Winter '19부터 동기식 콜아웃은 더 이상 장기 실행으로 간주되지 않습니다. Apex Continuation은 원래 동기식 콜아웃으로 인해 발생하는 장기 실행 요청에 대한 솔루션으로 만들어졌지만, 몇 가지 추가적인 이점도 제공합니다.
- 단일 동기 작업은 최대 3개의 연속 작업을 수행할 수 있습니다. 새 연속 작업을 수행하기 전에 이전 연속을 완료해야 합니다.
- 각 연속 작업은 최대 3개의 콜아웃을 동시에 실행할 수 있습니다.
- 연속 작업에서 수행한 모든 콜아웃이 완료되면 플랫폼에서 연속 콜백 메서드를 호출하여 결과를 처리합니다.
#### Apex 연속에 대한 고려 사항
연속은 원래 동기식 작업에 비동기식으로 실행되지만, Apex 연속과 기타 비동기식 Apex 기술(예: future methods, Queueable 또는 Batch)에는 주요 차이가 있습니다. 주요 차이점은 다음과 같습니다.
- 연속 작업은 어떠한 방식으로도 대기열에 지정되지 않습니다.
- 연속은 일일 비동기 Apex 실행 제한에 영향을 미치지 않습니다.
- 연속 작업은 애플리케이션 서버에서 스레드 컨텍스트를 무거운 Apex 플랫폼 스레드에서 콜아웃만 수행하는 가벼운 스레드로 전환합니다. 최대 120초까지 실행될 수 있는 콜아웃을 실행하기 위해 연속 작업을 사용하면 애플리케이션 서버 메모리를 크게 절약할 수 있습니다.
- 원래 계속은 Visualforce JavaScript 원격 호출에서만 실행할 수 있었습니다. 그러나 Summer '19부터 연속 작업이 Lightning 구성 요소 프레임워크에 공식적으로 추가되어 Visualforce가 더 이상 필요하지 않게 되었습니다.
### 제품: 플랫폼 이벤트
플랫폼 이벤트는 Salesforce Platform의 순전히 이벤트 중심 아키텍처 구현입니다. 이 유형의 아키텍처와 관련된 구성 요소에 대한 자세한 내용은 [Event-Driven Architecture](/docs/architect/ko-kr/decision-guides/guide/event-driven)의 아키텍처 가이드에서 확인할 수 있습니다.
플랫폼 이벤트 및 플랫폼 이벤트 트리거/플로는 비동기식 Apex 실행하는 대안이 될 수 있습니다. 또한 플랫폼 외부 처리를 호출하는 훌륭한 방법입니다. 예를 들어, [Amazon Web Services (AWS) 이벤트 릴레이](https://help.salesforce.com/s/articleView?id=platform.ev_relay_create_ui.htm&type=5) 및 플랫폼 이벤트의 조합을 사용하여 AWS Lambda에서 서버리스 컴퓨팅 기능을 호출할 수 있습니다. 플랫폼 이벤트 트리거 또는 플로에서 불가능한 콜아웃 없이 상대적으로 빠르게 수행되는 작업은 플랫폼 이벤트/트리거 또는 이벤트/플로 조합에 적합한 후보입니다.
[공개 후 커밋](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_intro.htm)을 통해 버스에 게시된 이벤트는 순서대로 전달되며 트리거 또는 플로에서 별도의 동기식 컨텍스트에서 대량 처리할 수 있습니다. 컨텍스트는 동기식이며 모든 동기식 거버너 제한이 적용됩니다. 플랫폼 이벤트 트리거/플로 배치 크기를 신중하게 선택하여 제한에 도달하지 않도록 합니다.
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
플랫폼 이벤트 트리거
Salesforce를 외부 시스템과 느슨하게 결합하고 비동기식 플랫폼 구성 요소 간에 통신합니다.
하위 코드 + Pro 코드
예
예
동기식
#### 플랫폼 이벤트에 대한 고려 사항
- 이벤트가 이벤트 버스에 게시되므로 소비자가 사용할 수 있습니다. 이벤트 트리거(Apex 또는 flow)의 경우 이러한 이벤트는 앱 계층에서 사용 가능한 동기 스레드(이벤트 트리거/플로당 스레드 1개)로 발송됩니다. 이 프로세스에는 SLA가 없습니다.
- 게시 작업이 대기열에 추가되면 대기열 지정 프로세스의 결과가 Database.SaveResult 개체에 저장됩니다. 이러한 항목은 대기열 작업이 성공했는지 여부만 나타냅니다. 이벤트 버스를 통해 게시된 이벤트의 최종 결과를 가져오려면 [Apex 게시 콜백](https://help.salesforce.com/s/articleView?id=release-notes.rn_platform_events_publish_callbacks.htm&release=244&type=5)을 구현합니다. 이 추가 정보를 사용하면 실패한 이벤트 다시 게시를 시도하는 등 추가 작업에 대한 결정을 내릴 수 있습니다.
- 플랫폼 이벤트는 비동기식 Apex와 동일한 제한이 적용되지 않지만 자체 [규제 제한](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_limits_default.htm)이 적용됩니다. 제한이 있는 문제가 발생할 경우 특정 이벤트가 의도한 것보다 더 많은 할당을 사용하고 있는지 확인하기 위해 [고급 이벤트 사용 메트릭](https://help.salesforce.com/s/articleView?id=release-notes.rn_platform_events_enhanced_usage_metrics.htm&release=244&type=5)을 활성화할 수 있습니다. 이벤트 트리거에 더 많은 처리량이 필요한 경우 단일 스트림이 아닌 동시에 이벤트를 처리하는 데 [ 병렬 구독](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_ps.htm)을 사용하는 것이 좋습니다. 병렬 구독을 사용하면 Apex 플랫폼 이벤트 트리거를 확장하여 대용량 이벤트를 처리할 수 있습니다. 병렬 구독은 사용자 정의 대용량 플랫폼 이벤트에 사용할 수 있지만 표준 이벤트 또는 변경 이벤트에는 사용할 수 없습니다.
- 플랫폼 이벤트에는 다음과 같은 두 가지 게시 동작 옵션이 있습니다.
- 즉시 게시: 최종 데이터베이스 커밋 전에 트랜잭션 중에 즉시 이벤트가 게시됩니다. 이 방식으로 게시된 이벤트는 순서에 따라 게시되지 않습니다.
- 커밋 후 게시: 데이터베이스 트랜잭션이 성공적으로 커밋된 시점에 이벤트가 게시됩니다. 이 방식으로 게시된 이벤트는 순서에 따라 게시됩니다.
트랜잭션 성공 및 커밋 여부 또는 실패 및 롤백 여부와 상관없이 로깅과 같은 사용 사례에 즉시 게시를 사용하는 것이 좋습니다. 플랫폼 이벤트 트리거에서 사용되는 플랫폼 이벤트를 즉시 게시할 수 있습니다. 그러면 플랫폼 이벤트 트리거가 데이터베이스 행 잠금을 게시한 트랜잭션과 경쟁합니다. 플랫폼 이벤트를 즉시 게시하기 전에 모든 디자인을 철저하게 검토하여 이 시나리오를 피하십시오.
### 제품: 비동기 플로
비동기 플로우는 비동기 Apex에 대한 로우코드 대안을 제공합니다. 다른 비동기식 처리의 경우와 마찬가지로 자원을 사용할 수 있는 경우 백그라운드에서 실행됩니다. 또한 비동기 플로에는 SLA가 없으며, 예측할 수 없는 대기 시간이 있을 수 있습니다.
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
예약 경로(커밋 후 플로우)
이벤트 트리거 후 동적으로 예약된 시간에 실행합니다.
낮은 코드
예
예
비동기식
비동기 경로(레코드 트리거 플로)
자체 시간에 실행할 작업을 실행하여 혼합 DML 오류를 방지합니다.
낮은 코드
예
예
비동기식
**예약 경로**는 특정 시간에 실행되도록 cron 트리거를 기반으로 합니다. 레코드가 생성, 업데이트 또는 삭제될 때 실행되며 레코드 변경 사항과 관련하여 자동화를 실행할 시기를 세부적으로 제어할 수 있습니다. (예: 과업 기한 1시간 전에 사용자에게 이메일을 보냅니다.) 동기 트랜잭션에 대기열에 지정된 최대 50개의 메서드에 제한되는 Apex future 메서드와 달리 예약된 플로우 작업에는 현재 트랜잭션당 최대 대기열 제한이 없습니다. 그러나 예약 경로의 정의 내에 배치 크기 구성이 있어 예약 경로 플로우 실행에서 처리되는 레코드 수를 약간 제어할 수 있습니다.
레코드 트리거 플로에 **비동기 경로**를 추가할 수 있습니다. 백그라운드에서 실행되며 플로를 처음 트리거한 트랜잭션의 실행을 지연하지 않습니다. 비동기 경로를 사용하여 장기 실행 작업 또는 자체 시간에 실행하려는 작업을 실행할 수 있습니다. 비동기 경로는 플로를 트리거한 레코드의 일부가 아닌 관련 레코드의 값을 업데이트해야 할 때 발생하는 혼합 DML 오류를 방지하는 데 도움이 됩니다.
### 제품: 아웃바운드 메시지(레거시)
**참고:** 아웃바운드 메시지는 기존 기능이며 플랫폼 이벤트(이전 섹션에 설명됨)는 보다 현대적인 접근 방식을 제공하며 더 큰 유연성을 제공합니다. 플랫폼 이벤트는 이벤트 중심 통합을 위한 Salesforce의 권장 패턴입니다.
아웃바운드 메시지는 SOAP API를 통해 비동기식 아웃바운드 통신을 수행하는 수단을 제공합니다. Salesforce에 구성되면 아웃바운드 메시지 정의가 외부 웹 서비스 공급자가 사용할 수 있는 SOAP WSDL을 생성합니다. 워크플로 규칙, 프로세스 빌더 프로세스 또는 Lightning 저장 후 플로우 트리거에서 아웃바운드 메시지를 트리거할 수 있습니다. 아웃바운드 SOAP 메시지에 알림을 최대 100개까지 포함할 수 있습니다. 각 알림에는 개체 ID와 관련 sObject 데이터에 대한 참조가 포함됩니다. 알림이 대기 중이지만 전송되기 전에 기본 개체의 정보가 변경되는 경우 중간 변경 사항이 아닌 최신 데이터만 전달됩니다.
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
아웃바운드 메시지
SOAP 프로토콜을 통해 타사 시스템과 거의 실시간으로 데이터 공유
낮은 코드
N/A
예
N/A
생성된 WSDL을 사용하여 구성한 웹 서비스인 아웃바운드 메시지 수신기가 메시지를 수신하면 포함된 세션 ID 정보를 사용하여 Lightning Platform API를 호출하여 아웃바운드 메시지를 트리거한 Salesforce의 레코드를 업데이트합니다.
#### 아웃바운드 메시지에 대한 고려 사항
- 아웃바운드 메시지는 Future Methods, Queueable Apex, Batch Apex, Bulk API 등과 같은 활동을 실행하는 Salesforce의 대기열 기반 비동기 인프라를 통해 처리되지 않습니다. 대신 레코드가 OutboundMessage 개체에 로컬로 저장됩니다. 메시지가 발송되고 로컬 예약 백그라운드 프로세스를 통해 다시 시도됩니다.
- 아웃바운드 메시지 작업이 시작 자동화(예: 저장 후 플로우 트리거)를 통해 실행될 때 동기식으로 메시지가 전송되지 않습니다. 대신 성공적으로 전송되거나 24시간 후에 삭제될 때까지 OutboundMessage 개체에 남아 있습니다.
- 아웃바운드 메시지의 무한 루프를 방지하려면 개체를 업데이트하는 사용자에게 아웃바운드 메시지 보내기 권한이 없는지 확인하십시오.
### 제품: Email-to-Case
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
Email-to-Case
수신 이메일의 값을 기반으로 케이스를 자동으로 생성하고 케이스 필드를 채웁니다.
낮은 코드
예
예*
동기식
* Email-to-Case는 동기화 및 비동기식으로 처리되지만 동기식 Apex 제한이 적용됩니다.
Email-to-Case는 일반적으로 동기식으로 작동합니다. 인바운드 Email-to-Case 요청을 처리하는 동기 스레드는 4개로 제한됩니다. 처리기의 동기식 형식은 이메일을 수신하는 인바운드 Salesforce 메일 서버(MTA)에 대한 연결을 유지합니다. 그러나 Email-to-Case를 비동기식으로 처리할 수 있는 이유는 다음과 같습니다.
- Email-to-Case에는 스레드 제한이 적용되며, 특히 앱 서버당 총 10개의 처리 스레드(동기식 처리를 위한 스레드 4개 및 비동기식 처리를 위한 스레드 6개)가 적용됩니다.
- 동기 이메일 처리기가 실행 시간 15초를 초과하는 경우 해당 특정 이메일 서비스 주소가 30분 동안 비동기식으로 표시됩니다. 해당 서비스 주소에 대한 후속 처리기 요청으로 인해 이메일 콘텐츠에 대한 참조와 함께 MessageTypeName = MAILCATCHER_EMAIL_TO_CASE에 대해 대기열에 지정되는 메시지가 나타납니다.
- 특정 조직 및 서비스 주소에 동기 스레드가 이미 사용 중인 경우 해당 서비스 주소에 대한 추가 요청이 비동기식으로 대기열에 지정됩니다.
- 동기식으로 처리되는 이메일에 행 잠금 시간 제한과 같은 오류가 발생하면 요청이 저장되고 비동기식으로 대기열에 지정됩니다.
- 동기식 처리 스레드를 사용할 수 없는 경우 요청이 비동기식으로 대기열에 지정됩니다.
#### Email-to-Case 고려 사항
- Email-to-Case를 구성할 때 중복 제거 옵션이 있지만 이메일이 처리될 때까지 첨부 파일의 중복 제거를 수행하지 않습니다. 이 중복 제거는 데이터베이스의 공간을 절약하지만 이메일 처리 시간은 줄이지 않습니다. 그러나 메시지 처리에 사용자 지정된 Apex Email-to-Case 처리기를 구현하여 성능을 향상할 수 있습니다. 이 구현은 거버너 제한에 영향을 미치지 않지만, 처리기는 데이터베이스에 어떤 내용도 커밋되기 전에 이메일 메시지와 모든 첨부 파일에 접근할 수 있습니다. 이 액세스를 사용하면 모든 포함된 첨부 파일에 대한 점검 합계를 계산하고 중복 파일, 잘 알려진 서명 사진 또는 원하지 않는 파일 유형 등 불필요한 항목을 삭제할 수 있습니다.
- Salesforce Files에 이메일 첨부 파일을 커밋하면 이메일 처리 시간이 대부분 소요됩니다. 연락처 또는 연락처의 회신 응답이 증가하고 이메일 체인이 커지면 각 이메일의 처리 시간이 증가합니다. "새 콘텐츠로만 회신" 이메일 옵션을 선택하지 않으면 이메일 체인이 각 회신에 따라 증가합니다. 따라서 처리 시 첨부 파일 중복 제거를 구현하는 논리와 함께 Apex Email-to-Case 처리기를 사용하는 것이 좋습니다.
- 처리의 일환으로 Apex 트리거를 호출하더라도 Email-to-Case 처리기는 동시 Apex 제한에서 면제됩니다.
### 대용량 레코드 처리
대량의 레코드를 비동기식으로 처리하려면 다음 접근 방식을 고려하십시오.
제품/방식
사용 사례
필요한 기술
클라이언트와 관련하여 비동기식
서버와 관련하여 비동기식
적용되는 플랫폼 제한 유형
배치 Apex
수천 개의 레코드를 포함하는 복잡한 장기 실행 프로세스
프로 코드
예
예
비동기식
예약 트리거 플로우
플로우를 통해 지정된 시간 및 반복 빈도로 백그라운드의 레코드 배치에서 작업을 수행합니다.
낮은 코드
예
예
동기식
Bulk API
많은 레코드를 비동기식으로 삽입, 업데이트, 업서트, 쿼리 또는 삭제합니다.
프로 코드
예
예
비동기식
### 배치 Apex
배치 Apex를 사용하여 수천 개의 레코드를 포함하는 복잡한 장기 실행 프로세스를 구축할 수 있습니다. 배치 Apex는 레코드 집합을 분할하여 관리 가능한 청크 단위로 처리함으로써 작동합니다. 예를 들어, 매일 밤 실행되며 특정 날짜보다 오래된 레코드를 아카이브에 추가하는 보관 솔루션을 구축할 수 있습니다. 또는 모든 계정 및 기회를 매일 밤 확인하고 사전 정의된 기준 집합을 기반으로 필요한 업데이트를 수행하는 데이터 정리 작업을 구축할 수 있습니다.
#### 배치 Apex에 대한 고려 사항
- 배치 Apex는 비동기식 Apex가 동기식 Apex보다 더 높은 한도를 가지고 있으므로 대용량 데이터를 처리하는 데 가장 적합합니다. 배치 Apex는 대기열 관리의 오버헤드가 적은 대량 작업을 사용하므로 배치당 더 많은 항목을 처리할 때 더 효율적으로 수행됩니다. 따라서 대기열 홍수를 통해 흐름 제어 메커니즘을 트리거하지 않고 일일 비동기식 Apex 한도를 소모하지 않으려면 범위 크기가 작거나 처리 시간이 빠른 배치를 만들지 마십시오.
- 대량의 최종 사용자 활동 또는 통합 API 호출로 생성된 작업에서 배치 작업을 직접 Flex queue에 추가하지 마십시오. 이 접근 방식은 Flex queue를 빠르게 소모할 수 있습니다. 트리거에서 배치 작업을 호출하려는 경우 트리거가 제한보다 더 많은 배치 작업을 추가하지 않도록 해야 합니다.
- 배치 Apex는 최대 5개의 동시 스레드로 제한되므로, 이는 향후 메서드나 Queueable Apex보다 처리량이 훨씬 더 제한됩니다.
- 실시간 또는 준실시간 응답이 필요한 프로세스에 자원을 확보하기 위해 대용량 데이터와 관련된 배치 작업을 피크 외 시간에 실행하도록 예약하는 것이 좋습니다.
- System.scheduleBatch를 호출하면 플랫폼에서 지정한 시간에 작업을 실행하도록 예약합니다. 서비스 가용성에 따라 실제 실행이 해당 시간에 또는 그 이후에 발생합니다.
- 스케줄러는 시스템 컨텍스트에서 실행됩니다. 실행을 예약한 사용자에게 클래스를 실행할 수 있는 권한이 있는지 여부와 상관없이 모든 클래스가 실행됩니다.
- System.scheduleBatch를 사용하여 예약된 배치 작업에는 모든 예약된 Apex 제한이 적용됩니다. 배치 작업이 (보류 중 또는 대기 중) 상태로 대기열에 지정된 후, 모든 배치 작업 제한이 적용되며, 작업은 더 이상 예약된 Apex 제한에 포함되지 않습니다.
- 반복 일정이 있는 배치 작업의 경우 새 작업이 실행되기 시작할 때 이전 작업이 계속 실행 중인 경우 올바른 동작을 고려하십시오.
- 동기식 Apex 트랜잭션에서 대기열에 추가된 배치 작업은 [flex queue](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_batch_interface.htm#Flex_Queue)를 사용합니다. flex queue는 언제든지 최대 100개의 항목으로 제한됩니다. 트랜잭션에서 더 많은 항목을 추가하려고 시도하는 경우 플랫폼에서 오류를 생성하고 배치 작업을 제출하지 않습니다.
- 배치 작업의 콜아웃 및 기타 비트랜잭션 작업은 멱등성 설계 고려 사항을 따라야 합니다. Salesforce 서비스 점검 가동 중지 시간 전에 대기 중인 배치 작업은 대기열에 남아 있습니다. 서비스 가동 중지 시간이 종료되고 시스템 자원을 사용할 수 있게 되면 대기열에 지정된 배치 작업이 실행됩니다. 가동 중지 시간이 발생할 때 배치 작업이 실행 중인 경우, 서비스가 복원된 후 배치 작업은 롤백되고 다시 시작됩니다. 따라서 execute 메서드는 여러 번 실행될 수 있으므로, 콜아웃과 같은 트랜잭션이 아닌 작업은 다시 시도될 수 있습니다.
- 배치 작업을 구성하여 BatchApexErrorEvent 이벤트를 올려 오류 및 예외 시나리오를 처리합니다.
### 예약 실행 흐름
예약 실행 흐름은 지정된 시간과 반복 빈도(매일, 매주 또는 한 번)에 맞춰 실행되도록 예약되어, 레코드 일괄 처리 작업을 수행합니다. (예: 매일 밤 오전 2시에 상태가 '열림'인 모든 케이스의 필드를 업데이트합니다.) 예약된 플로는 Cron 트리거 메커니즘을 통해 실행되며 대량 처리됩니다.
#### 예약 실행 흐름에 대한 고려 사항
- 예약 실행 흐름은 호출당 200개의 레코드를 처리하며, 200개 이상의 레코드가 있을 경우 여러 동시 스레드에서 실행됩니다.
- 예약 실행 흐름은 동기식 제한이 적용되는 동기 컨텍스트에서 실행됩니다.
- 현재 예약된 플로 호출당 처리되는 레코드 수를 제어할 수 있는 방법은 없습니다. 200개 이상의 레코드를 처리할 경우 동시 Apex 오류가 발생할 위험이 있습니다.
### 대량 API 및 대량 API 2.0
대량 API는 REST 원칙을 기반으로 하며 대규모 데이터 집합에 대해 작업할 수 있도록 최적화되어 있습니다. 이를 사용하여 많은 레코드를 비동기식으로 삽입, 업데이트, 업서트, 쿼리 또는 삭제하고 나중에 결과를 처리할 수 있습니다. Salesforce Platform은 백그라운드에서 요청을 처리합니다. 이와 달리 SOAP API 및 REST API는 동기식 요청을 사용하며 한 번에 몇 개의 레코드를 업데이트하는 실시간 클라이언트 응용 프로그램에 최적화되어 있습니다. 두 가지 API를 모두 사용하여 많은 레코드를 처리할 수 있지만, 데이터 집합에 수천 개의 레코드가 포함되어 있으면 실용적이지 않습니다. 대량 API의 비동기 프레임워크는 수천 개에서 수백만 개의 레코드를 간단하고 효율적으로 처리할 수 있도록 설계되었습니다.
대량 API를 사용하는 가장 쉬운 방법은 CSV 파일을 사용하여 [Data Loader](https://developer.salesforce.com/tools/data-loader)에서 레코드를 처리하는 데 사용하는 것입니다. Data Loader를 사용하면 자체 클라이언트 앱을 작성할 필요가 없습니다. 그러나 때로는 고유한 요구 사항으로 인해 맞춤형 앱을 작성해야 하는 경우도 있습니다.
Salesforce Platform 내에서 사용할 수 있는 대량 API는 두 개입니다.
- [Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)은 최신 API입니다. 간소화되고 보다 사용하기 쉬운 워크플로우를 제공하며, 개선 사항의 초점이 되고 있습니다.
- 원래의 [Bulk API](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/api_asynch_introduction_bulk_api.htm)는 여전히 완전히 지원되지만 더 이상 향상되지 않습니다. 가능한 경우 대량 API 2.0을 사용하는 것이 좋습니다.
API 제한에 대한 자세한 내용은 [Bulk API 제한](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_concepts_limits.htm) 및 [Bulk API 2.0 제한](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_common_limits.htm)을 참조하십시오.
## 마감 주석
Salesforce Platform에서 비동기 처리를 구축하거나 고려할 경우 이 가이드를 참조하십시오. 사용 가능한 옵션의 전체 범위와 특정 사용 사례에 맞는 방법을 이해하는 것이 좋습니다. 특히 현재 솔루션이 제대로 작동하는 경우 기존 아키텍처를 변경하기 전에 현재 환경을 철저하게 평가해야 합니다.
# MuleSoft 및 Informatica 활용: "함께할 때 더 좋다"
이 문서에서는 MuleSoft 및 Informatica를 사용하여 실시간 응용 프로그램 연결 및 데이터 관리를 위한 프레임워크를 제공합니다.
## 실시간 애플리케이션 연결 및 데이터 관리를 위한 프레임워크
## 개요
MuleSoft 및 Informatica는 현대적이고 고성능 통합 전략을 위한 기본 기초를 제공합니다. 둘 다 동일한 에코시스템에 있지만 고유한 아키텍처 문제를 해결합니다. 선두 기업은 이들 플랫폼을 함께 배포하여 데이터 및 애플리케이션 요구의 전체 범위를 충족하는 포괄적인 "함께할 때 더 나은" 프레임워크를 만듭니다.
가장 민첩한 조직은 응용 프로그램 연결에서 데이터 관리를 분리하여 성공합니다. MuleSoft 및 Informatica는 전문 파트너 역할을 합니다. MuleSoft는 서비스 기반 아키텍처를 통해 안전하고 성능이 뛰어난 대화형 애플리케이션 환경을 제공하고 Informatica는 대규모 데이터 무결성, 품질, 거버넌스를 보장합니다. 설계자들은 성능과 장기 확장성을 최적화하기 위해, 적절한 통합 패턴에 맞는 올바른 엔진 선택에 두 플랫폼을 활용합니다.
## 대상 제품
MuleSoft는 Salesforce의 선도적인 통합 플랫폼입니다. 이를 통해 조직은 온프레미스 및 클라우드 환경 전반에서 애플리케이션, 데이터, 장치를 연결할 수 있습니다. MuleSoft는 IT 부서에 시스템 전반의 데이터 잠금을 해제하고 확장 가능한 통합 및 자동화 프레임워크를 개발하고 빠르게 차별화되고 연결된 환경을 만드는 도구를 제공합니다.
Informatica는 선도적인 엔터프라이즈 데이터 관리 및 통합 플랫폼입니다. 이를 통해 조직에서 다양한 소스의 데이터를 수집, 관리, 통합, 분석할 수 있습니다. ETL(추출, 변환, 로드) 프로세스를 사용하여 최신 분석 및 자율 AI 에이전트를 강화하는 데 필요한 연결되고 신뢰할 수 있는 데이터를 제공합니다.
## 서비스
**MuleSoft와 Informatica를 전문 파트너로 활용합니다.** MuleSoft 및 Informatica는 현대 통합 전략의 두 가지 기본 요소입니다. 정교한 엔터프라이즈는 복잡한 아키텍처 요구를 충족하기 위해 둘 다 필요합니다. 이러한 플랫폼은 나란히 사용될 때 최대 가치를 제공합니다. 이 결합된 접근 방식은 데이터 관리에서 응용 프로그램 연결을 분리하여 설계자가 장기적인 확장성을 위해 올바른 플랫폼 및 패턴을 선택할 수 있도록 합니다.
**MuleSoft는 애플리케이션 연결 패턴 분야를 선도합니다:**
* **실시간 API 중재 및 거버넌스**: MuleSoft는 API 기반 연결 접근 방식을 위한 기반을 제공합니다. MuleSoft는 경험, 프로세스, 시스템 API를 통해 동기 및 비동기 상호작용을 관리하고 보호합니다.
* **이벤트 처리 및 오케스트레이션**: MuleSoft는 Salesforce 및 외부 대기열에서 이벤트를 사용하고 게시합니다. 플로 제어, 대기 시간, 트랜잭션 정확도가 매우 중요한 복잡한 다단계 비즈니스 프로세스를 오케스트레이션합니다.
* **트랜잭션 신뢰성:** MuleSoft는 CRM과 ERP 시스템에서 고객 레코드를 생성하는 등의 단기 트랜잭션 내에서, 실패 시 즉각적인 롤백이나 특정 오류 처리가 필요한 경우 데이터 무결성을 보장합니다.
* **AI 에이전트 및 워크플로 자동화:** MuleSoft Agent Fabric은 MuleSoft Anypoint 플랫폼에 포함된 제품을 통해 에이전트형 엔터프라이즈의 다양한 요소(검색, 오케스트레이션, 거버넌스, 관측성)를 지원합니다.
**Informatica는 데이터 관리 패턴을 선도합니다.**
* **대규모 데이터 이동 및 변환**: Informatica는 데이터 웨어하우징 및 데이터 레이크 수집의 기존 도메인인 대용량 데이터 집합에 대한 추출, 변환, 로드(ETL) 또는 추출, 로드, 변환(ELT) 프로세스를 최적화합니다.
* **데이터 품질, 계보, 거버넌스**: Informatica는 데이터 품질 및 프로필을 위한 엔터프라이즈급 기능을 제공합니다. 소스에서 소비에 이르는 데이터 계보를 추적하고 엔터프라이즈 전반에 걸쳐 장기적인 데이터 거버넌스 정책을 적용합니다.
* **MDM(Master Data Management)**: Informatica는 서로 다른 시스템의 데이터를 통합하여 핵심 데이터 엔티티(고객, 제품, 공급업체 등)의 "단일 신뢰할 수 있는 소스"를 만들고 유지합니다.
**통합 전략**: MuleSoft 또는 Informatica를 선택할 때 엔터프라이즈는 먼저 사용 사례에 필요한 통합 전략을 평가해야 합니다. 프로젝트에서 데이터 일관성 또는 서비스 노출의 우선 순위를 지정하는지 평가해야 합니다. 답변에 따라 통합 기능 프레임워크의 기반을 제공하는 플랫폼이 결정됩니다.
**플랫폼 선택**: 설계자는 사용 사례의 기본 요구 사항을 평가해야 합니다. 독립 서비스로 구성된 대화형 프로세스에는 MuleSoft가 필요합니다. 반대로 대량 데이터 이동, 변환 및 관리에는 Informatica가 필요합니다. 복잡한 아키텍처에는 둘 다 필요할 수 있습니다.
## MuleSoft 및 Informatica: 함께 개선
새로운 에이전트 시대에서 성공하려면 기업이 다음과 같은 두 가지 중요한 요구 사항을 충족해야 합니다.
1. **동적 연결:** 바로 이 부분에서 MuleSoft가 두각을 나타냅니다. 실시간 오케스트레이션 레이어를 제공합니다. 비즈니스 프로세스를 지원하기 위해 애플리케이션, API, 에이전트의 상태 연결을 관리합니다. MuleSoft를 사용하면 전체 에코시스템이 비즈니스 상황에 즉시 대응할 수 있습니다.
2. **신뢰할 수 있는 컨텍스트(신뢰할 수 있는 데이터):** 이는 Informatica의 강점입니다. Informatica는 데이터 관리 계층을 제공합니다. Informatica는 데이터를 대규모로 수집 및 복제하는 한편, 데이터의 거버넌스, 마스터링, 그리고 고품질 및 신뢰성을 보장하는 중요한 신뢰 계층을 제공합니다.
다음 섹션에서는 MuleSoft 및 Informatica가 통합, 데이터 관리, 에이전트 오케스트레이션 및 거버넌스와 같은 핵심 기반 기둥에서 함께 작동하는 방식을 설명합니다.
### 통합: 애플리케이션 및 데이터 사일로 연결
모든 현대 기업에서 성공적인 운영은 애플리케이션과 데이터 영역의 통합에 달려 있습니다. 애플리케이션 통합 플랫폼과 데이터 통합 플랫폼은 서로 대체할 수 있는 것이 아니라, 상호 보완적입니다. 둘 중 하나만 활용하려고 하면 운영상 블라인드 스팟과 병목 현상이 발생합니다.
사일로형 통합 접근 방식의 단점은 명확합니다.
**1\. 강력한 데이터 거버넌스 없이 애플리케이션 통합**
애플리케이션, 즉 앱 통합을 통해 기업은 시스템 전반에 걸쳐 프로세스와 트랜잭션을 신속하게 이동시킬 수 있습니다. 그러나 이 실행 계층에 기본 데이터에 대한 통합되고 관리되며 신뢰할 수 있는 보기가 없다면, 아무리 빠르더라도 결과 작업은 분산되고 일관성 없거나 오래된 정보를 기반으로 하게 됩니다.
조직은 프로세스를 빠르게 오케스트레이션할 수 있지만 신뢰할 수 있는 데이터가 없으면 결정의 위험성이 높습니다. 불일치하는 고객 상호 작용, 재고 관리, 재무 보고는 "단일 신뢰할 수 있는 소스"가 부족하여 비효율성과 규제 노출로 이어집니다.
MuleSoft는 FedRAMP, ISMAP, HITRUST, SOC 1/2/3, ISO 27001을 비롯한 활성 인증을 보유하고 있는 엄격하게 규제되는 산업에 즉시 규정을 준수하여 이 위험을 완화합니다. 그러나 응용 프로그램 계층이 안전하게 통신하는 경우에도 불일치하는 데이터를 공유할 수 있습니다.
**2\. 애자일 애플리케이션 통합 없이 데이터 통합 및 관리**
특히 강력한 데이터 웨어하우스 또는 마스터 데이터 관리(MDM) 시스템을 통해 데이터 통합 및 관리 플랫폼에 우선 순위를 지정하는 것은 데이터 정리, 표준화, 통합에 필수적입니다. 이러한 플랫폼은 고객, 제품 또는 공급업체와 같은 엔티티를 신뢰할 수 있고 종합적으로 파악하는 신뢰할 수 있는 단일 소스를 만듭니다.
데이터는 깨끗하고, 통합되고, 신뢰할 수 있지만, 파생 인텔리전스를 실시간 비즈니스 프로세스 및 고객 대면 응용 프로그램에 다시 삽입하는 메커니즘은 느려지거나 존재하지 않습니다. 애플리케이션 통합이 없으면 기업은 단일 신뢰할 수 있는 소스를 실시간 행동으로 전환할 수 없습니다. 고품질 데이터는 백그라운드에 배치되며, 즉각적인 세일즈 결정, 맞춤형 서비스 상호 작용 또는 중요한 공급망 조정에 영향을 미치지 않습니다. 인텔리전스는 존재하지만 운영 파이프라인은 여전히 막혀 있습니다.
**전체적인 솔루션: MuleSoft와 Informatica가 함께**
MuleSoft 및 Informatica는 데이터 중심 비즈니스 운영을 위한 업계 최고의 통합 프레임워크를 제공합니다.
이 아키텍처 정렬은 다음을 보장합니다.
* **실시간 조치**: MuleSoft는 보안 API를 통해 이 신뢰할 수 있는 데이터를 노출하는 민첩한 메커니즘을 제공합니다. API 기반 연결을 통해 Informatica의 신뢰할 수 있는 단일 소스를 중요 비즈니스 응용 프로그램 및 프로세스에 직접 통합합니다. 이를 통해 기업은 Informatica에서 제공하는 신뢰할 수 있는 단일 소스의 기반을 기반으로 실시간으로 작업을 수행할 수 있습니다.
* **신뢰할 수 있는 컨텍스트**: Informatica는 클라우드 데이터 관리 분야의 선두 기업으로서 엔터프라이즈를 통한 데이터 흐름이 깔끔하고 일관되며 규제되고 규정을 준수합니다. 데이터를 마스터링하고, 품질을 보장하며, 기업 데이터 거버넌스를 지원하여 신뢰할 수 있는 컨텍스트를 만듭니다.
##### "Data-to-Agent" 순간
이 통합을 통해 고객이 data-to-agent 순간을 소유할 수 있습니다. 최종 목표는 직원(에이전트) 또는 자동화된 시스템이 조치를 취해야 하는 경우 시스템에서 성공에 필요한 완전하고 신뢰할 수 있는 실시간 컨텍스트를 즉시 제공합니다. 이 강력한 시너지는 데이터를 단순한 과거 자산에서 동적이고 실행 가능한 인텔리전스 스트림으로 변환하여 탁월한 비즈니스 결과와 경쟁 우위를 창출합니다.
#### MuleSoft를 활용한 애플리케이션 통합
MuleSoft는 AI 기반 종단 간 통합 라이프사이클을 제공합니다. MuleSoft Vibes를 사용하면 개발자가 자연어 프롬프트를 사용하여 API를 설계하고 통합을 구축하고 단위 테스트를 생성할 수 있습니다. 이 플랫폼은 Cursor나 VSCode를 포함한 모든 IDE에서 개발을 지원하며, 로컬 MCP 서버를 사용하여 전달 속도를 높입니다.
확장 가능한 연결성을 중심으로 한 이 아키텍처는 AI 에이전트, SaaS 앱, 기존 시스템 및 파트너를 연결하는 범용 브리지 역할을 합니다. 이 단일 플랫폼은 자산이 위치한 장소에 상관없이 비즈니스가 실시간으로 지원받을 수 있도록 합니다.
감독 없는 연결은 위험을 야기합니다. 따라서 팀이 모든 자산 및 애플리케이션을 등록, 보호 및 관찰할 수 있습니다. 포괄적인 AI 도구 집합을 제공함으로써 IT 담당자에게 애플리케이션 수명 주기를 완전히 자신 있게 관리할 수 있는 가시성과 가드 레일을 제공합니다.
MuleSoft는 엔터프라이즈 B2B 및 EDI를 사용하여 광범위한 에코시스템도 지원합니다. 이 통합은 파트너 관리를 간소화하면서 종단간 규정 준수를 유지합니다.
궁극적으로 MuleSoft는 엔터프라이즈의 모든 부분이 연결된 것뿐만 아니라 관리되고 실시간으로 조치를 취할 수 있도록 합니다.
#### 데이터 통합을 위한 Informatica
비즈니스의 속도는 신뢰를 기반으로 합니다. Informatica는 신뢰할 수 있고 고품질의 데이터에 기반하여 기업이 신속하지만 신뢰할 수 없는 인사이트로 인한 위험을 피할 수 있도록 보장합니다.
Informatica 플랫폼은 원시 데이터를 엔터프라이즈에서 사용할 수 있는 자산으로 전환할 수 있습니다. 로우코드 환경을 통해 인원 수를 늘리지 않고도 즉각적으로 확장할 수 있습니다. ETL, ELT, Reverse ETL을 비롯한 모든 통합 스타일을 지원하는 300개가 넘는 사전 구축된 커넥터를 사용하면 AI 중심 이니셔티브에 대한 기존 데이터를 통합, 관리, 준비할 수 있습니다.
### AI용 신뢰할 수 있는 데이터 관리 기반
Informatica는 AI 성공에 필수적인 데이터 관리 파워하우스입니다. 이는 카탈로그화에서 거버넌스에 이르기까지 조직을 풍부한 데이터에서 인사이트 중심으로 전환하는 전체 기능을 제공합니다.
AI는 공급되는 데이터만큼만 효과적이며, 대부분의 조직에서 이 데이터는 사일로화되어 있으며, 중복되고 일관성이 없습니다. 오염된 데이터가 신뢰할 수 없는 AI 출력으로 이어지므로 이는 상당한 위험을 야기합니다.
여기에서 Informatica MDM이 탁월함을 발휘합니다. 단순히 데이터를 연결하는 대신 데이터를 통합합니다. 연결이 끊어진 사일로를 해소하여 고객, 제품, 공급업체에 대한 360도 뷰를 제공하고, 신뢰할 수 있는 단일 소스를 구축합니다. 이 통합 보기를 사용하면 팀이 데이터 정확성을 논의하지 않고 AI 기반 결정을 내릴 수 있습니다.
Informatica는 AI를 시작하고 기업 전체에 신뢰할 수 있는 AI 기반을 확장하는 데 매우 중요합니다.
가장 좋은 점은 Informatica가 대량 리프트를 자동화했습니다. CLAIRE GPT를 사용하면 플랫폼이 일치, 병합, 거버넌스 프로세스를 간소화합니다. 이렇게 하면 번개처럼 빠른 속도로 고객에게 신뢰할 수 있는 단일 데이터 소스를 제공하고 수작업을 없앨 수 있습니다.
신뢰할 수 있는 단일 소스를 확보하는 것이 첫 번째 단계입니다. 데이터가 분석, 응용 프로그램, AI로 흐르면서 CDO 및 CIO에 대한 중요한 우려 사항이 발생합니다. "이 데이터가 사용되는 모든 곳에서 우리는 정말로 신뢰할 수 있습니까?"
AI 시대에는 데이터 거버넌스와 품질이 중요합니다. 자동화되고 기본적으로 내장되어야 하며 Informatica가 제공하도록 설계된 기능입니다. Informatica는 신뢰 계층을 내장하여 데이터가 대시보드나 AI 모델에 도달하기 전에 정확하고 규정을 준수하는지 확인합니다.
Informatica는 데이터뿐만 아니라 계보를 추적하여 원본 및 액세스 내역을 정확하게 표시하여 신뢰성을 확보합니다. 이 확실성은 대규모로 운영하는 데 필요합니다.
최종적으로 Informatica는 메타데이터를 비즈니스 컨텍스트와 연결합니다. 고객이 AI 프로젝트를 시작할 때, 그들은 단순히 빠르게 움직이는 것이 아니라 절대적인 확신을 가지고 움직입니다.
### 에이전트릭 엔터프라이즈를 실현하다
MuleSoft 및 Informatica는 보완 에이전트 기능을 제공합니다. MuleSoft 에이전트 패브릭은 통합 제어 플레인으로서 엔드-투-엔드 거버넌스, 오케스트레이션, 가시성을 제공합니다. Informatica의 데이터 에이전트 및 MCP 서버가 이 패브릭에 연결되어 MDM 데이터 또는 카탈로그 메타데이터를 에코시스템에 공급하는 등 신뢰할 수 있는 데이터 액세스 및 관리되는 데이터 작업을 제공합니다.
함께 사용하면 고객이 투자를 원활하게 확장할 수 있습니다. 이 통합된 에코시스템을 기업 규모로 운영하기 위해 MuleSoft Agent Fabric은 체계적인 네 가지 기둥의 프레임워크를 제공합니다.
1. **검색:** 에이전트 에코시스템에 대한 완전한 가시성을 확보하세요. 에이전트 레지스트리 및 내장 스캐너는 Amazon Bedrock 또는 Google Vertex의 Informatica 자산 및 외부 에이전트를 포함하여 모든 A2A 에이전트와 MCP 서버를 자동으로 동기화 및 카탈로그화하여 즉시 검색하고 재사용합니다.
2. **오케스트레이트:** 에이전트 및 API를 조율하여 복잡한 워크플로를 실행합니다. 에이전트 브로커는 작업을 적절한 에이전트나 도구에 동적으로 라우팅하여 수동 인계 과정을 없애고, 분산된 개별 에이전트를 신뢰할 수 있는 조율된 워크포스로 전환합니다.
3. **구버:** 모든 상호 작용에 보안 정책 중심 제어를 적용합니다. 신뢰할 수 있는 에이전트 ID 및 유연한 게이트웨이는 종단간 상호 작용, 모델 계층 LLM 요청, 실행 계층 작업의 세 가지 수준에서 규정 준수 및 액세스 제어를 적용합니다.
4. **참고:** 에이전트의 사유, 성과, 공동 작업을 실시간으로 추적합니다. Agent Visualizer 및 중앙 집중식 모니터링은 완전한 투명성을 제공하여 IT 팀이 결정을 검증하고 이상을 감지하며 에이전트 결과를 최적화할 수 있습니다.
MuleSoft의 제어 플레인과 Informatica의 데이터 에이전트가 통합되어 관리되는 실시간 작업을 위한 통합 프레임워크를 제공합니다. 이 시너지는 신뢰할 수 있는 컨텍스트를 기반으로 민첩한 오케스트레이션을 구현함으로써 에이전틱 엔터프라이즈를 강화합니다.
## MuleSoft 및 Informatica에 대해 자세히 알아보기
탄력적인 에이전틱 엔터프라이즈를 구축하려면 조직이 데이터 통합 및 애플리케이션 통합을 격리된 노력으로 취급하는 것을 넘어야 합니다. Informatica를 활용하여 대용량 데이터 자산을 관리하고 MuleSoft를 활용하여 실시간 응용 프로그램 및 에이전트 워크플로를 오케스트레이션함으로써 기업은 안전하고 확장 가능한 기반을 구축합니다.
각 플랫폼에 대한 전용 리소스를 확인하여 이해를 심화할 수 있습니다. 실시간 애플리케이션 연결, API 기반 통합 및 AI 오케스트레이션용 MuleSoft Agent Fabric에 대한 자세한 내용은 공식 [MuleSoft](https://www.salesforce.com/mulesoft/) 제품 페이지를 참조하십시오. 데이터 관리, 거버넌스 및 마스터 데이터 관리 MDM 기능에 대한 포괄적인 세부 사항은 [Informatica](https://www.informatica.com/salesforce.html) 리소스 허브를 참조하십시오. 각 플랫폼의 기능에 대한 자세한 사양을 확인할 수 있으며, 이를 통해 특정 환경에 맞는 적절한 아키텍처를 매핑할 수 있습니다.
# 소개
진화하는 다중 에이전트 환경에서 에이전트는 특정하고 세분화된 과업이 할당될 때 가장 효과적입니다. 이를 위해 재사용 가능한 전문 에이전트의 다양한 네트워크가 필요합니다. 그러나 핵심 과제는 다양한 소스에서 생성될 수 있는 이러한 수많은 이기종 에이전트를 조율하여 일반적인 비즈니스 목표를 향해 효과적으로 공동 작업하는 것입니다. 통합 플랫폼이 없으면 이러한 복잡성으로 인해 에이전트가 확산되고 중요한 거버넌스가 부족합니다.
이러한 AI 에이전트는 빠르게 증가하고 있으며 SaaS 플랫폼에 포함되거나, 자체 개발되거나, 인기 있는 LLM과 함께 패키징됩니다. 이 증가로 인해 조직 내에 단절된 사일로가 발생합니다. 에이전트가 기본 응용 프로그램 내에서 과업을 최적화하더라도, 종종 전체적인 기업 관점이 결여됩니다. 가시성 부족으로 인해 에이전트들이 다양한 도메인 및 시스템 전반에서 작업을 효과적으로 조율하고 보안하며 관리하는 데 어려움을 겪습니다.
MuleSoft 에이전트 패브릭은 '에이전트 확산' 문제를 해결하고, 출처에 관계없이 다양한 에이전트를 원활하게 오케스트레이션할 수 있도록 지원합니다. 아키텍처의 모범 사례를 설정하고 에이전트 네트워크를 만드는 데 필요한 도구를 제공합니다. 에이전트 네트워크는 복잡한 다단계 비즈니스 프로세스를 실행하기 위해 함께 작업하는 AI 에이전트, 도구, 자원의 조정 컬렉션을 말합니다.
## 구성 요소
MuleSoft Agent Fabric은 모든 엔터프라이즈가 구축된 위치와 상관없이 에이전트를 쉽게 검색, 오케스트레이션, 관리, 관찰할 수 있는 통합 플랫폼입니다.
**검색:** 에이전트 레지스트리는 조직 전반의 모든 AI 에이전트 및 도구의 중앙 집중화된 카탈로그를 제공합니다. 내부 구축, SaaS 내장형, 외부 자산을 발견하고 재사용할 수 있습니다. 에이전트 레지스트리는 모든 에이전트 자산에 대한 신뢰할 수 있는 단일 소스를 제공하여 중복을 없애고 개발자가 대규모로 기존 기능을 활용할 수 있도록 합니다.
**오케스트레이트:** MuleSoft 에이전트 브로커는 가장 적합한 에이전트 또는 도구에 과업을 동적으로 일치시키는 지능형 라우팅 솔루션입니다. 선택한 LLM을 기반으로, 이 시스템은 에이전트와 도구 간의 협업을 조율하여 복잡한 다단계 요청 및 비즈니스 프로세스가 높은 신뢰성과 추적 가능한 결과로 실행되도록 합니다.
**관리:** [MuleSoft Agent Governance는](https://www.mulesoft.com/platform/ai/ai-agent-governance) Flex Gateway를 활용하고 [모델 컨텍스트 프로토콜(MCP)](https://www.mulesoft.com/platform/ai/model-context-protocol) 및 [Agent2Agent(A2A) 프로토콜](https://www.mulesoft.com/platform/ai/a2a-support)을 지원합니다. Flex 게이트웨이를 사용하면 엔터프라이즈에서 모든 에이전트-에이전트 및 에이전트-도구 상호 작용에 보안 및 규정 준수 정책을 적용할 수 있습니다.
**관찰:** 에이전트 비주얼라이저는 동적이고 대화형인 에이전트 상호작용 지도를 통해 실시간 관찰을 제공합니다. 결정을 추적하고 시스템 상태를 모니터링하여 전체 에이전트 에코시스템을 지속적으로 최적화하고 신뢰할 수 있게 감독할 수 있습니다.
에이전트 패브릭은 사용자가 메타데이터 설명자("YAML 파일")를 통해 에이전트 네트워크를 정의하는 사양 우선(YAML) 접근 방식을 옹호합니다. 이 YAML 파일은 MuleSoft와 무관하며, 에이전트 네트워크의 정의를 실행과 분리합니다.
## 에이전트 네트워크 사양(메타데이터 설명자)
각 에이전트 네트워크(YAML)는 에이전트 자산과 그 운영 규칙 및 정책을 포함하여 특정 기능 영역을 정의합니다. YAML은 다음의 4가지 에이전트 패브릭 기둥을 활성화하는 데 사용됩니다.
1. 검색: 에이전트 레지스트리를 다음과 같은 기존 에이전트 자산으로 채웁니다.
1. 다양한 플랫폼에 배포된 에이전트(MuleSoft 또는 기타)
2. MCP 서버
3. LLM 공급자
2. 오케스트레이트: 오케스트레이션을 위한 에이전트 브로커 만들기
3. 관리: 보안 및 거버넌스를 위한 자산에 정책 적용
4. 관찰: 정의된 자산에 대한 연결을 정의하고 재사용합니다. 또한 에이전트 네트워크에 관찰 가능성 및 모니터링 기능을 사용할 수 있습니다.
### 작성
사용자 여정은 Anypoint 코드 빌더에서 시작됩니다. 명령 팔레트를 통해 사용할 수 있는 새 명령인 “MuleSoft: Create an Agent Network Project”를 사용합니다. 이 명령을 사용하여 새 프로젝트를 만듭니다. 이 명령은 두 개의 파일이 포함된 새 프로젝트("에이전트 네트워크")를 만듭니다.
- **agent-network.yaml:** 이 파일은 외부 도구(MCP를 통해) 및 에이전트(A2A 프로토콜을 통해)를 사용하여 AI 에이전트를 오케스트레이션할 수 있도록 다중 에이전트 시스템에 대한 구성을 정의합니다. 이 형식은 에이전트 기능, 종속성, 통합을 정의하는 선언적 방법을 제공합니다.
- **exchange.json:** 모든 에이전트 네트워크 프로젝트에는 exchange.json 파일도 있습니다. 이 파일에는 에이전트 네트워크 자산이 게시된 후 Anypoint Exchange에서 사용할 수 있는 자산 메타데이터가 포함되어 있습니다.
에이전트 네트워크 개발은 다음의 네 가지 주요 단계를 포함하는 표준 소프트웨어 개발 수명 주기(SDLC)를 따릅니다.
1. **환경 설정:** 런타임 환경 및 게이트웨이 설정
2. **프로젝트 작성 및 설계**: 에이전트 네트워크 프로젝트 사양 만들기
3. **건축 및 출판:** 에이전트 레지스트리에 자산을 구축하고 게시합니다.
4. **배포:** 지정된 환경에 에이전트 네트워크 배포 또는 승격
프로젝트를 구축하고 필요한 MuleSoft 응용 프로그램 및 자산을 생성한 후 Exchange에서 사용할 수 있도록 합니다. Anypoint Code Builder 내에서 **_“MuleSoft: Publish Agent Broker Project to Exchange” 명령을 사용하여 빌드 및 게시 프로세스를 실행합니다. 명령 팔레트에서 사용할 수 있는 "Publish Agent Broker Project to Exchange"_** 명령을 실행합니다.
게시 단계는 YAML 파일의 각 에이전트 자산을 A2A, MCP 또는 LLM 사양으로 변환하고 Exchange에 게시합니다.
또한 새 Agent-Network 자산 유형을 사용하여 Exchange에 YAML을 **게시합니다**. 에이전트 레지스트리 UI에서 이 자산을 **보고**, Exchange API를 통해 **검색할 수 있습니다**.
### 예제
엔터프라이즈에 대한 에이전트 네트워크를 정의하는 [에이전트 네트워크 파일](https://docs.mulesoft.com/anypoint-code-builder/af-project-files)을 참조하십시오. 이 에이전트 네트워크는 단일 정책 관리 환경을 통해 Salesforce, Stripe, 다른 주문 처리 에이전트, 재고 MCP 서버 전반에 걸쳐 주문 처리를 위한 네트워크를 활성화합니다.
- **검색**
재사용할 수 있도록 기존 에이전트 및 도구(Salesforce, Stripe, 주문 처리, 재고 등)를 Exchange 자산으로 게시합니다. 또한 버전이 지정되고 공유 가능한 주문 처리 정의(YAML)를 통해 플로우를 다시 구축하지 않고 역할, 지역 또는 자회사에 대해 신속하게 조정할 수 있습니다.
- **오케스트레이트**
에이전트 중개인이 LLM을 사용하여 주문 처리 프로세스를 고객 세부 사항 확인, 재고 할당, 배송 비용 계산과 같은 일련의 과업으로 세분화합니다. 그런 다음 MCP 및 A2A 에이전트를 호출하여 이 워크플로를 실행하고, 필요할 때마다 휴먼 인 더 루프 승인을 요청합니다.
- **관리**
Anypoint Flex 게이트웨이는 인증, 최소 권한 액세스, 가드 레일을 적용합니다. API 관리자 정책은 모든 호출 및 데이터 교환 전반에서 일관된 제어를 보장합니다.
- **관찰**
모니터링 및 추적을 통해 진행 상황, 실패, 지연 시간을 전체적으로 파악할 수 있습니다. 시각화는 상호 작용한 에이전트와 병목 현상이 발생한 지점을 보여줍니다.
- **신뢰 및 규정 준수**
중앙 집중식 자격 증명, 감사 추적, 정책 상속은 보안, 개인정보보호, 규제 요구 사항(PII 처리, 승인, 업무 분리)을 지원합니다.
이 다이어그램은 YAML에 정의된 에이전트 네트워크(메타데이터)의 다양한 노드를 보여줍니다.
## 에이전트 레지스트리(검색)
- **목적**: Exchange는 에이전트, 도구 및 기타 자산의 카탈로그입니다. 기본 목표는 이기종 에이전트의 검색, 큐레이팅, 수명 주기 관리를 위한 단일 관리 카탈로그를 제공하여 "에이전트 확산"을 해결하는 것입니다. 이를 통해 개발자는 에이전트를 찾고 재사용할 수 있으며, 플랫폼 소유자는 가시성을 유지하고, 오케스트레이터는 기능을 검색할 수 있습니다.
- **이기종을 고려한 설계**: 이제 Anypoint Exchange에서 에이전트, MCP, LLM의 세 가지 새 자산을 지원합니다. Exchange는 모든 유형의 에이전트를 등록하고 관리할 수 있는 범용 카탈로그로 설계되었습니다. 타사, Agentforce 및 맞춤형 MuleSoft 에이전트를 비롯한 모든 소스의 A2A 호환 에이전트, MCP 서버 및 LLM 공급자를 지원합니다.
- **핵심 메타데이터**: 등록된 모든 자산에는 고유 이름 및 버전, 소유권 및 게시자 등 변경할 수 없는 메타데이터의 기준 집합이 있습니다. 수명 주기 상태(개발, 스테이징, 프로덕션, 폐기)도 추적됩니다.
- **검색**:
- **설계 시**: 개발자는 기존 Exchange UI를 통해 또는 Anypoint Code Builder 내에서 Vibes를 사용하여 자연어 검색을 통해 등록된 에이전트를 검색할 수 있습니다.
- **태그 지정 및 분류**: 기본 키 값 태그 지정 시스템을 사용하여 자산을 유형(에이전트, MCP, LLM, 중개인) 및 도메인(예: HR, 날씨)별로 분류하고 동적 연결, 검색, 선택 정책을 활성화할 수 있습니다.
- **카탈로그**: 리포지토리는 조직 내에서 에이전트를 공유하기 위한 비공개 및 내부 카탈로그 모델을 모두 지원합니다.
- **시각화**: 네트워크 보기를 지원하는 시각적 도구를 제공하며 단일 자산 또는 조직 전체의 노드 및 링크 맵에 대한 연결을 표시하고 필터링 기능을 제공합니다.
에이전트 네트워크 내의 중개인은 Anypoint Exchange에 저장된 등록된 에이전트, MCP 서버, LLM 공급자를 참조할 수 있습니다. 그러나 아직 등록되지 않은 경우 에이전트 네트워크(YAML)의 메타데이터에서 선언할 수 있으며 자동으로 등록됩니다. 이 예에서는 여러 에이전트, MCP 서버, LLM 공급자가 Anypoint Exchange에 선언 및 등록됩니다.
```
agents:
orders-agent:
label: Order Fulfilment Agent
metadata:
protocol: a2a
platform: OpenAI
salesforce-agent:
label: Salesforce Agent
metadata:
protocol: a2a
platform: OpenAI
stripe-agent:
label: Stripe Payment Agent
metadata:
protocol: a2a
platform: OpenAI
mcpServers:
inventory:
label: Inventory MCP
metadata:
transport:
kind: streamableHttp
path: /mcp
llmProviders:
open-ai:
label: OpenAI
description: OpenAI LLM Provider
metadata:
platform: OpenAI
```
## 에이전트 중개인(Orchestrate)
에이전트 중개인은 엔터프라이즈의 전문 에이전트 전체에서 과업 위임을 조율하는 지능형 라우팅 에이전트입니다. 과업을 수행하는 데 사용하는 에이전트 및 MCP 서버에 의해 정의됩니다.
중개인은 에이전트 네트워크 자산을 게시하고 다른 중개인이 재사용한 후 Anypoint Exchange에 나타나는 전문 에이전트입니다.
브로커는 YAML의 _브로커_ 섹션에서 정의됩니다. 정의된 브로커는 Mule에 대한 사전 지식이 없어도 투명하게 응용 프로그램에 "컴파일"됩니다. 생성된 응용 프로그램이 CloudHub 2.0(CH2)에 배포되고 강력한 CH2 인프라를 활용합니다.
즉, 에이전트 브로커는 로깅 및 메트릭 기능 등 CloudHub 2.0의 입증된 성능 특성에서 혜택을 누릴 수 있습니다. "운영 비용" 및 "모니터링/경고/도구"와 같은 운영 측면은 다른 모든 작업 부하와 동일합니다.
사람이 개입해야 하는 시나리오(Human-in-the-Loop)의 경우 MuleSoft Object Store를 사용하여 각 상호 작용의 상태를 유지합니다. 이는 고동시 환경에서 효과적인 상태 관리를 위해 고안된 분산 솔루션입니다.
브로커 정의는 '카드'와 '사양' 두 섹션으로 구성됩니다.
### 카드
카드 섹션은 [에이전트-에이전트(A2A) 사양](https://a2a-protocol.org/v0.2.5/specification/)을 따릅니다. 중개인 에이전트의 계약, 기술 및 기능을 설명합니다. 카드 URL에 ${ingressgw.url}/broker-name 값이 자동으로 채워집니다. 배포 시 ${ingressgw.url} 자리 표시자가 에이전트 진입 요청을 전면 처리하는 Anypoint Flex 게이트웨이의 URL로 자동으로 대체됩니다.
### 사양
사양 섹션은 중개인의 "소스 코드"를 구성합니다. 여기에서 개발자는 사용할 LLM, 지침, 사용 가능한 도구, 오류 처리, 그리고 가장 중요한 것은 이 중개인이 사용할 수 있는 다양한 에이전트 및 MCP 도구를 지정할 수 있습니다.
**LLM 공급자**
이 섹션은 각 브로커의 사양에 포함됩니다. 이는 서비스 섹션에 정의된 LLM 중 하나에 대한 참조입니다. 모든 중개인 간에 하나의 LLM을 공유할 것인지 또는 필요한 경우 여러 중개인이 과업에 더 적합한 LLM을 사용할 것인지 선택할 수 있습니다.
중개인은 LLM 공급자를 가리킬 수 있습니다. 필요에 따라 해당 공급자의 모델을 선택할 수 있습니다.
```
llmProviders:
open-ai:
label: OpenAI
description: OpenAI LLM Provider
metadata:
platform: OpenAI
```
**지침**
이 섹션은 선택 사항이며 이 섹션을 사용하여 이 중개인 에이전트와 관련된 지침을 지정할 수 있습니다. 해당 지침은 특정 비즈니스 지향 우려 사항에 중점을 둡니다. 예를 들어 고객 보고 사고에 대한 관리를 조정하는 고객 서비스 에이전트 가정합니다.
```
instructions:
- |
You are an Incident Management Orchestrator Agent. Your primary responsibility is to coordinate the resolution of incidents reported by customers.
The process for incident management is:
1. Fetch Salesforce Case Details: Retrieve the latest critical case details for the given customer.
2. Fetch Entitlement Details: Obtain the customer's entitlement information.
3. Fetch On-Call Engineer: Identify the current on-call engineer for the incident.
4. Create Slack War Room and invite on-call engineer: Set up a Slack war room channel and invite the on-call engineer.
5. Summarize Actions: Provide a clear, human-readable summary of the steps performed, including information about the created slack channel and the on-call engineer assigned
```
브로커가 자체적으로 처리하기 때문에, **'프롬프트를 작업으로 분할' 또는 '최적의 도구 선택'**과 같은 명시적 지침을 제공할 필요가 없습니다. 해당 지침은 특정 비즈니스 프로세스를 설명하는 경우에만 필요합니다.
**도구 구성**
도구는 에이전트에게 외부 기능을 제공합니다. 중개인이 외부 시스템(기존 API 또는 SaaS 서비스 등 다른 에이전트가 아닌)에 액세스해야 할 때마다 MCP(모델 컨텍스트 프로토콜) 서버에 연락합니다.
```
tools:
- mcp:
server: collaboration-mcp # MCP server reference
allowed: # Allowlist specific tools
- create_channel
- invite_user
```
MCP 서버는 교환 자산의 이름으로 참조됩니다. 서비스 섹션에 연결 세부 사항이 지정되어 있습니다.
기본적으로 중개인은 MCP 서버에서 사용할 수 있는 모든 도구에 액세스할 수 있습니다. 관찰 결과, 최신 LLM은 컨텍스트당 약 20~25개의 도구만 처리할 수 있으며, 그 이상이 되면 부정확성이 발생하거나 컨텍스트를 잃을 수 있습니다. 따라서 일반적으로 필요한 최소한으로 사용 가능한 도구를 제한하는 것이 좋습니다. 허용 목록을 통해 해당 필터링을 적용할 수 있습니다.
**에이전트 링크**
이 섹션은 전체 정의의 가장 중요한 부분입니다. 링크 섹션은 에이전트 간 커뮤니케이션 및 오케스트레이션을 지원합니다. 즉, 이 중개인은 여기에 연결된 에이전트에 의존하여 사용자의 목표를 완료하기 위한 적절한 작업을 실행합니다.
```
links:
- agent:
ref:
name: orders-agent
- agent:
ref:
name: salesforce-agent
- agent:
ref:
name: stripe-agent
```
실제로 이 섹션은 공동 작업을 위한 에이전트-네트워크를 정의합니다.
## Flex 게이트웨이(관리)
에이전트 거버넌스는 신뢰할 수 있는 에이전트 네트워크를 구축하고 보안 및 규정 준수를 보장하는 데 중요한 에이전트 패브릭의 중요한 기둥입니다.
거버넌스의 경우 비공개 공간 내에 총 2개의 Flex 게이트웨이(1개 입력 및 1개 출력)가 필요합니다.
거버넌스는 전체 ADLC(에이전트 개발 수명 주기)를 안전하게 확장하기 위해 필요한 구조, 제어, 증거를 설정합니다. 특히, 거버넌스는 에이전트 인증, 카탈로그, 수명 주기 결정, 런타임 정책 시행과 같은 주요 프로세스를 구현합니다.
- **카탈로그:**
- 교환: 에이전트 목적, 소유자, 환경, 데이터 및 분류 경계의 녹음을 지원합니다. 또한 기능, 도구, 리소스, 프롬프트 및 외부 종속성을 버전과 함께 등록합니다.
- **버전 관리 및 수명 주기:**
- 전체 에이전트 개발 수명 주기 동안 에이전트, 도구, 자산의 시맨틱 버전 관리를 문서화하고 관리합니다.
- 버전 관리는 에이전트 사용 중지 일정을 관리하는 데 도움이 되며, 가능한 경우 이중 실행을 지원하여 원활한 마이그레이션을 보장합니다.
- **정책 집행**:
- 에이전트 AI 아키텍처는 공격 표면(대화 인터페이스, 프롬프트 및 MCP와 같은 새로운 프로토콜)을 확장합니다. 어떠한 구성 요소가 침해될 경우, 프로토콜, 프롬프트, API 또는 도구와 같은 기능을 제공하는 여러 시스템에 연쇄적인 영향이 발생할 수 있습니다.
- 엔터프라이즈 에이전틱 AI 배포를 보호하려면 이러한 자율적이고 예측할 수 없는 환경이 기본적으로 에이전트 간 상호 작용을 통해 공격 영역을 넓히기 때문에 전문적인 접근 방식을 필요로 합니다. 정적 시스템에 대한 기존 보안 도구는 필수이지만 더 이상 자체적으로 충분하지 않습니다. 기업은 사전에 에이전틱 AI와 관련된 심각한 비즈니스 위험을 직접 해결하는 네 가지 특정 보안 솔루션을 계획하고 구현해야 합니다.
- Flex 게이트웨이: 모든 A2A 및 MCP 트래픽은 대상 시스템이 안전하지 않더라도 Flex 게이트웨이를 통해 라우팅되어, 모든 끝점에 정책이 적용되도록 합니다. 이 라우팅은 에이전트 통신을 보호하고 인가 서버와 통합하는 데 매우 중요합니다.
- 정책 번들: 사용자는 실행 전에 워크플로에 미리 정의된 정책의 번들을 정의하고 적용하여 일관된 보안 및 운영 정책 집합을 적용할 수 있습니다.
- 정책 유형: 플랫폼은 다음을 포함하여 다양한 인바운드 및 아웃바운드 정책을 지원합니다.
- A2A 정책: 에이전트 카드, PII 감지기, 프롬프트 데코레이터, 스키마 유효성 검사.
- MCP 정책: 특성 기반 액세스 제어, 스키마 유효성 검사, MCP 지원.
- LLM/AI 정책: AI 프롬프트 데코레이터, AI 프롬프트 가드(해로운 콘텐츠 필터링), AI 프롬프트 템플릿(사전 정의된 템플릿 적용), AI 기본 토큰 속도 제한.
- Telemetry 정책: A2A 및 MCP Telemetry - 로그 데이터 수집 및 내보내기를 위한 오픈 Telemetry 솔루션을 확장합니다.
- **로깅**: 자동 추적 덕분에 에이전트 네트워크 전반의 로그를 통해 모든 에이전트 간 상호 작용을 추적하고, 행동을 설명하며 신뢰를 구축할 수 있습니다.
이 예는 에이전트 네트워크 메타데이터를 사용하여 구성된 메시지 로깅에 대한 정책을 설명합니다. Orderfullfillment 브로커는 Salesforce 에이전트라는 기존 에이전트를 참조하며 메타데이터를 사용하여 메시지에 대한 정책이 구성됩니다. 에이전트 패브릭은 Flex Gateway의 "사양" 섹션 아래 언급된 모든 정책을 자동으로 구성합니다. 추가 단계는 필요하지 않습니다.
```
salesforce-agent-connection:
kind: agent
ref:
name: salesforce-agent
spec:
url: ${salesforce-agent.cardUrl}
policies:
- ref:
name: message-logging
namespace: 68ef9520-24e9-4cf2-b2f5-620025690913
configuration:
loggingConfiguration:
- itemName: "Payload"
itemData:
message: "#[payload]"
firstSection: true
secondSection: true
level: "INFO"
- itemName: "Headers"
itemData:
message: "#[attributes.headers]"
firstSection: true
secondSection: true
level: "INFO"
```
## 에이전트 시각화 도구(관찰)
LLM 에이전트 및 다중 에이전트 배포의 결정적이고 복잡하지 않은 특성으로 인해 관찰 가능성 및 모니터링이 중요합니다.
- **기본 로그 및 추적**: 로그를 통해 추론 및 도구 실행 추적이 제공됩니다. 워크플로 실행의 로그 및 추적은 런타임 관리자에서 실행 후에 볼 수 있습니다.
- **메트릭**: 초기 단계에서 플랫폼은 a2a_total_calls 및 mcp_total_calls를 레이블(경로, 상태, 메서드, 도구 등)이 있는 카운터로 게시하여 총 통화, 성공 통화, 실패 통화를 결정합니다. 해당 메트릭은 기본적으로 mcp_support_policy 및 a2a_agent_card_policy와 같은 기존 정책을 통해 Envoy(Flex Gateway)의 기본 통계 인터페이스를 사용하여 정책 코드에서 게시됩니다.
- **개시성 향상(미래)**: 계획에는 향후 버전에서 분산 추적을 위해 Open Telemetry를 사용하는 것이 포함됩니다. 고급 관찰 기능에는 다음이 포함됩니다.
- **세부 요청 추적**: 요청에 대한 전체적인 가시성을 확보하며, 프롬프트, 플래너 프로세스, 호출된 작업 및 하위 에이전트와의 상호 작용을 포함합니다.
- **에이전트 상태 모니터링**: 에이전트 가동 시간, 응답 대기 시간, 처리량, 오류 비율, 기본 자원 사용량(CPU, 메모리, 네트워크, GPU)을 모니터링합니다.
- **다중 에이전트 조정 모니터링**: 에이전트 간 상호 작용의 성공률 및 실패율을 수집하고, 순환 호출 패턴(루프)을 감지하고, 과업 완료 및 호출 수와 같은 에이전트별 메트릭을 추적합니다.
- **비용 추적**: 대시보드 및 경고를 사용하여 각 LLM 호출에 대한 토큰 사용 및 관련 비용을 추적합니다. 이상적으로는 에이전트별로 추적하는 것이 좋습니다.
- **지능 추적**: 에이전트 세션의 내부 사고 과정과 모든 도구 호출을 포함한 자세한 추적을 수집하고 표시하여 변경이 불가능한 감사 추적으로 활용합니다.
- **에이전트 세션 재생**: 딥 디버깅을 위해 에이전트의 인지 추적을 단계별로 시각적으로 "재생"할 수 있는 UI입니다.
- **DAG 시각화**: 복잡한 다중 에이전트 상호 작용에 대한 에이전트 워크플로 실행의 DAG(Directed Acyclic Graph) 시각화를 제공합니다.
에이전트 시각화 도우미는 에이전트 네트워크의 일부를 식별하고 함께 작동하는 방식을 확인하는 데 사용됩니다.
- 노드 유형(에이전트 및 MCP 서버)을 구분합니다.
- 간선을 확인하여 선언된 상호 작용과 런타임 상호 작용을 확인하세요.
- 레이어를 사용하여 특정 환경에 대한 보기에 집중하세요.
- 노드의 메타데이터 및 메트릭을 검사하고 로그 및 추적에 액세스하는 세부 사항 카드 열기
- Flex 게이트웨이 보호 및 적용된 정책과 같은 거버넌스 지표를 검토합니다.
Agent Visualizer의 구성 요소에 대한 자세한 내용은 [여기에](https://docs.mulesoft.com/agent-visualizer/agent-visualizer-components) 있습니다.
## 에이전트 패브릭: 네 가지 기둥 통합
MuleSoft Agent Fabric은 이러한 네 가지 기둥을 함께 활용하여 내장된 거버넌스를 통해 모든 에이전트에 보안 및 제어 기능을 확장합니다. 에이전트는 A2A(에이전트-에이전트) 및 MCP(모델 컨텍스트 프로토콜)와 같은 새로운 프로토콜을 활용하여 비즈니스 프로세스를 구축하고 확장하여 어디서나 작업할 수 있습니다. 애플리케이션, 데이터, 시스템 등 모든 항목을 연결하여 전체 비즈니스에서 작업할 때 에이전트의 권한을 부여하고 관리합니다. 인텔리전트 도구는 AI를 기본적으로 사용하거나 타사 AI 도구를 가져와 비즈니스 프로세스 또는 API 생성 및 확장을 지원합니다.
네 가지 기둥을 모두 함께 사용하는 것은 필수는 아니지만 권장됩니다. 필요에 따라 독립적으로 기둥을 선택할 수 있습니다. 예를 들어 오케스트레이션 레이어를 사용하지 않고도 등록 및 거버넌스에 에이전트 패브릭을 활용할 수 있습니다. 마찬가지로 중개인을 사용하여 다른 플랫폼을 통해 관리되는 에이전트를 오케스트레이션할 수 있습니다.
다음 다이어그램은 네 가지 구성 요소가 모두 상호 작용하는 방식을 보여줍니다.
1. Anypoint 코드 빌더의 에이전트 네트워크 YAML에서 에이전트 네트워크(중개인, 에이전트, MCP 서버)를 정의한 후 검색 및 재사용을 위해 Anypoint Exchange에 에이전트 자산을 게시합니다.
2. 에이전트 자산을 CloudHub 2.0(런타임 관리자에서 관리)에 배포합니다.
3. 브로커 및 API 엔드포인트 앞에 위치한 인그레스 Flex 게이트웨이를 사용하여 네트워크로 유입되는 트래픽에 정책을 강제합니다.
4. 이그레스 Flex 게이트웨이를 사용하여 정책을 강제하고, 연결을 관리하며, 텔레메트리 데이터를 발송합니다. 이 게이트웨이는 브로커 및 에이전트에서 외부 서비스로 나가는 아웃바운드 경로에 위치합니다.
5. Anypoint Monitoring에서 Flex 게이트웨이 및 런타임에서 로그, 메트릭, 추적을 수집합니다.
## 에이전트 오케스트레이션 설계 패턴
모든 전문 에이전트를 평면적이고 제한 없는 아키텍처에서 즉시 접근 가능하게 만들고, 사용 가능한 모든 AI 자산에 접근할 수 있는 단일 오케스트레이터가 모든 작업을 처리하도록 하는 것은 매력적으로 보일 수 있습니다. 그러나 이 접근 방식은 전체 시스템의 효율성과 신뢰성을 손상시킬 수 있습니다. 초과 개별 툴에 적용되는 원칙과 마찬가지로, 많은 에이전트 옵션은 중앙 **브로커 에이전트**(또는 오케스트레이터)에게 상당한 소음과 복잡성을 제공합니다. 이러한 복잡성 증가로 인해 중개인의 의사 결정 정확도(작업에 적합한 에이전트 선택)와 시스템의 응답 결정성(비슷한 쿼리에 대해 예측 가능한 일관된 결과)이 크게 떨어집니다. 중개 에이전트는 효과적으로 옵션 마비에 시달리게 되어 라우팅이 느려지고 신뢰성이 떨어집니다.
평면 구조 대신 에이전트 네트워크 구조화에 대한 **다단계 계층 접근법**을 강력히 옹호합니다. 이 조직 원칙은 여러 가지 중요한 이점을 제공합니다. 첫째, 이는 본질적으로 **추적 가능성과 관리**를 지향합니다. 계층 구조는 설정된 조직 모범 사례를 미러링하여 요청 플로를 더욱 쉽게 감사하고, 실패 레이어를 파악하여 문제를 디버그하고, 특정 에이전트 또는 하위 네트워크의 배포 및 사용 중지를 관리할 수 있습니다.
두 번째로, 이 에이전트를 강화하는 대규모 언어 모델(LLM)의 맥락에서 계층 구조는 **컨텍스트 크기를 확인하는 데** 크게 도움이 됩니다. 에이전트 환경을 세분화하면 각 계층의 중개 에이전트는 바로 아래에 있는 제한된 에이전트 집합이나 하위 중개인만을 고려합니다. 이 구조는 기본 오케스트레이터가 _모든 에이전트의_ 설명, 기능, 내역 컨텍스트를 작업 메모리에 로드하지 않도록 방지하여 LLM의 컨텍스트 기간 제한을 빠르게 **초과하고** 비용 및 대기 시간이 오래 **걸릴** 위험을 **방지합니다**.
여러 방법으로 에이전트 네트워크를 구현할 수 있습니다. 두 가지 방법은 다음과 같습니다.
1. Conway의 법칙 - 직관적으로 실제 계층 구조에 매핑할 수 있습니다.
2. 도메인 중심 설계 - 비즈니스 도메인에 더 집중
## 옵션 1: 실제 계층 구조를 사용한 매핑
계층 조직에서는 커뮤니케이션이 관리자에서 하위 직원에게로 세로로 흐르며, 결정이 중앙에 집중되는 경우가 많습니다. Conway의 법에 따라:
- 이러한 조직에서 구축한 시스템이나 소프트웨어 아키텍처 역시 계층적이고 계층화되는 경향이 있습니다.
- 각 팀은 자체 경계 및 권한을 반영하는 하위 시스템을 설계하는 경향이 있습니다.
- 시스템 간의 인터페이스는 부서 간의 통신 채널을 반영합니다.
에이전트 네트워크는 또한 Conway의 법칙에 따라 대기업의 **실제 계층 구조**에 직관적으로 매핑할 수 있습니다.
- **개념 모델:** 기업이 서로 구분되는 사업부, 부서 및 관리 계층(예: C-suite, VP, 이사, 관리자)을 갖고 있는 것처럼, 특정 도메인 내에서 운영되는 에이전트 네트워크도 병렬 조직 구조로 모델링할 수 있습니다.
- **노드와 잎:** 이 계층에서:
- **트리 구조의 잎**은 **전문 에이전트** 또는 **MCPs**입니다. 이는 실제 작업을 수행하는 기능 단위입니다(예: "데이터베이스 쿼리 에이전트", "고객 인증 에이전트", "감정 분석 에이전트"). 이들은 조직 내 개별 기여자 또는 작업 단위를 나타냅니다.
- **계층 내의 모든 다른 노드**(루트 및 중간 계층 포함)은 **브로커 에이전트**(또는 하위 오케스트레이터)입니다. 해당 에이전트는 최종 과업을 수행하지 않지만 특정 도메인 또는 계층 내에서 라우팅, 위임, 집계, 충돌 해결에 대한 책임이 있습니다. 상위 수준의 브로커는 '세일즈 도메인 브로커'에게 업무를 위임하고, 이어서 '기회 관리 브로커'에게 다시 위임하여 '기회 상태 업데이트 에이전트'(잎)를 통해 업무를 수행합니다.
이 구조는 복잡성이 국지적으로 관리되고, 컨텍스트가 한정되며, 시스템이 예측 가능하고 신뢰할 수 있게 확장되는 것을 보장합니다. 조직 트리의 적절한 가지에 새로운 전문 에이전트를 도입할 수 있습니다.
디지털 노동에 대한 조직도의 비유를 떠올려 보십시오. 각 YAML 파일은 각 내부 조직(직원 성공, 보안, 재무 등)을 나타냅니다. 각 조직(에이전트-네트워크) 내에서 작업자가 공동 작업을 수행하고 작업을 과업으로 분할하고 할당하는 계층 구조가 있을 수 있습니다. 위 다이어그램에서 의사소통은 상단에서 하단으로 흐릅니다. 또한 말단 노드는 브로커 에이전트 집합에 의해서만 소비되는 것으로 제한되지 않습니다.
## 옵션 2: 도메인 중심 설계 및 에이전트 AI 구현
인적 조직 차트를 기반으로 에이전트 네트워크를 모델링하면, 특히 빈번한 조직 개편을 겪는 회사에서는 잦은 구조 조정이 필요할 위험이 있습니다. 다른 방법은 기능적 도메인별로 에이전트를 구성하는 것입니다. 이 그룹화는 기존의 인적 조직 경계를 넘어야 할 수 있습니다. 예를 들어, 신입 직원 온보딩은 하드웨어 및 사용자 프로비저닝을 위한 IT 운영을 포함하는 반면, 세일즈 활동에는 운영과 마케팅이 모두 필요합니다.
## 작성자 정보
Nikhil Aggarwal은 MuleSoft 및 Salesforce Automation Clouds의 아키텍처를 이끄는 Salesforce의 수석 아키텍트입니다. Nikhil은 대규모 제품을 제공하는 데 18년 이상의 경험을 보유하고 있으며 확장 가능한 아키텍처, 직관적인 개발자 경험, 고성능 팀 구축에 열정적입니다. Salesforce 이전에는 Microsoft Power Platform, Dataverse, Office 365의 여러 이니셔티브를 개념부터 출시까지 이끌었습니다. 그는 계속해서 AI-우선 시대의 현대 기업이 시스템을 연결하고, 워크플로를 자동화하며, 비즈니스 가치를 실현하는 방식을 만들어가고 있습니다.
Mariano Gonzalez는 2011년 MuleSoft에 초기에 합류하여 미션 크리티컬 분산 시스템, 통합, PaaS, 클라우드 컴퓨팅을 전문으로 했습니다. 현재 Mariano는 특히 거버넌스, 오케스트레이션, 검색, 관찰 가능성에 중점을 두고 AI 플랫폼을 발전시키는 데 중점을 두고 있습니다. IT 업계에서 20년 이상 근무한 Mariano는 소프트웨어 아키텍처 및 팀 리더로서 농업, 에너지, 정부, IT, 통신, 콘텐츠 관리 분야에서 BPM, ERP, 통합 솔루션을 설계 및 제공했습니다.
Pedro Colunga는 Salesforce의 API 및 메타데이터 아키텍처를 전문으로 하는 소프트웨어 엔지니어링 아키텍트입니다. Pedro는 전체 플랫폼 수명 주기에 중점을 두고 조직이 시스템 인텔리전스, 의미론, 메타데이터 중심 솔루션과 상호 작용하는 방식을 구성하는 데 중요한 역할을 합니다. 기업가 경험을 포함한 Pedro의 20년 경력은 후고, BEA Systems, Oracle, 나중에 MuleSoft에 인수된 TekGenesis와 같은 회사에 걸쳐 있으며, 그곳에서 지속적으로 플랫폼 방식 아키텍처를 구동하여 BPM, RAD, 통합과 같은 영역에서 심층적인 전문 지식을 제공했습니다.
Gulal Kumar는 데이터 및 통합 아키텍처에 중점을 둔 Salesforce의 소프트웨어 엔지니어링 아키텍처입니다. 통합 및 API, 현대화 프로그램, 보안, AIML 이니셔티브 분야에서 20년 이상의 경험을 보유한 그는 풍부한 전문 지식을 제공합니다. Gulal은 비즈니스 전환 이니셔티브를 발전시키고, 보안 및 복원 능력을 향상하고, 아키텍처 우수성을 촉진하고, 다양한 도메인 전반에 걸쳐 AIML 이니셔티브를 선도하기 위해 노력하고 있습니다.
# 구성 가능한 통합에서 관리되는 에이전트 엔터프라이즈로의 전환
에이전트 엔터프라이즈로의 전환은 클라우드 출현 이후 가장 중요한 아키텍처 변화입니다. 이는 전례 없는 수준의 생산성과 자동화를 약속하지만, 거버넌스, 보안, 운영 복잡성과 관련된 심각한 문제도 제시합니다. 통합 전략 없이 조각식으로 에이전트를 배포하는 방법을 사용하면 기술 부채와 조직 혼란으로 바로 이동할 수 있습니다.
중앙 관리 플레인을 사용하지 않고 에이전트를 배포하면 직접 시스템 액세스의 보안 취약점, 에이전트 상호 작용 및 작업에 대한 관찰 가능성 부족, 중복된 지점 간 통합으로 인한 높은 비용 등 상당한 운영 위험이 발생합니다. 이 사일로형 배포 전략은 대규모 관리가 어려운 취약한 환경을 초래합니다. 지속 가능한 모델은 에이전트 통합 및 거버넌스를 위한 통합 플랫폼이 필요합니다.
_MuleSoft_는 포괄적이고 통합된 개방형 플랫폼을 제공하여 기업이 여정 전반에 걸쳐 확신 있게 나아갈 수 있도록 지원합니다. 에이전트 작업을 위한 기초로 기업의 기존 API 환경을 활용하고 신뢰할 수 있는 AI 기반 개발 수명 주기를 통해 새로운 에이전트 지원 자산을 신속하게 생성합니다. MCP(모델 컨텍스트 프로토콜) 및 Agent2Agent(A2A) 프로토콜과 같은 개방형 표준에 대한 엔터프라이즈급 지원을 통해 AI 환경의 발전과 상관없이 간단한 명령과 복잡한 다중 에이전트 공동 작업 모두에서 이러한 자산을 실행할 수 있습니다. [_MuleSoft Agent Fabric_](https://docs.mulesoft.com/agent-fabric/)는 전체 에이전트 생태계를 발견, 오케스트레이션, 관리 및 관찰할 수 있는 솔루션을 제공합니다. 이 통합 접근 방식을 통해, _MuleSoft Agent Fabric은_ 신뢰할 수 있는 AI 에이전트의 네트워크 확장에 대한 입증된 기반을 제공합니다. 이 네트워크는 AI의 약속을 실질적이고 자동화된 비즈니스 결과로 전환하고 지능형 엔터프라이즈의 모든 잠재력을 실현합니다.
## **실행 가능한 AI를 위한 컴포저블 기반**
구축된 API 기반 연결의 3계층 접근 방식(시스템, 프로세스, 익스피리언스 API)은 에이전트의 실행성을 구성하는 강력한 프레임워크를 제공합니다.
- **시스템 API는** 기본 레코드 시스템에 일관되고 안전하며 추상화된 인터페이스를 제공합니다. 백엔드 프로토콜 및 데이터 모델의 복잡성에서 에이전트를 분리하여 모든 에이전트 작업이 관리되고 신뢰할 수 있는 끝점에서 수행되도록 합니다.
- 복잡한 다단계 비즈니스 논리를 캡슐화하는 **프로세스 API** 에이전트는 세일즈 주문 생성, 재고 점검 또는 배송 시작의 복잡한 오케스트레이션을 이해할 필요가 없습니다. 에이전트는 기본 복잡성을 처리하지 않고도 프로세스 API(예: "프로세스 주문")를 사용할 수 있습니다. 프로세스 API는 에이전트가 비즈니스 프로세스를 실행할 수 있는 안전하고 트랜잭션 가능하며 감사 가능한 메커니즘을 제공하여, 에이전트가 수행해야 하는 추론 부담을 크게 줄이고 비즈니스 규칙이 일관되게 적용되도록 합니다.
- **Experience API는** 전통적으로 특정 UI 애플리케이션(예: 주문 관리 앱)을 제공하도록 설계되었지만, 에이전트의 컨텍스트 정보를 반영한 작업으로도 재구성될 수 있습니다. 이렇게 하면 에이전트가 다운스트림 시스템에 여러 번 호출하지 않고 주어진 작업을 수행하는 데 필요한 필수 정보를 얻을 수 있습니다.
## 1\. 생성: 에이전트 지원 자산 개발 가속화
에이전트 지원 도구 및 기능에 대한 증가하는 수요를 충족하기 위해 기업은 컴포저블 기반을 구성하는 API 및 통합 개발을 가속화해야 합니다. _MuleSoft는_ 생성형 AI를 개발 수명 주기에 직접 포함하여 이 과제를 해결합니다. 이 과정은 AI를 사용하여 다른 에이전트가 소비하는 고품질 자산을 구축하는 유익한 주기를 만듭니다.
### **1.1 MuleSoft Vibes**
개발자의 경우, [MuleSoft Vibes는](https://www.mulesoft.com/platform/api/anypoint-code-builder/announcing-mulesoft-vibes) 통합 개발의 가장 반복적인 측면을 자동화하고 전체 소프트웨어 개발 수명 주기 동안 통합된 에이전트 인터페이스를 제공함으로써 지능적인 파트너 역할을 합니다. [Anypoint Code Builder](https://docs.mulesoft.com/anypoint-code-builder/)의 MuleSoft Vibes를 통해 개발자는 [신뢰할 수 있는 _Einstein AI 파이프라인_](https://blogs.mulesoft.com/automation/how-mulesoft-turns-generative-output-into-value/)에서 제공되는 생성 기능과 상호 작용하여 AI 지원 개발 프로세스를 원활하고 효율적으로 만듭니다. 이 파이프라인 - _인벤션 그래프 실행 서비스(IGES)_ \- 고품질의 결과를 달성하기 위해 사용되는 다단계 프로세스입니다. 이는 기초 교육, 유효성 검사, 오류 정정, 엄격한 평가로 구성됩니다.
- _MuleSoft Vibes_의 [**Generative Flows**](https://blogs.mulesoft.com/dev-guides/einstein-for-acb/) 기능은 _Agentforce AI_ 프레임워크를 기반으로 구축됩니다. 자연어 비즈니스 논리(사용자 프롬프트)를 기능적인 Mule 응용 프로그램으로 변환합니다. _IGES 파이프라인_은 다음 단계로 구성됩니다.
- **대화 내역 요약:** LLM은 현재 프롬프트 및 사용자의 이전 메시지를 분석하여 사용자 의도 및 대화 내역을 수집하는 요약 프롬프트를 만듭니다. 이 통합 프롬프트는 후속 데이터 검색 및 생성 단계의 정확성을 향상시킵니다.
- **벡터 데이터베이스로부터의 Flow 시맨틱 검색:** 시스템은 이전 단계에서 요약된 프롬프트를 가져와 200개 이상의 커넥터, 7,000개 이상의 커넥터 작업, 7,000개 이상의 샘플 코드 조각이 포함된 벡터 데이터베이스에 대한 시맨틱 검색을 수행합니다. 정확한 데이터를 사용하여 생성 프로세스를 기반으로 가장 관련성이 높은 커넥터, 작업, 코드 예를 검색하고 출력이 MuleSoft의 광범위한 커넥터 에코시스템에 부합하는지 확인합니다. MuleSoft는 커넥터 및 작업에 대한 업계 표준이므로, 이러한 기반을 통해 일반 LLM이 부족한 풍부한 컨텍스트와 도메인 정확성을 모델에 제공합니다.
- **보강:** 검색된 콘텐츠 및 대화 내역 메시지가 요약된 프롬프트와 결합됩니다. 이 증강된 프롬프트는 LLM이 환각을 줄이도록 안내합니다. 또한 독성 콘텐츠가 생성되지 않도록 방지하는 지침도 포함되어 있습니다.
- **플로우 생성:** 이 단계에서는 _Einstein AI LLM_ 모델을 활용하여 제공된 컨텍스트와 예를 기반으로 원시 XML 코드를 생성합니다. 이는 생성 파이프라인의 핵심 단계입니다.
- **후 처리 및 검증:** 사후 처리 및 유효성 검사기는 코드를 검사하여 올바른 구문 및 유효한 커넥터 작업 사용을 확인하고 별도의 독성 검사를 통해 유해한 콘텐츠에 플래그를 지정합니다.
- **다단계 오류 수정:** 모든 초기 생성이 유효하지 않은 경우 자동 오류 정정 메커니즘이 오류 메시지를 분석하여 패턴을 감지합니다. 그런 다음, 보강된 오류 메시지 및 수정 메타데이터와 함께 LLM에 프롬프트를 다시 제출합니다.
- **구성 파일 생성:** 이 단계는 관련 커넥터 메타데이터를 추출하고 프롬프트를 증가시키고 LLM에 전송하여 정확한 커넥터 구성을 생성합니다. 마지막으로, 모든 POM 및 XML 네임스페이스는 각 종속성의 최신 버전을 사용하여 결정적으로 생성되므로 잘못된 정보 생성을 방지하고 일관성을 보장합니다.
- [**DataWeave Transformation Generation**](https://blogs.mulesoft.com/dev-guides/dataweave-generative-transformation/)**:** 데이터 변환은 통합 개발에서 가장 시간이 많이 소요되는 부분입니다. _MuleSoft Vibes_는 _Mule Flow XML_ 생성과 유사한 다단계 접근 방식을 사용하여 이 프로세스를 해결합니다.
- **의도 추론:** LLM은 사용자 입력 및 출력 데이터 샘플을 분석하여 자연어로 높은 수준의 변환 논리를 추론하고 명확하게 설명합니다. 이 단계는 프롬프트에서 제공된 리터럴 데이터 값과 사용자의 목표를 구분합니다.
- **DataWeave 시맨틱 검색:** 가장 의미적으로 관련성이 높은 DataWeave 함수 문서와 완전한 변환 예제를 찾기 위해 이전 단계에서 생성된 프롬프트를 쿼리로 벡터 데이터베이스에 사용합니다. 이는 고품질의 검증된 정보를 기반으로 생성 과정을 뒷받침합니다.
- **증강:** 검색된 함수 및 예제가 원래 사용자 프롬프트와 결합되어 후속 LLM 호출에 대한 컨텍스트 인식 지침 집합을 만들어 LLM의 행동에 영향을 미치고 환각을 줄입니다.
- **DataWeave 생성:** 이 단계는 LLM 모델을 활용하여 제공된 컨텍스트 및 예제를 기반으로 하는 DataWeave 변환 스크립트와 첨부 설명을 생성합니다. 이는 생성 파이프라인의 핵심 단계입니다.
- **후 처리 및 검증** 생성된 스크립트는 두 가지 특정 메트릭(유효성 및 정확성)을 기준으로 평가됩니다. 스크립트는 구문 오류 없이(유효성) 컴파일되어야 하며, 샘플 입력을 사용하여 실행할 때 예상 출력을 생성해야 합니다(정확성).
- **다단계 오류 수정:** 초기 확인에 실패할 경우 이 플러그인은 오류 범주를 식별하고 생성된 스크립트의 문제를 수정합니다. 이 구체화는 전반적인 시스템 성공률 및 정확도를 향상하는 데 도움이 됩니다.
- **마지막 후처리 및 검증** 오류 수정 모듈의 수정된 스크립트는 구문적으로 유효하고 기능적으로 올바른지 확인하기 위해 재검증 프로세스를 거칩니다. 이 최종 품질 게이트는 사용자에게 다시 보내기 전에 출력이 정확하고 신뢰할 수 있도록 합니다.
- [**API 사양**](https://docs.mulesoft.com/anypoint-code-builder/api-ai-create-spec) **및 [문서 생성](https://docs.mulesoft.com/exchange/generating-documentation-with-ai):** 개발자는 원하는 API를 자연어로 설명하여 완전히 검증된 _OpenAPI(OAS)_ 또는 _RAML_ 사양을 생성할 수 있습니다. _MuleSoft Vibes_는 프롬프트(여기에는 자원, 메서드, 보안 스키마 및 매개변수에 대한 세부 정보가 포함됨)를 입력받아, 유효하고 구문적으로 올바른 API 정의를 생성합니다. 생성 후 _Anypoint Exchange_에서 API에 대한 문서를 생성할 수 있습니다. 이 문서는 인증부터 엔드포인트 세부 사항 및 오류 처리까지 모든 내용을 다루며, 이를 통해 개발자는 이러한 반복적이고 지루한 작업에서 해방될 수 있습니다.
- **AI 지원 MUnit 생성:** 자율 에이전트가 소비하는 자산의 경우 품질 보증이 중요합니다. _MuleSoft Vibes_는 Mule Flow 코드에서 직접 MUnit 테스트 케이스를 생성하는 데 도움이 됩니다. 이를 통해 외부 종속성과 검증을 모의하고, 일반적인 테스트 공백을 식별할 수 있습니다. 이로써 높은 테스트 커버리지를 달성하고 통합 논리의 신뢰성을 보장하는 데 필요한 수작업이 크게 줄어듭니다.
### **1.2 MuleSoft Your Way**
개발자는 자신이 선호하는 환경에서 최고의 역량을 발휘합니다. 따라서 _MuleSoft_은 개발자들이 활동하는 환경에서 그들을 지원함으로써 선호하는 AI IDE에서 통합을 구축할 수 있도록 합니다. [MuleSoft의 MCP(모델 컨텍스트 프로토콜) 서버](https://www.npmjs.com/package/@mulesoft/mcp-server)는 모든 VS 코드 기반 AI 기본 IDE(예: Cursor, Windsurf 또는 Trae)가 자연어를 사용하여 _Anypoint Platform_과 상호 작용하기 위해 사용할 수 있는 MCP 도구로 개발, 배포 및 관리 기능을 공개합니다.
핵심 IDE 기능을 [표준 VS Code 확장 프로그램](https://marketplace.visualstudio.com/items?itemName=salesforce.mule-dx-extension-pack)으로 패키징함으로써, _MuleSoft_는 자사의 도구를 브랜드화된 IDE 셸에서 분리하여, 개발 도구가 특정 IDE에 종속되지 않도록 합니다. 이 아키텍처 선택을 통해 빠르게 발전하는 IDE와 경쟁하는 대신, MuleSoft의 개발 도구가 현대 AI 기반 IDE의 성장하는 에코시스템 전반에서 호환성을 유지하고 접근성을 보장할 수 있습니다.
## 2\. 실행 가능성 활성화: API를 에이전트를 위한 도구로 전환
에이전틱 엔터프라이즈에서는 구성 가능한 API의 강력한 기반이 필요하지만, 그것만으로는 충분하지 않습니다. 다음 중요한 단계는 이러한 자산이 AI 에이전트에 의해 검색, 이해, 호출될 수 있도록 보장하는 것입니다. 이를 위해 특별히 에이전트 커뮤니케이션을 위해 설계된 개방형 표준에 구축된 "실행 가능성 계층"이 필요합니다. _MuleSoft는_ 두 가지 주요 신흥 프로토콜에 대한 엔터프라이즈급 도구를 제공합니다.
- 에이전트-시스템 상호 작용을 위한 **MCP**
- 에이전트 간 상호 작용을 위한 **A2A**
### **2.1 모델 컨텍스트 프로토콜(MCP)**
_MCP_ 는 에이전트-도구 간 통신을 위한 업계 표준으로 빠르게 진화하였으며, 이는 _REST_ 가 웹 서비스에 적용된 것과 유사합니다. _MCP_는 AI 에이전트가 사전 프로그래밍되거나 하드 코딩된 논리 없이 시스템의 기능을 동적으로 발견하고, 입력과 출력을 이해하며, 작업을 수행하기 위해 시스템을 호출할 수 있도록 합니다.
[MuleSoft MCP 커넥터를 사용하면](https://docs.mulesoft.com/mcp-connector/latest/) Mule 애플리케이션으로 구현된 모든 API를 MCP 서버로 게시할 수 있습니다. _MuleSoft_는 거의 모든 주요 엔터프라이즈 시스템(예: SaaS, 레거시 및 데이터베이스)에 수백 개의 사전 구축 커넥터를 제공하므로 즉시 조직의 API 및 애플리케이션을 에이전트가 사용할 수 있는 도구로 전환합니다. SAP에서 재고를 확인하기 위해 설계된 API, Salesforce에서 새 리드를 처리하는 플로우, 또는 _MuleSoft로_ 연결된 사용자 정의 애플리케이션은 모두 _MCP 커넥터_를 사용하여 AI 에이전트에게 원자적이고 관리되는 도구로 제공될 수 있습니다.
### **2.2 에이전트 간 프로토콜(A2A)**
_MCP_는 계층적, 에이전트 호출 도구 상호 작용에서 우수하지만, 복잡한 비즈니스 프로세스에서는 종종 여러 전문 에이전트 간의 협업이 필요합니다. _A2A(Agent-to-Agent)_ 프로토콜은 정교한 다중 에이전트 워크플로를 가능하게 하는 피어 투 피어 통신을 촉진하도록 설계된 새로운 개방형 표준입니다.
MuleSoft의 A2A 지원을 통해 엔터프라이즈는 API에 대해 기대하는 것과 동일한 수준의 관리 및 신뢰성을 갖춘 고급 시스템을 설계 및 구축할 수 있습니다. [MuleSoft A2A 커넥터를 사용하면](https://docs.mulesoft.com/a2a-connector/latest/) 개발자가 에이전트를 A2A 서버로 쉽게 노출하거나 Mule 애플리케이션에서 A2A 호환 에이전트를 호출할 수 있습니다. 예를 들어, 주택 담보 대출 신청 프로세스는 "신용 확인 에이전트", "문서 서명 에이전트" 및 "규제 준수 에이전트" 간에 오케스트레이션될 수 있으며, 각 에이전트가 다른 에이전트의 기능을 찾아 필요에 따라 호출하여 신청을 진행할 수 있습니다.
MCP 및 A2A에 강력한 엔터프라이즈급 도구를 제공함으로써 MuleSoft는 직접 에이전트-시스템 상호 작용(MCP 도구를 통해) 및 에이전트-에이전트(A2A) 상호 작용으로 구성된 유연한 에코시스템 구축을 지원합니다. AI 환경이 어떻게 진화하더라도, 이 접근 방식은 모든 형태의 에이전트 커뮤니케이션을 연결하는 근간으로 _MuleSoft_을 자리매김하게 합니다.
## 3\. MuleSoft Agent Fabric: 에이전트 엔터프라이즈의 중앙 신경계
엔터프라이즈가 에이전트 AI를 도입함에 따라, 불가피하게 에이전트 확산 문제에 직면하게 됩니다. 이 상황이 혼란스러워지는 것을 방지하려면 전용 오케스트레이션 레이어가 필요합니다. [MuleSoft Agent Fabric](https://docs.mulesoft.com/agent-fabric/)([데모](https://www.youtube.com/watch?v=GAqwPie16ic))은 이 문제를 직접 해결하도록 설계된 포괄적인 아키텍처 솔루션입니다. AI 에이전트가 구축된 위치 또는 운영 방식과 상관없이 AI 에이전트 네트워크 전체를 검색, 관리, 오케스트레이션, 관찰할 수 있는 중앙 관리 플레인을 제공합니다. 엔터프라이즈의 디지털 인력에 대한 "항공 이동 통제자" 역할을 하여, _MuleSoft Agent Fabric_은 분산되고 고립된 에이전트 집합을 일관되고 안전하며 고성능의 인텔리전스 네트워크로 전환합니다.
_MuleSoft Agent Fabric_은 일급 엔터프라이즈 자산으로 에이전트의 전체 수명 주기 관리를 다루는 네 가지 통합 기둥에 기반합니다.
### **3.1 에이전트 레지스트리 (발견)**
관리되는 모든 생태계의 기반은 발견 가능성입니다. _에이전트 레지스트리는_ 기업 내의 모든 에이전트 자산에 대한 보편적이고 중앙 집중식 카탈로그 역할을 합니다. 여기에는 사용자 정의 빌드 에이전트, SaaS 응용 프로그램에 포함된 에이전트, 레거시 시스템을 노출하는 MCP 서버, 에이전트 간 공동 작업을 위한 A2A 끝점이 포함됩니다. 하나의 신뢰할 수 있는 정보원을 제공함으로써, _에이전트 레지스트리_는 팀이 중복된 기능을 개발하는 것을 방지하고, 인간 개발자 및 기타 AI 에이전트가 기존 자산을 동적으로 발견하고 대규모로 재사용할 수 있도록 하는 중요한 검색 문제를 해결합니다.
_에이전트 레지스트리_는 _Anypoint Exchange를 기반으로_ 하며 다음 세 가지 새로운 자산 유형을 추가합니다. 에이전트, MCP 서버 및 LLM 에이전트와 사용하는 MCP 서버 및 도구 간의 종속성뿐만 아니라 MCP 도구, 전송 프로토콜, 에이전트 카드 등 해당 자산에 대한 정보를 수집합니다. 개발자는 레지스트리 내에서 직접 자산을 만들고 관리할 수 있습니다. 또한 새 오케스트레이션을 생성할 때 MuleSoft Vibes 내의 기존 자산을 프로그래밍 방식으로 검색하고 재사용할 수 있습니다(_MuleSoft MCP Server의_ search_asset 도구를 통해). 이렇게 하면 개발자가 해당 자산을 이해하고 사용하는 데 필요한 모든 정보를 확보할 수 있습니다.
### **3.2 에이전트 브로커 (오케스트레이트)**
자산을 검색할 수 있게 되면 유용한 작업을 수행하기 위해 오케스트레이션해야 합니다. _에이전트 브로커_는 다단계 비즈니스 프로세스를 실행하는 오케스트레이션 서비스입니다. 구성 가능한 LLM을 사용하여 상위 수준 과업을 해석하고 해당 워크플로를 생성합니다. _에이전트 브로커는_ 이러한 프로세스를 완료하기 위해 필요한 에이전트와 도구를 동적으로 검색하고 순서대로 호출합니다.
연결은 도구를 위한 _MCP_ 및 에이전트를 위한 _A2A_ 프로토콜을 통해 관리됩니다. 이렇게 하면 시스템에서 에이전트를 비즈니스별 도메인(예: 공급망 또는 금융)으로 구성하고 모든 도메인에 작업을 라우팅할 수 있습니다. 단일 자연어 프롬프트(예: "직원 온보딩.")는 여러 백엔드 시스템에서 서로 다른 에이전트 또는 도구가 실행하는 일련의 개별 작업으로 분해됩니다. 에이전트 브로커 오케스트레이션에는 다음이 포함됩니다.
- **동적 오케스트레이션 패턴:** 이는 전체 목표를 달성하기 위해 하위 작업을 결정하고 가장 적합한 에이전트 및 도구에서 오케스트레이션하는 에이전트 루프 패턴입니다. 이 패턴을 활용하면 복잡한 사용 사례(예: [복잡한 서비스 에스컬레이션 처리](/docs/architect/ko-kr/fundamentals/guide/agentic-patterns#35-공동-작업-에이전트-사용-사례-복잡한-서비스-에스컬레이션))를 해결하기 위해 [공동 에이전트를](/docs/architect/ko-kr/fundamentals/guide/agentic-patterns#15-공동-작업-에이전트에이전트-스워밍) 구축할 수 있습니다.
- **LLM 기반 추론:** LLM을 사용하여 자연어 목표를 해석하고 실행 계획을 생성하므로 하드 코딩된 경직된 워크플로 논리가 필요하지 않습니다.
- **구성 가능한 LLM 모델:** 개발자가 사용할 LLM 모델을 지정할 수 있으므로 비용, 성능, 기능을 제어할 수 있습니다.
- **자연 언어 개발:** _에이전트 브로커_ 논리는 _MuleSoft Vibes_를 통해 자연어를 사용하여 정의할 수 있습니다.
- **가시성:** _Anypoint Monitoring_은 배포 시 로깅 및 추적을 제공하여 사용자가 Agent Broker의 추론과 _MCP_ 도구 및 _A2A_ 에이전트와의 상호 작용을 이해하고 디버그할 수 있도록 지원합니다.
- **관리형 배포:** _Agent Broker_는 _Mule Runtime_이 지원하는 컨테이너화된 애플리케이션으로, 배포의 가용성과 확장성을 관리합니다.
### **3.3 MCP 및 A2A용 Flex 게이트웨이(Govern)**
_Anypoint Flex Gateway_ 는 특정 정책이 기술적으로 시행되는 메커니즘입니다. _MuleSoft Agent Fabric은_ _Anypoint Flex 게이트웨이를_ 활용하여 _MCP_ 및 _A2A_ 프로토콜을 통해 발생하는 [모든 에이전트 상호 작용을 보호, 검사, 관리합니다](https://docs.mulesoft.com/gateway/latest/flex-agent-secure). 이를 통해 조직은 모든 에이전트 트래픽에 다양한 [엔터프라이즈급 정책 집합](https://docs.mulesoft.com/gateway/latest/flex-agent-policies)을 적용하여 실행하기 전에 모든 작업이 안전하고 규정 준수하며 감사할 수 있도록 할 수 있습니다. 안전하고 책임 있게 AI 채택을 확장하기 위해서는 이러한 가드 레일이 중요합니다.
| 정책 이름 | 프로토콜(s) | 설명 |
| :----------------------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **JWT 검증 정책/클라이언트 ID 적용 정책** | A2A, MCP | **JWT 확인 정책/클라이언트 ID 적용 정책**은 인증된 호출자에 대한 액세스만 제한하여 _A2A_ 에이전트 및 _MCP_ 서버를 보호합니다. |
| **스키마 검증** | A2A, MCP | **스키마 검증**은 수신 에이전트 요청이 _A2A_ 또는 _MCP_ 사양을 준수하므로 잘못된 트래픽을 방지합니다. |
| **A2A PII 탐지기** | A2A | **A2A PII Detector는** 요청 및 응답에서 _개인 식별 정보(PII)_를 식별하고 규정 준수 요건을 충족하기 위해 로깅 또는 차단을 지원합니다. |
| **A2A 프롬프트 디코레이터** | A2A | **A2A 프롬프트 디코레이터는** 에이전트에게 보내지는 프롬프트에 사용자 정의 컨텍스트 또는 지침을 삽입하여 그들의 행동을 안내하고 가드 레일을 적용합니다. |
| **MCP 속성 기반 액세스 제어** | MCP | **MCP Attribute-Based Access Control**은 사용자 특성(예: 계층, IP 또는 JWT 클레임)을 기반으로 _MCP_ 서버에서 노출하는 특정 도구 및 리소스에 대한 액세스를 규제합니다. |
| **SSE 로깅** | A2A, MCP | 에이전트 프로토콜에서 포괄적인 감사 및 추적성을 위해 사용되는 _서버 전송 이벤트(SSE)_ 스트림의 내용을 기록하는 **SSE 로깅** |
| **율 제한 및 스파이크 제어** | A2A, MCP | **율 제한 및 스파이크 제어**은 요청 제한을 적용하여 백엔드 에이전트 및 시스템을 트래픽 증가 및 서비스 거부 공격으로부터 보호합니다. |
| **A2A 에이전트 카드** | A2A | **A2A Agent Card**는 관리되는 Flex Gateway 인스턴스를 통해 모든 트래픽이 올바르게 프록시되도록 Agent Card URL을 다시 작성합니다. |
**에이전트 프로토콜을 위한 엔터프라이즈 거버넌스 정책**
인바운드 요청을 관리하는 것 외에도 _Anypoint Flex 게이트웨이는_ 외부 서비스(예: _MCP_ 서버 및 도구 또는 기타 에이전트)에 대한 에이전트의 모든 발신 연결 및 요청을 관리합니다. 여기에는 다음이 포함됩니다.
- **로그:** 감사 및 문제 해결을 위해 모든 아웃바운드 에이전트 요청을 모니터링하고 기록할 수 있는 중앙 집중화된 관찰 가능 지점을 제공합니다.
- **보안:** 아웃바운드 트래픽을 검사하여 중요한 데이터 누출을 방지합니다.
- **인증:** 단일 지점에서 API 키, OAuth, ClientId/ClientSecret을 비롯한 아웃바운드 인증 메커니즘을 적용하여 외부 시스템에 대한 자격 증명을 관리합니다.
사용자는 _Anypoint Flex Gateway_ [**Policy Development Kit(PDK**)](https://docs.mulesoft.com/pdk/latest/policies-pdk-overview)을 사용하여 기본 정책이 특정 요구 사항을 충족하지 않는 경우 사용자 정의 정책을 만들 수 있습니다. _PDK를_ 사용하여 개발자는 _Rust_ 프로그래밍 언어로 정책 논리를 작성하고 _WebAssembly (WASM)_ 모듈에 컴파일할 수 있습니다. 그런 다음, 독립형 모듈이 _Anypoint Flex Gateway_에 로드되어 API 가장자리에 고유한 보안 규칙, 사용자 정의 데이터 변환 또는 전문 통합 논리를 적용합니다. 이를 통해 고유하거나 복잡한 사용 사례에 대한 게이트웨이 기능을 확장할 수 있는 강력하고 고성능의 방법을 제공합니다.
다음은 _PDK_:의 네 가지 핵심 구성 요소입니다.
- **Anypoint CLI PDK 플러그인:** 이 플러그인은 _PDK_ 프로젝트를 만들고 컴파일된 정책을 _Exchange_에 업로드합니다. 또한 개발 프로세스를 간소화하기 위해 명확한 명령 집합을 제공하여 정책을 구축하고 관리할 수 있도록 하는 _Makefile_을 생성합니다.
- **정책 템플릿:** 새 프로젝트가 생성되면 _PDK가_ 기본 스캐폴드 또는 템플릿을 생성합니다. 이 구조에는 정책을 성공적으로 컴파일하는 데 필요한 모든 필수 파일과 구성이 포함되어 있어 개발자에게 사용자 정의 논리의 시작 지점을 제공합니다.
- **SDK 빌딩 도구:** 이러한 도구는 기본 _Envoy_ 프록시의 복잡한 이벤트 기반 아키텍처를 요약합니다. 반응기와 실행기 패턴을 사용함으로써 _SDK_는 간단하고 선형적인 코딩 방법을 제공합니다. 이를 통해 복잡성을 줄이고 디버깅을 개선하며 개발자의 학습 곡선을 낮춥니다.
- **정책 관리:** [MuleSoft MCP 서버](https://docs.mulesoft.com/mulesoft-mcp-server/reference-mcp-tools)는 사용자가 사용자 정의 정책 수명 주기를 관리할 수 있도록 _MCP_ 도구를 제공합니다. 이러한 도구의 예는 다음과 같습니다.
- get_flex_gateway_policy_example
- manage_api_instance_policy
- manage_flex_gateway_policy_project
### **3.4 Agent Visualizer (관찰)**
_Agent Visualizer_는 전체 에이전트 네트워크의 실시간, 동적 지도를 제공하여 AI 상호 작용의 "블랙박스"를 완전히 관찰 가능한 시스템으로 전환합니다. 아키텍처 및 운영 팀은 _에이전트 시각화 프로그램_을 사용하여 에이전트가 연결되는 방식을 검토하고, 의사 결정 흐름을 추적하고, 상태 및 성과를 모니터링하고, 종속성을 식별할 수 있습니다. 이 수준의 가시성은 성능을 최적화하고, 실패를 효율적으로 해결하고, 지체 지점을 감지하고, 배포된 에이전트에 대한 신뢰를 구축하는 데 매우 중요합니다.
## **4\. Salesforce Platform 통합**
### **4.1 API 카탈로그 및 주제 센터**
_MuleSoft API 카탈로그_ 및 _주제 센터_는 특히 _Agentforce와_ 협력하여 API 검색, 사용 및 관리 방식을 개선하도록 설계되었습니다.
설계 및 게시된 모든 _MuleSoft_ API는 _Salesforce Platform_의 [API 카탈로그](https://help.salesforce.com/s/articleView?id=platform.api_catalog.htm&type=5)를 통해 검색 및 사용 가능하게 만들 수 있습니다. _API 카탈로그_는 중앙 집중식 저장소 역할을 하며, _MuleSoft_, _Salesforce_, _Heroku_ 및 기타 클라우드에서 조직의 모든 API를 하나의 보기로 통합합니다. 이렇게 하면 개발자와 관리자가 기존 API를 찾아 이해하고 재사용할 수 있게 되며, 이를 자동화(예: _Agentforce_, _Flow_ 및 _Apex_)에 활용할 수 있습니다.
[MuleSoft for Agentforce: Topic Center](https://blogs.mulesoft.com/news/mulesoft-for-agentforce-topic-center/)를 사용하면 개발자가 설계 시점에 Agentforce **Topics** 및 **Actions** 메타데이터를 정의하여 특정 비즈니스 사용 사례를 중심으로 API를 구성할 수 있습니다. 여기에는 다음이 포함됩니다.
- **Actions**, 즉 에이전트가 수행할 수 있는 작업
- 특정 작업을 적용하는 방법을 에이전트에게 안내하는 **지침**
[이 시맨틱 레이어를 추가함으로써](https://docs.mulesoft.com/anypoint-code-builder/ai-enabling-api-project-topic-center), _Topic Center_는 API를 _Agentforce_가 이해하고 사용할 수 있게 하여, 엔터프라이즈 시스템과 효과적으로 상호작용할 수 있도록 보장합니다.
### **4.2 Agentforce 게이트웨이**
_Agentforce 게이트웨이는_ 확장하는 _Agentforce_ 에코시스템 내에서 상호 작용을 관리하고 보호하도록 설계된 중앙 관리 계층입니다. _Agentforce_는 _MCP_와 같은 프로토콜을 통해 추가 타사 API 및 도구와 통합되므로 _Agentforce 게이트웨이_의 주요 기능은 _Agentforce_가 시작하는 모든 아웃바운드 트래픽에 정책(예: 요금 제한 및 도구 제한)을 적용하고 모든 발신 요청을 감사하는 것입니다.
_Agentforce 게이트웨이는_ 기존의 _MuleSoft_ API 거버넌스 정책 엔진을 활용하며, 이 엔진은 기본적으로 _Salesforce Platform_에 내장되어 있습니다. 이 _Envoy_ 기반 정책 엔진은 고객이 추가 게이트웨이 인프라를 설치할 필요 없이 에이전트 트래픽을 가로채고 구성된 정책(예: 특성 기반 액세스 제어 및 할당량 제한)을 적용하고 인증 및 권한 부여를 관리합니다.
### **4.3 통합 인텔리전스**
관리되는 에이전트 네트워크를 구축하는 것은 획기적인 성과입니다. 그러나 새로운 'Day 2' 운영상의 문제가 발생합니다. 동적, 분산된 자율 행위자 시스템을 모니터링, 측정 및 문제 해결하려면 향상된 수준의 운영 인텔리전스가 필요합니다. 최종 아키텍처 비전은 AI가 비즈니스 프로세스를 실행하는 데뿐만 아니라 실행되는 인프라를 모니터링, 관리, 치료하는 데도 사용되는 시스템입니다.
통합 인텔리전스에 대한 _MuleSoft의_ 비전은 광범위한 _Salesforce_ 에코시스템의 힘을 활용하여 통합 패브릭과 에이전트 네트워크의 성능에 대한 심층적이고 맞춤형 인사이트를 제공합니다. **Salesforce Data 360**에서 [OpenTelemetry(OTEL) 준수](https://opentelemetry.io/) 데이터를 캡처하고 저장함으로써 조직은 전체 환경에서 로그, 메트릭, 추적을 위한 통합 저장소를 만들 수 있습니다. 이 데이터는 사전 구축된 대시보드 및 사용자 정의 시각화를 통해 **Tableau에서** 볼 수 있으므로 API 성능, 에이전트 상호 작용 패턴, 전체 시스템 상태에 대한 자세한 정보를 얻을 수 있습니다.
이 시스템에는 세 가지 핵심 구성 요소가 있습니다.
1. **수집:** 수집 서비스는 다양한 _Mule_ 애플리케이션, _Agent Brokers_ 및 _Flex Gateways_에서 텔레메트리 데이터를 수집하고 처리하는 중앙 집중식 입력 지점입니다. 다양한 응용 프로그램에서 데이터 품질과 일관성을 유지하기 위해 스키마 유효성 검사, 데이터 정규화, 필터링을 수행합니다. 또한 수집 파이프라인에서 제어(예: 인증, 암호화, 테넌트 공정성, 속도 제한)를 적용합니다.
2. **스토리지:** 멀티테넌트 _Kafka_ 주제의 데이터를 읽고 _OTEL_ 형식으로 변환하는 고처리 용량 스트리밍 작업이 _Data 360_에서 실행됩니다. 그런 다음, OTEL 데이터는 _레이크하우스_의 _TelemetryTraceSpan_, _TelemetryLogs_ 및 _TelemetryMetrics DMO_에서 테넌트의 _Data 360_에 연결됩니다.
3. **시각화 / 소비량:** 고객은 _Data 360_에서 사용할 수 있는 텔레메트리 데이터를 활용하여 시스템 상태를 검토하고 _Tableau Next_를 통해 사전 구축되거나 사용자 정의된 대시보드를 사용하여 인사이트를 얻을 수 있습니다. 고객은 _Tableau Next_에서 미리 구축된 에이전트 분석 기술인 [Tableau Concierge를](https://help.salesforce.com/s/articleView?id=analytics.tua_metric_questions.htm&type=5) 활용할 수도 있습니다. 이 기술을 통해 사용자가 원래 언어로 텔레메트리 데이터에 대한 질문을 하고 시각화를 통해 신뢰할 수 있는 실행 가능한 답변을 받을 수 있습니다. 고객은 기존의 _APM(Application Performance Management)_ 시스템(예: _DynaTrace_, _Datadog_, _Splunk_ 등)으로 데이터를 내보낼 수도 있습니다.
## **결론**
에이전트 엔터프라이즈로의 전환은 단순한 IT 업그레이드를 넘어, 근본적인 아키텍처 전환점입니다. 파편화되고 사일로화된 AI 에이전트 배포는 운영 혼란, 섀도우 IT 및 관리 불가능한 기술 부채로 직결됩니다. 지속 가능한 유일한 경로는 통합된 구성 가능한 아키텍처를 통해서입니다. 검증된 API 주도 연결 기반을 바탕으로, _MuleSoft Agent Fabric_은 이 새로운 디지털 인력을 관리하는 데 필요한 '중앙 신경계'를 제공합니다. 이는 탐색, 오케스트레이션, 엔터프라이즈급 거버넌스, 그리고 종단 간 관측을 위한 핵심 기능을 제공합니다. 이것이 바로 AI 실험 단계를 넘어, 진정으로 지능형이고 자동화되며 안전한 엔터프라이즈를 설계하고 자율적인 잠재력을 실질적이고 통제된 비즈니스 성과로 전환하는 방법입니다.
## **기술 가이드 및 참조**
- [Anypoint Code Builder 시작하기](https://docs.mulesoft.com/anypoint-code-builder/start-acb)
- [Anypoint 코드 빌더용 Einstein 기술 가이드: 생성 흐름](https://blogs.mulesoft.com/dev-guides/einstein-for-acb/)
- [DataWeave 생성형 변환 심층 분석: 신속한 데이터 변환을 위한 AI 혁신](https://blogs.mulesoft.com/dev-guides/dataweave-generative-transformation/)
- [MuleSoft Dev Agent로 API 사양 만들기](https://docs.mulesoft.com/anypoint-code-builder/api-ai-create-spec)
- [Einstein 생성형 AI로 API 문서 생성](https://docs.mulesoft.com/exchange/generating-documentation-with-ai)
- [MuleSoft MCP 서버 개요](https://docs.mulesoft.com/mulesoft-mcp-server/)
- [MuleSoft MCP Server Tools](https://docs.mulesoft.com/mulesoft-mcp-server/reference-mcp-tools)
- [MCP 커넥터](https://docs.mulesoft.com/mcp-connector/latest/)
- [A2A 커넥터](https://docs.mulesoft.com/a2a-connector/latest/)
- [Agent Fabric 시작하기](https://docs.mulesoft.com/agent-fabric/learning-map-agent-fabric)
- [Flex 게이트웨이로 에이전트 상호 작용 보호](https://docs.mulesoft.com/gateway/latest/flex-agent-secure)
- [Flex 게이트웨이 에이전트 정책](https://docs.mulesoft.com/gateway/latest/flex-agent-policies)
- [유연한 게이트웨이 정책 개발 키트(PDK) 개요](https://docs.mulesoft.com/pdk/latest/policies-pdk-overview)
- [Salesforce용 MuleSoft API 카탈로그](https://help.salesforce.com/s/articleView?id=platform.api_catalog.htm&type=5)
- [주제 및 에이전트 작업에 대한 API 프로젝트 활성화](https://docs.mulesoft.com/anypoint-code-builder/ai-enabling-api-project-topic-center)
- [Tableau Next와 함께 작업](https://help.salesforce.com/s/articleView?id=analytics.tua_consume.htm&type=5)
- [OpenTelemetry](https://opentelemetry.io/)
- [모델 컨텍스트 프로토콜](https://modelcontextprotocol.io/docs/getting-started/intro)
- [Agent2Agent(A2A) 프로토콜](https://a2a-protocol.org/latest/)
## 저자 소개
Nikhil Aggarwal은 MuleSoft 및 Salesforce Automation Clouds의 아키텍처를 이끄는 Salesforce의 수석 아키텍트입니다. Nikhil은 대규모 제품을 제공하는 데 18년 이상의 경험을 보유하고 있으며 확장 가능한 아키텍처, 직관적인 개발자 경험, 고성능 팀 구축에 열정적입니다. Salesforce 이전에는 Microsoft Power Platform, Dataverse 및 Office 365의 여러 이니셔티브를 개념부터 출시까지 이끌었습니다. 그의 업적은 AI 우선 시대에 현대 기업들이 시스템을 연결하고, 워크플로를 자동화하며, 비즈니스 가치를 창출하는 방식을 계속해서 형성하고 있습니다.
# 소개
20여 년 전에 Salesforce는 최초의 멀티테넌트 클라우드 플랫폼을 선도하여 업계의 선례를 세웠습니다. 그 이후 Salesforce는 비즈니스의 주요 측면을 캡슐화 및 자동화할 수 있는 포괄적인 엔터프라이즈 플랫폼으로 진화하여 다양한 산업 및 지역의 수천 개의 비즈니스 및 수백만 명의 사용자에게 서비스를 제공합니다. Salesforce는 전략적 인수를 통해 Customer360 제품군도 향상했습니다.
지난 몇 년 동안 시장, 업계, 기술 환경의 변화로 인해 기본 Salesforce Platform에서 일련의 심층적인 변환이 이루어졌습니다. 다음은 포함됩니다.
- 인프라에 크게 투자하는 퍼블릭 클라우드 공급자의 출현.
- 기계 학습, 생성형 AI, 그리고 에이전트 기반 경험 등을 포함한 AI의 빠른 발전.
- 산업 및 국가 전반에서 데이터 레지던시 및 규제 요구 사항이 증가했습니다.
- 빠르게 증가하는 규모로 실시간 데이터 및 트랜잭션을 처리해야 합니다.
- 사이버 보안, 시스템 가용성, 성능, 회복력에 대한 요구 사항이 더욱 강조되고 있습니다.
- 복원성이 뛰어난 해부적이고 일관성이 높은 아키텍처를 제공하는 통합 제품군에 대한 고객의 요구입니다.
특히 AI의 지진 변화와 비즈니스에 미치는 영향에 대한 대응으로 Salesforce는 플랫폼을 처음부터 완전히 전환하여 Trust 목표를 유지하면서 차세대 애플리케이션 및 고객 사용 사례의 기반을 마련했습니다.
Dreamforce 2024에서 Agentforce 출시했으며 아래 다이어그램은 수천 명의 Salesforce 기술 및 제품 조직 팀 구성원을 참여시키는 광범위한 노력의 끝을 나타냅니다. 현재 95% 이상의 고객이 이 새로운 플랫폼으로 전환했습니다. 가장 까다로운 작업 부하를 가진 고객을 비롯한 대부분의 고객이 성공적으로 마이그레이션함으로써 엔지니어들의 영리함을 강조하고 Salesforce의 Trust, 고객 성공, 혁신이라는 핵심 가치를 재확인합니다.
Agentforce 출시된 이후 Salesforce는 계속해서 엔터프라이즈 응용 프로그램에서 AI 사용을 선도하고 있으며 기존 및 신규 비즈니스 기능에 대한 실시간 대화형 환경을 제공하는 에이전트 환경 개발 분야에서 선도적입니다.
최고 엔지니어들과 협력하여 작성된 이 백서에서는 주요 기술 변환의 복잡성을 이해하는 빌더를 위해 자세히 탐구합니다. 이 문서는 플랫폼을 확장 가능하고 안전하게 유지하며 고객의 변화하는 요구를 충족하면서 향후 응용 프로그램을 처리할 수 있도록 지원하는 필수적인 아키텍처 개선 사항을 자세히 살펴봅니다. 전체 상황을 이해하려면 아키텍처 개요 장에서 시작하는 것이 좋습니다. 여기에서 독자는 순서대로 계속하거나 가장 관심 있는 장을 탐색할 수 있습니다.
_Emin Gerba_
_Salesforce 수석 아키텍트_
## 2\. 아키텍처 개요
아래에 제시된 Salesforce Platform 아키텍처 원칙은 기능 및 역량을 설계하는 우리의 접근 방식의 기반과 차별점을 보여줍니다.
- **엔터프라이즈급 신뢰**: Trust Salesforce의 가장 중요한 가치이며, 서비스의 가용성 및 보안에 우선 순위를 두는 것뿐만 아니라 고객이 Salesforce Platform에서 규정 준수 및 보안 표준을 충족할 수 있도록 액세스 제어, 규정 준수 및 보안 기능을 구축합니다.
- **멀티테넌트**: 모든 서비스 및 인프라는 여러 고객을 호스팅하도록 구축되어 있습니다. 이를 통해 사용량에 따라 확장할 수 있는 전략적 패턴을 제공하며, 고객의 규모와 관계없이 높은 수준의 가용성과 보안을 표준화할 수 있습니다.
- **메타데이터 구동**: 메타데이터는 멀티테넌트 서비스를 사용자 정의할 수 있는 방식의 핵심입니다. 메타데이터는 확장 가능하므로 관리자 및 개발자가 기존 작업을 기반으로 구축하고 Salesforce 및 에코시스템 파트너의 향후 제품 업데이트를 활용할 수 있습니다.
- **API 우선** Salesforce Platform은 Salesforce 기본 사용자 인터페이스를 통해 수행할 수 있는 모든 작업을 다루는 풍부하고 일관된 API 포트폴리오의 우선 순위를 지정합니다. 이를 통해 개발자 및 파트너가 시스템 통합 또는 새 사용자 환경 구축을 위해 플랫폼 기능을 활용하고 재구성할 수 있습니다.
- **개방성과 상호운용성**: Salesforce Platform은 고객의 엔터프라이즈 아키텍처에 통합할 수 있습니다. Salesforce Platform은 다른 클라우드 기반 및 온 프레미스 시스템과 함께 작동할 수 있도록 설계되었으며 외부 시스템에 Salesforce Platform과 통합할 수 있도록 API, 도구, 통합 표준을 제공했습니다.
- **에이전트 환경:** Salesforce Platform은 전체 애플리케이션 제품군에서 에이전트 우선으로 빠르게 발전하고 있습니다. 사용자가 작업을 완료하고 점점 더 자연스러운 방식으로 데이터와 상호 작용할 수 있는 심층적인 에이전트 대화 환경을 통해 Salesforce와 소통할 수 있도록 하려고 합니다.
현재의 Salesforce Platform은 2008년 Force.com 플랫폼의 데뷔 이후 Salesforce의 기능 진화의 최신 단계입니다. 최근 주요 변화에는 다음이 포함됩니다.
- Hyperforce 채택 및 클라우드 기반 아키텍처로의 전환.
- 독립적인 서비스가 있는 구조로의 변화를 의미합니다.
- 기존 관계형 데이터 저장소와 함께 Data 360 및 Lakehouse 기술의 도입
- 생성형 및 기계 학습을 포함한 AI 기술을 깊이 통합하고, 플랫폼 전반에 걸쳐 에이전트 기반 경험으로 진화하고 있습니다.
이러한 변경 사항은 Salesforce 엔지니어가 고객 중단을 최소화하면서 기술을 원활하게 발전시킬 수 있도록 해주는 강력한 추상화 덕분에, 플랫폼의 기능을 큰 중단 없이 확장하고 세분화할 수 있었습니다. 또한 강력한 추상화는 보안, 가용성, 기술 규칙과 같은 엔터프라이즈급 소프트웨어의 기술적 복잡성을 단순화하는 Salesforce Platform의 가치의 핵심이므로 앱 개발자가 고유한 문제 해결에 집중할 수 있습니다. Salesforce Platform의 기능은 아래에 강조되어 있습니다.
Salesforce Platform은 시스템을 구성하는 계층 집합으로 표시됩니다. 각 레이어는 플랫폼에 구축된 응용 프로그램에 중요한 관련 기능의 그룹을 나타냅니다. 각 레이어 내의 하위 상자는 이러한 기능의 예를 보여줍니다. 각 하위 계층의 기능이 위의 모든 계층에 통합되어 전체 Salesforce 응용 프로그램 제품군에서 일관되고 통합된 환경을 제공합니다.
Salesforce Platform은 지난 20년 동안 개발된 성숙한 기술 플랫폼의 모든 계층에서 광범위한 엔지니어링 변환을 구현합니다. 변화하는 고객의 요구와 새로운 기술에 기반하여 새 앱 유형 및 솔루션을 지원할 수 있습니다. 하위 레이어의 변경 사항이 위의 모든 후속 레이어의 진화에 영향을 미치므로 변환이 상호 연결됩니다.
Salesforce Platform은 각각 포괄적인 기능에 기여하는 여러 계층으로 구조화되어 있습니다.
- **Hyperforce**: 기본 인프라는 자사 데이터 센터에서 퍼블릭 클라우드 공급자로 진화했으며, Salesforce 기술로 보안, 규정 준수, 고가용성, 비용 효율적인 호스팅이 강화되었습니다.
- **메타데이터 프레임워크**: 우리가 보유하고 사용하는 기술이 발전하더라도, 앱이 안정적으로 구축될 수 있도록 하는 안정적인 추상화를 제공합니다. 개체 관계 매퍼, 규정 실행 순서, 메타데이터 정의를 메타데이터 구동 런타임과 연결하는 "핵심" 런타임을 포함합니다.
- **데이터**: 비정형 데이터 및 콘텐츠 관리, 고급 검색, 거버넌스, 분석 처리 기능을 지원하는 Salesforce 및 비Salesforce 데이터를 관리하기 위한 페타바이트 규모의 레이크하우스와 멀티테넌트 관계 데이터베이스를 포함합니다.
- **AI**: 데이터 레이어 위에 예측 및 생성형 AI를 활용하는 신뢰할 수 있는 기본 AI 기술을 구축하여 에이전트 기반 경험을 제공합니다.
- **앱 플랫폼 서비스:** IT 관리자, 개발자, 공급업체가 응용 프로그램을 구축하고 사용자 정의할 수 있는 도구를 제공하며, 일반적이고 복잡한 과업을 간소화하기 위해 방향성을 제시하는 추상화를 제공합니다.
- **비즈니스 역량**: 다양한 비즈니스 요구를 충족할 수 있는 폭넓은 역량을 제공하므로 개발자가 필요에 따라 애플리케이션을 맞춤 설정할 수 있습니다.
- **API 및 API 관리**: 올바르게 구성된 API를 통해 모든 플랫폼 기능에 액세스할 수 있어 서비스 및 계층 상호 종속성을 촉진합니다.
- **사용자 및 개발자 경험**: 최종 사용자를 위한 사용자 친화적인 인터페이스와 애플리케이션 개발 및 사용자 정의를 위한 로우코드부터 프로코드까지 다양한 개발 도구를 제공하며, 현대 AI 기반 개발을 지원합니다.
- **통합**: 데이터 커넥터, 제로 카피 데이터 통합 및 기타 도구를 통해 Salesforce 및 비 Salesforce 시스템과 연동할 수 있도록 모든 엔터프라이즈 아키텍처와 통합합니다.
- **앱 및 산업**: 플랫폼의 통합 기능을 기반으로 구축된 사용자 정의 가능한 앱과 산업별 솔루션을 제공하며, 하위 계층 기능의 전체 범위를 활용하고, AI 에이전트와의 깊은 통합을 제공합니다.
## 3\. Hyperforce
Salesforce는 현재 많은 하이퍼스케일러 및 IaaS 공급업체보다 앞서 25년 가까이 글로벌 데이터 센터 인프라를 개발해왔습니다. Hyperforce는 Salesforce 인프라 진화의 최신 세대로, 전 세계 여러 퍼블릭 클라우드 공급업체에서 작동하도록 설계되었습니다.
유연한 B2C 규모, 글로벌 데이터 보존, 고급 가용성, 최상위 보안, 규정 준수에 대한 고객 요구에 맞게 조정되었습니다. Hyperforce는 모든 Salesforce 제품 전반에서 인프라를 표준화하여 신규 인수의 신속한 통합을 촉진합니다.
Hyperforce는 Salesforce Platform의 제공을 보장하여, 신속하게 새로운 기능 및 애플리케이션을 배포하고, 전 세계 20개 이상의 지역에서 데이터 보존 및 규제 준수 요구 사항을 충족할 수 있도록 합니다.
### 3.1 아키텍처 원리
Salesforce가 Hyperforce로 전환하는 동안, 하이퍼스케일러 간 서비스, 인터페이스, 규정 준수 수준의 상당한 차이가 식별되었습니다. Salesforce Platform에 견고하고 휴대성이 뛰어난 기반을 구축하기 위해 다음 아키텍처 원칙이 도입되었습니다.
- **Infrastructure as Code**: 도메인 구동 아키텍처를 활용하는 이 원칙은 인프라에 대한 선언적 코딩, 변경할 수 없는 아티팩트 생성, Kubernetes 및 서비스 메쉬와 같은 표준을 사용하여 요청 시 인프라를 자동화하는 작업을 포함합니다.
- **Zero-Trust Security**: 신원 관리, 인증, 인증, 네트워크 격리, 최소 권한 보안 정책, 전송 및 휴무 중 데이터 암호화 등 포괄적인 방어 전략을 갖춘 Zero Trust 보안 모델을 구현합니다.
- **매니지드 서비스**: 이 원칙은 멀티테넌트 및 멀티 클라우드 서비스 사용을 강조하여 상업, 정부, 공기 간격 시스템과 같은 다양한 인프라 및 환경 전반에서 이동성을 향상합니다.
- **내장 복원력**: 미션 크리티컬 서비스는 고가용성을 보장하기 위해 여러 가용성 영역에 분산되어 있습니다. 데이터는 가용성 영역 전반에서 복제됩니다. 서비스에는 서비스 수준 목표 및 복원력 계획 관리를 위해 가용성 계층 레이블이 부여됩니다.
- **완전한 관찰성**: 로그 수집, 메트릭 수집, 경고, 분산 추적, 트래픽량, 오류 비율, 자원 활용도와 같은 서비스 작업 추적을 포함하는 효율적인 모니터링을 위해 모든 서비스를 표준 관찰 가능성 플랫폼에 통합합니다.
- **자동화된 작업**: 서비스 품질을 유지, 서비스 저하 감지 및 해결, 장애 감지를 위한 인프라 수명 주기 및 예측 AIOps(운영용 AI) 자동화 관리가 포함됩니다.
- **자동 확장**: 확장성 및 비용 효율에 중점을 둔 이 원칙은 클라우드 공급자와 관련된 특정 계정 제한을 추상하여 운영 위험을 증가시키지 않고 다양한 규모의 운영 유연성을 제공합니다.
- **FinOps Aware**: 공용 클라우드는 인프라 유연성을 제공하지만 비용이 증가할 위험이 있습니다. 가용성, 보안 및 고객 Trust 저하하지 않고 서비스 수명 주기 전반에 걸쳐 효율성 중심의 엔지니어링 문화를 채택합니다.
이러한 원리는 Salesforce의 Hyperforce 플랫폼 개발 및 운영을 안내하며, 다양한 환경에서 적응성, 보안 및 효율성을 유지합니다.
### 3.2 인프라 개념
Salesforce Platform 및 지원 서비스는 여러 Hyperforce 인스턴스로 구성된 Hyperforce Foundation에서 실행됩니다. 이러한 인스턴스는 지역 및 가용성에 대한 고객 기본 설정에 맞춰 다양한 국가에 전략적으로 배포됩니다. 엄격한 데이터 보존 및 운영 요구 사항을 충족하기 위해 하나 이상의 Hyperforce 인스턴스를 선택적으로 그룹화하고 운영 영역으로 지정할 수 있습니다. 각 인스턴스는 안전, 확장성, 현지 및 법적 표준 준수를 위해 정기적으로 업데이트됩니다.
Hyperforce 인스턴스는 특정 기능을 제공하는 서비스 클러스터인 여러 Hyperforce Functional Domain 인스턴스로 구성됩니다. 기본 기능 도메인은 보안, 인증, 로깅 및 모니터링과 같은 중요한 서비스를 제공하며, 이 모든 서비스는 다른 Hyperforce 서비스에 필수적입니다. 비즈니스 기능 도메인은 Sales Cloud, Service Cloud 등 다양한 Salesforce 제품을 지원하므로 제품 기능을 쉽게 사용할 수 있습니다.
기능 도메인 내의 서비스는 확장 가능하고 반복 가능한 서비스 전달 단위인 셀로 구성될 수 있습니다. Hyperforce 셀은 하나 이상의 Salesforce 조직(org)이 포함된, 전통적으로 "Salesforce 인스턴스"라고 불리는 것에 해당합니다. 셀은 확장 단위이자 강력한 영향 반경의 경계입니다. 슈퍼셀은 셀 간에 공유되는 서비스를 기반으로 여러 셀을 논리적으로 그룹화하여 더 넓은 영향 반경을 구분합니다. 기능 도메인에 여러 개의 슈퍼셀이 존재할 수 있습니다. 셀과 슈퍼셀을 통해 Hyperforce는 기능 도메인 내에서 수평적으로 확장하면서도 영향 반경의 크기를 강력하게 제어할 수 있습니다.
각 Hyperforce 인스턴스는 하나의 가용성 영역에 매핑되며, 이 개념은 모든 공용 클라우드 인프라에 적용되며 다른 모든 Hyperforce 인스턴스와 독립적으로 작동할 수 있습니다. Hyperforce 인스턴스의 모든 핵심 서비스 및 데이터가 최소 3개의 가용성 영역에 분산되고 복제되어 장애 허용성과 안정성을 달성합니다. 또한 비즈니스 연속성 및 규정 준수를 위해 데이터 백업이 다른 적절한 Hyperforce 인스턴스로 복사됩니다.
Hyperforce 인프라스트럭처는 새로운 Hyperforce 인스턴스와 셀이 생성되거나 새로 고쳐지면서 지속적으로 발전하고 있습니다. 고객은 Hyperforce의 물리적 세부사항 변경으로부터 보호받습니다. 외부에 노출된 모든 고객 엔드포인트는, 예를 들어 acme.my.salesforce.com과 같은 안정적이고 안전한 Salesforce My Domain을 통해 접근되며, 이 도메인은 트래픽을 현재 데이터 및 서비스 위치로 안전하게 라우팅합니다. 아웃바운드 트래픽(예: 메일, 웹 콜아웃)은 도메인 키 식별 메일(DKIM) 및 mTLS와 같은 보안 메커니즘을 사용하여 고객의 온 프레미스 인프라가 시간에 따라 변경될 수 있는 IP 주소와 같은 Salesforce 인프라의 물리적 세부 사항을 하드 코딩하지 않도록 하는 것이 가장 좋습니다.
### 3.3 네트워크 보안
Hyperforce Functional 도메인은 강력한 보안 조치로 설계되었습니다. 각 도메인은 주변에서 보호되고 분리되며, 보안을 강화하기 위해 도메인 내 서비스가 전용 계정으로 분리됩니다. 서비스 간의 통신은 서비스 메쉬 또는 유사한 프로토콜을 통해 안전하게 진행됩니다. 트래픽 관리는 ingress 및 egress 게이트웨이를 통해 이루어지며, 이 게이트웨이들은 모든 수신 및 발신 트래픽을 검사하고 라우팅하며, 서킷 브레이커나 속도 제한과 같은 제어를 적용합니다.
Hyperforce 기능 도메인 내의 서비스는 보안 그룹으로 그룹화되며, 에지 그룹에 속한 서비스만 공개 인터넷에 노출됩니다. 런타임 보안 정책은 서비스에 필요한 액세스 권한만 부여하도록 최소 권한 원칙을 준수하여 다양한 보안 그룹 간에 커뮤니케이션 규칙을 적용합니다.
각 지리적 영역에는 전송 계층 보안을 종료(TLS 종료)를 수행하고, 프로그래밍 가능한 웹 애플리케이션 방화벽 정책을 적용하여 위협에 선제적으로 대응하는 Hyperforce Edge 기능 도메인이 있습니다. 이를 통해 합법적인 트래픽만 Hyperforce 엔드포인트에 도달하고 안전하고 효율적인 고객 환경을 유지할 수 있습니다. 또한 Hyperforce 인스턴스 간의 내부 네트워크 연결은 엄격하게 제어되며, 개인 식별 정보를 포함하는 모든 로그 데이터는 GDPR 표준을 준수하기 위해 익명화됩니다.
### 3.4 Hyperforce 그리드 컨트롤 플레인
Hyperforce 그리드는 동일한 컨트롤 플레인을 공유하는 여러 Hyperforce 인스턴스를 구성하며, 이 컨트롤 플레인은 적절한 경우 민감한 워크로드를 분리하도록 설계되어 있습니다. 이를 통해 고객 데이터, 시스템 데이터, 플랫폼 메타데이터 및 모니터링 데이터가 그리드 간에 전혀 누출되지 않음을 보장합니다. 제어 플레인은 고객 대면 Hyperforce 인스턴스를 생성, 관리 및 모니터링하기 위한 필수 서비스를 호스팅하는 예비 Hyperforce 인스턴스로 구성됩니다.
모든 Hyperforce 서비스에 대한 서비스 및 인프라 코드는 소스 코드 관리, 지속적인 통합, 테스트 및 아티팩트 빌드 서비스를 활용하여 전용 컨트롤 플레인 기능 도메인 내에서 안전하게 개발됩니다. 생성된 코드는 위협 및 취약점을 스캔한 후 표준화된 디지털 서명 컨테이너에 패키지되고 이미지 레지스트리에 저장됩니다. 코드 배포는 Hyperforce 연속 배달 시스템의 승인된 파이프라인에서 처리하며 배포 권한은 승인된 팀 및 운영자에게 제한됩니다. 에어갭 컨트롤 플레인은 해당 환경에 필요한 추가 보안 조치를 처리합니다.
ID 및 액세스 관리(IAM) 서비스는 적시 승인을 적용하여 액세스 기간 및 작업을 제한하며, 감사 추적은 모든 활동을 모니터링하고 실시간 감지 시스템에 피드를 제공하여 의심스러운 활동을 식별하고 경고합니다.
### 3.5 Hyperforce 비용 관리
Salesforce가 자체 데이터 센터에서 퍼블릭 클라우드의 Hyperforce로 서비스를 이전할 때 예산 생성, 비용 시각화, 자원 최적화 전략을 개정하는 것이 중요합니다.
비용 관리 접근 방식은 단순히 비용 절감이 아니라 성장을 목표로 하는 제품과 안정적인 제품을 구분하는 전략적 프로세스입니다. 제품 가용성을 유지하는 소비 기반 가격 책정 및 마진을 계획하며, 우리의 핵심 가치인 신뢰와 일치하도록 합니다. 공개 클라우드 계정은 계층적으로 구성되고 특정 제품 및 경영진과 연결됩니다. 조직 메타데이터가 추가된 상세한 서비스 수준 리소스 태그를 통해 개별 마이크로서비스의 비용을 정확히 파악할 수 있습니다. Tableau 및 Slack과 같은 도구와 고급 예측 도구를 사용하여 경영진 및 팀에 비용, 예측, 예산 분석에 대한 실시간 데이터를 제공하여 향후 재무 계획에 대한 자신감을 부여합니다.
최적의 비용 관리를 위해 Salesforce는 컴퓨트 세이빙스 플랜, 스팟 용량, 온디맨드 용량 예약(ODCR)을 혼합하여 필요한 용량을 보장합니다. 해당 예약은 고급 시계열 예측 및 사용자 정의 대시보드를 통해 관리되므로 인력이 감독하고 의사 결정을 내릴 수 있습니다. 단위 트랜잭션 비용 절감(정의된 비즈니스 트랜잭션 양을 처리하는 비용)에 대한 달성 가능한 목표를 설정하는 것은 개선 사항을 촉진하는 효과적인 전략입니다. Hyperforce 단위 비용 탐색기 도구를 사용하면 팀이 단위 비용 추세를 분석하고 관리하고, 특정 서비스에 비용을 할당하고, 새로운 개선 기회를 파악할 수 있습니다. Salesforce Cloud Optimization Index, 또는 “COIN” 점수는 절약 기회의 동적 목록을 기준으로 서비스를 평가하여 서비스 팀이 최적의 자원 효율을 유지하도록 동기를 부여합니다.
지속 가능성에 대한 변함없는 노력의 일환으로, 우리는 탄소 발자국 감축을 적극적으로 추진하며, 수행된 작업량 대비 배출량을 측정하는 단위 Carbon to Serve(서비스 단위 탄소 배출량)를 줄이기 위한 구체적인 목표를 설정합니다.
## 4\. 엔터프라이즈급 신뢰
보안 및 가용성은 엔터프라이즈급 플랫폼의 핵심적인 요소이며 고객의 Trust 유지에 필수적입니다. Salesforce에서는 해당 컨트롤이 Salesforce Platform에 통합되며 공유 서비스 및 소프트웨어 프레임워크를 통해 자동으로 적용됩니다. 이 내장형 접근 방식을 사용하면 개별 시스템이 추가 작업 없이 혜택을 누릴 수 있습니다.
수천 개의 서비스 및 수백 개의 팀에서 이 광범위한 보안 및 가용성 컨트롤을 관리하고 지속적으로 개선하는 것은 상당한 과제입니다. 그러나 작은 세부 사항을 무시해도 보안 위반 또는 시스템 중단이 발생할 수 있으므로 매우 중요합니다.
### 4.1 보안
Hyperforce는 고급 보안 기능을 갖춘 서비스의 개발 및 배포를 지원하는 안전하고 규정을 준수하는 인프라 플랫폼입니다. 강력한 액세스 제어, 데이터 암호화, 보안 표준 준수를 제공합니다. Salesforce는 PCI/DSS, GDPR, HIPAA, FedRamp 등 40개가 넘는 보안 및 규정 준수 표준을 준수합니다.
핵심 보안 원칙에는 Zero Trust 아키텍처(ZTA)와 엔드 투 엔드 암호화가 포함되어 있으며, 모든 처리 단계에서 고객 데이터를 보호합니다. Salesforce는 보안 소프트웨어 개발 수명 주기에서 프로덕션 운영에 이르기까지 보안 표준 및 모범 사례뿐 아니라 잠재적인 위협을 완화하기 위한 강력한 응용 프로그램 수준 보안 관행을 준수합니다.
#### Zero Trust 아키텍처(ZTA)
ZTA 사이버 보안 패러다임은 모든 사용자, 장치 및 서비스 연결이 위치에 관계없이 인증, 권한 부여, 연속 유효성 검사를 수행하도록 합니다. ZTA 및 공개 키 인프라(PKI)는 현대 사이버 보안에 필수적이며, 경계 보안에 의존하지 않고 신뢰 경계와 안전한 통신을 설정합니다.
그러나 PKI 배포에서는 인증서 해지와 루트 인증 기관에 대한 거버넌스의 중요성이 종종 간과됩니다. Salesforce의 인증서 해지 구현은 강력하고 확장 가능하며, 종단간 PKI 보안을 지원합니다.
또한 Hyperforce는 서비스 간 상호 전송 계층 보안을 통해 ZTA를 적용하며, 역할 기반 액세스 제어를 사용하는 사용자에 대해 수명이 짧은 개인 키 및 적시 액세스를 사용합니다.
#### 종단간 암호화
Salesforce Platform은 완전 순방향 보안(Perfect Forward Secrecy, PFS) 암호화 스위트와 함께 TLS를 사용하여 전송 중인 데이터를 보호합니다. 이를 통해 사용자 장치와 Salesforce 서비스 간은 물론 Salesforce 인프라 도메인 내에서 네트워크를 이동하는 데이터도 안전하게 보호됩니다.
저장 데이터의 경우, Salesforce Platform은 하드웨어 보안 모듈에서 지원하는 키 관리 시스템을 사용합니다. 멀티테넌트 플랫폼에서 각 테넌트에게 고유한 암호화 키가 할당되어 테넌트 간 키의 교차 사용을 방지합니다.
통신 및 암호화의 보안은 키 또는 무작위 데이터를 생성하기 위해 엔트로피에 크게 의존합니다. 예측 가능한 키 생성으로 인한 암호화 프로토콜의 공격 취약성을 인식한 Salesforce Platform은 모든 키 생성 프로세스에 대해 여러 출처에서 엔트로피를 조달하여 이러한 위험을 완화합니다. 클라우드 서비스 공급자가 활성화하는 다양한 프로세서에서 사용할 수 있는 메모리 암호화 기능을 활용하여 콜드 부트 공격으로부터 보호를 강화합니다.
#### 보안 소프트웨어 개발 수명 주기
Salesforce는 FIPS(연방 정보 처리 표준)와 같은 여러 규정 준수 표준을 충족하도록 사용자 정의된 JDK를 보유하고 있어 개발자 및 운영자가 직접 규정 준수 작업을 수행할 필요가 없어 프로세스를 간소화합니다. 이 사용자 정의는 XML 외부 엔티티 삽입(XXE)과 같은 위험을 방지할 뿐만 아니라 필요에 따라 암호화 전략을 교환할 수 있는 Salesforce의 암호화 민첩성과 능력을 향상합니다. 이를 통해 내부적으로 개발되었거나 오픈 리포지토리에서 소싱된 비준수 코드를 완전한 재작성 없이 FIPS 호환 코드로 변환할 수 있으므로, 개발팀의 작업량을 줄이고 기본적으로 안전한 설계 원칙을 준수할 수 있습니다.
또한 Salesforce는 보호 조치를 SSL(Secure Software Development Lifecycle)에 통합하여 크로스 사이트 스크립팅(XSS), 요청 위조(CSRF), SQL 삽입과 같은 취약성을 해결하기 위한 프레임워크를 통합했습니다.
역할 기반 액세스 제어(RBAC)로 강화된 중앙 집중식 암호 관리 시스템이 구현되어 서비스 및 사용자 액세스를 모두 보호합니다. 또한 코드 스캔 도구는 소스 코드 관리 시스템을 통해 프로덕션 환경에서 비밀 정보가 실수로 노출되는 것을 방지하기 위해 사용됩니다.
#### Hyperforce 운영 보안 기능
피싱은 여전히 조직에 대한 상당한 위협으로 남아 있으며, Salesforce는 CISA(미국 사이버 보안 및 인프라 보안국) Zero Trust 원칙을 포함한 여러 업계 모범 사례에 따라 피싱 방지 다단계 인증(MFA)을 구현합니다. 프로덕션 액세스 권한이 있는 직원을 위한 하드웨어 지원 키와 클라우드 서비스 공급자 계정에 대한 액세스를 제어할 수 있는 보안 커널이 포함됩니다.
Salesforce는 강력한 보안 상태를 유지하기 위해 표준화된 보안 제어 기능과 Hyperforce 클라우드 네이티브 보안 서비스를 통합하여 향상된 가시성, 위협 감지, 정책 시행을 제공합니다. 실시간 모니터링, 경고, 보고를 위한 포괄적인 보안 정보 및 이벤트 관리 시스템이 구축되며, 이 시스템은 지속적으로 취약점을 식별, 평가, 수정할 수 있는 종합적인 취약성 관리 프로그램 및 클라우드 보안 조치 관리 도구를 통해 지원됩니다.
또한 웹 애플리케이션 방화벽은 다양한 공격으로부터 HTTP 트래픽을 필터링하고 모니터링하며, 방화벽, 침입 탐지 및 방지 시스템, 가상 사설망, 엔드포인트 탐지 및 대응 에이전트 등 다양한 네트워크 보안 도구를 활용하여 지속적인 모니터링 및 위협 감지를 제공합니다. 네트워크 세분화 및 마이크로 세분화가 구현되어 공격 표면을 최소화하고 잠재적인 침해를 차단합니다.
또한 Salesforce는 Hyperforce의 고유한 과제에 맞춰 강력한 사고 대응 계획을 개발 및 구현하였으며, 보안 사고를 식별, 차단 및 완화하기 위한 사전 정의된 절차를 포함하여 잠재적인 보안 위협에 대한 신속하고 효과적인 대응을 보장했습니다.
### 4.2 가용성
Salesforce는 고가용성이 요구되는 미션 크리티컬 고객 워크로드를 관리합니다. 고가용성 전략에는 서비스 소유권 모델, 사고 관리, 운영 검토와 같은 다양한 조직 패싯이 포함되어 있습니다. 전략의 핵심 기술 요소에는 모니터링 아키텍처, AI 기반 운영 자동화, 프로덕션 변경을 위한 자동화된 안전 메커니즘이 포함됩니다.
#### 가용성 아키텍처 표준
수천 개의 서비스에서 고가용성을 지속적으로 달성하기 위해 3단계 접근법을 통해 기술 위험을 대규모로 관리합니다.
먼저, 가용성 아키텍처 표준이 수립되며, 이 표준은 다음과 같은 모범 사례를 정의합니다:
- **자동 페일오버를 통한 중복성**. 대규모 클라우드 기반 시스템에서 발생하는 지속적인 오류를 처리하기 위해 Salesforce는 높은 수준의 중복성, 완전 자동화된 오류 감지, 전체 및 부분 오류 모두에 대한 원활한 자동 복구를 사용하여 서비스를 구축합니다.
- **폭발 반경 제한**. 실패가 발생할 _수도_ 있으므로, 팀은 실패의 영향을 제한하기 위해 모든 서비스를 의도적으로 최대 폭발 반경을 설정하여 설계합니다. 가장 고전적이고 눈에 띄는 예는 Hyperforce Cell(fka Pod)입니다.
- **실패를 격리**. 실패가 시스템의 독립적인 단위 간에 확산되고 복합되는 것을 방지합니다. 서비스 간 내결함성이 있는 API 호출은 분산 시스템 전반에서 실패의 연쇄를 방지하는 핵심 패턴입니다. 이 과정에서 팀은 격리와 중복성의 균형을 주의 깊게 조정합니다.
- **자동 확장**. 성능 저하 없이 예측할 수 없는 부하를 처리하기 위해, CPU, 메모리 또는 대기열 깊이와 같은 자원의 포화 지점에 의해 트리거되어 느리고 오류가 발생할 수 있는 인적 운영자에 의존하지 않고, 빠르게 확장하고 천천히 축소할 수 있도록 자동으로 확장합니다.
- **빠른 롤백**. 모든 서비스에 대해 롤백 목표를 분 단위로 설정하고, 사전 프로덕션 환경에서 롤포워드, 롤백, 그리고 다시 롤포워드를 기본 작업으로 하여 롤백을 자동으로 테스트합니다. 팀은 피처 플래그를 광범위하게 사용하여 더욱 빠르고 세분화된 긴급 전환 및 롤아웃을 수행합니다.
- **API 호출을 수신하는 모든 서비스 보호**. 로드 셰딩, 테넌트별 공정 한도, 웹 애플리케이션 방화벽, 정교한 7계층 보호가 인터넷에 직접 노출된 가장 외곽의 서비스부터 상위 서비스의 버그로 인해 실수로 공격받을 수 있는 팀의 가장 깊은 내부 서비스까지 시스템의 모든 수준에 배포됩니다.
- **종속성 완화**. 서비스 간 종속성은 가능하면 느슨하게 설계되어, 서비스가 서로 독립적으로 실패하거나 성공할 수 있도록 합니다. 캐싱은 여기서 가장 일반적인 패턴 중 하나로, 다운스트림 종속성에서 가져온 오래된 결과도 서비스가 계속 동작하는 데 충분한 경우가 많습니다.
- **비동기식 통신 선호**. 서비스 간의 비동기식, 브로커 기반 통신은 해당 서비스들을 서로 분리하고, 서비스 간의 부하 급증을 완화합니다.
- **API 호출의 내결함성 확보**. 일부 실패 및 일시적 네트워크 문제를 허용하기 위해 타임아웃과 마감 시간, 회로 차단, 백오프를 포함한 재시도 등 여러 패턴을 사용합니다. 가능한 경우 자원 소비와 차단을 줄이기 위해 비차단 호출을 선호합니다. 스키마 수준의 린팅과 통합 테스트를 통해 이전 및 이후 버전과의 호환성을 빌드 시점에 보장합니다.
- **서비스 할당량 및 제약 사항 관리** 팀은 IP 주소, 디스크 IOps 또는 지정된 Kubernetes 클러스터의 용량과 같은 서비스 플리트 전반에 걸쳐 할당량 및 제약을 설정합니다. 팀은 임박한 한계가 런타임 중 시스템에 영향을 주지 않도록 해당 할당량 및 제약 사항의 사용을 중앙에서 집계, 모니터링 및 경고합니다.
두 번째로, 다중 계층 검사 모델은 서비스가 이러한 표준을 충족하는지 보장합니다. 여기에는 자동화된 카오스 테스트, 안티 패턴 스캔 및 린팅, 그리고 자동화로 해결되지 않는 문제를 파악하기 위한 고위 설계자와의 아키텍처 검토가 포함됩니다.
세 번째로, 솔루션이 Hyperforce에 통합되어 해당 표준을 쉽게 준수할 수 있습니다. 여기에는 자동 텔레메트리 수집, 기본 예비 기능, 페일오버 메커니즘, 로드 분실 및 DDoS 방어와 같은 내장형 보호 기능이 포함되며, 개별 서비스에 대해 모두 기본적으로 활성화됩니다.
#### 모니터링 및 관측성
Salesforce는 메트릭, 로그, 이벤트 및 추적을 비롯한 대용량의 원격 데이터를 처리하며, 기존 모니터링 솔루션은 항상 효율적으로 관리할 수 없습니다.
이를 해결하기 위해 Salesforce는 소프트웨어 개발 수명 주기, 운영, 지원 기능과 통합되는 포괄적인 관찰 가능성 시스템을 개발했습니다. 이 시스템은 엔지니어링 및 고객 지원 팀을 위한 통합 환경을 제공하며, 확장성 요구를 충족하고 타사 소프트웨어의 라이선스 비용을 절감합니다.
OpenTSDB 및 HBase에 구축된 Salesforce의 메트릭 인프라는 시계열 데이터의 대규모 수집, 저장, 실시간 쿼리를 지원합니다. 비실시간 사용 사례는 Trino 및 Iceberg를 활용하여 분당 20억 개가 넘는 메트릭을 처리하여 CPU 활용도, 메모리 사용량, 요청 비율에 대한 인사이트를 제공합니다. 로그 관리를 위해 Salesforce는 강력한 색인화 및 검색 기능을 제공하는 Splunk를 사용합니다. Apache Druid는 사용자 상호 작용 및 시스템 이벤트를 이해하는 데 중요한 대규모 이벤트 데이터의 실시간 수집 및 분석을 지원합니다. 마이크로서비스 전반에서 배포된 추적은 OpenTelemetry 및 ElasticSearch를 사용하여 관리되므로 특정 대기 시간 및 오류 지점을 식별하는 데 도움이 됩니다.
또한 Salesforce는 데이터 수집 및 텔레메트리 저장소를 위한 기술 스택과 통합되는 애플리케이션 성능 모니터링(APM) 인프라를 구현했습니다. 이 응용 프로그램 자동 계측은 데이터 수집을 간소화하고 서비스 전반에서 일관된 텔레메트리를 보장합니다. APM의 통합 대시보드는 다양한 데이터 유형을 연관시켜 엔지니어가 성능을 모니터링하고, 문제를 진단하고, 통합형 인터페이스를 통해 시스템을 최적화할 수 있는 능력을 강화합니다.
관찰 가능성 도구를 표준화함으로써 Salesforce는 분산 추적을 사용하여 서비스 전반에서 서로 다른 텔레메트리 유형을 연결합니다. 이를 통해 전체 서비스 에코시스템을 시각화하고 요청을 세분화하여 추적하는 포괄적인 서비스 종속성 그래프가 생성됩니다. 이 기능은 문제를 파악하고, 지체 지점을 식별하고, 변칙 감지, 예측 분석, 자동 수정과 같은 AI 중심 기능을 지원하는 데 매우 중요합니다.
#### AIOps 에이전트
사고 해결 시간을 늘리기 위해 AI 운영(AIOps) 에이전트를 개발하여 소수의 사례에만 중재하여 사람을 대신하여 사고를 자동으로 감지, 분류, 수정합니다. AIOps 에이전트는 복잡한 반응형 에이전트 기반 시스템을 쉽게 개발하도록 설계된 확장 가능한 다중 에이전트 반응형 툴킷입니다. 이는 매우 모듈식이며 다양한 도구를 사용하여 기능을 확장할 수 있습니다. 에이전트 수가 증가하면서 효율적으로 확장하도록 설계되었습니다. 주요 기능에는 에이전트가 환경의 변화에 동적으로 반응할 수 있는 반응형 아키텍처, 에이전트 기능을 확장하기 위한 도구를 쉽게 통합할 수 있는 도구 향상, 다양한 계획 모듈을 연결하여 에이전트의 계획 전략을 사용자 정의할 수 있는 플러그블 계획 모듈이 포함됩니다.
작성 시점 기준으로, 핵심 CRM 제품 사고의 91%에 대해 당사 AI 연구팀이 개발한 공개 소스 라이브러리인 Merlion의 고급 기계 학습 모델을 사용하여 신속한 사전 예방적 감지가 이루어졌습니다. Merlion은 격리 포레스트, 통계, 랜덤 포레스트, 장기간 단기 메모리(LSTM) 신경 네트워크와 같은 기계 학습 모델의 집합으로, 시스템에서 생성된 광범위한 텔레메트리 데이터를 거의 실시간으로 처리합니다.
작성 시점을 기준으로 사고의 79%가 에이전트의 작업에 의해 자동으로 해결됩니다. AIOps 에이전트는 로그, 프로필, 진단, 시계열, 서비스별 아티팩트와 같은 데이터 벡터를 처리하고 정렬하여 수정 조치를 권장할 수 있습니다. AIOps 에이전트 컨트롤러 및 플래너가 프로덕션에서 작업을 수행할 특정 기술을 가진 에이전트를 선택합니다.
인적 참여가 필요한 나머지 사고의 경우, AIOps 에이전트가 해결되지 않은 문제를 적절한 서비스 팀에 효율적으로 분류하여 전달합니다. 문제 레코드, 사고, JFR, 로그와 같은 운영 데이터 집합에 대해 교육을 받고 필요한 전문 지식을 보유한 팀에게 전달되는 사내 정밀 조정 모델인 XGenOps를 사용하여 각 사고의 특성과 컨텍스트를 지능적으로 이해하여 이를 수행합니다. 이로 인해 주당 2,800시간 이상의 엔지니어링 시간이 절약되어, 엔지니어가 해결되지 않은 문제를 분류할 필요가 줄어듭니다.
#### 연속 배포
매주 수행되는 250,000건의 프로덕션 변경으로 인해 중단될 위험을 관리하기 위해 완전 자동화된 배포 시스템을 사용하여 안전한 변경 관행을 적용하여 인적 오류를 방지합니다. 기본 제공 시스템은 확장하거나 사용자 정의할 수 없었으므로 보다 맞춤형 솔루션을 개발할 수 있었습니다.
사용자 정의 연속 배포 시스템은 업계 표준 블루/그린 배포 전략에 따라 여러 계층을 통해 안전을 보장합니다.
- 각 변경 사항에 대한 필수 테스트 증거입니다.
- 변경 사항에 대한 초기 카나리 테스트를 실시합니다.
- 제한된 영향 범위 내에서 단계적으로 배포합니다.
- 배포 단계 사이에 소킹(안정성 확인 대기)과 상태 점검을 실시합니다.
- 기존 중재 및 사고와의 충돌 완화
또한 연속 통합 시스템은 AI가 선택한 수백만 개의 테스트를 실행하도록 최적화되어 회귀 위험을 최소화하면서 신속하게 릴리스할 수 있습니다.
## 5\. 메타데이터 프레임워크
Salesforce Platform의 핵심 아키텍처 원리는 메타데이터 기반 디자인입니다. Salesforce 엔지니어는 멀티테넌트 서비스 및 데이터 저장소를 만듭니다. 플랫폼의 각 애플리케이션은 기본적으로 개별 고객이 이러한 멀티테넌트 서비스를 활용하는 방식을 맞춤화하는 메타데이터 모음입니다. 따라서 Salesforce Platform에 대한 일반적인 마케팅 구문은 "메타데이터를 통해 모든 항목에 액세스할 수 있음"입니다.
플랫폼은 체계적이고 엄격하게 정의된 메타데이터를 강조합니다. 이 메타데이터는 고객 환경과 기본 Salesforce 인프라 및 구현 간의 추상 계층 역할을 합니다. 이 접근 방식은 애플리케이션의 유용성과 품질을 모두 향상합니다. 예를 들어, 고객은 SQL 스키마 정의 및 쿼리를 사용하는 대신 Salesforce 개체(sObject) API를 통해 엔티티, 필드, 레코드와 같은 구조화된 메타데이터와 상호 작용합니다. 이 설계를 통해 플랫폼은 애플리케이션을 다시 작성할 필요 없이 새 데이터 저장소 기술을 통합하거나 기존 데이터 저장소 기술을 수정할 수 있으므로 지속적인 개발 모범 사례를 지원할 수 있습니다.
Salesforce Platform 아키텍처는 앱 구축 및 확장에서 4개의 핵심 페르소나를 지원하는 "계층화된 확장" 접근 방식을 제공합니다.
- **Salesforce 엔지니어링:** 팀은 광범위한 릴리스 프로세스를 통해 모든 서비스 및 런타임에 배포되는 Sales Cloud 및 Service Cloud와 같은 기본 앱을 개발합니다. 이러한 앱은 라이센스 및 프로비저닝 메커니즘을 통해 모든 테넌트에서 사용할 수 있습니다.
- **외부 파트너**: 독립 소프트웨어 공급업체(ISV) 및 기타 파트너는 Salesforce에서 만든 메타데이터를 확장하여 Sales Cloud 데이터 모델에 대한 스키마 확장 또는 Service Cloud 사례 레코드에 대한 추가 확인 규칙과 같은 추가 가치 솔루션을 구축할 수 있습니다. 여러 고객에게 배포할 수 있도록 이러한 솔루션을 패키징할 수 있습니다.
- **조직별 IT 관리자 및 개발자**: ISV가 제공하는 범위를 넘어 애플리케이션을 맞춤화하여, 독점적이거나 지역별 프로세스와 같은 고유한 비즈니스 문제에 부합하는 솔루션을 제공할 수 있습니다.
- **개별 최종 사용자**: 최종 사용자는 목록 보기에서 열 순서 변경 또는 기본 탭 설정 등 앱 환경을 개인 설정할 수 있습니다.
각 페르소나는 하위 계층이 상위 계층의 페르소나 변경에 의존하지 않도록 보장하고, 강력한 버전 관리와 역호환성 계약을 유지함으로써 동일한 애플리케이션을 독립적으로 개선할 수 있습니다.
‘레코드 저장 실행 순서’ 기능은 네 계층의 비즈니스 논리가 예측 가능한 순서로 적용되도록 하여, ‘계층형 확장’ 개념을 잘 드러냅니다. 이렇게 하면 조직 관리자 또는 IT 개발자가 결정한 보다 구체적인 상위 계층 비즈니스 논리가 Salesforce 또는 외부 파트너가 제공할 수 있는 레코드 저장 시 하위 계층 논리를 적절하게 재정의할 수 있습니다.
또한 플랫폼의 메타데이터 프레임워크는 “Core” 런타임과 관계형 데이터베이스에 연결된 멀티테넌시가 내장된 독점 객체-관계 매퍼(ORM)를 활용합니다. 이 핵심 런타임은 공유 메모리 상태, 참조 무결성 검증, 트랜잭션 커밋을 활성화하므로 앱 안정성에 우선 순위를 지정하고 앱 배포의 신뢰성을 향상합니다. 애플리케이션 복잡성의 증가하는 규모를 지원하기 위해 아키텍처가 지속적으로 발전하고 있습니다. 예를 들어 2025년 10월부터 Salesforce에서 정의한 엔티티가 85,000개가 넘고 고객이 정의한 사용자 정의 엔티티가 300만 개가 넘습니다.
역사적으로 Core 런타임이 플랫폼 및 앱 기능의 대부분을 호스팅해왔습니다. 이제 Salesforce Platform의 현재 아키텍처에 수백 개의 독립 메타데이터 기반 서비스가 포함됩니다. Core 런타임은 애플리케이션 메타데이터의 단일 기록 시스템으로 유지되며, 메타데이터 관리를 위해 모놀리식 아키텍처의 고유한 이점을 활용합니다. 관련 메타데이터가 독립 서비스의 로컬 캐시에 동기화되어 애플리케이션 런타임을 위한 다양한 확장 가능한 서비스를 구동합니다.
## 6\. 데이터
데이터는 조직의 필수 자산이며, Hyperforce는 Salesforce에서 데이터 저장을 위한 신뢰할 수 있는 기반을 제공합니다. 주요 과제는 응용 프로그램의 활용도를 최적화하는 방식으로 데이터를 저장하는 것입니다. Salesforce Platform은 다양한 스토리지 및 액세스 요구 사항을 수용하여 데이터 계층을 혁신했습니다. Salesforce Platform은 다양한 요구를 충족하기 위해 비용, 읽기/쓰기 속도, 저장 용량, 데이터 유형 간의 균형을 효과적으로 맞춥니다.
AI와 분석이 점점 더 엔터프라이즈 애플리케이션을 형성함에 따라 데이터가 중추적인 요소로 부상했습니다. 데이터의 중요성은 AI와 분석이 학습, 분석, 의사결정, 프로세스 자동화를 가능하게 한다는 점에 있습니다.
데이터는 SOR(System of Record) 데이터베이스에서 발생하여 비즈니스의 운영 요구 사항을 충족합니다. 그 후 데이터는 여러 단계를 거쳐 빅 데이터 플랫폼으로 전환되며, 이는 AI 및 분석 기반 애플리케이션을 구동하는 데 필수적입니다.
트랜잭션 정보에서 분석 인사이트까지 데이터를 효과적으로 관리하는 것은 가치를 추출하고 정교한 응용 프로그램을 지원하는 데 매우 중요합니다. Salesforce 데이터베이스(SalesforceDB)는 SOR 데이터를 관리하기 위한 주요 트랜잭션 데이터베이스로서 눈에 띄지만 Data 360은 AI 및 분석 기능을 향상하는 강력한 빅 데이터 플랫폼으로 사용됩니다.
### 6.1 트랜잭션 데이터베이스
트랜잭션 데이터 및 메타데이터는 Salesforce Platform에 필요합니다. SalesforceDB는 주요 공급자의 다른 클라우드 데이터베이스와 유사하지만 Salesforce 아키텍처에 대한 사용자 정의 기능을 제공하는 Salesforce 멀티테넌트 워크로드를 위해 특별히 설계된 최신 클라우드 네이티브 관계형 데이터베이스입니다. SalesforceDB는 PostgreSQL을 확장하며, 컴퓨팅과 저장소를 분리하고, Kubernetes와 클라우드 저장소를 활용하여 암호화 및 샌드박스와 같은 테넌트별 기능을 강화합니다.
SalesforceDB는 모든 트랜잭션 CRM 데이터(월별 트랜잭션 수가 1.1조 개 이상)와 Data 360 및 관련 서비스의 메타데이터를 처리합니다. 주요 목표는 내구성, 가용성, 성능 및 보안을 통해 Trust 확보하고, 대규모 고객을 위해 확장하고, 간소화되고 신뢰할 수 있는 클라우드 작업을 수행하는 것입니다. 이러한 목표는 컴퓨팅과 저장소 계층을 분리하는 설계, 불변의 분산형 스토리지 시스템, 그리고 로그 구조적 병합 트리(LSM) 데이터 액세스를 통해 달성됩니다. 이로써 저장소 데이터의 테넌트별 암호화와 효율적인 샌드박스 및 마이그레이션과 같은 고급 기능을 제공할 수 있습니다.
#### 아키텍처 개요
SalesforceDB 서비스 아키텍처는 세 개의 가용성 영역 전반에 걸쳐 운영되며, 노드 또는 전체 영역 손실 시에도 시스템의 지속적인 운영을 보장하기 위해 컴퓨팅과 저장소가 각 영역에 복제됩니다. 모든 서비스가 Kubernetes에서 실행되어 자동화된 오류 복구 및 서비스 배포를 활성화합니다.
높은 수준의 내구성 및 가용성을 제공하기 위해 SalesforceDB의 최종 레코드 시스템은 AWS의 S3와 같은 클라우드 스토리지입니다. 보관 및 지역 간 복제와 같은 작업은 이 클라우드 저장소 수준에서 관리됩니다. 저장소 객체는 변경 불가능하여 고가용성을 위한 데이터 분산 및 복제를 향상시킵니다.
SalesforceDB는 클라우드 저장소의 대기 시간이 많으므로 저장소 캐시를 사용하여 데이터에 액세스합니다. 이 캐시들은 노드 클러스터 내에서 저장소 객체의 임시 사본을 유지하는 분산 저장 시스템으로, 데이터베이스가 필요로 하는 복제 및 내구성을 보장합니다. 별도의 캐시는 트랜잭션 로그 저장소 및 데이터 파일 저장소에 사용됩니다.
SQL 계산 계층은 기본 데이터베이스 클러스터와 3개의 다른 가용성 영역에 있는 2개의 대기 클러스터로 구성됩니다. 기본 클러스터는 모든 데이터베이스 수정 사항을 처리하고, 대기 클러스터는 쿼리 작업만 처리합니다.
#### LSM 저장소 및 액세스
SalesforceDB는 변경 사항이 처음에 트랜잭션 로그에 기록되고 메모리에 누적되는 로그 구조화된 병합 트리(LSM) 데이터 구조를 활용합니다. 커밋된 변경 사항은 키 정렬 데이터 파일에 집합적으로 기록되며, 이러한 파일들은 저장소 효율성을 최적화하기 위해 주기적으로 병합 및 압축됩니다.
이 구조는 저장소를 직접 업데이트하는 데이터베이스에서 일반적인 동시 업데이트 문제를 효과적으로 해결합니다. SalesforceDB는 LSM 접근 방식을 사용하여 변경할 수 없는 저장소와 같은 중요한 기능을 지원하므로 Salesforce 워크로드를 관리하기 위한 강력한 솔루션입니다.
#### 변경할 수 없는 저장소
저장소의 데이터는 변경할 수 없으며 데이터 파일이 작성되고 표시되면 변경되지 않습니다. 트랜잭션 로그는 추가 전용으로 데이터 액세스 패턴을 간소화하고 신뢰성을 향상합니다. 이 구조는 조정되지 않은 읽기를 지원하고 백업을 간소화하며 확장성을 높이고 스토리지 가상화를 용이하게 하여 클라우드 환경에 적합합니다.
#### 가용성 및 내구성
SalesforceDB의 트랜잭션은 여러 가용성 영역에서 커밋되므로 노드 또는 영역이 실패해도 데이터가 손실되지 않습니다. 실패가 발생하면 진행 중인 트랜잭션은 중단되고, 커밋된 트랜잭션은 성공적으로 복구됩니다. 실패로 인해 커밋된 데이터가 손실되지 않으므로 새 노드로 페일오버가 자동화됩니다.
클러스터 관리 소프트웨어는 쿼럼을 모니터링하고 소유권 이전을 관리하여 페일오버를 자동으로 처리합니다. 이 프로세스는 비상 상황뿐 아니라 정기적인 패치 시에도 사용되어, 지속적인 운영을 통해 시스템의 신뢰성을 높입니다. 짧은 데이터베이스 재시작은 일반적으로 최종 사용자에게 인식되지 않으므로 원활한 사용자 환경을 유지합니다.
Salesforce는 매년 3회의 주요 스키마 업데이트와 매주 소규모 스키마 업데이트를 수행합니다. SalesforceDB는 고객에게 영향을 미치지 않고 이러한 업데이트를 수행할 수 있는 무중단 스키마 작업을 제공합니다.
#### 시스템 오브 레코드
트랜잭션 데이터베이스는 여러 가용성 영역에서 캐시되고 클라우드에 저장되는 고객 데이터의 기본 리포지토리로 사용됩니다. 각 데이터 블록은 저장소 계층 및 데이터베이스 엔진 모두에서 확인되는 변경할 수 없는 체크섬으로 보호됩니다. 데이터베이스는 이력 추적을 수행하여 순서가 맞지 않는 변경 사항이나 누락된 버전을 감지하고, 인덱스와 기본 테이블 간의 지속적인 일관성 검사를 실행합니다.
랜섬웨어 방지를 위해 데이터베이스는 전체 및 증분 트랜잭션 로그 백업을 모두 포함하여 다른 계정 아래에 있는 별도의 저장소에 보관됩니다. 이러한 백업은 복원 테스트 프로세스를 통해 정기적으로 확인됩니다. 또한 클라우드 인프라는 사전 구성되었지만 활성화되지 않았으므로 필요에 따라 데이터 복원 요청을 관리할 수 있습니다.
#### 배율
각 Salesforce 조직은 SalesforceDB 서비스를 포함한 Hyperforce 셀에 위치합니다. 이 설정은 Hyperforce 아키텍처를 통해 새로운 셀을 생성하여 빠른 글로벌 확장을 허용하며, 트래픽을 셀 간에 쉽게 이동하여 로드를 관리할 수 있습니다. 그러나 고객의 작업 부하와 비즈니스 요구가 증가함에 따라 단일 데이터베이스 인스턴스의 용량이 부족할 수 있습니다.
이를 해결하기 위해 SalesforceDB는 저장소와 계산 계층 모두에 가로 크기 조정 아키텍처를 적용합니다. 클라우드 저장소는 가상적으로 무제한이며, 캐시 레이어는 수요에 맞춰 자동으로 확장됩니다. 또한 데이터베이스 컴퓨트 노드를 추가하여 컴퓨트 계층을 확장할 수 있으며, 이는 별도의 조정 없이도 공유되는 변경할 수 없는 저장소에서 효율적으로 읽을 수 있습니다. 이 접근 방식을 사용하면 SalesforceDB가 특수 네트워킹 또는 하드웨어 없이 상위 상용 클러스터 데이터베이스 아키텍처와 일치하거나 초과하는 확장성을 달성할 수 있습니다.
#### 다중 테넌시
Salesforce는 단일 데이터베이스에서 여러 테넌트를 호스팅하는 멀티테넌트 응용 프로그램입니다. 각 테이블 레코드에는 소유권을 구별하기 위한 테넌트 ID가 포함되며, Salesforce의 응용 프로그램 계층에 추가된 자동 쿼리 조건자를 통해 테넌트 격리가 유지됩니다.
SalesforceDB는 이 모델에 맞게 조정되어 테넌트별 DDL, 메타데이터, 런타임 프로세스를 지원하여 신뢰성, 성능, 보안을 향상합니다. 행별 테넌트 모델의 낮은 오버헤드를 데이터베이스별 테넌트 스키마의 효율성과 결합합니다.
SalesforceDB에서 테넌트 ID는 LSM 데이터 구조에서 테넌트별로 데이터를 클러스터링하여 액세스 효율성을 향상하는 다중 테넌트 테이블의 기본 키의 일부입니다. 이 설정은 효율적인 데이터 액세스 및 테넌트별 암호화뿐만 아니라 테넌트 데이터 관리를 간소화합니다. 축소 메타데이터 구조로 인해 메타데이터 조정이 최소화되어 테넌트를 쉽게 복사하거나 이동할 수 있습니다.
### 6.2 Data 360 및 Data Lake
AI, 분석 및 데이터 기능은 현대 기업에서 매우 중요합니다. 엔터프라이즈는 이미 Snowflake, Databricks, BigQuery, Redshift와 같은 성숙한 빅 데이터 플랫폼에 투자하고 있습니다. 그러나 많은 고객들은 데이터 사일로, AI 처리 부족, 오래된 데이터 또는 기존 비즈니스 프로세스 내의 비활성으로 인해 데이터에서 비즈니스 가치를 도출하지 못하고 있습니다.
데이터 사일로, AI 처리 부족, 오래된 데이터 또는 기존 비즈니스 프로세스 내의 조치 부재로 인해 데이터에서 비즈니스 가치를 도출하지 못하고 있습니다. 고객 참여를 한눈에 파악하여 고객 데이터를 하나의 신뢰할 수 있는 단일 소스로 중앙 집중화하는 것은 비즈니스에 매우 중요하며 데이터 조각화와 시스템 관리의 복잡성으로 인해 어려운 작업입니다. Salesforce는 생성형 AI 및 기계 학습 인사이트에 의해 구동되는 데이터, AI, CRM을 선순환 구조로 통합하여 고객을 포괄적으로 파악할 수 있도록 지원합니다.
SalesforceDB는 구조화된 데이터의 고성능 트랜잭션 워크로드에 최적화되어 있으며, AI 및 분석 워크로드는 다양한 소스에서 대량의 비정형 데이터를 처리하고 복잡한 쿼리 및 배치 처리를 수행해야 합니다. 이러한 요구 사항을 해결하기 위해 Salesforce는 Data 360이라는 플랫폼을 개발했습니다. 이 플랫폼은 데이터 사일로를 해소하고, 데이터를 안전하고 효율적으로 통합·저장·처리하며, AI 및 분석 수요를 지원하고, 실시간 엔터프라이즈 운영을 가능하게 하도록 설계되었습니다.
Hyperforce 위에 구축된 Data 360은 AI 및 분석을 위한 기본 플랫폼으로, 다음과 같은 기능을 제공합니다.
- 연결을 통한 데이터 사일로 통합을 위한 통합 인프라와 노코드 플랫폼
- 실시간 및 거의 실시간 데이터 수집
- 제로 카피 페더레이션
- 처리할 데이터 정리, 준비, 형성
- 구조화된 데이터 및 비정형 데이터에 대한 통합 쿼리 서비스
- 인사이트 생성을 위한 분석 및 AI/ML 모델 개발
- 데이터 트리거 작업 및 활성화
- 생성형 AI 검색 증강 생성(RAG) 지원
- 포괄적인 정책 기반 거버넌스
Data 360 아키텍처는 아래에 설명된 여러 구성 요소와 기능을 지원합니다.
#### 연결, 변환 및 조화
Data 360은 배치, 거의 실시간, 실시간 데이터 처리를 위해 다양한 구조화된 데이터 및 비정형 데이터 소스에서 효율적인 수집 파이프라인을 지원합니다. Data 360의 수집 서비스는 대기 시간이 낮고 B2C 규모에 적합한 ELT(Extract-Load-Transform) 패턴에 따라 작동합니다. 실시간 수집에는 API 및 대화형 스트림이 포함되며, 거의 실시간 소스에는 자세한 제품 사용량이 포함됩니다. 수집된 데이터는 효과적인 쿼리, 분석, AI 응용 프로그램을 위해 준비, 조화(예: 다양한 연락처 유형을 통합) 및 모델링을 위해 광범위하게 변환됩니다. 플랫폼에는 즉시 사용할 수 있는 광범위한 조화된 데이터 모델도 포함되어 있습니다.
Data 360은 Sales Cloud, Service Cloud, Marketing Cloud, Commerce Cloud와 같은 Salesforce 응용 프로그램과 원활하게 통합됩니다. 또한 외부 데이터 소스에 대한 수백 개의 커넥터를 제공하여 원활한 데이터 통합을 보장합니다.
#### 빅 데이터용 레이크하우스
Data 360은 배치, 스트리밍, 실시간 시나리오에 대한 대규모 데이터 관리 및 처리를 처리하도록 설계된 Iceberg/Parquet 기반의 네이티브 레이크하우스 아키텍처를 제공합니다. 이 아키텍처는 AI 및 분석 응용 프로그램에 매우 중요한 구조화된 데이터와 비정형 데이터를 모두 지원합니다.
Azure, AWS 또는 GCP와 같은 클라우드 기반 데이터 레이크에서 기본 저장소는 일반적으로 폴더 및 계층으로 구성된 파일입니다. 이 레이크하우스는 쿼리 및 AI/ML 처리와 같은 작업을 쉽게 수행할 수 있도록 더 높은 수준의 구조적 및 의미적 추상화를 도입하여 이 구조를 강화합니다. 주요 추상화는 구조와 의미를 정의하는 메타데이터가 포함된 테이블이며, Iceberg 또는 Delta Lake와 같은 오픈 소스 프로젝트의 요소를 통합하고, Data 360에서 추가 의미론 레이어를 더합니다.
레이크하우스의 추상화 레이어:
- **Parquet 파일 추상화**: 기본적으로 저장소는 Parquet 형식의 데이터 레이크 파일(예: AWS의 S3 또는 Azure의 Blob)으로 구성됩니다. 소스 테이블의 데이터는 여러 파티션에서 Parquet 파일로 저장되며, 각 테이블은 해당 파일의 모음입니다.
- **Iceberg 테이블 추상화**: 테이블은 폴더로 구성되며, 데이터 파티션은 해당 폴더 내에 Parquet 파일로 저장됩니다. 파티션을 수정하면 새 Parquet 파일이 스냅샷으로 표시됩니다. Iceberg는 스키마, 파티션 사양, 스냅샷을 자세히 설명하는 각 테이블의 메타데이터 파일을 관리합니다.
- **Salesforce Cloud 테이블 요약**: 이 레이어는 Iceberg를 기반으로 하여, 대상 파일 크기 및 압축과 같은 설정과 함께 열 이름과 관계 등 의미론적 메타데이터를 추가합니다. Snowflake 및 Databricks와 같은 다양한 플랫폼에서 테이블을 추상화하여 기본 스토리지 플랫폼 세부 사항으로부터 Data 360 응용 프로그램을 보호합니다.
- **레이크 액세스 라이브러리**: 이 라이브러리는 Salesforce Cloud 테이블에 대한 액세스를 제공하며, 데이터와 메타데이터를 모두 처리하고 애플리케이션 개발자를 위해 기본 저장 메커니즘을 추상화합니다.
- **Big Data 서비스 추상화**: 여기에는 쿼리용 Trino 및 Hyper와 같은 처리 프레임워크와 클라우드 테이블 플랫폼 전반에서 처리하는 Spark가 포함됩니다.
Data 360 레이크하우스는 B2C 규모, 실시간 수집, 처리, 스키마 적용 및 진화, 스냅샷을 지원하며 개방형 저장소 형식을 사용합니다.
#### 실시간 저장소
실시간 분석 및 에이전트 애플리케이션을 지원하기 위해 Data 360은 레이크하우스의 빅데이터 저장소를 보완하기 위해 추가적인 저지연 저장소(LLS)를 도입합니다. Data 360의 실시간 처리 계층은 메모리 내에서 실시간 신호 및 참여 데이터를 분석합니다. 메모리 기반 저장 용량이 제한되므로 모든 데이터를 한 번에 처리할 수 없습니다. Data 360은 이러한 제한 사항을 제거하기 위해 이 LLS를 추가하여 확장 가능한 실시간 처리를 활성화합니다.
Low Latency Store는 레이크하우스의 페타바이트 규모 NVMe(SSD) 저장소 계층입니다. 이는 견고한 캐시이며 대부분의 데이터는 결국 레이크하우스로 이동하여 장기간 유지됩니다. 실시간 레이어의 세션 내 데이터는 후속 빠른 액세스를 위해 저 대기 시간 저장소로 플러시할 수 있습니다. 예를 들어, 에이전트 대화에서는 최근 메시지를 메모리 내에서 처리하고, 이전 메시지는 LLS로 플러시할 수 있습니다. 이전 대화가 필요한 경우 LLS에서 몇 밀리초 이내에 액세스할 수 있습니다. NVMe 기반 저장소를 사용하면 대량의 데이터를 밀리초 대기 시간으로 저장하고 액세스할 수 있습니다. 데이터는 장기 보존을 위해 레이크하우스로 이동할 수 있습니다.
또한 실시간 처리 또는 실시간 경험 증강에 필요한 레이크하우스의 데이터가 검색되어 LLS에 유지됩니다. 예를 들어, 고객 프로필 컨텍스트가 레이크하우스에서 미리 가져와 LLS에 캐시됩니다. 또한 세션 내 처리의 실시간 처리에 필요한 레이크하우스 개체 및 기타 개체도 LLS에 캐시할 수 있습니다. LLS는 메모리, SSD, 레이크하우스 스토리지 레이어를 사용하여 실제 저장소 계층에 실시간 레이어를 활성화하며, 각 계층 간에 데이터가 원활하게 마이그레이션됩니다.
또한 Data 360은 고객이 관리하는 키를 사용하는 테넌트 수준 암호화(TLE)를 비롯한 보안에 대한 강력한 지원을 제공하며, 거버넌스 기술을 통해 개인정보 보호 및 규정 준수를 지원합니다. 핵심은 엔티티, 운영, 환경 요소와 관련된 특성을 기반으로 액세스를 동적으로 평가하는 특성 기반 액세스 제어(ABAC) 지원입니다. 이 시스템은 임의 및 필수 액세스 제어를 모두 지원합니다.
ABAC를 보완하는 자세한 데이터 분류 시스템은 민감도 및 목적별로 데이터를 분류하여 규정 준수, 위험 관리, 사고 대응을 향상합니다. ABAC와 이 분류 시스템은 함께 포괄적인 데이터 관리를 제공하므로 Data 360 내의 데이터가 안전하고 효율적으로 관리됩니다.
#### 메타데이터 중심
Data 360은 AppExchange를 통해 메타데이터, 패키징, 확장성, 사용자 경험 및 애플리케이션 배포 측면에서 Salesforce Platform과 깊이 통합됩니다. 고객은 다른 Salesforce 메타데이터와 마찬가지로 레이크하우스 스트림 및 테이블의 메타데이터를 정의하고 관리할 수 있습니다. 모든 데이터 개체(연합 또는 외부 테이블 포함)는 Salesforce 개체로 표시되고 Data 360의 데이터 저장소에서 지원되는 가상 엔티티로 모델링됩니다. 개발자가 Salesforce Platform에서 응용 프로그램을 구축하는 데 사용할 수 있습니다.
#### 제로 카피 연합 및 확장성
Data 360은 제로 카피 연합에 대한 광범위한 지원을 제공하므로 사용자는 Snowflake 및 Redshift와 같은 외부 데이터 웨어하우스, Google BigQuery, Databricks, Azure Fabric과 같은 레이크하우스, SQL 데이터베이스 및 Excel을 비롯한 다양한 파일 유형과 통합할 수 있습니다. Data 360은 그림에 표시된 대로 실시간 쿼리 및 액세스 가속화를 사용하여 파일 및 쿼리 기반 연합을 지원합니다. 레이블(1) 및(2)은 외부 데이터 레이크/웨어하우스/데이터 소스의 데이터에 액세스하기 위한 Data 360의 쿼리(실시간 쿼리 푸시다운 포함) 및 파일 기반 연합을 보여주며, 레이블(3)은 외부 데이터 레이크/데이터 소스의 연합 액세스 가속화를 강조합니다. 레이블(4) 및(5)은 외부 데이터 레이크/웨어하우스와 Data 360의 쿼리 및 파일 기반 데이터 공유를 보여줍니다. 기능은 Slack 및 Google Drive와 같은 비정형 데이터 소스에도 확장되며, Data 360의 비정형 처리 파이프라인에서 액세스할 수 있습니다. 또한 Data 360은 외부 소스에서 연합된 데이터에 대해 Salesforce 개체의 추상화와 데이터 액세스를 용이하게 지원하여 Salesforce 플랫폼 및 애플리케이션 전반에서 해당 데이터에 접근할 수 있도록 합니다.
#### Customer Data Platform (CDP)
Data 360은 고급 신원 확인 기능을 갖춘 CDP를 통합하여 통일된 개인 식별자와 프로필, 그리고 포괄적인 참여 내역을 생성합니다. 이 플랫폼은 정확한 일치 규칙과 퍼지 일치 규칙을 모두 활용하는 ID 그래프를 지원하여 B2B와 B2C 프레임워크 모두를 효과적으로 처리합니다. 이러한 ID 그래프는 다양한 채널의 참여 데이터로 보강되므로 중요한 분석 인사이트 및 세그먼트가 포함된 자세한 프로필 그래프를 작성하는 데 도움이 됩니다.
또한 CDP를 사용하면 Salesforce의 Marketing Cloud, Facebook, Google 등 다양한 플랫폼에서 효과적으로 세분화 및 활성화할 수 있습니다. 배치, 거의 실시간, 실시간 방식으로 고객 프로필을 처리하여 즉각적인 의사결정과 개인화가 가능해집니다. 이 기능은 B2C 및 B2B 시나리오 모두에서 상호 작용을 강화하여 비즈니스가 고객의 요구와 행동에 빠르고 정확하게 대응할 수 있도록 합니다.
#### 데이터 그래프
Data 360은 다양한 레이크하우스 테이블 및 상호 관계에서 파생된 비정규화 개체인 JSON 형식의 엔터프라이즈 데이터 그래프를 제공합니다. 여기에는 개인의 구매 및 탐색 내역, 사례 내역, 제품 사용, 기타 계산된 인사이트를 포괄하는 CDP에서 만든 "프로필" 데이터 그래프가 포함되며 고객 및 파트너가 확장할 수 있습니다. 해당 데이터 그래프는 특정 응용 프로그램에 맞게 조정되며, 관련 고객 또는 사용자 컨텍스트를 제공하여 생성형 AI 프롬프트의 정확성을 향상시킵니다.
또한 이러한 데이터 그래프를 확장하여 추출된 엔티티 및 비정형 데이터에서의 관계 등 파생된 지식을 수집하고 모델링하는 지식 그래프를 포함할 계획입니다. Data 360의 실시간 레이어는 프로필 그래프를 활용하여 실시간 개인 설정 및 세분화를 수행합니다.
#### 실시간 레이어
Data 360의 실시간 레이어는 웹 및 모바일 클릭 스트림, 방문, 장바구니 데이터, 결제와 같은 이벤트를 밀리초 대기 시간으로 처리하도록 설계되어 고객 경험 개인 설정을 향상합니다. 즉시 개인 설정을 위해 실시간 참여 데이터, 세그먼트, 계산을 사용하여 CDP의 고객 참여를 지속적으로 모니터링하고 고객 프로필을 업데이트합니다.
예를 들어 소비자가 쇼핑 웹 사이트에서 항목을 구매하면 실시간 레이어가 이 이벤트를 빠르게 감지 및 수집하고, 소비자를 식별하고, 업데이트된 평생 지출 정보로 프로필을 보강합니다. 이를 통해 사이트에서 1초 미만의 시간 내에 개인화된 경험을 제공할 수 있습니다. 또한 이 계층에는 실시간 트리거 및 응답 기능이 포함되어 있어 고객 상호 작용을 기반으로 즉각적인 조치를 취할 수 있습니다.
#### 개인화
개인 설정은 대상이 될 페르소나, 관련 콘텐츠 및 권장 사항을 전달할 시기 및 위치, 말할 내용 및 빈도를 파악하는 것입니다. Data 360의 개인화 서비스 플랫폼 기능은 맞춤형 경험을 통해 목표 달성을 최적화하기 위해 어떤 의사결정을 내릴지 조율하는 역할을 합니다. 이 플랫폼은 다음 기능을 제공합니다.
- Data 360에서 프로필, 활동, 자산 데이터를 해석하는 일관된 모델 집합 및 방법
- 플랫폼 통합 실험(예: A/B/n 또는 다중 암 밴딧 의사결정)
- 구성, ML 교육 시간, 런타임(ML 추론)을 통해 설계 시 목표 통합
- B2C 규모, 실시간 및 배치 상호 작용 지원(익명 사용자, 대용량 실시간/대화형 외부, 대용량 내부 배치).
- Data 360을 통해 분석을 구동합니다.
- 다른 당사자(내부 및 외부 모두)의 AI 모델과 서비스를 통합하는 패턴입니다.
- OOTB 구현 가치가 높은 AI 중심 사용 사례(프로모션/콘텐츠 선택, 제품 권장 사항, 가격 책정 결정에 대한 컨텍스트 범주 등 다양한 ML 알고리즘을 사용하는 권장 사항 및 결정).
#### 데이터 작업
Data 360은 데이터 이벤트에 대한 파이프라인 활성화를 지원하는 활성 플랫폼입니다. 예를 들어, 고객의 계정 잔고가 감소하는 등의 중요한 이벤트가 Salesforce 플로우를 트리거하여 해당 작업을 오케스트레이션할 수 있습니다. 마찬가지로 평생 소비와 같은 주요 메트릭에 대한 업데이트가 관련 애플리케이션에 자동으로 전파될 수 있습니다.
#### 데이터 계산 패브릭
Data 360은 처리 작업을 효율적으로 수행하는 탄력적인 확장 계산 클러스터를 제공합니다. 멀티테넌트 및 전용 컴퓨팅 환경 모두에 강력한 관리를 제공합니다. 또한 Spark 및 SQL에 대한 관리 지원도 제공합니다. BYOC(Bring Your Own Compute/Code) 기능은 Java, Python, Spark 등 여러 프로그래밍 언어를 지원하므로 사용자 정의 변환, 모델(LLM 포함) 및 함수를 통합하여 확장성을 향상할 수 있습니다.
Data 360 컴퓨트 패브릭은 모든 빅데이터 작업 부하를 관리하고 실행할 수 있는 데이터 처리 컨트롤러(DPC)라는 통합 계층을 제공합니다. DPC는 다양한 클라우드 컴퓨팅 환경에서 Job-as-a-Service(JaS) 기능을 제공하는 포괄적인 다중 작업 부하 데이터 처리 오케스트레이션 서비스입니다. 이는 인프라 복잡성을 추상하고 Spark(EC2의 EMR 및 EKS의 EMR) 및 Kubernetes 리소스 컨트롤러(KRC) 워크로드와 같은 프레임워크에 대한 작업 실행을 통합합니다. 중앙 집중식 제어 플레인 게이트웨이로 사용되므로 DPC는 여러 데이터 플레인에서 작업을 오케스트레이션, 예약 및 모니터링하여 신뢰성, 확장성, 비용 효율성, 일관된 개발자 환경을 보장합니다.
#### 통합 쿼리
Data 360의 쿼리 서비스는 Trino 및 Hyper를 통해 구조화된 데이터와 비정형 데이터 모두에 대한 광범위한 SQL 지원을 제공하는 고급 쿼리 기능을 제공합니다. 테이블 함수를 통한 연산자 확장성으로 기능이 강화되어 텍스트, 이미지, 공간 및 기타 비정형 데이터 유형 전반에서 다양한 검색 작업을 수행할 수 있습니다. 해당 기능은 고객 레코드 선택과 같은 관계 작업과 원활하게 통합됩니다. 이 통합 접근 방식을 사용하면 대상이 지정된 맞춤형 결과를 생성하여 RAG를 사용하여 보다 정밀한 LLM 응답을 수행할 수 있습니다.
#### 비정형 데이터 처리
Data 360은 데이터 수집, 처리, 색인화, 쿼리 메커니즘 전반에서 원활하게 구조화(테이블), 세미 구조화(JSON), 비정형 데이터의 저장 및 관리를 지원합니다. Data 360은 오디오, 비디오, 이미지 등 텍스트 외에도 다양한 비정형 데이터 유형을 지원하여 데이터 처리 및 분석 범위를 넓힙니다. 아래 그림은 그라운딩의 양면(수집 및 검색)을 보여줍니다.
Data 360은 열에 텍스트로 저장하거나 더 큰 데이터 집합의 파일에 저장하여 비정형 데이터를 관리합니다. 구조화되지 않은 콘텐츠에 대한 데이터 연합을 지원하므로 여러 소스의 데이터를 통합하고 관리할 수 있습니다.
Data 360의 비정형 데이터 색인화 파이프라인은 5가지 핵심 단계인 모듈식 확장 가능한 아키텍처로 설계되었습니다. 구문 분석, 사전 처리, 청크, 사후 처리, 임베딩 다음 단계에 키워드 및 벡터 색인화가 따릅니다. 사전 처리에는 소음 제거, 언어 정규화, 이미지 이해(광학 문자 인식)와 같은 작업이 포함되며, 사후 처리 단계에는 메타데이터 보강, 시맨틱 그룹화 또는 청크와 같은 고급 기술이 포함될 수 있습니다.
Data 360은 청크 및 임베딩 생성을 위한 여러 개의 기본 및 플러그 가능한 모델을 제공합니다. Data 360의 데이터 파이프라인은 코드 확장을 완전히 지원하므로 고객 및 내부 팀이 모든 단계에서 사용자 정의 논리를 연결할 수 있습니다. 해당 단계에서는 LLM 기반 처리를 지원하므로 고객이 필요에 따라 자체 프롬프트를 정의할 수 있습니다.
색인화의 경우 Data 360은 검색 서비스를 사용하는 키워드 색인화를 지원하고, 오픈 소스 네이티브 벡터 색인인 Milvus를 사용하는 벡터 색인화를 지원합니다. 비정형 처리를 사용하여 RAG를 설정할 경우 Data 360은 컨텍스트 색인화를 활용하여 샘플 테스트 쿼리를 사용하여 빠른 반복 및 빠른 유효성 검사를 활성화하며, 사용하는 페르소나 또는 사용자에 맞게 구성된 페르소나별 콘텐츠를 사용합니다.
Data 360의 문서 AI 기능은 인보이스, 이력서, 실습 보고서, 구매 주문과 같은 문서에서 비정형 또는 반정형 데이터를 읽고 가져올 수 있습니다. 이 기능은 애드혹 대화형 처리와 대량 배치 처리를 지원합니다. 이는 고객의 비즈니스 프로세스 자동화를 지원하는 핵심 기능입니다.
#### 시맨틱 레이어
Data 360은 Tableau Next와 유사하게 비즈니스 시맨틱 및 AI/ML 기반 분석을 향상하도록 설계된 API가 포함된 헤드리스 시맨틱 레이어를 제공합니다. 이 계층에는 측정값 및 메트릭과 같은 비즈니스 분류로 기존 분석 모델을 보강하는 시맨틱 데이터 모델링 서비스가 포함되어 있습니다.
시맨틱 쿼리 서비스는 선언적 언어를 사용하여 해당 모델과 상호 작용하여 Data 360 내의 네이티브 및 연합 데이터 소스 모두에서 데이터에 액세스할 수 있도록 쿼리를 SQL로 번역합니다.
이 통합은 타사 시각화 도구와 호환되는 확장 가능한 대화형 분석 탐색, 보고서 및 대시보드를 지원합니다.
#### 데이터 거버넌스
Data 360은 중앙 집중화된 거버넌스 허브 역할을 하므로 원시 수집에서 활성화된 인사이트까지 모든 데이터가 무결하고 제어적으로 관리됩니다. Data 360은 핵심 권한 부여 모델로 특성 기반 액세스 제어를 채택했습니다. ABAC를 사용하면 미리 정의된 역할이 아닌 사용자의 특성(부서, 역할, 위치), 데이터(개인 정보, 민감도, 데이터 공간), 환경(예: 시간)을 기반으로 액세스 결정을 내릴 수 있습니다. 이를 통해 데이터 및 사용자 특성 변경에 따라 적응하는 매우 세분화되고 상황에 맞는 액세스 정책을 사용할 수 있습니다. Data 360의 ABAC 구현의 핵심은 CEDAR 정책 언어 사용입니다. 목적에 따라 구축된 오픈 소스 형식 정책 언어는 복잡한 권한 부여 규칙을 정의하는 정확하고 확인 가능한 방법을 제공하므로 정책이 명확하고 규모에 따라 일관되게 평가할 수 있습니다.
거버넌스 수명 주기에는 정책 정보, 적용, 결정 지점과 관련된 주요 기능이 포함됩니다.
- **태그 지정 및 분류(정책 정보 지점):** 데이터가 식별되고 중요한 속성으로 보강됩니다. Data 360은 검색, LLM, 기계 학습을 활용하여 구조화된 데이터와 비정형 데이터 모두에서 중요한 데이터 범주(예: 이메일, 전화, 이름 등 개인 식별 정보)를 식별하는 자동화된 태그 지정 및 분류 메커니즘을 제공합니다.
- **승인 서비스(정책 집행 지점):** 이 서비스는 다양한 소비 계층(하이브리드 구조화/비정형 쿼리, RAG 검색기와 프롬프트, CRM 보강)의 모든 데이터 액세스 요청을 가로채고 정책 결정 지점과 상담하여 액세스 허용 여부를 결정합니다.
- **정책 평가 엔진(정책 결정 지점):** 이 엔진은 정책 적용 지점의 액세스 요청 컨텍스트와 정책 정의(CEDAR) 및 정책 정보 지점의 특성을 가져와 권한 있는 액세스 결정을 내립니다.
CEDAR 정책이 포함된 ABAC 프레임워크는 제어 및 유연성을 제공하여 고객 데이터를 실행할 수 있을 뿐만 아니라 엔터프라이즈 전체에서 안전하고 규정 준수하며 신뢰할 수 있도록 합니다.
### 6.3 데이터 캐싱
캐시는 자주 사용하는 데이터에 빠르게 액세스하는 데 필요합니다. Salesforce는 핵심 응용 프로그램 서버, SalesforceDB 및 에지 등 Salesforce Platform 전체에서 많은 캐시를 사용합니다. Salesforce Platform 및 응용 프로그램에는 대기 시간이 낮고 처리량이 높은 확장 가능한 테넌트 인식 캐싱 솔루션이 필요합니다. 이 솔루션을 사용하면 Salesforce 엔지니어가 캐시되는 항목 및 기간을 제어하여 시스템 소음 또는 다른 고객의 데이터로 인해 데이터가 제거되지 않도록 해야 합니다. Redis를 기반으로 하는 Salesforce 관리 캐싱 서비스인 Vegacache는 다중 언어, 멀티테넌트, 퍼블릭 클라우드 환경에 맞게 제작되었습니다. Salesforce 서비스에서 널리 사용되며 Apex 프로그래밍 언어의 API를 통해 플랫폼 개발자가 액세스할 수 있습니다. Hyperforce에서 대규모로 운영되는 Vegacache는 작성 시점 기준으로 일일 2조 건이 넘는 요청을 처리하며 응답 시간이 밀리초 미만입니다.
서비스 메쉬를 통해 액세스하는 Kubernetes 컨테이너에서 실행되는 Vegacache 인스턴스는 데이터 가용성과 대기 시간의 균형을 맞추기 위해 여러 가용성 영역에 배포됩니다. 시스템 로드에 따라 자동으로 확장되어 데이터 가용성 및 슬롯 순서의 보존을 보장합니다. Vegacache는 고객당 보장된 캐시 크기를 제공하며, noisy neighbors(소음 유발 이웃)로부터 보호하고, 복제된 데이터 저장소를 통해 인프라 장애에 대한 복원력을 제공합니다.
Salesforce Platform 개발자의 경우 Vegacache를 사용하면 개발자가 Apex 개체 및 SOQL 데이터베이스 쿼리 결과를 캐시할 수 있으므로 SalesforceDB에서 불필요한 데이터 가져오기를 제거하여 CPU 사용량과 지연 시간을 줄일 수 있습니다. Put(), Get(), Delete() 작업을 지원하므로 자주 사용하는 개체에 쉽게 액세스할 수 있습니다.
### 6.4 비동기 데이터 처리
Salesforce는 워크플로 유연성, 복원성, 확장성을 향상하기 위해 기본적으로 비동기 데이터 프로세스 및 아키텍처를 지원합니다.
Salesforce 엔지니어는 먼저 메시지 대기열을 활용하여 대량 및 대규모 데이터 프로세스를 분리했으며, 독립 시스템 간 프로세스를 조정했습니다. 이러한 메시지 대기열은 대량 API 쿼리 또는 비동기 Apex 같은 플랫폼 기능을 통해 외부 개발자로부터 추상화되었습니다. Salesforce Platform은 내부적으로 관리되는 Apache Kafka 클러스터의 강력한 Messaging 인프라에 구축된 로그 조직 이벤트 스트림을 도입했습니다. 이로써 게시/구독 상호 작용 모델의 이벤트 기반 아키텍처가 구현되었으며, 외부 개발자에게는 Platform Events라는 제품으로 제공되었습니다.
메시지 대기열과 이벤트 스트림은 계속해서 플랫폼에 구축된 앱 및 솔루션에서 중요한 기술로 활용되고 있으며, 특히 더 많은 기능, 클라우드, 독립 런타임에서 호스팅되는 외부 시스템을 활용하고 있습니다. 버전 관리된 이벤트 스키마를 통한 통신은 각 런타임의 독립적인 소프트웨어 개발 수명 주기를 가능하게 합니다. 이벤트를 통해 시스템이 분리되면 개별 런타임의 로드 급증과 탄력성을 관리하여 앱의 전반적인 복원력과 가용성을 높이는 데 도움이 됩니다.
### 6.5 엔터프라이즈 검색
글로벌 검색에서 생성형 AI에 이르는 응용 프로그램에 매우 중요한 Salesforce의 검색 기능은 아키텍처 접근 방식을 형성하는 고유한 문제에 직면합니다.
- **확장성**: 수십만 명의 고객과 수백만 개의 테넌트를 지원하는 클라우드 네이티브 검색 솔루션은 비용 효율성을 유지하면서 대규모로 설계되었습니다.
- **고객 다양성**: 다양한 산업에 걸친 Salesforce의 고객 기반은 플랫폼의 광범위한 사용자 정의로 인해, 다양한 개체 유형 및 필드를 포함한 고유하고 복잡한 검색 요구 사항을 갖고 있습니다.
- **운영성**: 검색 솔루션은 복원 가능하고 가용성이 높아야 하며, 지역 마이그레이션, Sandbox와 같은 데이터 보존, 테넌트 수명 주기 작업을 지원하고, 테넌트 간의 공정성과 함께 낮은 색인화 대기 시간을 유지해야 합니다.
- **대규모에서의 관련성**: 다양한 사용자 쿼리를 충족하기 위해 검색 결과의 관련성을 향상시키는 것은 매우 중요하며, 특히 관련성 알고리즘을 확장하여 다양한 테넌트, 데이터 유형, 검색 시나리오에 대응할 때 필수적입니다.
- **AI 및 시맨틱 기능**: 검색은 기계 학습 및 생성형 AI를 지원하며, 특히 검색 보강 생성(RAG)과 에이전트 검색을 지원합니다.
- **원활한 통합**: 일관된 사용자 경험을 위해 Salesforce의 검색 기술은 메타데이터 모델 및 AI/데이터 서비스를 비롯한 광범위한 Salesforce Platform과 긴밀하게 통합됩니다.
Salesforce의 클라우드 네이티브 솔루션인 SeaS(서비스로 검색)는 오픈 소스 배포된 검색 엔진인 Solr을 기반으로 구축됩니다. Salesforce는 고유한 문제를 해결하기 위해 Solr을 크게 확장 및 최적화했으며, 시맨틱 기술을 통합하여 AI 애플리케이션 및 검색 관련성을 향상하기 위해 Salesforce 애플리케이션 및 플랫폼과 깊이 통합했습니다.
SeaS는 계산/저장소 분리 아키텍처를 사용하여, 색인을 노드 전반에 걸쳐 확장 가능하게 배포하고, 장애 발생 시 각 영역 간의 로드와 가용성의 균형을 조정할 수 있습니다. 자동 샤딩 및 샤드 크기 조정, 무중단 업그레이드, 복제본 지연 로딩 및 비자주 사용 인덱스를 위한 보관과 같은 최적화 기능을 제공합니다.
아키텍처에는 대량 필드에 최적화된 하위 수준 색인 구현, 자동 완성, 맞춤법 정정, BYOK(Bring Your Own Key) 암호화도 포함되어 있습니다. 전 세계 약 6,000개의 Solr 노드를 관리하는 Hyperforce 검색 인프라는 각 지역에서 여러 독립 클러스터(하이퍼포스 셀)를 사용하여 비용 효율성과 제어 간의 균형을 맞추며, 로드, 도메인 및 유형에 따라 클라이언트 인덱스를 자동 배치합니다.
Salesforce의 검색 관련성 파이프라인은 순위 학습 기법을 사용하여 고객의 다양한 요구에 적응하고 결과 순위와 같은 기능을 지원합니다. 사용자 쿼리 및 지난 상호 작용의 엔티티 예측도 포함됩니다. 관련성 모델은 사용자 상호 작용으로부터 학습하여 지속적으로 개선되고 A/B 테스트를 통해 평가되어 검색 결과의 정확성을 향상합니다. 이 과정은 또한 지식 전달을 통해 AI 애플리케이션의 부트스트래핑 모델도 지원합니다.
스택은 생성형 AI 기능을 위해 Data 360과 통합된 시맨틱 검색 및 AI 애플리케이션용 벡터 검색 엔진을 포함합니다. 여기에는 데이터 변환을 위한 포괄적인 파이프라인, 하이브리드 검색 지원, 딥 퓨전 랭커와 Autodrop과 같은 구성 가능한 순위 지정 도구들의 카탈로그가 포함됩니다.
생성형 AI가 검색 서비스의 주요 소비자를 인간 사용자에서 LLM으로 전환함에 따라, Salesforce 검색 스택은 이러한 프로그래밍 방식의 소비에 최적화된 결과를 찾아 반환하고, 더 길고 복잡한 쿼리를 처리하며, 청크와 같은 보다 상세한 결과를 제공합니다. 이는 새로운 Agentic Search 기능을 지원하며, Agentforce 에이전트가 추론 루프를 통해 검색을 활용하여 복잡한 작업을 수행할 수 있도록 합니다.
Salesforce의 검색 기능은 글로벌 검색, 조회, 검색 답변, 커뮤니티 검색, 관련 목록, 설정, 모바일 및 생성형 AI 애플리케이션 등 다양한 컨텍스트를 포함합니다. 이 광범위한 기능은 검색 스택과 Salesforce의 메타데이터 시스템 및 UI 에코시스템을 긴밀하게 통합하여 표준 및 사용자 정의 개체 모두를 원활하게 지원할 수 있도록 해줍니다.
또한 Data 360과의 통합을 통해 코드 없는 구성(no-code configuration)으로 데이터 개체에 대한 검색 기능이 향상되며, SQL 쿼리에 검색 구문을 포함하는 등 데이터 파이프라인 내에서 검색 기능을 구성할 수 있습니다. 검색 스택은 Google Drive 권한 인식 커넥터와 같은 Data 360의 다양한 커넥터 에코시스템을 활용하여 완전한 엔터프라이즈 검색 기능을 제공합니다. 이 통합은 AI 플랫폼까지 확장되어, 프롬프트 빌더에서 그라운딩을 위한 검색 쿼리 활용과 Agentic Search에서의 검색 쿼리 사용을 가능하게 합니다.
## 7\. AI 및 Agentforce
AI는 기술 환경을 재구성했으며, 통합된 풍부한 데이터 레이어를 갖춘 Salesforce Platform은 고객에게 혁신적인 AI 경험을 제공할 수 있도록 합니다. Salesforce는 거의 10년 전에 AI 전환을 시작했으며 2013년부터 연구, 윤리, 제품 개발에 중점을 두고 복잡한 문제를 해결하고 성장을 이끌 수 있도록 지원합니다.
Salesforce는 혁신의 핵심 가치를 활용하여 Einstein 예측 AI를 도입하여 Einstein 예측 빌더 및 AI 봇과 같은 종합적인 AI 기반 도구 제품군을 사용하여 데이터를 분석하고 프로세스를 자동화하고 고객을 이해하고 운영을 최적화할 수 있습니다. 생성형 AI의 증가와 함께 Salesforce는 예측 및 생성형 모델을 병합하여 데이터 프라이버시 우선 순위를 지정하면서 고급 AI 기능을 제공하는 플랫폼인 Agentforce 출시했습니다.
가장 최근에 출시된 파이썬 기반의 이벤트 중심 프레임워크를 사용하는 Agentforce 3.0을 통해 Salesforce는 내장 대화 내역, 엔드 투 엔드 세션 추적, 음성 지원, Bring Your Own Planner(사용자 정의 추론 엔진) 기능 등으로 더욱 확장 가능하고 맞춤화된 지능형 멀티 에이전트 시스템을 위한 향상된 유연성을 제공합니다.
### 7.1 핵심 AI 원칙
Agentforce는 다음의 핵심 원칙을 따릅니다.
- **데이터 보안 및 윤리**: 데이터 보호, 규정 준수, 윤리적 AI 원칙을 최우선으로 합니다.
- **투명성 및 설명 가능성**: AI가 생성한 출력에 대해 명확한 이해와 검증을 제공합니다.
- **유연성 및 맞춤화**: 특정 요구 사항 및 산업에 맞게 AI 애플리케이션을 조정합니다.
- **원활한 통합**: Salesforce CRM 및 기타 시스템과 통합됩니다.
- **확장성**: 대규모 배포를 처리하고 실시간 AI 환경을 제공합니다.
- **지능적이고 일관된 경험**: 연결된 데이터와 맥락에 대한 이해를 통해 개인화되고, 확장되며, 자동화된 경험을 제공합니다.
- **포괄적 관찰 가능성:** AI 에이전트 상호 작용에 대한 심층 가시성 및 모니터링을 제공하여 Agentforce Interaction Explorer를 사용하여 에이전트를 사전 예방적으로 최적화하고 미세 조정할 수 있습니다.
### 7.2 아키텍처 개요
AI 스택은 다음과 같은 몇 가지 핵심 구성 요소로 구성됩니다.
- **AI 플랫폼**: 이 플랫폼 계층은 예측 및 생성 응용 프로그램 모두에서 사용되는 AI 모델을 관리, 학습, 미세 조정할 책임이 있습니다. OOTB(Out-of-the-box) 서비스, Trust 서비스 및 모델 교육, 테스트 및 추론 수행을 위한 기본 모델을 제공합니다. 또한 자체 예측 및 생성 모델의 통합을 지원하므로 플랫폼 내에 사용자 정의 모델을 가져올 수 있습니다.
- **AI 기본 서비스**: 여기에는 비즈니스 애플리케이션과 AI 스택의 통합을 용이하게 하는 AI 게이트웨이, 사용자 피드백 프레임워크, RAG, 에이전트 오케스트레이션, 에이전트 평가 및 추론 서비스가 포함됩니다.
- **AI 기반 사용자 및 에이전트 환경**: Salesforce는 클라우드 서비스를 통해 전문화된 AI 지원 응용 프로그램을 제공합니다. 고객은 플랫폼의 모든 구성 요소(예: Flow, Apex 또는 Lightning Web Components(LWC)))를 활용하여 AI 기반 환경을 생성하여 워크플로 및 비즈니스 프로세스에 원활하게 통합할 수 있습니다.
- **Agentforce Studio**: 이 구성 요소에는 Agent Builder, 프롬프트 빌더, 테스트 센터 및 모델 빌더와 같은 도구가 포함되어 있어 생성형 및 예측형 AI 경험을 모두 만들 수 있습니다. AI 모델 개발/교육, 테스트, 조정에 대한 종단간 지원을 제공합니다. 차세대 작성은 향상된 UX 및 SFDX와의 호환성을 통해 AI 에이전트 구축을 간소화하고 가속화하도록 설계된 이러한 기능을 강화합니다.
### 7.3 기본 구성 요소
#### Agentforce Trust 레이어
Agentforce Trust Layer는 다음과 같은 강력한 기능을 제공하여 생성형 AI 애플리케이션에서 고객 데이터를 보호하는 데 도움이 되는 특정 사용 사례에서 사용할 수 있습니다.
- **데이터 개인 정보 보호**: 강력한 마스킹 및 개인 정보 보호 제어는 외부 AI 모델에서 민감한 정보에 액세스하지 못하도록 보호합니다.
- **보안**: 안전한 데이터 처리 환경을 보장하고 무단 액세스를 방지합니다.
- **신뢰**: 타사 AI 저장소 또는 사용 없이 데이터에 대한 고객의 제어를 유지합니다.
- **가드레일:** 에이전트가 사전 정의된 지침 및 워크플로를 일관되게 따르는지 확인하여 에이전트의 행동 표준을 적용하고 LLM의 내재적인 불결정을 완화합니다.
- **정밀도**: 관련 Salesforce 데이터를 사용하여 프롬프트를 기반으로 함으로써 AI 출력의 정확성을 높입니다.
- **콘텐츠 중재**: 콘텐츠 전후 중재, 민감한 정보에 대한 사용자 정의 가능한 데이터 마스킹(PII/PCI/PHI), 대규모 언어 모델(LLM) 응답에 대한 독성 분류를 모두 제공합니다.
#### Agentforce AI 게이트웨이
AI 게이트웨이는 다양한 LLM 및 예측 모델에 액세스하고 관리할 수 있는 통합 인터페이스를 제공합니다. Salesforce와 LLM 세계 간의 교량 역할을 하며, 다양한 LLM 공급자와 고객의 자체 예측 AI 모델의 복잡성을 추상화하여 일관된 방식으로 상호 작용할 수 있습니다. Agentforce AI 게이트웨이는 여러 LLM 공급자와 통합되므로 고객이 요구에 맞는 최적의 모델을 선택할 수 있으며, 다양한 LLM 사용과 관련된 비용을 관리하는 데 도움이 되는 강력한 데이터 보안 조치를 통합합니다.
사용자 의견 서비스는 사용자 의견을 수집, 분석, 측정, 활용하여 AI 모델을 재교육하고 개선하는 구성 요소입니다. Salesforce Platform 내에서 AI 기반 기능을 지속적으로 개선하는 데 중요한 역할을 합니다.
#### 검색 증강 생성(RAG)
RAG는 생성형 AI로 검색 성능을 향상시키는 중요한 기법으로 보다 정보가 풍부하고 정확한 응답을 제공합니다. 광범위한 Salesforce Data 360 및 통합형 벡터 데이터베이스를 활용하여 Agentforce 플랫폼은 사용자의 쿼리에 대한 관련 데이터를 빠르게 검색합니다. 이 데이터는 LLM이 최적의 응답을 생성할 수 있도록 근거(grounding)로 사용됩니다.
또한 이 방법은 응답에 소스 데이터를 포함함으로써 응답 속도와 사용자 신뢰를 높입니다. RAG는 Agentforce 플랫폼에서 특히 Agentforce for Service 및 Agentforce for Sales와 같은 응용 프로그램에 광범위하게 사용되며, 이러한 사용 사례에 대해 관련 정보를 어떻게 제공하는지 강조합니다.
### 7.4 Agentforce 플랫폼
AI 모델이 발전함에 따라 다음 단계는 추론이 필요한 과업을 자동화하는 에이전트를 개발하는 것입니다. 이러한 에이전트는 지능형 도우미로서, 자연어로 된 문의를 이해하고 응답할 수 있으며, 사용자가 다양한 작업을 위해 이들을 설계, 테스트, 배포할 수 있도록 합니다. 이 시스템의 중요한 구성 요소 중 하나인 플래너 서비스는 다음과 같이 작동합니다.
- **사용자 요청 해석**: 사용자의 입력을 분석하여 의도를 결정합니다.
- **계획 수립**: 사용자의 요구를 충족하기 위한 구조화된 계획을 수립합니다.
- **작업 실행**: 직접 또는 다른 서비스를 통해 작업을 시작하여 계획을 실행합니다.
플래너 서비스가 프로세스를 오케스트레이션하여 에이전트가 필요한 단계를 관리하고 실행하여 사용자 요청을 효율적으로 이행할 수 있도록 합니다.
#### Agentforce
Agentforce는 에이전트를 구축할 수 있는 플랫폼으로, 고객과 ISV가 Service Agent 및 Sales Agent와 같은 애플리케이션을 위한 자동화된 AI 에이전트를 만들 수 있도록 합니다. 해당 에이전트는 자연스럽고 인간적인 방식으로 고객 문의를 처리하고 응답하고 광범위한 비즈니스 과업을 처리하며 비즈니스 및 고객 모두에게 상당한 혜택을 제공할 수 있습니다.
에이전트의 워크플로는 다음과 같습니다.
- **활성화**: 에이전트는 다양한 채널 전반에서 고객의 요청과 같은 사전 정의된 기준에 의해 트리거됩니다.
- **이해 및 응답**: 자연어 처리(NLP)를 사용하여 고객의 문의, 의도 및 분위기를 파악한 다음, Salesforce의 Knowledge 자료 또는 기타 데이터 소스를 참조하여 적절한 응답을 작성합니다.
- **복잡성 처리**: 복잡한 문제에 직면하거나 인적 감독이 필요한 경우 에이전트가 상호 작용을 원활하게 인적 에이전트에게 전달할 수 있습니다.
- **연속 학습**: 에이전트는 각 상호 작용에서 학습하여 응답과 전반적인 성능을 지속적으로 향상시킵니다.
#### Agentforce Studio
Agentforce Studio는 고객이 Salesforce 애플리케이션 및 워크플로에 AI를 통합할 수 있는 로우코드 플랫폼을 제공하여, 데이터 과학자 외에도 AI 기술에 접근할 수 있도록 합니다.
스튜디오의 주요 기능은 다음과 같습니다.
- **모델 빌더**: 특정 비즈니스 요구에 맞게 AI 모델을 구축하거나 가져올 수 있습니다.
- **프롬프트 빌더**: 생성형 AI 프롬프트를 만들고 관리할 수 있는 노코드/로우코드 도구로, 프롬프트를 구축, 테스트, 배포할 수 있는 간단한 인터페이스를 통해 사용자 경험을 향상시킵니다.
- **에이전트 빌더**: 고객과 ISV가 맞춤형 대화형 및 자율 에이전트를 개발할 수 있도록 지원합니다.
- **테스트 센터**: 모델, 프롬프트, 에이전트의 테스트를 지원하며, 이는 고품질 AI 응용 프로그램을 보장하고 성능 및 비용 효율성을 최적화하는 데 중요하며, 결정적 응답과 사용자 경험의 품질도 향상시킵니다.
Agentforce 예측 및 생성형 AI를 결합하여 Salesforce Platform 및 Data 360의 통합 메타데이터 프레임워크를 활용하여 지능형, 맞춤형, 효과적인 비즈니스 솔루션을 제공합니다.
### 7.5 다음 진화: Agentforce 3.0
신속한 논리 발전, 확장 가능한 멀티 에이전트 시스템의 필요성, 멀티 모달 인터페이스로의 전환 등 생성형 AI 시장의 증가하는 요구 사항을 충족하기 위해 Salesforce는 Agentforce 3.0을 통해 아키텍처를 발전시킵니다. 이 차세대 플랫폼은 다음과 같은 몇 가지 주요 고급 기능을 기반으로 구축됩니다.
- **비동기식 이벤트 기반 아키텍처:** Agentforce 3.0은 향상된 이벤트 기반 프레임워크와 함께 파이썬 기반에 구축됩니다. 이로 인해 에이전트를 비동기적이고 높은 확장성으로 구현할 수 있게 되어 성능이 향상되며, 에이전트들이 이벤트를 통해 소통하는 복잡한 다중 에이전트 사용 사례의 기반이 마련됩니다.
- **다중 모달 음성 기능:** 텍스트 기반 상호 작용을 넘어서 Agentforce 3.0은 음성 지원을 기본 모달로 도입합니다. 아키텍처는 전화 통신 공급자 및 WebRTC 게이트웨이와 통합되어 실시간 오디오 스트리밍을 처리합니다. 새로운 서비스는 오디오를 텍스트(ASR)로, 텍스트를 오디오(TTS)로 변환하는 과정을 관리하여 자동화된 상담 센터와 같은 사용 사례에 자연스러운 대화형 음성 경험을 제공합니다.
- **Agentforce 스크립트 및 결정성:** 명시적으로 정의된 구조 내에서 에이전트의 동작을 제한하는 상태 기계 기반 가로채기 메커니즘으로, 실행 경로가 일관되게 유지됩니다. 이를 통해 결정적 그래프를 활성화하고, 메모리 손실을 방지하는 강력한 상태 관리를 제공하며, 조건부 및 LLM 결정된 핸드오프를 쉽게 수행할 수 있으므로 중요한 비즈니스 프로세스에 대해 예측 가능한 일관된 에이전트 작업을 보장할 수 있습니다.
## 8\. 응용 프로그램 플랫폼 서비스
Salesforce Platform의 앱 생태계는 App Platform 서비스, API, 사용자 환경, 개발자 환경 계층 전반의 기능 통합으로 구별됩니다. 앱 플랫폼 서비스는 Salesforce Platform에서 대부분의 앱을 구축하고 사용자 정의하는 데 사용되는 일반적인 기능이며 비즈니스 기능은 일반적으로 솔루션에 따라 다릅니다.
### 8.1 주요 기능
앱 생태계는 앱 개발 프로세스를 안내하는 5가지 핵심 기능을 기반으로 구축됩니다.
- **테넌시**: 이는 다중 테넌트 서비스 내에서 데이터와 메타데이터를 논리적으로 분리하여 인증된 사용자가 특정 데이터 및 기능에 액세스할 수 있도록 합니다. 이는 등록 시 고객이 Salesforce 조직을 받으면 가장 잘 볼 수 있습니다.
- **단체**: 데이터베이스 테이블을 나타내는 엔티티는 테이블 열과 유사한 필드로 구성됩니다. 엔티티 및 필드 메타데이터에는 데이터 유형 및 API 이름과 같은 데이터 모델링용 특성과 엔티티가 쿼리 가능 또는 쓰기 가능인 경우와 같은 기능 특성이 포함됩니다. 이 추상화는 데이터 저장소 자체를 직접 조작하는 대신 IT 개발자에게 업데이트를 요구하지 않고도 Salesforce에서 스토리지 기술을 원활하게 도입하고 전환할 수 있으므로 앱 기능을 지속적으로 유지할 수 있습니다.
- **액세스 제어**: 이러한 제어는 주로 사용자 ID 및 특정 정책을 기반으로 데이터 및 기능에 대한 사용자 액세스를 규제합니다. 정책은 규칙 및 기능 토글으로 구성되며 액세스할 수 있는 엔티티, 필드 및 기능을 관리합니다. 정책 및 권한은 "권한 집합"에 수집되며, 사용자 ID에 권한 집합을 할당하여 액세스 권한이 부여됩니다.
- **계층 확장**: 앞서 설명한 바와 같이 구조화된 저장 주문 및 메타데이터 네임스페이스를 통해 Salesforce 엔지니어, 외부 파트너, IT 관리자, 최종 사용자를 비롯한 다양한 역할에 의한 메타데이터 및 앱의 독립적인 개발을 지원합니다.
- **포장**: 이 기능을 사용하면 Salesforce 테넌트에서 메타데이터를 번들링 및 배포할 수 있으므로 다시 구축할 필요 없이 앱 업데이트 및 배포 프로세스를 간소화할 수 있습니다.
이러한 핵심 기능 외에도 앱 플랫폼 서비스에는 다음이 포함됩니다.
- **데이터 런타임 및 쿼리**: 여러 전문 데이터 저장소에서 데이터 생성, 업데이트, 삭제, 쿼리와 같은 작업을 지원합니다. 데이터 규모 및 성능의 스펙트럼은 데이터 저장소에서 직접, Salesforce 엔지니어가 사용할 내부 추상화를 통해 또는 고객 대면 "Salesforce 개체" 또는 sObject 규칙을 통해 데이터 작업을 실행할 수 있는 아키텍처에 의해 지원됩니다.
- **플로 / 워크플로 / 수식**: 로우코드 도구를 사용하여 비즈니스 논리 및 검증 규칙을 정의하고 실행합니다.
- **Apex 코드**: 플랫폼 데이터 런타임 및 API와 기본적으로 통합된 앱 논리의 프로 코드 언어입니다.
- **클라우드 네이티브 인프라 서비스:** Heroku는 산업 프로그래밍 언어 및 프레임워크를 사용하여 플랫폼 데이터 및 이벤트와 통합되는 응용 프로그램을 구축, 배포, 관리하는 개발자를 위한 강력한 환경을 제공합니다.
- **이벤트 및 알림**: 트리거 및 이벤트 기반 오케스트레이션을 관리합니다.
- **세계화**: 다국어 및 다국적 앱에 대한 지원을 제공합니다.
- **라이선싱 및 프로비저닝**: 플랫폼 기능 및 앱에 대한 액세스의 구매 및 관리를 처리합니다.
- **Lightning 웹 스택**: 레이아웃과 같은 구조화된 메타데이터 및 표준 웹 기술을 사용하여 시각적 인터페이스를 사용자 정의할 수 있습니다.
- **Sites + CDN**: 인증되지 않은 사용자를 포함하여 대기 시간이 낮고 트래픽이 많은 웹 환경을 보장합니다.
- **보안 및 규정 준수**: 특정 조직 보안 및 규정 준수 요구 사항을 충족하기 위한 도구 및 제어를 제공합니다.
- **데이터 손실 방지**: 데이터 백업, 복원, 보관 기능이 포함되어 있습니다.
### 8.2 클라우드 애플리케이션 플랫폼
Salesforce Platform은 Heroku를 통해 개발자가 선택한 프로그래밍 언어 및 프레임워크를 사용하여 클라우드에서 응용 프로그램을 구축, 실행, 관리할 수 있는 도구 및 기능을 제공합니다. Heroku의 관리 클라우드 응용 프로그램 플랫폼은 애플리케이션 런타임, 데이터 저장소, 메시지 큐, 이벤트 시스템을 확장 가능한 서비스로 제공하여 Salesforce 애플리케이션에 대한 확장을 구축할 수 있게 합니다.
Heroku에서 실행되는 응용 프로그램은 전체 Salesforce 기능, 고객 데이터, 비즈니스 논리에 액세스하고 타사 시스템 및 서비스와 연결할 수 있습니다. Heroku를 사용하면 개발자가 기본 인프라 문제로 인해 부담을 받지 않고 가치 제공에 집중할 수 있습니다.
## 9\. 자동화
자동화는 앱을 동적으로 만들고 필수 비즈니스 프로세스의 디지털 변환에 매우 중요합니다.
Salesforce 프로세스 자동화는 조직의 규모가 증가함에 따라 간소화되고 효율적인 비즈니스 프로세스의 필요성을 비롯해 고객이 직면하는 주요 문제를 해결하기 위해 만들어졌습니다. 이러한 문제는 과도한 수작업 노력이 필요한 워크플로와 관련된 경우가 많아 비효율성과 운영 비용이 증가합니다. 고객은 해당 프로세스를 자동화하고 수동 작업을 최소화하며 일관성과 정확성을 유지할 수 있는 솔루션을 찾고 있습니다.
중요한 문제는 비기술 사용자가 광범위한 코딩 기술 없이 비즈니스 프로세스를 설계 및 구현할 수 있는 사용자 친화적인 도구가 없다는 점입니다. 또한 데이터 입력, 승인, 알림, 복잡한 다단계 프로세스와 같은 기존 자동화된 Salesforce 과업과 안전하고 확장 가능하며 원활하게 통합할 수 있는 솔루션이 필요했습니다.
Salesforce 프로세스 자동화는 자동화된 워크플로우를 생성할 수 있는 강력하지만 직관적인 플랫폼을 제공하여 이러한 요구를 충족합니다. 이를 통해 기술 및 비기술 사용자가 접근할 수 있는 시각적 인터페이스를 이용하여 플로를 구축하고 사용자 정의할 수 있으며, 반복 작업을 자동화하고 비즈니스 규칙을 적용하며 Salesforce 에코시스템 내에서 프로세스를 간소화할 수 있습니다.
트랜잭션 데이터와 상호 작용하는 복잡한 오케스트레이션이 필요한 자동화의 경우 Salesforce는 비즈니스 로직을 작성할 수 있는 프로코드 언어로 Apex를 제공합니다.
### 9.1 프로세스 자동화 아키텍처 및 기능
**Visual Logic Builder**: 고객 및 ISV는 끌어서 놓기 인터페이스인 Flow Builder를 사용하여 코딩 없이 프로세스 자동화 플로우를 만듭니다. 이 시각적 도구는 모든 기술 수준의 사용자가 쉽게 이용할 수 있도록 하여, 비즈니스 분석가와 관리자가 복잡한 자동화를 손쉽게 설계할 수 있게 합니다.
Flow Builder를 사용하면 고객이 핵심 플로우 엔진의 지원을 받아 다양한 컨텍스트에서 작동하는 플로우를 만들 수 있습니다.
- **레코드 트리거**: 플로우는 레코드 업데이트 또는 양식 제출 시 활성화되어 고객 작업을 기반으로 데이터 수정, 검증, 워크플로 시작을 가능하게 합니다.
- **예약 또는 이벤트 기반 플로**: 이러한 플로우는 사전에 정해진 일정이나 특정 이벤트 후에 작동하며, 외부 서비스에 콜아웃할 수 있습니다.
- **스크린 플로우**: 데이터 입력, 문제 해결 또는 온보딩과 같은 과업에 유용한 양식, 화면 및 기타 대화형 요소가 포함된 단계별 안내 프로세스에 대한 사용자 인터페이스를 제공합니다.
- **오케스트레이터 플로우**: 여러 단계의 프로세스를 관리하고 통합하여 복잡한 작업을 처리할 수 있습니다.
오프라인 플로 엔진은 Salesforce 앱 서버에 연결하지 않고 실행할 수 있습니다. 오프라인 플로우는 Field Service 모바일 사용 사례에 대한 자동화를 지원합니다. 대규모 플로우 엔진은 마케팅 플로우를 구동합니다. 한 번에 다수의 장기 실행 플로우를 처리할 수 있도록 B2C 규모의 확장성을 제공합니다.
모든 사용 사례 및 환경은 Flow Builder의 통합 메타데이터 모델에 의해 향상되며, 이는 모든 프로세스 자동화 플로우에 적용되는 다양한 강력한 논리 요소를 지원합니다.
- **고급 논리 및 조건**: 사용자는 결정 요소, 루프, 대기 조건과 같은 복잡한 논리를 워크플로우에 통합할 수 있어 복잡한 비즈니스 시나리오를 처리할 수 있습니다.
- **데이터 관리 및 변환**: Flow Builder는 웹 서비스, Salesforce 조직, Data 360을 비롯한 다양한 소스에서 데이터를 수집, 변환, 관리할 수 있습니다. 레코드 생성, 업데이트, 삭제, 쿼리와 같은 포괄적인 데이터 작업을 지원합니다.
### 9.2 Salesforce Platform 전반의 자동화
Salesforce 프로세스 자동화는 다른 Salesforce 제품 및 타사 시스템과 원활하게 통합되어, 응용 프로그램 간의 원활한 데이터 흐름을 보장함으로써 비즈니스 프로세스와 고객 상호작용에 대한 통합된 뷰를 제공합니다. API, 웹 콜아웃, MuleSoft 커넥터와 같은 다양한 통합 방법을 지원합니다.
Salesforce 내의 외부 서비스 및 MuleSoft 연결을 사용하면 외부 API에 연결하고 Salesforce 프로세스 자동화 내에서 데이터를 활용할 수 있습니다. API 스키마를 등록하면 플로우에 원활하게 통합되는 호출 가능한 작업을 만들 수 있으므로 외부 데이터 소스로 프로세스를 쉽게 자동화할 수 있습니다. MuleSoft의 강력한 통합 기능은 Salesforce와 다른 응용 프로그램 간의 원활한 데이터 흐름을 보장하여 데이터 사일로를 제거하고 비즈니스 프로세스에 대한 통합된 뷰를 제공합니다.
**Agentforce 통합**: Salesforce 프로세스 자동화는 Agentforce를 활용하여 지능형 의사 결정을 통해 워크플로우를 향상합니다. AI 인사이트를 사용하여 리드를 적절한 판매 담당자에게 자동으로 전달하거나 고객 동작을 기반으로 맞춤형 마케팅 캠페인을 시작하여 인텔리전스를 추가하여 자동화의 효율성을 높입니다.
**Platform Synergy**: Salesforce 프로세스 자동화는 Sales Cloud, Service Cloud, Commerce Cloud, Marketing Cloud와 같은 다른 Salesforce 제품과 원활하게 통합됩니다. 이 통합을 통해 조직은 다양한 부서에서 프로세스를 자동화하여 운영 효율성을 향상할 수 있습니다. 예를 들어, 워크플로는 Marketing Cloud 양식을 통해 고객 컴플레인이 제출될 때 Service Cloud에서 지원 사례를 자동으로 생성할 수 있습니다.
### 9.3 Apex를 통한 Pro-Code 자동화
Apex 개발자가 사용자 정의 비즈니스 논리를 작성하고 Salesforce Platform에서 복잡한 작업을 수행할 수 있는 강력하고 개체 지향적인 프로그래밍 언어입니다. Apex는 우리 플랫폼의 핵심 요소였으며, 현재 플랫폼은 매월 3,500억 건 이상의 Apex 트랜잭션을 처리합니다(2025년 10월 기준).
Apex는 Salesforce 플랫폼에서 광범위한 사용자 정의 기능과 심층 통합을 개발하는 데 사용됩니다. 예를 들면 다음과 같습니다:
- **트리거 기반 자동화**: 레코드가 삽입, 업데이트 또는 삭제되기 전이나 후에 실행되는 복잡한 자동화를 구현합니다. 이렇게 하면 복잡한 데이터 유효성 검사, 관련 레코드 업데이트, 특정 데이터 변경 사항을 기반으로 다른 프로세스를 호출할 수 있습니다.
- **웹 서비스:** 외부 시스템과 사용자 정의 통합을 구축하고, Apex에서 REST 또는 SOAP API를 호출합니다.
- **사용자 지정 사용자 인터페이스**: Apex 데이터 조작 및 비즈니스 논리를 처리하는 백엔드 컨트롤러 역할을 하는 Visualforce 및 Lightning 웹 구성 요소(LWC)를 사용하여 고도로 사용자 정의된 사용자 인터페이스 및 환경을 구축합니다.
- **사용자 정의 API:** 개발자는 Apex REST 및 Apex SOAP를 사용하여 API로 사용자 정의 논리를 노출할 수 있으므로 외부 시스템이 Salesforce 데이터 및 프로세스와 프로그래밍 방식으로 상호 작용할 수 있습니다.
- **비동기 처리**: 향후 메서드, Queueable Apex, 예약된 Apex를 통해 장기 실행 또는 자원 집약적인 작업을 비동기적으로 실행합니다. 이를 통해 장기 실행 작업을 백그라운드에서 오프로드하고 처리하여 사용자 경험과 시스템 성능을 개선할 수 있습니다.
- **예약된 Apex:** 개발자는 Apex Scheduler를 사용하여 특정 시간에 Apex 클래스를 실행하도록 예약하여 일별 데이터 동기화, 보고서 생성 및 유지 관리 작업과 같은 정기적인 작업을 수행할 수 있습니다.
## 10\. 사용자 환경
Salesforce Platform의 사용자 환경 기능을 사용하면 최종 사용자가 브라우저 기반 Lightning 응용 프로그램, 익스피리언스 사이트, 모바일 네이티브, AI 지향, 공동 작업 UX 또는 Lightning Out을 사용하여 다양한 배포 옵션을 통해 응용 프로그램과 상호 작용할 수 있습니다.
### 10.1 Lightning 설계 시스템
Salesforce Lightning 설계 시스템(SLDS)은 모든 제품에 걸쳐 일관된 사용자 경험을 제공하기 위해 Salesforce의 설계 원칙에 따라 일관되고 액세스 가능한 사용자 인터페이스를 만드는 포괄적인 설계 프레임워크입니다. 이를 통해 Salesforce 엔지니어, 고객 및 파트너들이 Salesforce 에코시스템 전반에서 네이티브 애플리케이션을 구축할 수 있습니다.
설계 시스템의 주요 기능은 다음과 같습니다.
- **설계 패턴**: 일반적인 설계 문제에 대한 입증된 솔루션으로 레이아웃, 데이터 프레젠테이션, 사용자 상호 작용에 대한 지침을 제공하여 일관적인 사용자 환경을 보장합니다.
- **스타일링 후크**: 색상, 타이포그래피, 간격, 크기와 같은 설계 결정을 나타내는 CSS 변수로, 애플리케이션 전반에서 일관성을 보장합니다.
- **Lightning Base 구성 요소 라이브러리**: 빠르고 효율적으로 개발할 수 있도록 Salesforce의 설계 원칙을 준수하는 버튼, 양식 요소, 탐색 요소와 같은 재사용 가능한 UI 구성 요소 컬렉션입니다.
- **가용성**: 장애인이 모든 구성 요소를 사용할 수 있도록 하며 웹 콘텐츠 접근성 지침(WCAG)과 같은 표준을 준수하는 내장된 액세스 가능성 기능 및 지침.
- **반응형 레이아웃**: 응용 프로그램이 다양한 장치 및 화면 크기에 원활하게 적응할 수 있도록 하는 유연한 그리드 시스템과 레이아웃 지침입니다.
- **툴링**: 구성 요소 위생, 안티 패턴 감소, 설계 시스템 거버넌스를 지원하는 도구, 자원, 기술 컬렉션입니다.
SLDS 프레임워크는 더 풍부한 스타일링 후크와 더 깊은 사용자 정의 기능을 지원하도록 계속 진화하고 있습니다. 이를 통해 구성 요소를 재사용하면서도 독특한 브랜드 및 테마 요구 사항을 충족하도록 사용자 정의할 수 있습니다. Salesforce의 설계 시스템 목표는 AI와 함께 Salesforce를 빠르고 간편하며 매력적으로 사용할 수 있도록 만드는 것입니다.
### 10.2 Lightning 웹 스택
Salesforce의 브라우저 기반 인터페이스(Lightning)는 일관된 UI 컨테이너와 메타데이터 기반 UI 프레임워크를 제공하며, Salesforce 엔지니어, IT 관리자, 개발자 및 파트너가 일관된 Salesforce 미학을 바탕으로 UI를 신속하게 개발할 수 있는 기술을 제공하며, 스타일을 변경하고 브랜드를 다시 지정할 수 있는 완벽한 제어 기능을 제공합니다. Lightning Web Stack에는 다음과 같은 몇 가지 기술이 포함되어 있습니다.
- **Lightning 웹 구성 요소**: HTML 및 JavaScript로 작성된 사용자 정의 웹 구성 요소로서 W3C 웹 표준을 준수합니다.
- **Lightning 웹 보안**: 브라우저에서 JavaScript 코드를 관리하여 타사 코드에 대한 Salesforce의 보안 표준을 준수하는 가상화 엔진입니다.
- **Lightning 데이터 서비스**: 서버측 데이터와 효율적으로 상호 작용하도록 설계된 프레임워크입니다.
- **Lightning Web Runtime**: 다양한 클라이언트에서 성능이 뛰어난 일관된 UI 렌더링을 보장합니다.
Salesforce 엔지니어링은 이전 UI 기술의 교훈을 통합하고 웹 표준 기관에 기여하여 표준 기반 구성 요소 구현 개발에 영향을 미쳤습니다. 예를 들어 Salesforce는 계속해서 약 20개의 W3C 작업 그룹의 구성원입니다. Lightning Web Components 및 Lightning Web Stack은 이러한 업계 표준에 부합하여 개발자의 복잡성을 줄여줍니다.
### 10.3 모바일
모바일은 계속해서 사용자들이 Salesforce 앱과 상호 작용하는 데 있어 점점 더 중요해지고 있는 인터페이스입니다.
Salesforce는 네이티브 모바일 앱을 제공하므로 모든 브라우저 기반 Lightning 앱이 새 코드를 작성할 필요 없이 모바일 앱이 됩니다. Salesforce는 장치에 최적화된 완전 사용자 정의 기본 앱을 만들 수 있는 다양한 도구, SDK, 기능도 제공합니다. 다음이 포함됩니다.
- **모바일 SDK**: 인증, 세션/토큰 관리, Salesforce API 등과 통합을 간소화하는 모바일 운영 체제 전반의 개발자를 위한 프로 코드 인터페이스입니다.
- **모바일 기본 런타임**: 개발자가 iOS 및 Android 기술을 활용하여, 장치의 기능을 적극적으로 활용하면서 런타임에 동적으로 렌더링되는 메타데이터 기반의 네이티브 경험을 만들 수 있도록 합니다.
- **브랜딩**: Mobile Publisher 파이프라인을 통해 모바일 앱의 디자인을 사용자 정의하여 Salesforce 모바일 앱을 고객 브랜드 앱으로 변환할 수 있습니다.
- **오프라인 기능**: 불안정하거나 전혀 없는 인터넷 연결 상황에서도 앱 기능이 원활하게 작동하도록 보장합니다.
MCF(모바일 사용자 정의 프레임워크)는 사용 편의성과 광범위한 사용자 정의 옵션을 제공하여 기본 Salesforce 모바일 앱 개발을 크게 향상시킵니다. 주요 장점은 다음과 같습니다.
- **메타데이터 기반 접근 방식**: MCF는 시각적 빌더, 공통 리포지토리, Salesforce 호스팅 리소스에서 가져올 수 있는 메타데이터를 활용하여 특정 요구에 맞춰 동적이고 적응 가능한 사용자 환경을 만듭니다.
- **실험 및 최적화**: 프레임워크는 다양한 레이아웃에 대한 런타임 실험을 지원함으로써 지속적인 참여 최적화와 사용자 경험 개선을 도모할 수 있습니다.
- **확장성**: 유연성을 위해 설계된 MCF를 사용하면 사용자 정의 구성 요소를 핵심 메타데이터 프레임워크에 통합하여 기능과 다양성을 향상할 수 있습니다.
- **구성 가능한 사용자 환경**: 최신 iOS 및 Android 기술을 활용하여, MCF는 버튼, 목록, 카드 등과 같은 재사용 가능한 구성 요소를 조합해 정교한 사용자 인터페이스를 만들 수 있도록 지원합니다.
- **런타임 사용자 정의**: MCF는 실시간 UI 사용자 정의 및 실험을 활성화하여 더욱 맞춤화되고 매력적인 사용자 환경을 조성합니다.
오프라인 및 낮은 연결 상태의 상황은 모바일 장치에서 앱을 사용할 때 더욱 우려되는 사항입니다. 모바일 기술 스택은 오프라인 우선 앱 구축을 최우선으로 합니다. 주요 기능은 다음과 같습니다.
- **캐시 우선 경험**: 오프라인 사용을 위해 데이터 캐싱에 중점을 두어 고성능과 보안을 보장합니다. 또한 사용자 상호 작용은 오프라인 렌더링 원칙을 염두에 두고 설계되었습니다.
- **캐시 관리**: 오프라인 상태에서도 캐시가 최신 상태를 유지하며 유효성을 보장합니다.
- **공유 캐시**: 네이티브 화면과 하이브리드 화면 모두에 단일 캐시를 활용하여 원활한 오프라인 환경을 제공합니다.
Nimbus는 플랫폼의 프로덕션 지원 솔루션으로 하이브리드 앱 개발자의 장치 기능에 액세스하는 프로세스를 간소화합니다. 기존에는 JavaScript와 모바일 네이티브 코드 간의 격차를 해소하는 작업이 복잡했습니다. 그러나 Nimbus를 사용하면 개발자가 낮은 수준의 코딩을 탐색하지 않고도 모바일 장치의 전체 잠재력을 활용할 수 있습니다. 주요 기능은 다음과 같습니다.
- **넓은 접근**: 카메라, 마이크, 지리적 위치, LiDAR과 같은 다양한 장치 기능과 원활하게 통합할 수 있습니다.
- **표준화된 인터페이스**: 장치 기능에 액세스하기 위한 일관된 방법을 제공합니다.
- **하이브리드 앱 통합**: 하이브리드 앱을 활성화하여 장치 기능을 완전히 활용합니다.
- **효율적인 개발**: 앱 개발 프로세스를 간소화하여 복잡성을 줄입니다.
AI가 Salesforce 앱의 가능성을 지속적으로 확장함에 따라, Salesforce는 클라우드 기반 솔루션과 함께 장치 내 과업별 AI 모델을 활용하여 차별화된 사용자 경험을 제공합니다.
- **소규모 언어 모델(SLM):** 모바일 장치에서 효율적으로 저렴한 비용으로 실행할 수 있습니다.
- **개인 정보 보호 및 보안:** 사용자의 개인정보를 보호하고 서버 기반 모델과 비슷한 수준의 신뢰 및 보안을 유지합니다.
- **오프라인 기능:** 연결이 적은 환경에서 효과적으로 작동하여 오프라인 사용 사례를 활성화합니다.
- **음성:** 이제 최첨단 음성 인식(Speech-to-Text), 자연어 음성 합성(Text-to-Speech), 화자 분리(Speaker Diarization) 모델이 장치에서 기본적으로 실행되어, 완전한 프라이버시와 제로 레이턴시로 고충실도의 음성 상호작용을 제공합니다.
### 10.4 AI 및 공동 작업
자연어 및 앱과의 다중 턴 상호작용을 위한 비모델 UI는 앞으로도 계속 보편화될 것입니다. 향후 개발은 모델, 장치 기능, 응용 프로그램 간 통합을 향상하고 보다 직관적인 음성 및 텍스트 인터페이스를 통해 사용자 상호 작용을 개선할 것으로 예상됩니다. 장치 내 메트릭 수집은 사용자 기본 설정을 기반으로 개인화된 조정을 가능하게 합니다.
자동화와 인적 감독의 결합된 강점을 활용하려면 사람과 에이전트를 모두 포함한 모든 사용자 간 공동 작업이 필수적입니다. 이러한 공동 작업은 조직의 직원 및 고객과 관련된 복잡한 비즈니스 상호 작용에 특히 중요합니다. Slack은 Salesforce Platform 내의 기본 도구로 사용되며, 특정 토론 주제에 적합한 다이렉트 메시지 및 다중 사용자 채널을 통해 상호 작용을 촉진합니다. 이러한 토론은 사용자 생성의 자발적인 대화에서 상당한 고객 문제를 해결하는 자세한 Slack 메시지 스레드 등 사용자의 워크플로 내에서 특정 데이터를 중심으로 하는 더 구조화된 대화에 이르기까지 다양합니다.
Salesforce Platform은 향후 현재 Slack에서 제공하는 공동 작업 환경을 향상할 계획입니다. 이 확장은 플랫폼의 광범위한 기능을 최대한 활용하여 사용자가 디지털 작업 영역 내에서 상호 작용하고 공동 작업하는 방식을 강화합니다.
## 11\. 개발자 환경
플랫폼의 개발자 경험 기능은 앱을 구축, 사용자 정의, 테스트, 배포할 수 있는 도구를 제공하며, 프로 코드 접근 방식을 통해 하위 코드의 스펙트럼에 초점을 맞추어 모든 기술 수준의 개발자에게 동등한 기회를 제공합니다.
- **로우 코드 도구**: 데이터 모델을 위한 스키마 빌더, 비즈니스 규칙을 위한 Flow, 그리고 UI 사용자 지정을 위한 AppBuilder 등이 포함되며, 모두 구조화된 메타데이터를 조작하고 기술적 개념 및 용어 대신 비즈니스 솔루션의 언어로 작업하여 개발 프로세스를 간소화하도록 설계되었습니다.
- **프로 코드 도구**: 다양한 복잡한 사용자 정의가 필요한 개발자를 위해 플랫폼은 고급 코딩 및 구성 요소 생성을 위한 CLI(명령줄 인터페이스) 및 API와 함께 클라우드 기반 IDE인 Salesforce Code Builder와 같은 도구를 제공합니다. 개발자는 Heroku를 사용하여 앱을 배포, 관리, 최적화하기 위한 솔루션을 활용하여 원하는 언어로 코딩할 수 있습니다.
- **통합 개발 환경**: Salesforce 에코시스템은 로우코드 및 프로코드 도구 간의 원활한 통합과, 산업 표준 도구를 사용하여 클라우드와 로컬 환경 모두에서 일관된 개발을 지원합니다.
- **어플리케이션 수명 주기 관리(ALM)**: 초기 개발을 위한 스크래치 조직과, 프로덕션과 유사한 데이터 및 규모에서 테스트할 수 있는 전체 샌드박스 조직 등, 운영 환경과 별도로 개발할 수 있는 다양한 샌드박스 조직을 제공합니다.
### 개발자용 11.1 AI
AI 및 "개발자 도우미"는 효율적이고 고품질 응용 프로그램 생성을 간소화하고 가속화하여 개발자 환경을 혁신하고 있습니다. Salesforce의 AI 연구 및 개발자 경험 팀은 예측 및 생성형 AI와 에이전트 기반 추론을 강력한 개발자 에이전트로 전환할 수 있는 방법을 지속적으로 반복하고 탐구하고 있습니다. 이러한 개발자 에이전트는 VS Code, Code Builder, 명령줄, DevOps Center 및 Code Analyzer와 같은 개발자가 이미 사용하고 있는 도구와 기본적으로 통합되어 관련성과 영향력을 높입니다.
우리는 Apex 코드의 안티 패턴 및 핫스팟을 식별하기 위해 코드 분석에서 상당한 발전을 거쳤으며, 그 구현을 개선하기 위한 중요한 권장 사항을 제공했습니다. 식별된 문제는 일반적으로 컴퓨팅 자원을 낭비하며 종종 대규모 사고로 이어집니다. 이 기능은 2024년 1월에 ApexGuru 인사이트로 출시되었습니다.
출시 후 첫 해에 2,800개가 넘는 Salesforce 조직이 ApexGuru를 사용하여 Salesforce 구현을 분석하고 개선했습니다. 22,000개가 넘는 권장 사항이 성공적으로 구현되었으므로 매주 28,000시간의 CPU 시간을 절약할 수 있습니다. 이 개선 사항은 성능을 높일 뿐만 아니라 지속 가능성 및 탄소 배출 절감에 대한 서약의 핵심 가치와 일치함으로써 매주 135kg의 CO2 배출을 줄여 환경 지속 가능성에도 기여합니다.
또한 AI를 프로 코드 개발자 도구 및 기능에 통합하여 개발자 생산성을 향상시킵니다. 2024년에 "개발자용 Agentforce"로 제품화되어, 개발자들은 Visual Studio Code와 Code Builder의 Salesforce Extension 팩 내에서 이러한 새로운 기능을 이용할 수 있습니다. 이 확장 프로그램들은 다음과 같은 기능을 제공합니다:
- 개발자가 코드를 작성하는 동안 Apex 및 Lightning 웹 구성 요소(JavaScript, CSS, HTML)에 대한 인라인 코드 제안 및 코드 생성을 제공합니다.
- Apex 및 Lightning 웹 구성 요소에 대한 코드 설명 및 문서 생성
- Apex 단위 테스트 코드 생성을 제공합니다.
- IDE 내에서 여러 차례의 대화가 가능한 고유한 다중 턴 채팅 환경을 제공하여, 코드 생성, 설명, 문서화에 대해 여러 응답을 처리할 수 있습니다.
- Lightning 웹 구성 요소 최적화를 제공합니다.
- 에이전트 테스트 및 디버깅 기능을 포함하여 사람이 읽을 수 있는 YAML 메타데이터가 포함된 에이전트 생성을 제공합니다.
2025년 10월 기준으로 42,000명 이상의 개발자가 매월 이 기술을 활발하게 사용하고 있으며, 1,760만 줄의 코드가 수락되었습니다. 이 포괄적인 제품군은 유연하고 통합적이며 효율적인 개발 환경을 제공하므로 Salesforce Platform 내의 광범위한 개발 요구 사항을 충족할 수 있습니다. 또한 AI 개발자 도구는 여러 외부 및 Salesforce 자체 모델에서 작동하는 아키텍처로 강화되어, 주어진 사용 사례에 가장 효과적이고 효율적인 모델을 선택할 수 있습니다.
### 11.2 MCP 지원 및 AI 지원 코딩
모델 컨텍스트 프로토콜(MCP)은 AI 에이전트가 도구 또는 데이터 소스와 안전하고 일관적으로 상호 작용할 수 있도록 설계된 새롭게 나타나는 개방형 표준입니다. Salesforce는 기본적으로 MCP 지원을 Salesforce 개발자 툴킷에 통합하여 엔터프라이즈 전반의 기능 및 도구에 액세스할 수 있는 개발자 에이전트를 지원합니다. 여기에는 다음이 포함됩니다.
- **로컬 MCP 서버:** 로컬 MCP 서버를 사용하면 개발자가 프로덕션에 배포하기 전에 로컬 IDE 내에서 에이전트 통합을 쉽게 구축, 테스트, 디버그할 수 있으므로 생산성이 크게 향상됩니다. 로컬 MCP 서버는 모바일 개발, 액세스 가능성 테스트, Aura-to-LWC 마이그레이션, 에이전트 DevOps 등 조직 상호 작용 및 개발 워크플로를 위한 특수 도구를 제공합니다. 로컬 MCP 서버에는 에이전트 기반 추론 및 LLM과의 통합도 포함되어 있어 개발자가 앱을 반복적으로 자연어로 "vibe code"할 수 있도록 더욱 지원합니다.
- **Salesforce API를 위한 사용자 정의 MCP 서버:** 이제 개발자는 Salesforce API, Data 360 개체, 자동화 플로우를 MCP "도구"로 안전하게 노출할 수 있습니다. 이렇게 하면 전체 Salesforce Platform이 모든 외부 AI 에이전트 또는 응용 프로그램에 대해 풍부하고 신뢰할 수 있고 검색 가능한 기능 집합으로 전환되며 세분화된 액세스 제어와 새로운 소비 기반 수익화 모델의 잠재력이 포함됩니다.
- **네이티브 외부 MCP 연결:** 개발자는 MCP 표준을 준수하는 외부 서버에 대한 연결을 안전하게 관리할 수도 있습니다. 이를 통해 개발자는 엔터프라이즈 전반에서 작업할 수 있는 에이전트를 구축할 수 있습니다.
## 12\. 응용 프로그램 제품군
Sales Cloud, Service Cloud, Marketing Cloud, Revenue Cloud 및 Commerce Cloud를 비롯한 애플리케이션 클라우드는 Salesforce Platform에 구축되어 선도적인 비즈니스 기능을 제공하며 고객 성공을 촉진하는 애플리케이션 제품군을 구성합니다. 주요 기능은 다음과 같습니다.
- **완벽한 통합**: 고객 여정 전반에서 일관되게 작업하고 고객 접점 전반에서 원활한 데이터 및 프로세스 흐름을 보장하도록 설계되어 고객 경험을 향상합니다.
- **엔드 투 엔드 사용자 정의 기능**: 플랫폼에 구축된 응용 프로그램은 코드 없음에서 프로 코드까지 광범위한 사용자 정의 옵션을 제공하므로 고객 요구에 맞게 정밀하게 조정할 수 있습니다.
- **고급 AI 기능**: Agentforce를 사용하여 에이전트 지원 및 에이전트 자율형 대화형 채널 기반 워크플로를 제공합니다. 예측 및 생성형 AI를 통합하여 자동화, 예측 분석, 맞춤형 사용자 환경을 통해 효율성을 높이고 실행 가능한 인사이트와 권장 사항을 제공합니다.
- **실시간 데이터 처리**: Data 360을 활용하여 실시간 데이터 액세스 및 분석을 통해 최신 정보를 기반으로 적시에 정보에 근거한 의사 결정을 내릴 수 있습니다. 이렇게 하면 빠르게 변화하는 환경에서 반응성과 민첩성이 향상됩니다.
- **통합 데이터 및 애널리틱스**: 일관되고 포괄적인 데이터 보기를 위해 다양한 데이터 소스를 중앙화된 플랫폼에 통합하여 정확한 분석을 제공하고 의사 결정을 개선합니다.
- **향상된 보안 및 규정 준수**: 민감한 데이터를 보호하고 규제 표준을 충족하기 위한 강력한 보안 및 규정 준수 도구를 제공합니다.
- **소비자급 사용자 경험**: 직관적이고 사용자 친화적인 인터페이스를 제공하여 장치, 채널, 다양한 방식에서 애플리케이션에 쉽게 접근하고 효과적으로 사용할 수 있습니다.
- **신뢰성**: 가동 중지 시간을 최소화하고 확장성을 보장하여 긴급 서비스 및 중요 운송 시스템 등 임무 및 생명에 중요한 작업을 지원합니다.
- **탄력적 확장성**: Hyperforce 기반으로 구축되어, 성능이나 서비스 비용을 희생하지 않고 데이터 및 사용자 상호작용량이 증가해도 지원할 수 있습니다.
- **지속적인 개선**: 기존 작업을 중단하지 않고도 혁신을 정기적으로 통합하여 기능을 향상합니다.
Salesforce는 이 백서에 설명된 기본 기술을 기반으로 플랫폼 전체에서 기능을 통합하여 응용 프로그램을 발전시키는 데 전념합니다. 이 변화는 Salesforce의 애플리케이션 제품군의 설계 및 개발을 형성하는 주요 우선순위에 의해 이끌어집니다.
### 12.1 규모 및 성능
우리 애플리케이션 팀은 성능 및 확장성을 전문으로 하며, 고급 성능 실험실을 활용하여 합성 데이터를 사용해 운영 환경의 정확한 복제본을 만듭니다. 이 설정을 통해 각 새로운 기능이 철저하게 성능 테스트를 거치고 그 영향을 평가할 수 있도록 병렬 사용자 여정을 광범위하게 시뮬레이션할 수 있습니다. 런타임 병목 현상이 식별되면, 시스템 상태를 보호하기 위해 속도 제한과 기타 조치를 동적으로 조정하고, 문제 해결을 위한 데이터를 수집합니다.
우리 시스템은 공개 클라우드의 유연성을 효과적으로 활용할 수 있도록 수평 확장에 맞게 설계되었습니다. 자동 점검을 통해 업데이트 또는 개선 사항이 성능에 부정적인 영향을 미치지 않도록 합니다. 예측 자동 스케일러를 사용하여 시스템 부하를 선제적으로 관리합니다. 이 스케일러는 단순히 수요 증가에 반응하는 것이 아니라, 미리 예측하고 조정합니다.
자동 확장은 미사용 용량을 줄여 서비스 비용을 최소화하는 데 매우 중요합니다. 시스템 실행 비용을 면밀하게 모니터링하여 오토스케일링 또는 리소스 사용의 비효율성을 식별하고 해결합니다. 비용 효율성이 중요하지만 신뢰할 수 있는 애플리케이션 전달을 우선시하며, 비용이 더 들더라도 빠르게 확장하고 느리게 축소하여 고객 신뢰를 유지하는 자동 스케일러를 선택합니다.
### 12.2 원활한 통합
#### 일반 데이터 모델
데이터 모델은 Salesforce의 모든 비즈니스 운영에 기본적이며, 비즈니스 기능, API, 탐색, UI 디스플레이, 생성할 수 있는 보고서에 영향을 미칩니다. 이들은 플랫폼 기능의 필수 요소입니다.
Sales Cloud, Service Cloud, Revenue Cloud, Commerce Cloud, Marketing Cloud, Industries Cloud에서 공통 데이터 모델을 공유합니다. 이는 우리의 통합 제품군에 기여하여 일관된 동작과 상호 운용성을 제공하고, 업그레이드 및 확장을 위한 명확한 경로를 제공합니다.
예를 들어 모든 클라우드에서 계정 및 제품 엔티티를 공유하면 Marketing Cloud 및 Sales Cloud의 사용자가 데이터, 메타데이터, UI 구성 요소, 비즈니스 논리를 교환할 수 있습니다. 이 통합은 사일로를 허물고 기능 간 협업을 촉진하는 데 도움이 됩니다.
#### 가상 데이터 플랫폼
모든 Salesforce Cloud에서 공통 데이터 모델을 사용하면 통합이 크게 향상되지만, 모든 복잡한 파트너 통합 요구 사항을 충족하지 못할 수 있습니다. Data 360 일반 데이터 모델은 공유 데이터 모델 이점을 Salesforce의 일반적인 데이터 경계 이상으로 확장하여 더 광범위한 통합 시나리오를 수용합니다.
#### 계층형 확장성
Salesforce의 메타데이터 프레임워크를 사용하면 엔지니어링 팀, ISV, 파트너, 관리자, 최종 사용자와 같은 다양한 그룹이 서로 간섭하지 않고 고유한 확장성 계층 내에서 응용 프로그램을 사용자 정의하고 확장할 수 있습니다. 이 구조는 한 그룹의 수정이 다른 그룹에 영향을 주지 않고 시스템 무결성을 유지하는 확장 가능한 환경을 지원합니다.
실제 적용된 프레임워크의 대표적인 예는 통합 지식 제품으로, 모든 지식 소스를 데이터 레이크로 통합합니다. 이 설정에는 시맨틱 레이어와 검색기가 포함되어 있으며, Sales Cloud, Service Cloud, Revenue Cloud, Marketing Cloud, Commerce Cloud 전반에서 예측 및 생성형 AI 기능을 강화합니다. 기존의 구조화된 Knowledge 모델에 연결된 비정형 및 세미정형 Knowledge 데이터 모델을 통합합니다.
또한 프레임워크는 메타데이터를 사용하여 데이터 유형 간의 사용자 정의 관계를 정의하여 고급 쿼리 생성을 촉진합니다. 이를 통해 애플리케이션 팀은 이 포괄적인 Knowledge 기반을 활용하는 사용자 정의 가능한 애플리케이션을 만들 수 있으며, ISV, 파트너 및 고객은 메타데이터 관계를 수정하거나 특정 비즈니스 사용 사례에 맞게 사용자 정의 검색기를 개발하여 애플리케이션 기능을 더욱 향상할 수 있습니다.
#### 공통 데이터 플랫폼 향상
고객 데이터는 SalesforceDB 및 Data 360과 같은 다양한 플랫폼에서 안전하게 저장되며, 구조화된 형식 또는 비정형 형식에 관계없이 표준화되고 정규화됩니다. 이렇게 하면 모든 고객 데이터 전반에서 통합 데이터 플랫폼을 지원하는 sObject라는 통합 형식을 통해 일관된 데이터를 처리할 수 있습니다.
이 표준화를 통해 모든 데이터 작업에 단일 API, Apex 트리거를 위한 통합 인터페이스, 플로를 사용하여 사용자 정의 워크플로 만들기를 지원합니다. 또한 Tableau Next를 지원하여, 맞춤형 데이터 보기와 프롬프트 빌더와 같은 생성형 AI 도구와의 통합을 통해 고객 데이터를 기반으로 지능형 응답을 생성할 수 있습니다.
또한 Salesforce 응용 프로그램은 다양한 데이터 저장소와 통합되어 제품 내 비즈니스 프로세스의 유연성을 향상합니다. 예를 들어 Marketing Cloud에서 플로는 미리 설계된 템플릿을 사용하거나 기본 고객 데이터를 기반으로 다른 비즈니스 프로세스와 마케팅을 통합하는 사용자 정의 플로를 구축하는 옵션과 함께 멀티 터치 고객 환경을 관리하는 데 사용됩니다.
### 12.3 공유 비즈니스 기능
응용 프로그램은 ID 확인, 콘텐츠 오케스트레이션, 개인화, 분석, LLM 게이트웨이, 추론 서비스와 같은 공유 서비스를 활용하고 향상하여 신속한 혁신과 제공을 지원합니다. 이러한 서비스는 실시간 데이터 처리, AI 기반 인사이트, 향상된 사용자 경험을 지원하여 포괄적인 360도 고객 보기를 제공합니다.
지능형 자동화 및 예측 분석을 통한 효율성 향상, 데이터 및 사용자 상호 작용을 향상하기 위한 확장성, 강력한 보안 및 규정 준수 등이 있습니다. 플랫폼의 사용자 정의 기능을 사용하면 조직이 변화하는 요구에 빠르게 적응하여 성장 및 운영 우수성을 촉진할 수 있습니다.
응용 프로그램 계층의 혁신은 Salesforce Platform 및 개별 응용 프로그램에 의해 추진되어 Salesforce 에코시스템을 강화하고 응용 프로그램을 업계 리더로 만듭니다.
### 12.4 다중 채널 및 채널 최적화
Salesforce 응용 프로그램은 웹, 모바일, 이메일, SMS, WhatsApp, 기타 채널 등 다양한 플랫폼에서 사용자를 만날 수 있도록 설계되었습니다. 각 채널의 기본 기능을 최적화하여 사용자 환경 및 효율성을 향상합니다.
기능에는 Salesforce Field Service 사용자를 위한 월간 오프라인 기능, 브라우저 푸시 알림, Lightning Service Console의 서비스 에이전트를 위한 와이드스크린 레이아웃, Commerce 구매자를 위한 고성능 상점 및 공동 파일럿이 포함됩니다.
메타데이터 플랫폼을 사용하면 Salesforce, 파트너 및 고객이 이러한 기능을 즉시 활용할 수 있습니다.
### 12.5 신속한 혁신 전달
Salesforce의 기반 서비스, 플랫폼, 공유 비즈니스 기능을 통해 응용 프로그램이 시장 변화와 기술 트렌드에 신속하게 적응하여 신속한 혁신 전달을 가능하게 합니다. 예를 들어, 생성형 AI의 출현으로 Salesforce는 NLP Trust Layer 및 Intent Detection과 같은 기존 AI 서비스를 신속하게 활용하여 프롬프트 템플릿을 Universal Communications Platform에 통합했습니다. 이 통합은 제품 전반에서 메시징 및 전화 기능을 향상시켜 보다 개인적인 고객 연결을 촉진합니다.
자율형 AI 트렌드에 따라 Salesforce는 기존 투자를 활용하여 처음부터 구축할 필요 없이 에이전트를 통해 비즈니스 사용 사례를 효율적으로 자동화할 수 있는 솔루션인 Agentforce를 출시했습니다.
### 12.6 애플리케이션 제품군으로 가는 경로
Salesforce Platform에 Marketing Cloud, Revenue Cloud, Commerce Cloud를 재구축하여 이러한 클라우드를 사용하여 동일한 인프라, 플랫폼, 메타데이터, 데이터, AI, UI 구성 요소, 비즈니스 논리를 공유하고 Salesforce Platform의 모든 기능을 활용할 수 있습니다. 예를 들어, Revenue Cloud 기능을 가져오고 제약 기반 구성기, 가격 책정 엔진, 카탈로그 관리를 비롯한 기본 기능을 내장하여 제품군 전체에서 사용할 수 있는 기본 서비스를 제공합니다. 이를 통해 모든 클라우드에서 원활하게 통합할 수 있으며 Commerce Cloud 및 Marketing Cloud에서 제공하는 기능이 다른 응용 프로그램에서 활용할 수 있는 공유 비즈니스 기능의 일부가 됩니다. 이것이 바로 통합 애플리케이션 제품군 비전이 실현되었습니다.
Salesforce Platform의 여정은 Sales Cloud, Service Cloud, Marketing Cloud, Revenue Cloud, Commerce Cloud를 통합 솔루션으로 결합하는 통합 애플리케이션 제품군을 개발했습니다. Salesforce Starter Edition부터 사용할 수 있는 이 제품군은 하나의 통합 패키지에서 다중 채널 지원, 고객 관계 관리, 비즈니스 인사이트를 제공합니다. 선택한 Edition에 관계없이 사용자는 Sales Cloud, Service Cloud, Marketing Cloud, Commerce Cloud의 핵심 기능에 액세스하여 모든 수준에서 일관된 환경을 보장할 수 있습니다.
## 13\. 산업별 솔루션
금융 서비스, 건강, 생명 과학, 미디어, 에너지 및 유틸리티, 제조, 자동차, 소비재, 리테일, 탄소 중립, 공공 부문, 교육, 비영리 분야의 Salesforce Industries 제품은 응용 프로그램 제품 및 플랫폼을 확장하여 산업의 고유한 문제를 해결하는 맞춤형 솔루션을 제공합니다. 산업별 워크플로우, 규정 준수 조치, 데이터 모델을 통합하여 운영을 간소화하고 생산성을 높입니다.
Salesforce Industries 포트폴리오는 Salesforce Platform 위에 재구축되어 업종 간 조합성을 지원합니다. 이제 고객은 하나 이상의 산업별 역량을 맞춤형 솔루션으로 조립하여, 공유 메타데이터, API, 비즈니스 서비스를 활용할 수 있습니다. 이 접근 방식은 세로 차별화와 플랫폼 일관성의 균형을 맞추어 다양한 규제 및 비즈니스 컨텍스트에서 적응성과 규모를 보장합니다.
### 13.1 계층형 아키텍처 접근 방식
당사 제품은 계층형 아키텍처를 사용합니다. Salesforce Platform과 Sales Cloud, Service Cloud와 같은 수평 애플리케이션이 모든 업종 솔루션의 기반 역할을 합니다. 또한 Salesforce는 대부분의 업종에 내장된 재사용 가능한 구성 요소를 강화하는 부가가치 공통 서비스를 추가했습니다. 이러한 예에는 디지털 자동화, 타임라인, 작업 계획 등에 대한 기능이 포함됩니다. 이 레이어 위에는 사용자 의견 관리, CPQ(구성, 가격, 견적) 및 서비스 관리와 같은 가로 기능을 캡슐화하는 재사용 가능한 비즈니스 논리 레이어가 있습니다.
최상위 레이어는 특정 산업 요구 사항에 맞게 조정된 도메인별 사용자 정의를 제공하며, 기반 플랫폼을 활용하여 확장성과 효율성을 높입니다. 예를 들어, 제조 산업 분야에서 이 설정은 정확한 예측을 통해 생산 계획을 최적화합니다. 생명 과학 분야에서는 제약 영업팀에 다양한 지리적 규제 요구 사항을 준수하면서 워크플로와 샘플 처리를 효율적으로 관리할 수 있는 모바일 오프라인 솔루션을 제공합니다.
### 13.2 산업별 기능
**신뢰할 수 있는 AI 우수성**: 신뢰할 수 있는 생성형 AI 솔루션은 산업별 AI 기능을 제공합니다. 여기에는 에이전트 및 프롬프트 엔지니어링이 포함되며, 헬스케어, 생명과학, 금융 서비스와 같은 섹터에서 로우코드/노코드 자동화 및 디지털화를 지원합니다. 또한 문서/텍스트 마이닝 및 요약과 같은 기능은 대용량 데이터를 처리하는 산업에 적합하여 정보 추출 및 인사이트 수집에 도움이 됩니다.
사용자 정의된 에이전트는 에이전트와 고객 간의 3방향 커뮤니케이션을 강화하여 더 빠르게 해결할 수 있습니다. Salesforce Platform의 Trust 계층은 모든 업계의 규정 준수 및 규제 표준을 준수할 수 있도록 지원합니다.
**규제 준수 및 보안을 통한 데이터, 통찰력 및 인텔리전스**: Salesforce Industries는 GDPR, HIPAA, FedRamp 등 특정 산업 규정에 적합한 엄격한 데이터 프라이버시, 공유, 보안 조치와 함께 포괄적인 360o 보기를 제공합니다. Salesforce는 다양한 소스의 데이터를 통합하여 규정 준수 및 보안을 지원하며 테넌트 데이터 암호화용 Shield Encryption BYOK(Bring Your Own Keys)와 같은 추가 기능으로 해당 솔루션을 강화합니다.
**고급 사용자 경험**: Salesforce Industries는 산업별 요구에 맞게 조정된 원활한 사용자 경험을 강조하여 사용자 여정을 향상시킵니다. 여기에는 실천 가능한 리소스 센터, Experience Cloud 템플릿, OmniStudio 기반 솔루션과 같은 도구가 포함됩니다.
**디지털화, 통합 및 온보딩**: Salesforce Industries는 로우코드에서 노코드 솔루션을 통해 디지털화, 통합, 온보딩을 제공하며, 신규 고객을 위해 Flows 및 Omnistudio와 같은 도구를 활용하고 기존 CRM 시스템에 마이그레이션 솔루션을 제공합니다. 외부 시스템 및 데이터와의 통합은 MuleSoft에서 제공하는 커넥터를 통해 간소화됩니다. Salesforce에는 리테일 뱅킹 분쟁 관리와 같은 산업별 서비스 프로세스도 포함되어 있습니다.
**모바일 및 오프라인**: Salesforce Industries는 Salesforce 모바일 앱 및 Field Service 모바일 앱에 강력한 도메인별 지원을 제공합니다. 고도의 오프라인 지원이 필요한 고도로 전문화된 도메인의 경우 Industries는 Salesforce Mobile SDK에 구축된 맞춤형 모바일 앱을 제공합니다.
**공통 비즈니스 역량**: Salesforce Industries는 일반적인 비즈니스 기능의 기반에 구축되어 일관성과 생산성을 제공하는 동시에 은행 및 병원의 다양한 약속 예약 시스템과 같은 고유한 산업 요구에 맞춰 솔루션을 조정합니다. Salesforce는 광범위한 Salesforce 에코시스템과 통합되어 전체적인 Customer 360 보기를 제공하므로 Salesforce 제품군의 핵심적인 역할을 합니다.
## 14\. Analytics
수년간 Analytics 및 BI(비즈니스 인텔리전스) 플랫폼 시장에서 최종 사용자가 더 빠르고 데이터 중심의 결정을 내릴 수 있도록 시각적 셀프 서비스 및 AI 중심 자동 인사이트를 홍보해 왔습니다. 하지만 몇 가지 도전 과제로 인해 모든 사람이 이러한 성과를 경험하지는 못했습니다.
- **분리된 인사이트**: 인사이트는 사용자의 워크플로에 통합되지 않으므로 의사 결정에 정보를 제공하는 잠재력이 있더라도 인사이트에 대한 조치를 취하기가 어렵습니다.
- **데이터 과부하 및 사일로**: 데이터는 계속해서 빠르게 증가하고 분할화된 상태로 유지되므로 조직화 및 보안 위험이 발생합니다. 조직은 혼란스러운 셀프 서비스 데이터 환경과 잘 관리되는 제한적인 데이터 환경 간의 딜레마에 직면합니다.
- **데이터에 대한 신뢰**: 데이터가 확장되고 조각화되어 회사 데이터에서 파생된 인사이트에 대한 사용자의 신뢰가 손상되었습니다.
- **구성 가능성 부족**: 작업 프로세스에서 구성 가능성과 재사용성이 현저히 부족하여, 사용자가 업무를 반복해야 하며 명확한 수익화 경로가 제공되지 않습니다.
Tableau Next는 비즈니스 사용자와 데이터 전문가를 새로운 공동 작업 방식으로 모아 시각적 분석 순환을 확대하도록 설계되었으며, 모두 AI로 향상되었습니다. Salesforce Platform을 통해 신뢰할 수 있는 시기적절한 메트릭 및 인사이트를 제공하므로 실천 가능한 인사이트에 모든 곳에서 쉽게 액세스할 수 있습니다.
Tableau Next는 다음과 같은 과제를 해결합니다.
- 데이터 연결에서 작업으로 연결된 환경을 위한 개방적이고 구성 가능한 API 우선 플랫폼을 만듭니다. 개발 도구, 풍부한 분석 애플리케이션을 위한 구성 가능한 컴포넌트, 그리고 패키징과 배포를 관리할 수 있는 역량을 제공합니다.
- 핵심에 AI를 두어 구축하고, 데이터 전문가가 신뢰성을 보장하기 위해 효율적으로 검토하고 검증할 수 있는 도구와 함께 맥락에 맞고 관련성 있는 인사이트를 제공합니다.
- 통제된 동시에 유연한 에코시스템 내에서 빠른 셀프 서비스와 관리되는 데이터 분석을 위한 범용 시맨틱 계층으로 Tableau Semantics를 기반으로 구축합니다.
- 신뢰할 수 있고 확장 가능하며 관리되는 데이터 액세스를 위해 Data 360을 통해 실시간 클라우드 규모의 데이터 기능을 제공합니다.
- 개발자가 애플리케이션을 구축하고 수익을 창출할 수 있는 풍부한 환경과 마켓플레이스를 제공합니다.
- 인텔리전스를 핵심에 통합하여, 여러분에게 힘을 실어주는 에이전트에게 조직의 의미 체계와 지식의 힘을 제공합니다.
- 신뢰를 최우선으로 하여, 데이터, 분석, 에이전트 워크로드 및 배포의 활동과 효율성을 직접 제어하고 확인할 수 있으므로 데이터에 대한 신뢰를 가질 수 있습니다.
- Slack 및 조직의 다른 협업 도구와의 심층적이고 풍부한 통합과 함께 협업을 최우선 설계 원칙으로 활용합니다.
### 14.1 최고 수준의 애널리틱스 환경
Tableau Next는 성능을 향상하고 경험을 통합하는 개방형 플랫폼을 제공하여 Tableau의 데이터 분석 도구 리더십을 기반으로 합니다. 주요 기능은 다음과 같습니다.
- **풍부한 데이터 시각화**: Tableau의 VizQL 기술을 활용하여 광범위한 시각적 분석을 수행합니다.
- **협업 및 관리형 작업 공간**: 분석 업무를 위한 통합 인터페이스를 제공하며, 실시간 협업을 위해 Slack과 통합합니다.
- **신뢰할 수 있고 관리되는 데이터**: 안전한 환경에서 글로벌 관리를 위한 구조화된 프로모션 경로로 셀프 서비스 분석을 지원합니다.
- **고급 메트릭 작성**: 분석가가 조직 전체에서 효율적으로 KPI를 만들고 재사용할 수 있어 일관성과 신뢰성을 높일 수 있습니다.
### 14.2 에이전틱 애널리틱스
Tableau Next는 Agentforce를 기반 건축 요소로 활용하여, 고도로 연결되고 신뢰할 수 있으며 협업이 가능한 AI 기반 데이터 도구를 제공하는 능력을 강화합니다.
- **BI 도구**: 데이터 준비, 시각적 및 시맨틱 메타데이터 큐레이팅에 중점을 두고 데이터 작업자의 셀프 서비스 분석 효율성을 향상합니다.
- **컨텍스트 기반 경험**: 대부분의 조직이 작업하는 컨텍스트(예: Slack)에 데이터 인사이트, 다양한 경험, 투명한 AI를 가져옵니다.
- **Agentforce 아키텍처**: Agentforce 스택에 구축되어 고급 에이전트 기반 아키텍처에서 Tableau Next에 풍부한 컨텍스트를 제공합니다.
- **시맨틱 카탈로그**: 메타데이터, 계보, 검색을 관리할 수 있는 중앙 집중식 시스템을 제공하여 Tableau Next 사용자 전체에서 공유된 환경을 활성화합니다.
- **공유 및 생성 메타데이터**: 포괄적인 에코시스템 내에서 셀프 서비스 분석 및 관리 콘텐츠 간의 원활한 워크플로를 지원합니다.
- **작업 프레임워크**: 사전 패키지, 사람이 선별하거나 생성한 워크플로를 통해 인사이트를 실행으로 전환합니다.
- **개인화된 인사이트**. 사용자가 허용하는 범위 내에서 여러분의 데이터 선호도와 역할 등을 학습하여, 즉각적으로 맥락에 맞는 맞춤형 데이터 인사이트를 제공합니다.
- **선제적 인사이트**. 데이터 에코시스템을 지능적으로 탐색하여 통계적으로 흥미로운 지점을 찾아내고, 변화의 원인을 사전에 파악하며, 이에 대한 대응 방안과 다음 단계로 취할 조치를 권장합니다.
- **신뢰할 수 있는 데이터 에이전트**. 데이터 에이전트의 주체로서, 통합된 환경을 통해 응용 프로그램을 구축하고 조정할 수 있는 권한을 직접 행사할 수 있습니다. 또한 데이터 변경 사항이 에이전트의 정확성과 효과성에 미치는 영향을 사전에 평가할 수 있는 테스트 도구도 제공합니다.
### 14.3 통합 솔루션 기반 비즈니스 사용자 환경
Tableau Next는 Slack 및 Salesforce와 같은 다양한 플랫폼에서 비즈니스 사용자 환경을 향상하고 Tableau Pulse와 같은 새로운 분석 기능을 통해 에이전트 환경을 통해 액세스하여 분석 참여를 간소화합니다. 주요 측면은 다음과 같습니다.
- **협력**: 신뢰할 수 있는 분석에 중점을 두고 다양한 분석 구성 요소 간 상호 작용을 촉진하고 사용자의 워크플로 내에서 유효성 검사 도구를 통합합니다.
- **펄스 메트릭**: 일반 분석가가 만든 대시보드보다 선별된 인사이트와 자동화된 인사이트를 더 효율적으로 제공합니다.
- **AI 기반 환경**: AI를 활용하여 고급 분석 기술 전문 지식의 필요성을 줄여 결정적 메타데이터 및 관리 데이터의 신뢰성을 보장합니다.
- **다중 플레이어 인사이트 제공**: 비즈니스 사용자가 분석가와 공동 작업하여 시스템에서 제공하는 인사이트에 대한 지식과 신뢰를 얻을 수 있도록 합니다.
- **딥 통합**: 공유 메타데이터 및 데이터 플랫폼 위에 구축되어, 다양한 시스템과 환경 간 구성 가능성을 제공하며, 프로모션, 데이터 흐름, 그리고 상호 협력을 통한 업무 검토 및 완성을 지원합니다.
### 14.4 Tableau 시맨틱스
Tableau 시맨틱 레이어는 원시 데이터와 사용자 해석 간의 중요한 다리 역할을 하여 데이터 분석, 의사 결정, 응용 프로그램 개발을 간소화하고 AI 중심의 컨텍스트 및 검색 기능을 향상합니다. 주요 기능은 다음과 같습니다.
- **통합 메타데이터 관리**: 셀프 서비스와 관리 메타데이터를 모두 지원하여, 조직 내 단일 신뢰 소스가 되기 위한 구조화된 경로를 제공함으로써 임시 분석을 촉진합니다.
- **Tableau의 탁월한 전문 기능**: 다중 논리적 개체 지원, 모델 구성 가능성, 공유 치수, 복잡한 지리 공간 계층, 시간 모델링을 포함합니다.
- **다양한 데이터 및 분석**: 이미지 기반 제품 범주와 구조화된 세일즈 데이터의 상관 관계, 세미 구조화된 제품 리뷰의 분위기 분석 통합 등 구조화되지 않은 데이터와 구조화된 데이터를 연결하는 데 도움이 됩니다.
- **Salesforce Platform 통합**: 조직 내 단일 신뢰 소스를 구축하여, 일관된 비즈니스 시맨틱스와 애플리케이션 전반의 원활한 통합, 그리고 다양한 사용자 경험과 사용 사례를 지원하는 통합 메타데이터 모델을 가능하게 합니다.
- **에이전틱 인텔리전스**: 시맨틱 레이어는 에이전트들이 비즈니스를 구동하는 데이터 및 메타데이터뿐만 아니라, 조직에 특화된 상세한 설명과 선호도를 포함하는 시맨틱을 이해하여 인텔리전스를 획득할 수 있는 핵심 영역 중 하나입니다.
### 14.5 통합 워크플로 및 실천 가능한 인사이트
Tableau Next는 간단한 작업, 사전 정의된 플로, 예약, API 통합을 포함하여 데이터 중심 의사 결정 및 신뢰할 수 있는 자동화를 향상하는 통합 솔루션을 제공합니다. 주요 구성 요소는 다음과 같습니다.
- **표준화된 지능형 비즈니스 작업**: 비즈니스 내에서 긴급하고 상황에 맞는 커뮤니케이션을 원활하게 지원합니다. 이는 필수적이면서도 복잡할 수 있습니다.
- **사전 정의된 및 생성된 플로우 일정**: 신뢰할 수 있으면서도 검증 가능한 정적 및 동적으로 생성된 플로우를 통해 수시 및 예약된 작업을 모두 수행할 수 있습니다.
- **Agentforce**: AI 기반 데이터 대화 및 상호 작용을 지원하여, 사용자가 비즈니스 애플리케이션 내부 및 외부에서 전통적인 UI와 유사하게 인사이트에 접근하고 작업을 수행할 수 있도록 하며, 이를 대화를 통해 간편하게 만듭니다.
### 14.6 구성 가능한 개발자 플랫폼
Tableau Next는 Data 360의 Tableau 시맨틱을 활용하여 응용 프로그램 개발을 위한 노코드, 로우코드, 프로코드 옵션이 포함된 구성 가능한 개발자 플랫폼을 제공합니다. 주요 제공 사항은 다음과 같습니다.
- **사전 패키지된 산업/인텔리전트 애플리케이션**: 특정 산업 요구에 맞게 템플릿 기반 및 사용자 정의 가능한 분석 응용 프로그램을 제공합니다.
- **제3자 및 ISV 애플리케이션**: 분석, 산업별, 사용자 정의 목적으로 동적 및 대화형 응용 프로그램 생성을 지원합니다.
- **시장 및 교환**: ISV 및 개발자가 가장 크고 신뢰할 수 있는 비즈니스 응용 프로그램 개발 에코시스템 내에서 응용 프로그램을 패키지하고 배포할 수 있습니다.
### 14.7 깊은 협업
Tableau Next는 비즈니스 사용자와 데이터 전문가 모두를 위해 설계되어 데이터 이해에 대한 공동 작업 접근 방식을 촉진합니다. 기술적이든 비기술적이든, 비즈니스 사용자부터 데이터 전문가까지 모든 팀 구성원이 서로의 데이터 인사이트를 검토할 수 있습니다. 또한 해당 인사이트는 BI 플랫폼 내의 브라우저 탭으로 제한되지 않습니다.
BI 플랫폼인 Tableau Next는 다음과 같습니다.
- **플랫폼 간 구성 가능**. 인사이트는 어떤 플랫폼에서도 동일한 방식으로 표시됩니다. 이 일관성은 데이터를 시각적으로 작업할 때 중요한 설계 원칙입니다.
- **Slack과 깊이 통합됨**. Slack을 통한 통합 개발은 오늘날 시장에서 가장 직관적이고 몰입감 있는 협업 데이터 경험 중 하나를 제공합니다.
- **모든 도구에 개방됨**. 심층적으로 통합된 플랫폼에 API 우선 원칙을 적용하여, 통합이 다른 협업 및 타사 도구로 확장되더라도 기능의 풍부함을 유지할 수 있도록 합니다.
## 15\. 통합
Salesforce Platform은 광범위한 디지털 문제를 해결할 수 있는 포괄적인 통합 기능을 제공하지만, 많은 고객이 다양한 공급업체 및 기술을 사용하여 시간이 지남에 따라 개발된 엔터프라이즈 아키텍처 내에서 운영합니다.
현대 기업은 시스템 통합 및 비즈니스 프로세스 자동화와 관련된 문제에 직면하여 데이터 사일로가 발생하고 비효율성이 초래됩니다. MuleSoft의 기능을 활용하는 Salesforce 통합 플랫폼은 자동 프로세스의 빠른 개발 및 향상을 촉진하여 이러한 문제를 해결합니다. 다양한 플랫폼에서 원활한 시스템 연결을 보장하고 정보 흐름을 향상하며 의사 결정을 지원하므로 인건비 및 자동화 비용을 절감할 수 있습니다. 이 계층은 Salesforce 서비스와 기타 사용자 정의 또는 타사 서비스 간의 통합을 생성, 관리, 관리 및 모니터링하는 데 매우 중요합니다.
시스템은 API를 통해 정의되며, 이 API들은 다음과 같은 역할을 수행합니다:
- ERP, 고객 및 청구 시스템, 독점 데이터베이스와 같은 필수 시스템에서 데이터에 액세스합니다.
- 데이터 상호 작용 및 통합을 촉진하여 데이터 사일로를 제거합니다.
- 시스템 및 프로세스 API에서 관리하는 데이터 및 프로세스에 비즈니스 컨텍스트를 추가합니다.
API는 효과적인 커뮤니케이션을 위해 다음과 같이 설명됩니다:
- 즉시 동기식 교환을 위한 OpenAPI 사양(OAS)
- 비동기식 이벤트 중심 커뮤니케이션을 위한 AsyncAPI
- 구조화된 모델 컨텍스트 상호 작용을 위한 모델 컨텍스트 프로토콜(MCP)
- 직접 에이전트 간 통합을 위한 Agent-to-Agent (A2A) 프로토콜입니다.
Salesforce 통합 계층은 시스템을 통합하고 관리할 수 있는 강력한 기능을 제공하여 Salesforce의 데이터, AI, 앱 기능에 대한 연결을 향상합니다. 시스템이 Salesforce 또는 다른 공급자의 기본 시스템인지 여부와 상관없이.
복잡한 통합에는 고급 변환이 필요하며 범용 연결, API 관리 및 거버넌스, 통합 워크로드를 구축하기 위한 통합 개발 환경(IDE), 통합을 배포, 관리, 감독하기 위한 런타임 플랫폼, 통합에 대한 전체 가시성을 제공하는 관찰 가능성 플랫폼 등 강력한 도구가 필요합니다.
통합 프로세스를 더욱 가속화하기 위해, 일반적인 통합 패턴과 요구 사항을 반영한 업계별 템플릿과 액셀러레이터를 제공합니다.
### Salesforce와의 15.1 통합 패턴
Salesforce와 광범위한 에코시스템 간의 데이터 및 프로세스 흐름을 다루는 두 가지 기본 통합 패턴은 아웃바운드 통합 및 인바운드 통합입니다.
**외부 시스템에 Salesforce 연결(아웃바운드):** 이 패턴에는 데이터에 액세스하거나 외부 시스템에서 작업을 트리거하는 Salesforce 내에서 생성되는 프로세스가 포함됩니다.
- **보안 엔드포인트 관리(명명된 자격 증명):** 명명된 자격 증명은 끝점 및 인증 세부 사항을 저장할 수 있는 안전하고 중앙 집중화된 위치를 제공합니다. 응용 프로그램 및 자동화는 논리 이름을 참조하고 플랫폼은 인증 수명 주기의 복잡성을 처리합니다.
- **선언적 통합(외부 서비스):** 표준 OpenAPI 사양을 제공하는 외부 시스템의 경우 관리자가 외부 서비스를 사용하여 API를 선언적으로 등록할 수 있습니다. 플랫폼이 사양을 처리하여 서비스의 작업을 Flow와 같은 도구에서는 기본 작업으로, Apex에서는 기본 개체로 자동으로 사용할 수 있도록 합니다.
- **복잡한 시스템 통합(MuleSoft)**: 최신 인터페이스가 없는 시스템의 경우 MuleSoft는 재사용 가능한 표준 API 레이어를 만듭니다. 이렇게 하면 레거시 복잡성이 추상화되고 Salesforce 에코시스템에 온 프레미스 데이터 및 프로세스를 가져옵니다.
- **실시간 데이터 액세스(외부 개체):** 외부 시스템의 테이블을 Salesforce 데이터 모델 내의 가상 개체로 표시하여 복제 없이 표준 쿼리 및 UI 구성 요소를 통해 외부 데이터에 액세스할 수 있도록 합니다.
- **중앙 기능 관리(통합 API 카탈로그):** 통합 API 카탈로그는 중앙 집중식 리포지토리이며 모든 API 사양 및 위치 및 보안 프로토콜과 같은 연결된 메타데이터에 대한 신뢰할 수 있는 단일 소스입니다. 데이터나 비즈니스 논리가 어디에 있든, 이를 발견하고 안전하게 연결하며, Salesforce 에코시스템 전반에서 강력한 새로운 애플리케이션과 자동화를 구성할 수 있도록 보장합니다.
- **사용자 정의 프로 코드 논리(Apex REST):** 개발자는 Apex로 작성된 사용자 정의 비즈니스 논리를 REST API 및 액션으로 공개할 수 있습니다. 이 액션은 플로우의 단계 또는 AI 에이전트의 도구로 사용할 수 있습니다.
**Salesforce에 외부 시스템의 연결(인바운드):** 이 패턴을 사용하면 외부 시스템 및 응용 프로그램이 Salesforce Platform에 연결하여 데이터에 액세스하고 비즈니스 논리를 트리거하고 프로세스를 오케스트레이션할 수 있습니다. 이 기능은 대규모로 운영되는 검증된 엔터프라이즈급 API를 기반으로 구축되어 있습니다. 2025년 10월 기준:
- 쿼리 API(SOQL)는 매일 50억 개가 넘는 요청을 처리합니다.
- REST API는 외부 시스템으로부터 하루에 거의 50억 건의 호출을 처리하며, 사용량은 연간 30%씩 증가하고 있습니다.
- 대량 API는 대규모 데이터 작업을 위해 매일 수백억 개의 레코드를 처리합니다.
이 검증된 신뢰성과 확장성은 다음과 같은 기능을 뒷받침합니다.
- **통합 API 환경:** 모든 Salesforce 기능에 대한 액세스는 일관된 끝점 구조(api.salesforce.com)를 통해 통합되므로 개발자가 각 제품에 대해 서로 다른 패턴 또는 인증 흐름을 학습할 필요가 없습니다.
- **목적에 맞게 제작된 포괄적 API 포트폴리오:** 이 플랫폼은 트랜잭션 운영을 위한 REST 및 SOAP API, 대용량 데이터 처리를 위한 대량 API, 이벤트 기반 응용 프로그램을 위한 Pub/Sub API, 특수 제품 또는 사용자 지정 Apex API를 비롯하여 특정 요구에 맞게 조정된 다양한 API 모음을 제공합니다.
- **미래에 대비한 에이전틱 통합:** MCP와 같은 표준을 통해 고객은 Salesforce 데이터 및 작업을 외부 AI 에이전트에 대한 "도구"로 안전하게 노출하여 Salesforce 인스턴스를 디지털 직원의 확장 가능한 기술 집합으로 전환할 수 있습니다.
### 15.2 에이전트와 MCP의 통합
데이터 및 프로세스 통합에 대해 설정된 인바운드 및 아웃바운드 패턴 외에도 에이전틱 시대를 위한 새로운 패턴이 등장하고 있습니다. Salesforce Platform은 포괄적인 MCP 전략을 구현하여 AI 기반 서비스의 소비자 및 공급자로 포지셔닝합니다. 이 양방향 접근 방식은 에이전트 상호 운용성을 활성화하므로 엔터프라이즈급 보안 및 거버넌스를 유지하면서 Salesforce 데이터 및 기능을 AI 에이전트 및 도구의 진화하는 에코시스템과 원활하게 통합할 수 있습니다.
**MCP 클라이언트로서의 Salesforce:** 에이전트는 외부 시스템 및 API를 현명하고 동적으로 활용하여 MCP 클라이언트 역할을 수행할 수 있습니다. 이 기능을 사용하면 조직이 최신 API가 있거나 MuleSoft를 통해 기존 시스템 또는 RPA Bot에 연결해야 하는지 여부와 상관없이 Salesforce 경계를 넘어 Agentforce 도달 범위를 확장하여 모든 시스템에서 작업을 오케스트레이션할 수 있습니다. 구성은 익숙한 선언적 주제 기반 설정 환경을 통해 처리되므로 사용자 정의 개발 없이 신속하게 통합할 수 있습니다. 파트너가 제공하는 MCP 서버의 간소화된 검색 메커니즘으로 외부 기능 통합이 더욱 원활해집니다. 대규모 스택을 통해 외부 연결의 복잡성을 추상화하여 엔터프라이즈는 Agentforce 광범위한 기술 환경과 신속하게 통합할 수 있습니다.
**MCP 서버로서의 Salesforce:** MCP 서버로서 플랫폼은 표준 REST API, 사용자 정의 끝점, 호출 가능한 작업, 플로우를 비롯한 논리와 자산을 외부 에이전트를 위한 검색 가능한 "도구"로 노출합니다. 선언적 인터페이스를 통해 고객 및 ISV는 고유한 비즈니스 프로세스에 적합한 도구 컬렉션에 기능을 큐레이팅하여 자체 사용자 정의 MCP 서버를 만들고 구성할 수 있습니다. 이는 MCP 프롬프트로 확장되어 플랫폼의 프롬프트 템플릿 기능과 자연스러운 시너지를 창출하며, 조직이 프롬프트 엔지니어링에 대한 투자를 외부 AI 시스템에서도 활용할 수 있도록 합니다.
이 기능은 다중 계층 보안 모델에 따라 관리됩니다.
- **응용 프로그램 제어:** 외부 클라이언트 앱 구조는 관리자에게 Salesforce 조직에 액세스할 수 있는 외부 에이전트 응용 프로그램을 강력하게 제어할 수 있는 권한을 제공합니다.
- **범위 지정 권한:** 인증은 세분화된 OAuth 범위를 통해 증강되므로 인증된 에이전트가 수행할 수 있는 작업을 정확하게 추적하고 적용할 수 있습니다.
- **코어 플랫폼 권한 부여:** 이러한 새 제어는 레코드 액세스 제어, 엔티티 및 필드 수준 권한, 프로필 및 권한 집합에 정의된 기타 권한을 포함하여 Salesforce의 강력한 권한 부여 모델을 기반으로 구축됩니다.
ISV 및 파트너는 MCP 서버 구성을 패키지하고 배포할 수도 있으므로 Salesforce 에코시스템 전체에서 AI 지원 통합을 빠르게 배포할 수 있습니다.
### 15.3 범용 연결
Salesforce의 현대적인 접근 방식은 모든 플랫폼(MuleSoft, Flow 또는 Data 360)에서 프로그래밍 없이 모든 사용 사례에 대해 실행할 수 있는 커넥터를 개발하는 메타데이터 중심의 접근 방식인 _interpreted connectivity_입니다. 메타데이터 모델은 원격 서비스에 연결하여 요청을 인증하고, 반환된 데이터를 모델링하고, 쿼리를 만들고, 결과를 페이지로 매기며, 프로세스를 자동화하기 위해 이벤트(트리거)를 수신하는 방법을 이해합니다.
HTTP 기반 API를 사용하지 않는 시스템의 경우 Salesforce는 사용자 정의 커넥터를 구축하기 위한 수백 개의 사전 구축 커넥터와 완전한 SDK를 제공합니다. API 액세스 권한이 없는 시스템의 경우 Salesforce는 에이전트를 사용하여 일반적으로 사람이 수행하는 반복적인 규칙 기반 과업을 자동화하는 로봇 프로세스 자동화(RPA)를 제공합니다. 이러한 과업에는 데이터 입력, 트랜잭션 처리, 간단한 고객 서비스 쿼리에 응답이 포함될 수 있습니다. 문서에서 정보를 추출하기 위해 Salesforce는 인보이스, 계약, 양식과 같은 다양한 유형의 문서에서 데이터를 자동으로 추출, 분류, 처리하는 AI를 활용하는 인텔리전트 문서 처리(IDP)를 제공합니다. 정보가 어떤 형태로 존재하든 Salesforce는 이를 검색하고 조작할 수 있는 자동화된 방법을 제공합니다.
Salesforce는 AI의 최근 발전을 바탕으로 조직에서 에이전트 기능을 빠르게 구현할 수 있는 빌딩 블록을 제공합니다.
- **Model Context Protocol (MCP) 커넥터**를 사용하면 조직은 API를 MCP 도구로 빠르게 노출하고, 에이전트가 API와 리소스를 쉽게 발견하고 활용할 수 있도록 합니다.
- **A2A(에이전트 간 커넥터)**를 사용하면 에이전트에 대한 A2A 프로토콜 지원을 제공하여 조직에서 에이전트 간 커뮤니케이션을 표준화할 수 있습니다. 각 에이전트(도메인의 기능 전문가)는 고객의 쿼리를 발견하여 도메인에 가장 적합한 에이전트에게 위임할 수 있습니다.
- **인퍼런스 커넥터**는 LLM 호출, 벡터 임베딩 및 검색, RAG 검색, MCP 도구 지원을 제공하여 에이전트를 처음부터 구축할 수 있도록 빌딩 블록을 제공합니다.
### 15.4 API 관리
Anypoint API 관리자를 통해 제공되는 MuleSoft의 API 관리는 모든 배포 환경에서 API 및 마이크로서비스를 설계, 보호, 관리, 모니터링, 확장할 수 있는 포괄적인 플랫폼을 제공합니다. 조직은 플랫폼과 상관없이 단일 대시보드에서 일관된 엔터프라이즈급 제어와 인사이트로 API 및 마이크로서비스를 관리할 수 있으며, 배포에서 버전 관리까지 중앙 집중식으로 관리할 수 있습니다. 주요 기능은 다음과 같습니다.
- **Anypoint Flex Gateway(게이트웨이)**는 API를 관리하고 보호하는 애플리케이션 계층 API 게이트웨이로서 HTTP/S 수준에서 요율 제한, 캐싱, 인증, 권한 부여, 위협 보호, 모니터링 및 로깅 정책을 적용합니다. 마이크로서비스 기반 분산 환경을 위해 설계된 경량의 고성능 Envoy 기반 게이트웨이로서 DevOps 및 CI/CD 워크플로와 원활하게 통합되도록 구축되었으며, 인바운드 및 아웃바운드 정책을 모두 지원하면서 모든 환경에서 엔터프라이즈 보안 및 관리 기능을 제공합니다.
- **API Alerts**를 통해 조직은 API에 대한 특정 임계값이나 조건을 정의하고 모니터링하여 비정상적이거나 원치 않는 동작을 감지할 수 있습니다. 예를 들어, 응답 시간이 제한(예: 60초)을 초과하거나, 일정 기간 동안의 요청 수가 너무 많거나, 특정 HTTP 응답 코드가 반환되거나, 정책 위반이 발생한 경우 경고 알림이 표시됩니다.
- **API Analytics**는 API가 어떻게 사용되고 있으며 얼마나 잘 작동하는지에 대한 가시성을 제공합니다. Analytics Dashboard를 통해 조직은 주요 지표를 추적 및 확인하고, 차트를 심층 분석하며, 대시보드와 보고서를 생성 및 사용자 정의하여 사용 추세, 정책 위반, 응답 시간, 요청/응답 코드 등을 파악할 수 있습니다.
### 15.5 차세대 통합 개발 환경
MuleSoft Anypoint Code Builder(ACB)는 API 및 통합 개발을 위해 설계된 차세대 IDE로서 백엔드로 VS Code를 사용하는 최신 통합 환경을 제공합니다.
- **통합 개발 환경:** 전체 API 및 통합 개발 프로세스를 AsyncAPI, OAS, RAML API, 거버넌스 규칙 집합, 하위 코드 플로 캔버스, 사전 구축 커넥터, 통합 테스트 및 배포 옵션을 지원하는 하나의 도구로 통합합니다. 또한 ACB는 지능형 컨텍스트에 맞는 제안 사항을 사용하여 디버깅, 문제 해결, 지속적인 서비스 점검을 지원합니다.
- **Agentic 개발 경험:** 전체 애플리케이션 개발 수명 주기 전반에 걸쳐 agentic 경험을 제공합니다. 핵심은 에이전트 통합 개발을 지원하는 MuleSoft MCP 서버입니다. MuleSoft MCP Server는 자연어로부터 API 사양과 통합을 생성하고, 데이터 변환을 만들며, MuleSoft Exchange에서 자산을 관리하고, 애플리케이션 및 API 정책을 관리할 수 있는 강력한 도구를 제공합니다. MuleSoft MCP Server 도구는 Cursor, Windsurf 등 다양한 VS Code 기반 AI 코드 편집기에서 사용자의 API 사양 및 통합 개발을 가속화합니다.
- **AI 통합:** MuleSoft는 엔터프라이즈 시스템 액세스를 위해 API 호출을 Agentforce Actions로 변환하는 MuleSoft Topic Center를 활용하여 agentic 기능으로 통합 개발을 강화합니다. Agentforce 커넥터는 자연어 자동화를 통합에 내장합니다. Inference 커넥터는 외부 LLM 공급자를 안전하게 통합하여 MuleSoft 애플리케이션에서 AI 기반 논리를 구현할 수 있습니다. 조직은 이러한 결합된 기능을 사용하여 지능적이고 적응형인 통합을 구축할 수 있습니다.
### 15.6 런타임 플랫폼
MuleSoft의 런타임 플랫폼은 다양한 환경에서 MuleSoft 애플리케이션, API, 통합을 실행할 수 있는 유연한 배포 옵션을 제공합니다. 조직은 Anypoint Platform을 통해 일관된 관리 및 거버넌스를 유지하면서 운영, 규정 준수, 확장성 요구에 가장 적합한 런타임 모델을 선택할 수 있습니다. 이 유연성은 애플리케이션이 데이터 소스와 가까운 곳에서 실행되고, 지역 규정을 준수하며, 수요에 따라 원활하게 확장할 수 있도록 보장합니다.
주요 호스팅 옵션은 다음과 같습니다.
- **Cloud:** 인프라 관리 오버헤드를 없애는 MuleSoft의 완전 관리형 멀티테넌트 통합 플랫폼(iPaaS)입니다. CloudHub 2.0은 탄력적인 확장, 고가용성, 무중단 배포/업그레이드를 제공하며, 내장된 관찰 가능성 요구 사항과 규정 준수 인증을 갖추고 있습니다. 개발자는 MuleSoft가 런타임 인프라를 관리하는 동안 API 및 통합 구축에 집중하여 엔터프라이즈급 보안, 신뢰성, 고가용성을 보장할 수 있습니다.
- **하이브리드:** 더 많은 제어를 위해 애플리케이션을 자체 호스팅할 필요가 있는 조직을 위해, MuleSoft는 Kubernetes 및 가상 머신 환경 전반에 걸쳐 MuleSoft 런타임의 배포와 오케스트레이션을 자동화하는 컨테이너 서비스인 Runtime Fabric을 제공합니다. 수평 확장, 무중단 배포, 내장된 보안 제어, 간소화된 클러스터 관리를 지원합니다.
- **Private Cloud Edition (PCE):** MuleSoft의 Private Cloud Edition은 조직이 엄격한 규제, 데이터 보존 및 보안 요구 사항을 충족할 수 있도록 완전히 자체 관리되는 온 프레미스 버전의 Anypoint Platform(제어 및 런타임 플레인 포함)을 제공합니다. 이를 통해 대기업이 Anypoint Platform의 통합 및 API 관리 기능을 활용하면서 인프라를 완벽하게 제어할 수 있습니다.
### 15.7 관찰 가능
MuleSoft는 모든 배포 모델 전반에서 API, 통합, 응용 프로그램에 대한 종단간 가시성을 제공하는 포괄적인 관찰 가능성 솔루션을 제공합니다. 관찰 가능성 기능은 워크로드가 실행되는 위치와 상관없이 일관적으로 제공되어 환경을 통합적으로 볼 수 있습니다. MuleSoft는 실시간 및 과거 텔레메트리 데이터를 모두 수집하여 조직이 전체 애플리케이션 네트워크에서 프로덕션 문제를 더 빠르게 감지, 분석, 해결할 수 있도록 지원합니다. 관찰 가능성 데이터는 Anypoint Platform 내에서 기본적으로 보거나 OpenTelemetry를 통해 고객이 선호하는 APM으로 내보낼 수 있으므로 기존 모니터링 에코시스템과 원활하게 통합할 수 있습니다. 이를 통해 조직은 사전에 인프라 복원 능력을 강화하고 미션 크리티컬 애플리케이션의 신뢰성을 향상할 수 있습니다.
MuleSoft는 두 가지 주요 솔루션을 통해 관찰 가능성을 제공합니다.
- **Anypoint Monitoring**은 Anypoint Platform에 내장된 시장 내 관찰 가능성 솔루션입니다. 기본 제공 및 사용자 정의가 가능한 대시보드를 통해 애플리케이션 상태를 모니터링하고, 로그 관리를 위한 고급 로그 검색과, 정의된 임계값 또는 이상이 발생할 경우 팀에 알림을 제공하는 경고 기능을 제공합니다.
- **Integration Intelligence**는 MuleSoft용 차세대 AI 기반 관찰 가능성 플랫폼으로 Salesforce Platform을 기반으로 재설계되고 구축되었습니다. 이 솔루션은 Data 360을 텔레메트리 데이터의 통합 데이터 레이어로 사용하고, Tableau Semantics를 신뢰할 수 있는 시맨틱 계층으로 사용하여 지능형 실행 가능한 인사이트를 제공하며, Tableau Concierge를 통해 AI 지원 문제 해결을 제공하고, Tableau Next Dashboards를 통해 다양한 데이터 시각화를 하나의 통합된 보기로 결합하는 대화형 시각적 인터페이스를 제공합니다. Tableau Next를 사용하면 관찰 가능성 기능과 함께 시맨틱 데이터 모델 위에 사용자 정의 대시보드를 구축할 수도 있습니다.
또한 이 스택은 고객에게 비결정적인 엔드 투 엔드 에이전트 호출 경로에 대한 완전한 투명성을 제공하는 에이전트 중심 추적 기능을 제공하여, 각 중간 단계에서 에이전트의 작업을 관찰할 수 있게 하며, 사용자가 실패의 근본 원인을 더 빠르게 파악하고 성능 병목 현상을 식별할 수 있도록 합니다.
## 16\. 생태계 및 AppExchange
Salesforce 에코시스템은 플랫폼의 강력한 기능을 보여줍니다. 시스템 통합자(SI) 및 컨설팅 파트너는 복잡한 Salesforce 솔루션을 개발, 구성, 최적화하여 고객을 지원합니다. 독립 소프트웨어 공급업체(ISV)는 플랫폼에서 혁신적인 애플리케이션 및 솔루션을 구축하고, 고객이 Salesforce 조직에 설치할 수 있습니다. 이러한 ISV 앱은 Salesforce의 애플리케이션 스토어인 AppExchange에서 제공되며, 이 스토어는 2025년 10월 기준 10,000개 이상의 애플리케이션과 1,430만 건 이상의 설치를 자랑합니다.
고객이 광범위한 마켓플레이스를 탐색하고 관련 애플리케이션을 검색할 수 있도록 AppExchange 검색 환경은 2025년에 Data 360을 활용하기 위해 재구축되었습니다. Salesforce Data 360의 벡터 검색 기능은 기존의 키워드 일치와 함께 작동하여 사용자의 의도를 자연어를 통해 이해함으로써 더 의미 있는 결과를 제공합니다. 궁극적인 비전은 이 기반을 Agentforce 플랫폼과 통합하여 발전시키는 것입니다. 고객이 비즈니스 과제를 대화 방식으로 설명하고 개인 맞춤형 솔루션 추천을 받을 수 있는 완벽한 에이전트형 인터페이스를 제공합니다.
AppExchange Salesforce와 긴밀하게 협력하여 코드 분석기, 보안 스캐너, 참조 구현 가이드를 포함하는 엄격한 검토 프로세스를 통해 고품질의 솔루션을 보장합니다. 이 플랫폼은 ISV들에게 애플리케이션 라이선스 및 수익화를 맞춤화할 수 있는 라이선스 관리 도구를 제공하며, 사용자 기반 및 소비 기반 옵션을 포함한 다양한 가격 모델을 지원합니다.
"메타데이터 구동 플랫폼" 원칙을 사용하면 ISV가 Salesforce의 기본 앱 및 메타데이터를 확장하여 데이터 모델, 비즈니스 논리, 사용자 인터페이스를 쉽게 개발할 수 있습니다. Salesforce Platform은 업계별 애플리케이션에서부터 UI용 Lightning 웹 구성 요소 및 비즈니스 논리용 Apex Code와 같은 기술을 활용하는 맞춤형 브랜드 앱에 이르기까지 다양한 솔루션을 지원합니다.
"패키징" 개념은 다양한 Salesforce 조직에서 이러한 앱을 배포하는 데 매우 중요합니다. 패키징은 다양한 환경에서 메타데이터 관리를 위해 설계된 기본 기술을 사용하여, Salesforce 고객이 설치할 수 있는 아티팩트로 메타데이터를 직렬화하는 것을 포함합니다. 패키징의 고유한 측면은 개발자가 알지 못하는 환경에 설치할 수 있다는 점입니다.
제어 및 안전성을 강화하기 위해, 패키징 내의 "관리 가능성" 기능은 ISV가 애플리케이션의 일부를 안전하게 업그레이드할 수 있도록 하며, 다른 사용자가 해당 부분에 의존하지 못하게 합니다. 고객은 다른 부분을 소유하고 관리할 수 있습니다. 예를 들어 ISV는 사용자 정의 설정과 같은 특정 메타데이터를 "관리"으로 설정하여 고객에게 표시되지 않고 편집할 수 없도록 만들어 고객 환경의 중단을 방지할 수 있습니다. 관리 패키지에는 이러한 관리 기능 제어가 포함되어 있지만 비관리 패키지는 배포된 메타데이터를 고객이 만든 것으로 처리하며 배포 후에는 업그레이드할 수 없습니다.
AppExchange 및 Salesforce Platform이 시작된 이후에 생성 및 설치되는 패키지의 수와 복잡성이 크게 증가했습니다. 이러한 요구 사항에 대응하여 2020년 플랫폼은 2세대 패키징 아키텍처를 도입했습니다. 이 새로운 아키텍처는 관리 패키지의 모듈성을 향상하고 버전 관리 유연성을 향상하며 네임스페이스 공유를 허용하며 소프트웨어 개발 수명 주기에서 다른 고급 사항을 포함하여 선언적 종속성을 지원합니다. 또한 패키지 배포 아키텍처에는 어떤 메타데이터가 변경되었는지 식별하고 변경된 부분만 배포하는 등, 효율성과 확장성을 높이기 위한 여러 중요한 개선 사항이 포함되었습니다.
새 제품 및 기능 개발에 중요한 측정값은 패키지와의 호환성 및 ISV 사용 준비입니다. 이 플랫폼은 파트너가 기능을 신속하게 사용할 수 있도록 하여 Salesforce 에코시스템이 Salesforce Platform의 혁신적 잠재력을 효과적으로 활용하고, Salesforce의 기본 제공 기능을 넘어설 수 있게 합니다. 그러나 Salesforce 내부 개발자가 사용할 수 있는 이 문서에 설명된 모든 기능을 ISV 개발자에서도 사용할 수 있도록 지속적으로 투자해야 하는 영역입니다.
또한 Heroku Marketplace 및 Slack Marketplace는 Salesforce 애플리케이션의 기능을 향상할 수 있는 광범위한 타사 통합 및 추가 기능을 제공합니다. Heroku Marketplace는 추가 앱 기능을 위한 도구 및 서비스를 제공하고, 개발자가 애플리케이션을 구축, 배포, 관리하는 방법을 개선합니다. Slack Marketplace는 워크플로를 간소화하고 Salesforce 환경 내에서 공동 작업을 향상할 수 있는 통합을 제공합니다.
## 17\. Salesforce on Salesforce
Salesforce는 핵심 가치인 고객 성공의 정신에 따라 Salesforce Platform의 모든 애플리케이션 및 서비스에 대해 "Customer Zero" 역할을 하며, 가능한 경우 내부적으로 고객 대상 제품을 활용합니다. 이는 다음과 같은 중요한 이점을 제공합니다.
- **엄격한 제품 테스트**: Salesforce 직원은 제품군을 매일 사용하여 실제 문제에 플랫폼을 노출하고 제품 품질을 향상하고 개선 영역을 식별합니다.
- **정제된 제품**: 내부 사용으로부터 받은 즉각적인 피드백을 통해 기능과 사용성을 신속하게 개선하고, 버그를 빠르게 식별 및 해결하여 출시 시 고객의 요구에 부합하는 제품을 만들 수 있습니다.
- **깊이 있는 산업 전문성**: 내부 여러 기능에서 사용함으로써, 특히 첨단 기술 분야에서 특정 제품 및 산업 문제에 대한 귀중한 통찰을 얻을 수 있습니다.
- **고객 동정심 향상**: 직원이 플랫폼을 직접 사용함으로써 고객의 어려움을 더 잘 이해하고 해결할 수 있습니다.
- **마케팅 및 영업 인사이트**: 일일 제품 사용은 세일즈 및 마케팅 전략에 정보를 제공하므로 고객 요구에 맞게 플랫폼을 조정할 수 있습니다.
- **강력한 시장 진입 전략**: 내부에서 성공적으로 구현하면 Salesforce가 확신을 가지고 검증된 솔루션으로 제품군을 마케팅할 수 있습니다.
또한 모든 운영용 소프트웨어 업데이트는 단계별 배포 프로세스의 일환으로 전용 "Salesforce on Salesforce" Hyperforce 인스턴스에 처음 배포됩니다. 2020년 8월 이후 이 인스턴스는 엔지니어링 팀을 위한 Salesforce 조직인 GUS와 Salesforce의 CRM 운영을 성공적으로 호스팅하여 Hyperforce의 강력함과 모든 고객을 위한 준비 상태를 보여줍니다. 이 전략을 통해 내부 팀은 외부 고객에게 프로덕션 배포 전에 모든 문제를 테스트하고 발견할 수 있습니다.
Salesforce 기술 조직은 SDLC 전반에서 생산성과 품질을 향상하기 위한 내부 플랫폼으로 Agentforce 완전히 채택했습니다. 이를 통해 빠르게 버그를 감지하고 완화하여 고객에게 전송하는 코드의 품질을 향상할 수 있을 뿐만 아니라 본인 내부 피드백을 기반으로 에이전트 환경을 신속하게 반복할 수 있습니다.
## 18\. 대규모 전환 실현
1999년 설립 이후 Salesforce는 여러 기술 변화를 경험했습니다. 그러나 Salesforce Platform과 관련된 전환은 그 규모와 빠른 변화 속도 때문에 특히 중요했습니다. 통합 플랫폼을 구현하려면 모든 주요 아키텍처 구성 요소의 동시 진화가 필요했습니다. 이 전환이 점진적이고 이해관계자와 선구자들에게 최소한의 불편만을 초래하도록 보장하기 위해, Salesforce 기술 조직은 엔지니어링 및 제품 제공 관행을 발전시켜야 했습니다.
Salesforce 기술 조직은 14개 국가에서 20개가 넘는 사이트에 위치한 2,500개가 넘는 팀으로 구성된 대규모하고 다양한 팀입니다. 이 그룹은 대규모로 운영되며, 매주 200개가 넘는 제품 릴리스를 제공하고 250,000건의 시스템 변경 사항을 구현합니다. 광범위한 회사 윤리에 따라 기술 그룹은 다음의 5가지 핵심 가치에 따릅니다. 신뢰, 고객 성공, 혁신, 평등 및 지속 가능성. 이러한 가치는 그룹의 전략을 형성하고 실행을 안내하며 일상적인 결정에 영향을 미치는 중요한 요소입니다.
핵심 가치에 따라 Salesforce Engineering 360 프레임워크는 엔지니어링 팀에 작업 지향 대시보드와 운영에 대한 포괄적인 인사이트를 제공하여 조직 내 표준 및 모범 사례에 대한 명확한 기대치를 설정합니다. 이 전체적인 뷰는 가용성, 보안, 규정 준수, 품질, 접근성, 개발자 생산성, 민첩한 제품 개발, 비용 효율성을 비롯한 다양한 중요한 영역을 다룹니다. 이러한 인사이트를 제공하기 위해 프레임워크는 보안 시스템, 운영 상태 로그, 코드 저장소, 개발 환경, CI/CD, 릴리스/작업 계획 및 추적 시스템과 같은 수백 개의 내부 엔지니어링 시스템에서 수십억 개의 레코드를 처리합니다. 이 모든 레코드는 Agentforce, Data 360, Tableau 및 Slack의 최신 혁신을 활용하여 Salesforce Platform을 기반으로 합니다.
이를 비롯한 데이터를 바탕으로 Salesforce 기술 조직은 AI 및 에이전트 기술을 활용하여 생산성을 가속화합니다. 내부 AI 도구의 일일 활성 사용자가 10,000명 이상이며 내부 AgentExchange 프로그램의 일부인 100개 이상의 AI 에이전트를 구축하여 조직 전체에서 생산성을 향상시켰습니다.
최고 Trust 가치 덕분에 서비스 소유권은 엔지니어링 문화에 깊이 빠져 있습니다. 각 서비스 및 제품은 TTD(Time To Detect) 및 TTR(Time To Restore)와 같은 가용성 및 사고 관리 메트릭과 관련된 서비스 수준 목표(SLO)를 충족하고 초과하도록 설계되었습니다. 변경 관리, 릴리스 준비, 문제 관리에 대한 접근 방식은 높은 표준을 준수합니다. 보안은 기본 원칙에 따라 보안 개발 수명 주기의 모든 단계에 통합되어 있습니다. CI/CD 파이프라인 내에서 단위, 기능, 통합, 로드/스케일 테스트 전반에 걸쳐 수백만 개의 자동 테스트가 포함된 애자일 테스트 방법론을 통해 품질과 성능이 우선시됩니다.
아키텍처적으로 공유 기능을 개발하여 활용도를 높이고 효율성을 강화하여 품질을 향상시키는 데 중점을 두고 있습니다. 예를 들어, Hyperforce 내에서 관리형 서비스를 개발하여 컴퓨트 및 데이터 관리 등 다양한 요구 사항을 충족함으로써, 제품 팀은 제품 혁신에 집중할 수 있고, 중앙 팀은 보안, 가용성, 비용 효율성 측면에서 이러한 서비스를 강화할 수 있습니다.
우리의 운영은 민첩하며, 고객에게 혁신을 제공하는 문화를 조성합니다. 3,000개가 넘는 각 팀은 스크럼 또는 칸반을 사용하여 애자일 프레임워크를 어떻게 구현할지에 대한 자율성을 갖습니다. 조직 전반의 제품 개발 계획은 전략적 방향을 위한 3년 장기 계획, 연간 실행 계획, 그리고 4개월 단위의 제품 릴리스 계획으로 세분화되며, 이 계획들이 2주 단위 스프린트 계획에 반영됩니다. 제품, 기능, 버그 수정은 3회의 주요 연간 릴리스, 격주 릴리스, 일일 릴리스 등 다양한 고객 요구를 충족하기 위해 여러 릴리스 수단을 통해 배포됩니다.
우리의 규모를 고려할 때 생산성은 매우 중요합니다. Engineering 360 시스템에서 제공하는 포괄적인 메트릭 집합을 통해 생산성을 효과적으로 측정하기 위해 SPACE 프레임워크를 활용합니다. 또한 에이전트 환경 및 AI, 워크플로, 빌드 도구, 개발 설정, 안전한 릴리스, 보안 서비스에 대한 투자로 개발 수명 주기를 간소화하기 위해 내부 개발자를 위한 도구 및 환경을 개선하는 데 중점을 두고 있습니다.
## 19\. 결론
결론적으로, Salesforce Platform은 지난 5년 동안 탁월한 변화를 거쳤으며, 획기적인 멀티테넌트 클라우드 플랫폼에서 선택한 지역의 애플리케이션 및 서비스 제품군을 구동하는 신뢰할 수 있고 통합되고 에이전트적인 데이터 지원 플랫폼으로 발전했습니다. 이러한 발전은 퍼블릭 클라우드 공급자의 증가, 강화되는 규제 요구 사항, 생성형 AI 및 머신러닝의 발전 등 새롭게 등장하는 과제들을 해결해야 할 필요성에 의해 추진되었습니다.
Hyperforce, Data 360, Agentforce 도입되었으므로 플랫폼의 성능이 크게 향상되어 Trust 신뢰성을 유지하면서 혁신의 최전선을 유지합니다. 대다수 고객이 이 새로운 플랫폼으로 성공적으로 마이그레이션한 것은 엔지니어들의 창의성과 헌신을 잘 보여줍니다.
Salesforce Platform은 계속해서 혁신하고 변화하는 시장 수요에 맞게 조정할 수 있으므로 차세대 애플리케이션 및 고객 사용 사례를 지원할 수 있는 좋은 위치에 있어 고객 성공 및 기술 우수성에 대한 약속을 재확인합니다.
## 개요
엔터프라이즈 데이터 아키텍처는 단일 시스템에 존재하는 경우가 거의 없습니다. Salesforce는 고객 참여, 파이프라인, 서비스 상호 작용을 관리합니다. Snowflake와 같은 분석 플랫폼은 과거 트랜잭션, 금융 기록, 사용 데이터, 운영 메트릭을 보관합니다. 기존에는 이러한 두 세계를 연결하는 것은 소스에서 데이터를 추출하고 변환하고 Salesforce에 사본을 로드하는 예약된 작업인 ETL 파이프라인을 구축하고 유지하는 것을 의미했습니다. 이러한 파이프라인으로 인해 데이터가 지연되고, 관리 정책이 여러 시스템에 분산되며, 파이프라인에는 지속적인 운영 관리가 필요합니다.
Salesforce 데이터 가상화는 다른 모델을 제공합니다. Salesforce로 데이터를 이동하는 대신 Salesforce에서 복제 없이 런타임 시 소스에서 직접 데이터를 쿼리할 수 있습니다. 사용자는 표준 Salesforce 인터페이스를 통해 실시간 외부 데이터를 볼 수 있습니다. 데이터는 원래 출처를 벗어나지 않습니다. 이 문서에서는 패턴이 어떻게 작동하는지, 언제 사용해야 하는지, 그리고 어떻게 시작하는지에 대해 설명하며, 구체적인 예로 Snowflake를 사용합니다.
## 데이터 가상화란 무엇입니까?
Salesforce 데이터 가상화는 Salesforce에서 데이터를 복사하거나 Salesforce 저장소에 복제하지 않고 런타임 시 외부 시스템에서 직접 데이터를 쿼리할 수 있는 통합 아키텍처 패턴입니다. 데이터를 이동하는 대신 플랫폼에서 쿼리를 보냅니다.
따라서 Salesforce 사용자는 권한이 있는 소스 시스템에 유지되는 동안 익숙한 Salesforce 인터페이스(예: 페이지 레이아웃, 관련 목록, 보고서 또는 플로)를 통해 외부 데이터와 상호 작용합니다. 거버넌스, 액세스 제어, 데이터 위치는 원래 위치에 그대로 유지됩니다.
이 패턴은 데이터가 소스에 남아 있다는 단일 아키텍처 원칙에 기반합니다. 계산이 데이터로 이동됩니다.
## 중요한 이유
대부분의 엔터프라이즈 Salesforce 배포는 복제 파이프라인을 통해 외부 데이터 플랫폼(예: 데이터 웨어하우스, 운영 데이터베이스 또는 분석 스토어)과 통합됩니다. 파이프라인은 일정에 따라 데이터를 추출, 변환, Salesforce에 로드합니다. 이 접근 방식은 작동하지만 복제 시 구조적 제약이 발생합니다.
* 복제된 데이터는 항상 지연됩니다. 파이프라인은 지연을 초래하고, 오래된 데이터는 잘못된 결정을 유도합니다.
* 데이터의 사본이 늘어날수록 규정 준수 범위가 확대됩니다. 여러 시스템에서 개인 식별 정보, 재무 기록 또는 건강 데이터와 같은 중요한 데이터는 다중 거버넌스 정책을 유지해야 합니다.
* 파이프라인은 지속적인 운영 투자, 모니터링, 오류 처리, 스키마 드리프트 관리, 재처리 논리가 필요합니다.
데이터 가상화는 이러한 제약 사항을 직접 해결합니다. 읽기 작업이 많은 사용 사례에 대해 파이프라인을 완전히 제거하고, 데이터를 원래 출처에 유지하며, Salesforce 사용자에게 복제 오버헤드 없이 실시간으로 관리되는 외부 데이터 보기를 제공합니다.
## 적용 대상 제품
Salesforce Connect는 Salesforce 내에서 데이터 가상화를 지원하는 플랫폼 기능입니다. SOQL 쿼리를 외부 시스템의 쿼리 언어로 번역하고, 인증된 콜아웃을 관리하고, 결과 집합을 Salesforce 필드 유형에 다시 매핑하는 어댑터 프레임워크를 제공합니다. Salesforce Connect는 외부 데이터를 쿼리 가능한 플랫폼 네이티브 엔터티로 표시하는 Salesforce 메타데이터 구조인 외부 개체를 지원하며, 데이터를 Salesforce 저장소에 복제하지 않습니다. 외부 개체는 페이지 레이아웃, 관련 목록 및 보고서에 표시되고 SOQL 및 표준 API를 통해 액세스할 수 있는 표준 Salesforce 개체처럼 동작하지만, 데이터를 저장하지 않습니다. 외부 개체는 소스 시스템에 대한 스키마 프로젝션입니다.
## 핵심 개념
### 외부 개체
외부 개체는 데이터 가상화가 Salesforce 내에서 외부 데이터를 표시하는 기본 메커니즘입니다. SOQL을 통해 쿼리 가능, 페이지 레이아웃 및 관련 목록에 표시, 표준 Salesforce API를 통해 액세스할 수 있는 표준 Salesforce 개체와 같은 방식으로 동작합니다. 중요한 차이점은 Salesforce에 데이터가 저장되지 않는다는 것입니다. 외부 개체는 스키마 프로젝션으로, 데이터 자체의 사본이 아니라 외부 데이터가 어떻게 생겼는지에 대한 정의입니다.
사용자가 페이지를 로드하거나 외부 개체를 참조하는 보고서를 실행하면 Salesforce가 외부 시스템에 대한 실시간 쿼리를 실행하고 해당 상호 작용에 대해 설정된 결과만 반환합니다.
### 쿼리 푸시다운
Salesforce가 외부 개체에 대한 SOQL 쿼리를 실행하면 필터(WHERE 절), 정렬 순서(ORDER BY), 제한(LIMIT)를 등가 SQL로 번역하고 외부 시스템으로 보냅니다. 외부 시스템이 자체 계산 엔진에서 쿼리를 실행하고 필터링된 결과 집합만 반환합니다. 데이터가 있는 위치에서 작업이 수행되며, 오직 결과만이 Salesforce로 전달됩니다.
### 이중 거버넌스
데이터 가상화는 두 개의 독립적인 보안 계층을 동시에 적용합니다. 외부 시스템은 행 수준 보안, 열 마스킹, 역할 기반 액세스를 포함하여 쿼리 실행 시간에 자체 액세스 제어를 적용합니다. Salesforce는 프로필, 권한 집합, 필드 수준 보안, 공유 규칙 등 자체 보안 모델을 추가로 적용합니다. 두 계층이 모두 모든 쿼리에서 활성화됩니다. 둘 다 다른 항목을 대체하지 않습니다.
## 제로 카피 구분
설계자는 데이터 가상화를 "제로 카피" 패턴으로 흔히 설명합니다. 제로 카피는 Salesforce 저장소에 지속적인 복제를 하지 않음을 의미합니다. Salesforce 개체에 레코드를 작성하는 ETL 파이프라인이 없습니다. 로컬 사본 생성에 예약된 동기화가 없습니다. 외부 개체에는 행이 없습니다.
제로 카피는 데이터 전송이 전혀 없다는 뜻은 아닙니다. 사용자가 외부 개체를 쿼리할 때마다 결과 집합이 네트워크를 통해 외부 시스템에서 Salesforce로 이동합니다. 대규모 결과 집합이거나 쿼리 빈도가 높을 경우, 데이터 출력 비용과 네트워크 대기 시간은 설계자가 반드시 고려해야 할 실제 요소입니다. 이는 숨길 제한 사항이 아니라 고려해야 할 설계 제약입니다.
사용 사례에 대용량, 자주 액세스하거나 대기 시간이 낮은 경우 이러한 아키텍처적 차이점을 고려하십시오.
## Snowflake를 통한 데이터 가상화: 작업한 예제
Snowflake는 데이터 가상화를 통해 Salesforce에 연결되는 가장 일반적인 외부 시스템 중 하나입니다. 패턴이 끝에서 끝까지 작동하는 방식을 구체적으로 보여줍니다.
이 구성에서 Salesforce는 Snowflake용 SQL 어댑터와 함께 Salesforce Connect를 사용하여 Snowflake에 연결합니다. Snowflake 테이블 및 보기는 Salesforce에서 외부 개체로 표시됩니다. 사용자가 외부 개체를 쿼리하면 Salesforce가 SOQL을 SQL로 번역하고 인증된 HTTPS 콜아웃을 통해 Snowflake 문 API에 제출합니다. Snowflake는 가상 웨어하우스에서 쿼리를 실행하고 자체 행 수준 보안 및 열 마스킹을 적용하며 결과 집합만 반환합니다. 어떠한 시점에서도 Salesforce 저장소에 데이터가 기록되지 않습니다.

### 인증 모델
Salesforce Connect 위임받은 OAuth 2.0 모델을 사용하여 Snowflake를 통해 인증합니다. 주요 구성 요소는 다음과 같습니다.
* **인증 공급자:** Snowflake와의 OAuth 핸드셰이크를 관리합니다. 토큰 요청을 처리하고 반환된 토큰을 Salesforce 자격 증명에 매핑합니다.
* **외부 자격 증명:** Salesforce 암호화된 자격 증명 저장소에 OAuth 액세스 및 새로 고침 토큰을 안전하게 보관하고 아웃바운드 콜아웃에 삽입합니다.
* **명명된 자격 증명:** Snowflake 끝점 URL을 정의하고 외부 자격 증명을 참조합니다.
* **Snowflake 보안 통합:** Snowflake에서 Salesforce를 신뢰할 수 있는 OAuth 클라이언트로 등록합니다. 허용된 리디렉션 URI, OAuth 플로, 토큰 TTL을 정의합니다.
다음 구성 요소는 종속성 체인을 구성합니다. 외부 데이터 소스는 인증 공급자를 참조하는 외부 자격 증명을 참조하는 명명된 자격 증명을 참조합니다. 연결 문제 또는 액세스 실패를 해결할 때 이 체인을 이해해야 합니다.
### ID 모델: 명명된 주체와 사용자별 주체 비교
Salesforce는 Snowflake로 인증할 때 다음 두 가지 ID 위임 모델을 지원합니다.
* **명명된 주체:** 하나의 공유 서비스 계정이 모든 Salesforce 사용자를 Snowflake에 대해 인증합니다. 구성하기가 더 간단하지만 사용자별 감사 기능 또는 세분화된 Snowflake 액세스 제어가 없습니다.
* **사용자당 주체:** 각 Salesforce 사용자는 자체 OAuth 토큰을 사용하여 인증합니다. 이렇게 하면 Snowflake 행 수준 보안 및 전체 사용자별 감사 추적이 활성화되며, 토큰 관리 오버헤드(사용자당 OAuth 플로우, 새로 고침, 취소)가 증가합니다.
**결정 지침:** 규제된 데이터 또는 개인 식별 정보(PII)에 사용자별 주체를 사용합니다. Salesforce 공유 규칙이 충분한 액세스 제어를 제공하고 단순성이 우선순위인 경우 명명된 주체를 사용합니다.
### 핵심 플랫폼 제약 사항
Snowflake를 사용하는 외부 개체를 사용할 때 다음 Salesforce 거버너 제한이 솔루션 설계에 직접적인 영향을 미칩니다:
* **콜아웃 제한:** Apex 트랜잭션당 100개. 외부 개체 쿼리가 여러 개 있는 페이지 또는 플로는 이 제한에 빠르게 도달할 수 있습니다.
* **콜아웃 시간 초과:** 최대 120초입니다. 장기 실행 Snowflake 쿼리로 인해 런타임 예외가 발생합니다.
* **SOQL 행 제한:** 행 50,000개 대규모 결과 집합을 페이지로 나누십시오.
* **비동기 제약:** 배치 Apex 및 대부분의 비동기 컨텍스트는 콜아웃을 제한합니다. 동기식 트랜잭션 경계 내에서 외부 개체 액세스를 유지합니다. 외부 개체를 쿼리하는 비동기 사용 사례의 경우, 사용자 주도 비동기 상호 작용을 위한 연속 콜아웃을 고려하거나, 외부 데이터 접근을 동기 트랜잭션에서 수행하고 결과를 비동기적으로 전달하도록 플로우를 설계하십시오.
**설계 지침:** 루프 내에서 외부 개체를 쿼리하지 마십시오. WHERE 절 필터를 Snowflake로 푸시하여 결과 크기 및 콜아웃 주기를 줄입니다.
### 관찰 가능
Salesforce가 Snowflake로 보내는 모든 쿼리는 대기 시간, 스캔된 행, 웨어하우스 사용, 실행 중인 ID와 같은 전체 실행 메타데이터를 사용하여 Snowflake 쿼리 내역에 기록됩니다. 이 내역은 Salesforce 사용자 작업에서 Snowflake 실행에 이르는 전체 감사 기능을 제공하며 성능 튜닝 및 액세스 검증을 위한 기본 진단 도구입니다.
## 데이터 가상화를 사용하는 경우
데이터 가상화는 실시간 액세스, 거버넌스, 복제 오버헤드 감소의 이점이 연합 쿼리 시 액세스 모델의 제약을 능가하는 사용 사례에 적합합니다.
**사용할 때:**
* **읽기 중심의 분석 액세스가 주요 요구 사항입니다.** 사용자가 Salesforce UI, 보고서 또는 플로우에서 외부 데이터를 쿼리하고 표시하며, 쓰기 작업은 필요하지 않은 경우, 데이터 가상화는 읽기 전용 시나리오에서 파이프라인 오버헤드를 제거합니다.
* **데이터 신선함은 매우 중요합니다.** 복제되지 않는 데이터가 비즈니스 위험(예: 기한 경과 재무 잔액, 재고 수준 또는 규정 준수 상태)을 야기하는 경우 연합 모델은 모든 쿼리에 실시간 데이터가 반영되도록 보장합니다.
* **정부 및 데이터 보존 요구 사항은 엄격합니다.** 규제 또는 계약상의 제약으로 인해 중요한 데이터를 Salesforce로 복사할 수 없는 경우, 가상화는 데이터를 원천 위치에 그대로 유지하면서 Salesforce 내에서 접근 가능하게 합니다. 한 시스템만 데이터를 보관합니다.
* **이중 계층 액세스 제어가 필요합니다.** 외부 시스템의 기본 액세스 제어와 Salesforce 보안 모델이 동시에 적용되면 데이터 중복 없이 연합 모델이 모두 적용됩니다.
* **외부 시스템은 이미 권한 있는 기록 시스템입니다.** 데이터가 이미 소스 시스템에서 정리되고 관리되며 쿼리 가능한 경우, 가상화하면 중복 변환, 저장 비용, 불일치 위험을 방지할 수 있습니다.
**피해야 할 경우:**
* **낮은 지연의 쓰기가 필요합니다.** 외부 개체는 읽기 전용입니다. 쓰기 저장 사용 사례에는 다른 통합 패턴이 필요합니다.
* **복잡한 다중 객체 조인이 필요합니다.** 다중 외부 개체 전반의 SOQL은 조인을 지원하지 않습니다. 소스 시스템에서 조인된 데이터를 하나의 뷰로 미리 물리적 구체화합니다.
* **Salesforce AI 또는 Agentforce 기능에는 네이티브 데이터가 필요합니다.** 현재 Einstein 및 Agentforce 기능(Einstein Copilot의 기반 기능, 예측 점수 매기기 및 Agentforce 작업 포함)은 기본 Salesforce 개체에서 작동합니다. 이러한 기능은 외부 개체를 기반 데이터 소스 또는 활성화 데이터 소스로 지원하지 않습니다. 이 데이터에 대한 AI 활성화 범위가 있는 경우 **Salesforce Data 360은 보완 솔루션으로 권장됩니다.**
* **고주파수, 대용량 액세스 패턴.** 외부 개체는 주문형 액세스를 위해 고안되었습니다. 분당 수백 개의 쿼리를 실행하는 워크로드는 거버너 제한을 소진시키고 성능을 저하시킵니다.
## 사용 사례: 실제 패턴
다음 사용 사례는 일반적인 엔터프라이즈 시나리오에서 Salesforce 데이터 가상화가 적용되는 방식을 설명합니다. 각 예에서는 Snowflake를 외부 시스템으로 사용하지만, 기본 패턴은 Salesforce Connect 지원하는 모든 SQL 호환 데이터 소스에 적용됩니다.
### 사용 사례 1: 외부 데이터 웨어하우스의 고객 지원 메트릭
**도전:** 지원 팀은 Snowflake에 저장된 티켓 볼륨, 해결 시간, 에스컬레이션 메트릭과 Salesforce 사례 데이터를 결합하는 통합 보고서가 필요했습니다. 이 데이터에 대한 복제 파이프라인을 구축하고 유지 관리하는 과정에서 지연이 발생하고, 읽기 전용 보고 사용 사례에 운영 오버헤드가 추가되었습니다.
**솔루션:** 팀은 Salesforce에서 티켓 메트릭을 외부 개체로 포함하는 Snowflake 보기를 노출했습니다. 팀은 기본 사례 개체와 외부 티켓 데이터를 조인하도록 Salesforce 보고서를 구성했습니다.
**결과:**
* 보고서는 항상 실시간 Snowflake 데이터를 반영합니다. 파이프라인 지연 없음.
* 중요한 지원 메트릭의 거버넌스는 Snowflake에 그대로 유지됩니다.
* 구축, 모니터링 또는 유지 관리할 ETL 파이프라인이 없습니다.
### 사용 사례 2: 세일즈 담당자의 실시간 신용 상태
**도전:** 재무 팀은 Snowflake에서 권위 있는 신용 한도 및 잔액 데이터를 유지했습니다. 역 ETL을 통해 해당 값을 Salesforce에 복제하면 복제 지연이 발생하여 세일즈 담당자가 오래된 신용 정보를 기반으로 거래를 체결하게 됩니다. 규정 준수 팀은 Salesforce 저장소에 중요한 금융 데이터를 보관하는 것의 위험성을 지적했습니다.
**솔루션:** 팀은 Snowflake 금융 보기를 외부 개체로 가상화하고 계정 페이지 레이아웃에 표시했습니다. 이제 세일즈 담당자가 Salesforce의 표준 계정 보기의 일부로 실시간 크레딧 상태를 볼 수 있습니다.
**결과:**
* 모든 계정 페이지의 실시간 크레딧 데이터 지연 없음.
* 재무 데이터에 대한 역 ETL 파이프라인이 제거됩니다.
* 중요한 금융 데이터는 Salesforce 저장소에 복사되지 않습니다. 규정 준수 범위는 Snowflake에 유지됩니다.
### 사용 사례 3: M&A 동안 조직 간 운영 보고
**도전:** 합병 시 인수 회사는 Salesforce 사용자에게 트랜잭션, 청구, 사용량을 다루는 6개의 대용량 Snowflake 데이터 집합의 운영 데이터를 제공해야 했습니다. 테라바이트의 데이터를 Salesforce에 복제하는 것은 병합 타임라인에서 실현되지 않았으며, 각 데이터 집합에 대한 사용자 정의 ETL 파이프라인을 구축하려면 상당한 엔지니어링 투자가 필요했습니다.
**솔루션:** 팀은 Salesforce Connect를 사용하여 모든 6개의 Snowflake 데이터 집합에 대해 최소 권한 통합 역할로 외부 개체를 구성했습니다. 사용자 정의 코드가 필요하지 않습니다. 쿼리는 Snowflake에서 직접 실행되며 모든 활동은 규정 준수 보고를 위해 Snowflake 쿼리 내역에 기록됩니다.
**결과:**
* 완전히 선언적 구성입니다. 사용자 정의 코드 또는 파이프라인이 필요하지 않습니다.
* 데이터의 최신성이 보장됩니다. 모든 쿼리는 실행 시 실시간 Snowflake 데이터를 반영합니다.
* 전체 감사 추적이 Snowflake 쿼리 내역에 기록되어 규제 및 규정 준수 보고에 활용됩니다.
## 설계 고려 사항 및 실패 모드
데이터 가상화는 고유한 운영 프로필을 도입합니다. 다음 실패 시나리오에 맞게 설계합니다.
* **OAuth 토큰 만료:** 토큰의 유효 기간은 TTL입니다. 만료된 토큰으로 인해 콜아웃이 실패합니다. 401 승인되지 않은 응답을 모니터링하고 새로 고침 논리를 구현합니다.
* **웨어하우스 콜드 스타트(Snowflake별):** 자동 정지 웨어하우스는 첫 번째 쿼리에서 5~30초를 더합니다. 대기 시간이 필요한 사용자 대면 사용 사례의 경우 업무 시간 동안 예약된 경량 쿼리로 미리 워밍업합니다.
* **역할 불일치:** 외부 시스템에서 잘못 구성된 역할은 오류가 아닌 0개의 행을 자동으로 반환할 수 있습니다. Salesforce와 독립적으로 외부 시스템에서 역할 대 개체 권한을 확인합니다.
* **결과 집합 오버플로우:** 대용량 페이로드가 API 제한을 초과합니다. 항상 LIMIT 절을 적용하고 원시 테이블 대신 필터링된 보기를 노출하십시오.
* **외부 시스템 중단:** 대체 또는 캐시가 없습니다. try/catch 구문으로 콜아웃을 감싸고 UI에 정보성 오류 상태를 표시합니다. 미션 크리티컬 데이터의 경우 실시간 액세스를 위해 가상화하고 소스 시스템 중단 시 가용성을 보장하기 위해 가장 중요한 필드에 대한 경량 복제 대체를 유지하는 계층화된 접근 방식을 고려하십시오.
## Well-Architected 정렬
Salesforce 데이터 가상화는 Salesforce 올바르게 설계된 프레임워크의 다음 기둥에 부합합니다.
* **Trust:** 위임받은 OAuth 2.0 모델 및 최소 권한 역할 지침이 Trust 일치합니다. 이중 계층 액세스 제어(소스 시스템 + Salesforce)는 심층 방어 전략을 적용합니다.
* **신뢰성(오류 허용):** 오류 모드 섹션은 신뢰성을 직접 해결합니다. 토큰 만료, 콜드 스타트, 역할 잘못된 구성, 결과 집합 오버플로, 가동 중지 처리는 각각 문서화된 해결 경로가 포함된 고유한 오류 클래스를 나타냅니다.
* **신뢰성(확장성):** 쿼리 푸시다운, 웨어하우스 크기 지정 지침, 콜아웃 제한 인지도는 Salesforce 총괄자 제약 내에서 실행 효율성을 최적화하며, 이는 대규모로 작동하는 솔루션의 신뢰성 우려입니다.
* **작업 우수성:** Snowflake 쿼리 내역을 기본 관찰 가능성 도구로 사용하면 운영 우수성을 지원합니다. 설계자는 사용자 정의 로깅 인프라를 구축하는 대신 플랫폼 네이티브 도구를 사용하여 종단간 감사 가능성 및 성능 진단을 수행할 수 있습니다.
## 설계자의 빠른 시작
이 섹션은 설계자 및 디자이너에게 Sandbox 환경에서 데이터 가상화 패턴을 구축하기 위한 구조화된 시작 지점을 제공합니다. 이 가이드는 완전한 구현 가이드가 아니며, 첫 번째 개념 증명을 안내하기 위한 검증된 결정 및 구성 단계의 순서로 간주해야 합니다.
### 시작하기 전
구성 작업을 시작하기 전에 다음을 확인하십시오.
* **라이센스 권한:** Salesforce Connect는 모든 Salesforce Edition에 포함되어 있지 않습니다. Snowflake용 SQL 어댑터는 기본 Salesforce Connect 권한 외에 별도의 추가 기능 라이센스가 필요합니다. 진행하기 전에 조직에서 둘 다 확인하십시오.
* **Sandbox 먼저:** 프로덕션으로 구성을 승격하기 전에 Sandbox 환경의 모든 단계를 완료합니다.
* **스노우플레이크 액세스:** Snowflake에서 보안 통합을 만들고 대상 데이터베이스, 스키마, 개체에 액세스할 수 있는 권한이 있는지 확인합니다.
* **어댑터 버전:** 조직 에디션에서 Snowflake용 SQL 어댑터를 사용할 수 있는지 확인하고, Snowflake 계정 URL에 밑줄이 포함되어 있지 않은지 확인하십시오(포함되어 있다면 하이픈으로 대체하십시오). 이는 Salesforce 플랫폼의 콜아웃 호스트 이름 해결을 위한 제약 조건입니다.
Snowflake와 같은 외부 SQL 시스템으로 데이터 가상화를 설정하는 것은 선언적이고 구성 중심의 프로세스이며, 사용자 정의 코드가 필요하지 않습니다. 설정은 세 가지 연속 단계를 따릅니다: ID 및 신뢰 설정, 데이터 표면 구성, 그리고 최종 사용자에게 데이터 노출.
### 1단계: 신원 및 신뢰 구성
이 단계에서는 Salesforce와 외부 시스템 간에 안전한 위임된 OAuth 2.0 Trust 체인을 설정합니다. 데이터 표면 구성을 시작하기 전에 이 단계를 완료하십시오.
1. **Salesforce에서 인증 공급자 만들기.** OpenID Connect 유형을 사용합니다. 이 단계에서 자리 표시자 값을 사용합니다. 외부 시스템에서 값을 검색한 후 완료로 돌아갑니다. 저장하면 Salesforce에서 콜백 URL을 생성합니다. 이 값을 유지합니다.
2. **외부 시스템에서 Salesforce를 OAuth 클라이언트로 등록합니다.** Snowflake에서 이는 보안 통합(OAuth, Confidential Client 유형) 생성을 의미합니다. Salesforce 콜백 URL을 리디렉션 URI로 제공합니다. 생성 후 통합에서 클라이언트 ID, 클라이언트 암호, 인가 URL, 토큰 URL을 검색합니다.
3. **인증 공급자 구성을 완료합니다.** Salesforce 인증 공급자로 돌아가 외부 시스템에서 검색된 값으로 채웁니다. 소비자 키, 소비자 암호, 인가 URL, 토큰 URL.
4. **외부 자격 증명을 만듭니다.** 프로토콜을 OAuth 2.0으로 설정하고 인증 공급자에 연결한 다음 주체(ID 모델 결정에 따라 명명됨 또는 사용자별)를 추가합니다. 이 개체는 OAuth 토큰 수명 주기를 관리합니다.
5. **명명된 자격 증명을 만듭니다.** 끝점을 외부 시스템의 API URL(예: `https://.snowflakecomputing.com/api/v2/statements/`)으로 설정하고 외부 자격 증명에 연결합니다.
6. **외부 자격 증명에 대한 프로필 액세스 권한을 부여합니다.** 이 단계를 수행하지 않으면 다른 모든 구성이 올바르더라도 사용자가 연합 쿼리를 호출할 수 없습니다.
7. **OAuth 플로를 시작하여 인증을 완료합니다.** Salesforce에서 OAuth 핸드셰이크를 트리거합니다. 플랫폼이 외부 시스템 로그인으로 리디렉션되고 자격 증명을 확인하며 결과 토큰을 외부 자격 증명에 안전하게 저장합니다. 이 단계는 유효한 토큰에 사용자 컨텍스트를 바인딩합니다. 이 단계가 완료될 때까지 모든 연합 쿼리가 실패합니다.
### 2단계: 데이터 표면 구성
이 단계에서는 Salesforce를 외부 데이터 스키마에 연결하고 사용자 및 플랫폼에서 쿼리하는 외부 개체 정의를 만듭니다.
1. **외부 데이터 소스를 만듭니다.** 적절한 어댑터(예: Snowflake용 SQL 어댑터)를 선택하고 대상 데이터베이스 및 스키마를 가리킨 다음, 1단계에서 만든 명명된 자격 증명에 연결합니다.
2. **연결을 확인합니다.** 외부 데이터 소스에 내장된 유효성 검사를 사용합니다. 성공적인 결과는 OAuth 신뢰 체인이 완료되었으며 외부 시스템에 접근할 수 있음을 확인합니다.
3. **메타데이터를 동기화합니다.** 외부 데이터 소스에서 메타데이터 동기화를 시작합니다. Salesforce가 대상 스키마를 검사하고 외부 개체 정의를 생성하여 외부 열을 Salesforce 필드 유형에 매핑합니다.
4. **필요한 테이블 또는 보기를 선택하고 표시합니다.** 외부 개체로 표시할 외부 테이블 또는 보기를 선택합니다. 가장 좋은 방법은 원시 테이블 대신 선별된 보기를 표시하는 것입니다. 보기를 사용하면 열 사전 필터링, 행 수준 제한 및 Salesforce 레이어가 액세스할 수 있는 항목을 더 엄격하게 제어할 수 있습니다.
### 3단계: UI 및 액세스 구성
이 단계에서는 Salesforce Lightning Experience 내의 최종 사용자가 외부 개체를 볼 수 있고 사용할 수 있게 합니다.
1. **외부 개체에 대한 탭을 만듭니다.** 탭을 사용하면 Lightning 앱 내에서 외부 개체를 직접 탐색할 수 있습니다.
2. **페이지 레이아웃에 외부 개체 추가.** 기본 Salesforce 레코드와 함께 관련 외부 데이터를 표시합니다(예: 계정 페이지 레이아웃에 Snowflake 금융 보기를 추가).
3. **관련 목록에 추가하기.** 관련 목록에 외부 개체를 포함하여 사용자에게 컨텍스트에서 기본 및 외부 데이터의 통합 보기를 제공합니다.
4. **엔드 투엔드 쿼리 연합을 확인합니다.** 페이지를 로드하거나 외부 개체를 참조하는 쿼리를 실행합니다. 그런 다음, 외부 시스템의 쿼리 내역(예: Snowflake 쿼리 내역)을 검사하여 쿼리가 소스에서 실행되었는지 확인합니다. 올바른 역할, 창고, ID가 쿼리를 실행했는지 확인합니다.
세 가지 단계 모두 완료되면 Salesforce 사용자는 데이터가 Salesforce 외부에서 생성되었음을 인식하지 않고 표준 Salesforce 인터페이스를 통해 실시간 외부 데이터와 상호 작용할 수 있습니다.
## 결론
Salesforce 데이터 가상화는 복제 기반 통합을 쿼리 시간 연합으로 대체합니다. 데이터는 권한 있는 소스에 유지되며 Salesforce 사용자는 표준 플랫폼 인터페이스를 통해 상호 작용합니다. 구축할 파이프라인, 관리할 복사본, 관리할 지연이 없습니다.
이 패턴은 읽기 위주의 액세스, 실시간 데이터 신선도, 엄격한 거버넌스, 이중 계층 액세스 제어가 주요 동인인 경우에 적합한 선택입니다. 쓰기가 필요하거나 AI 또는 자동화 기능이 기본 Salesforce 개체에 의존하는 경우, 또는 액세스 패턴의 빈도가 너무 높아 거버너 제한으로 감당할 수 없는 경우에는 적절하지 않은 선택입니다.
Snowflake는 사용자 정의 코드 없이 선언적으로 설정된 쿼리 시간 연합 연결, Snowflake 쿼리 내역을 통한 종단 간 관찰, 그리고 Snowflake 기본 액세스 제어와 전체 Salesforce 보안 모델을 통한 적용 등 이 패턴을 잘 보여줍니다.
이 아키텍처를 커밋하기 전에 라이센스 권한을 확인하고, 예상 액세스 패턴에 대한 총괄자 제한 노출을 평가하고, Sandbox 환경에서 OAuth 준비 상태를 확인합니다. 이 패턴은 신중한 사전 설계의 이점을 제공합니다: ID 모델, 자격 증명 체인, 뷰 전략을 올바르게 구축하면 운영 부담이 최소화됩니다.
## 저자 소개
**Yugandhar Bora는** Salesforce의 소프트웨어 엔지니어링 아키텍처로, 데이터 및 인텔리전스 애플리케이션 플랫폼 내 데이터 아키텍처를 전문으로 합니다. 그는 데이터 거버넌스 및 통합 데이터 모델에 초점을 맞춘 EARB(엔터프라이즈 아키텍처 검토 위원회) 이니셔티브를 이끌고 자동화된 플랫폼 프로비저닝 솔루션에 기여합니다.
# 기초부터 시작하기
이 섹션에서는 Salesforce Platform이 핵심에서 작동하는 방식을 이해하기 위한 필수 지식을 제공합니다. Salesforce 아키텍처에 처음이시거나, 이해를 심화하고자 하시는 분들을 위해, 이 기본 기사들이 견고한 아키텍처 기반 구축에 도움을 드릴 것입니다.
## Salesforce Platform 아키텍처
[아키텍처 기본 사항](/docs/architect/ko-kr/fundamentals/guide/architecture-basics)은 Salesforce Platform에서 솔루션을 구성하는 방법을 이해할 수 있는 시작 지점입니다. 이 기사는 모든 설계자가 마스터해야 하는 세 가지 필수 영역에 대해 다룹니다.
- **트랜잭션**: Salesforce가 총괄자 제한 및 실행 컨텍스트를 통해 트랜잭션을 정의하고 제어하는 방법에 대해 알아봅니다. 플랫폼의 실행 순서와 모든 데이터베이스 작업 전반에서 데이터 무결성을 보장하는 방법을 이해합니다.
- **메타데이터 vs. 데이터**: 메타데이터와 데이터 간의 중요한 차이점과 Sandbox 개발에서 프로덕션 배포 및 패키지 관리에 이르기까지 응용 프로그램 수명 주기에 미치는 영향을 알아봅니다.
- **플랫폼 API**: 사용 가능한 다양한 Salesforce Platform API를 살펴보고, 각 API를 사용하는 시기를 이해하고, API 버전 관리 및 서비스 점검 계획을 수립하는 방법을 알아봅니다.
이 기사로 시작하여 플랫폼이 자원을 관리하고 제한을 적용하며 응용 프로그램 개발을 위한 API를 제공하는 방법에 대한 기본적인 이해를 구축합니다.
## Salesforce Platform - 미래를 위한 혁신
[Salesforce Platform - Transformed for Tomorrow](/docs/architect/ko-kr/fundamentals/guide/platform-transformation)는 Salesforce의 플랫폼 아키텍처를 재구성한 포괄적인 혁신 과정을 문서화합니다. 이 자세한 백서에서는 다음을 살펴봅니다.
- **현대 플랫폼 아키텍처**: Salesforce가 일종의 아키텍처에서 AI 기반 응용 프로그램 및 에이전트 환경을 지원하는 독립 서비스가 있는 구조로 발전한 방법을 알아봅니다.
- **Hyperforce 인프라스트럭처**: 여러 퍼블릭 클라우드 제공업체에서 운영되는 Salesforce의 차세대 인프라에 대해 알아보고, 이 인프라가 향상된 확장성, 규정 준수, 그리고 데이터 거주 기능을 제공하는 방법을 살펴봅니다.
- **건축 원칙**: 플랫폼 개발을 안내하는 6가지 핵심 원칙을 이해합니다. 엔터프라이즈급 Trust, 멀티테넌트 설계, 메타데이터 기반 아키텍처, API First 접근 방식, 개방형 및 상호 운용 가능한 시스템, Agentic 기능
- **플랫폼 레이어**: 인프라에서 사용자 환경까지 현대 Salesforce Platform을 구성하는 상호 연결된 계층과 포괄적인 비즈니스 기능을 제공하기 위해 함께 작동하는 방법을 살펴봅니다.
이 기사는 특히 AI와 클라우드 네이티브 아키텍처 시대에 Salesforce가 엔터프라이즈 애플리케이션의 미래를 어떻게 포지셔닝했는지를 이해하는 데 필수적입니다.
## 플랫폼 다중 테넌트 아키텍처
[플랫폼 멀티테넌트 아키텍처](/docs/architect/ko-kr/fundamentals/guide/platform-multitenant-architecture)에서는 Salesforce Platform이 신뢰할 수 있고 확장 가능하며 사용자 정의할 수 있는 환경을 제공하는 방법에 대해 자세히 알아봅니다. 이 기사는 다음을 설명합니다.
- **멀티테넌트 설계**: 단일 공유 데이터베이스 및 스키마가 수십만 조직의 테넌트별 데이터, 메타데이터, 비즈니스 논리를 안전하게 격리하는 방법을 이해합니다.
- **플랫폼 데이터 레이어**: 범용 데이터 사전(UDD), 유연한 열, 색인화 시스템, 플랫폼이 메타데이터와 데이터를 모두 효율적으로 저장하는 방법을 살펴봅니다.
- **응용 프로그램 개발**: 플랫폼의 브라우저 기반 도구, API, 쿼리 언어, Apex를 포함한 노코드, 로우코드, 프로코드 개발 방식을 지원하는 방법에 대해 알아봅니다.
- **내부 처리**: 플랫폼이 쿼리, 검색, 대량 작업, 스키마 수정, 멀티테넌트 격리를 처리하여 최적의 성능 및 보안을 보장하는 방법을 알아봅니다.
이 기술 요약은 Salesforce Platform을 확장 가능하고 안전하며 사용자 정의할 수 있는 기본 메커니즘을 이해해야 하는 아키텍처에게 매우 유용합니다.
## 플랫폼 공유 아키텍처
[플랫폼 공유 아키텍처](/docs/architect/ko-kr/fundamentals/guide/platform-sharing-architecture)는 보안 데이터 액세스 모델을 구성하는 포괄적인 가이드입니다. 이 문서는 다음을 다룹니다.
- **공유 구성 요소**: 프로필, 권한 집합, 역할 계층, 조직 전체 기본값, 공유 규칙, 팀, 영역 등을 포함하여 공유 모델을 구성하는 모든 구성 요소에 대해 알아봅니다.
- **구현 시나리오**: 실제 고객 시나리오와 다양한 공유 구성 요소가 함께 작동하여 복잡한 데이터 액세스 요구 사항을 충족하는 방법을 살펴봅니다.
- **모범 사례**: 대용량 데이터, 소유권 왜곡, 영역 관리, 조직 변경 계획에 대한 고려 사항을 이해합니다.
- **문제 해결**: 체계적인 접근 방식을 통해 사용자가 레코드에 액세스하거나 액세스할 수 없는 이유를 진단하고 일반적인 공유 모델 문제를 해결하는 방법을 알아봅니다.
새 공유 모델을 설계하거나 기존 공유 모델을 최적화하는지 여부와 상관없이 이 가이드는 안전하고 유연하며 유지 관리 가능한 데이터 액세스 아키텍처를 만드는 데 필요한 Knowledge 제공합니다.
---
이 네 개의 기사는 Salesforce Platform 아키텍처 지식의 기반을 이룹니다. 아키텍처 기본 사항부터 시작하여 기본 개념에서 고급 아키텍처 패턴으로의 이해를 점진적으로 구축하려면 순서대로 해당 개체를 읽는 것이 좋습니다.
# 개요
현대 Salesforce 아키텍처는 단순한 편의를 넘어서, 규모 확장을 위한 전략적 요구사항으로 비동기 처리 방식을 채택하고 있습니다. 최근 몇 년 동안, 많은 기업들은 폭증하는 데이터 용량, 다중 터치포인트를 포함한 복잡한 통합, 그리고 24시간, 7일, 365일 가동되는 자율 시스템의 부상과 같은 문제에 직면해 있습니다. 이러한 모든 요소들은 시스템 아키텍트들이 비동기 우선 시스템을 설계하도록 유도합니다.
Salesforce에서의 비동기 처리는 거버너 제한과 복잡성을 고려하여 설계해야 함을 의미합니다. 이러한 제한들은 대량 데이터 처리에 안전하고 확장 가능한 시스템을 구축하는 데 도움이 되는 가드레일 및 아키텍처 제약의 역할을 합니다. 플랫폼 제한은 복잡성을 직접 관리하는 데 도움이 되지 않지만, [설계 패턴](https://refactoring.guru/design-patterns)은 해당 측면에서 위험을 완화하는 데 도움이 됩니다. 내부적으로 Salesforce는 종종 플랫폼의 경계를 푸시하여 새로운 기능을 사전 테스트하고 복잡한 비즈니스 프로세스를 자동화합니다. 임의의 수의 단계를 사용하여 비동기 작업을 실행하기 위한 단계 기반 비동기 처리 프레임워크를 구축했습니다. 각 단계는 중앙 집중식 로깅을 통해 공유 관리 제어 및 전체 운영 가시성을 사용하여 독립적으로 실행, 재시도, 재시작할 수 있습니다. 이 문서는 핵심 아키텍처 구성 요소를 개략적으로 설명합니다. 대기 가능한 Apex 및 파이널라이저, 예약된 플로, Apex 커서, 호출 가능한 작업 및 Slack과의 통합 이러한 구성 요소들은 함께 변화하는 엔터프라이즈 요구에 적합한 모듈식, 확장 가능하며 관찰 가능한 아키텍처를 제공합니다.
## 주요 인테이크
- 현대 Salesforce 아키텍처는 비동기식 우선 접근 방식을 채택하여 규모, 복원력, 운영 투명성을 달성해야 합니다.
- 복잡한 작업을 독립적으로 실행 가능한 단계로 나누면 핵심 워크플로를 재설계하지 않고 예측 가능한 성능, 안전한 재시도, 점검 포인트, 롤백, 모듈식 진화가 가능합니다.
- 프레임워크는 단일 및 오래된 배치 작업, 체인화된 비동기 호출, 심층적으로 중첩된 플로에 확장 가능한 대안을 제공하며 플랫폼 외부 오케스트레이션 없이 Salesforce 내에서 가로로 확장해야 하는 대용량 워크로드에 대해 구축되어 있습니다.
- 결정적이고 관찰 가능한 실행은 중앙 집중식 로깅 및 거버넌스를 통해 진행률 추적, SLA 모니터링, 오류 진단, 감사 수준 투명성을 보장합니다.
- 장기 실행 비즈니스 프로세스 전반에서 통합 관리, 규정 준수, 분산된 시/도 제어 등 엔터프라이즈급 엄격성을 위해 설계되었습니다.
## 플랫폼 모범 사례
요구 사항을 검토하기 전에, 이러한 프레임워크를 사용할 때의 주의사항(해야 할 일과 하지 말아야 할 일)을 안내합니다. 무엇보다 신뢰할 수 있는 단일 소스인 시스템을 고려하십시오. Salesforce 조직이 외부 데이터에 최소한 의존하지만 레코드를 수백 개에서 수백만 개까지 확장해야 하는 경우 단계 기반 비동기 프레임워크를 고려하십시오.
**다음과 같은 경우 이 프레임워크를 사용하십시오**
- 작업할 정보의 대부분 또는 전부가 이미 CRM에 있습니다.
- 외부 데이터를 조화하기 위해 ETL(Extract Transform Load) 작업을 유지 관리하는 초기 또는 진행 중인 비용이 너무 높습니다.
- 설정된 일정에 따라 대량의 Salesforce 레코드 처리를 지연해야 합니다.
- 처리를 개별 단계로 세분화할 수 있습니다. 예를 들어, 데이터 용량이 계층 구조나 트리 형태로 확산되는 경우, 계층적 또는 트리 기반의 레코드 집합을 만들 수 있습니다.
**다음과 같은 경우 이 프레임워크를 사용하지 마십시오**
- 레코드를 만들거나 업데이트하려면 즉시 재계산해야 합니다.
- 외부 시스템에서 레코드 업데이트를 위한 기본 데이터를 호스팅하므로 통합이 어려울 수 있습니다. (대량 API를 사용하여 업데이트된 데이터를 Salesforce로 푸시하는 것이 좋습니다.)
이러한 관행을 염두에 두고 요구 사항을 검토하고 구축을 시작해 보겠습니다.
## 요구 사항 세분화
문제 설명:
> 매일 실행해야 하는 작업에 따라 특정 레코드가 사전 설정된 추가 처리를 위한 기준을 충족하는지 확인합니다. 기준을 충족하면 해당 처리 작업을 시작하십시오. 레코드를 처리하면 여러 외부 시스템에서 데이터를 가져와 계산을 수행할 수 있습니다. 작업의 단계는 Slack을 통해 처리된 레코드를 검토할 준비가 되었음을 사람들에게 알립니다. 또한 단계는 첫 번째 알림 라운드 후 구성 가능한 지연을 기반으로 역할 계층의 관리자 및 상위에 알림을 에스컬레이션해야 합니다.
이 문제는 몇 가지 다른 단계에 포함되며 일부 단계는 서로 독립적으로 수행될 수 있습니다. 여러 가지 방법으로 작업을 분할할 수 있습니다. 다음은 하나의 그룹화입니다.
- 스케줄러.
- 처리 유형에 관계없이 레코드를 처리하는 단계 인터페이스 및 구체적인 구현입니다.
- 단계를 구성하는 프로세서입니다.
- 스케줄러가 호출하는 Apex 인보커블 액션입니다.
- 알림 항목입니다. [Apex Slack SDK](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/overview.html)를 사용합니다.
- "구성 가능한 지연"이라는 구문에는 몇 가지 복잡성이 숨겨져 있습니다. 이 문서에서는 나중에 이 복잡성을 검토하겠습니다.
다음은 구축된 프레임워크에 대한 의견이 반영된 다이어그램입니다.
이제 그 다이어그램을 분해하고 각 부분을 만들어 봅시다.
## 예약 플로를 사용한 스케줄링
예약된 플로우는 예약 메커니즘으로서 다음과 같은 몇 가지 장점을 제공합니다.
- 예약된 플로는 패키지화하고 메타데이터로 배포할 수 있습니다. 이는 Apex(또는 예약된 작업 페이지)를 통해 예약된 작업에는 해당되지 않습니다.
- 대기 요소는 콜아웃이 필요한 프레임워크에 중요합니다. 플로에서 이를 사용하면 프레임워크의 호출 가능 부분에서 콜아웃이 필요하지 않습니다.
- 스케줄링의 세분화는 요건을 충족합니다. 예약 플로의 최소 간격은 매일입니다. 빈도가 더 높아야 하는 경우(예: 시간별) 이 요구 사항에는 예약 플로가 적합하지 않을 수 있으니 다시 검토하십시오.
예약된 플로를 구성할 때 고려해야 할 또 다른 사항은 환경 게이팅입니다. Apex 작업을 호출하기 전에 `{!$Api.Enterprise_Server_URL_100}` 변수를 평가하는 Decision 요소를 추가합니다. 이렇게 하면 작업이 UAT 및 프로덕션과 같은 의도한 환경에서만 실행됩니다. 이 패턴은 샌드박스가 SDLC 동안 자주 새로 고쳐지거나 새로 생성되므로 중요하며, 명시적인 환경 확인이 없으면 프레임워크가 실행되어서는 안 되는 환경에서 예약된 플로우가 의도치 않게 실행될 수 있습니다. 결정 요소에서 `contains` 연산자를 사용하면 설정이 향후 샌드박스 생성 또는 URL 변경에 대응할 수 있습니다.
마지막으로 프레임워크에서 실패를 처리하는 방법을 고려합니다. 항상 플로에서 액션을 호출할 때 오류 경로를 추가합니다. 예를 들어, 오류를 [Nebula Logger의](https://www.nebulalogger.com/) "로그 항목 추가" 액션에 연결할 수 있습니다. Nebula Logger는 로그를 사용자 정의 개체에 작성하므로 고객은 로그 데이터가 Org 저장소를 사용한다는 사실을 알고 있어야 합니다. 기본적으로 로그는 Org 내에 14일 동안 저장되고 이후 정리됩니다. 이 보존 기간은 구성할 수 있습니다. Nebula Logger는 플랫폼 이벤트를 사용하여 로그를 게시하므로 로그 항목이 기본 데이터 처리 트랜잭션과 독립적으로 저장되어, 기본 플로우 또는 Apex 액션이 롤백되는 경우에도 실패가 캡처됩니다. 고객은 로깅 프레임워크 추가를 고려할 때 예상되는 로그 용량 및 보존 요구 사항을 평가해야 합니다.
다음은 플로의 모습입니다.
이제 예약 요구 사항을 충족했으니 Apex 코드의 첫 부분으로 넘어가겠습니다.
## 단계 인터페이스 생성
`Step` 인터페이스 정의:
```java
public interface Step {
void execute();
void finalize();
String getName();
Boolean shouldRestart();
}
```
이 문서의 경우 명확성을 위해 `step` 인터페이스가 외부 클래스로 표시됩니다. 프레임워크 자체는 유연합니다. 팀은 모든 단계 클래스가 동일한 인터페이스를 참조하는 한 원하는 Apex 패키징 패턴을 사용하여 인터페이스 및 구현을 구성할 수 있습니다.
인터페이스 내에 정의된 메서드에 대해 참고해야 할 몇 가지 사항이 있습니다.
- `execute`는 현재 매개변수가 없지만, 순서가 중요한 경우 단계 간 데이터 오케스트레이션을 위해 `State` 클래스(또는 인터페이스)를 전달하면 더욱 효과적입니다.
- `getName`은 `System.Type` 대신 `String` 값을 반환할 수 있습니다. 목표는 오케스트레이션 레이어에 다른 속성을 노출하지 않고 단계 이름을 기록하는 방법을 제공하는 것입니다.
다음은 이러한 조각이 함께 어울리는 방식을 보여주는 첫 번째 구체적인 구현입니다. 한 가지 예외를 제외하고 Apex 내에서 비동기 처리를 구현하기 위해 Queueable Apex를 사용하는 것이 좋습니다. Batch Apex는 일반적으로 필요하지 않으며 (`@future` 메서드는 권장되지 않습니다). Queueable Apex는 빠르게 시작되며, Apex 커서를 사용하면 배치 Apex에 비해 많은 장점이 있습니다.
### Apex 커서와 유사한 구현
[Apex Cursors](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_cursors.htm)는 전통적인 Batch Apex 모델에 대한 현대적인 대안을 제공합니다. 배치 처리와 유사하게, 커서 구현은 청크로 레코드를 가져올 수 있습니다(배치당 최대 2,000개). 그러나 커서는 단일 트랜잭션 내에서 여러 개의 가져오기를 허용하므로 대용량 작업의 처리량이 현저하게 높아집니다.
이 프레임워크의 일부로 커서를 도입할 때에는 팀이 현재의 테스트 및 모의 가능성 제한 사항을 인지해야 합니다. 테스트의 커서 동작은 프로덕션 동작과 다를 수 있으므로 커서 내부에 의존하지 않고 경계에서 오케스트레이션 논리를 확인하는 테스트 전략을 설계하는 것이 중요합니다. 플랫폼이 발전함에 따라 이러한 영역은 계속해서 개선되지만 핵심 지침은 다음과 같습니다. 커서는 많은 사용 사례에서 배치 Apex에 비해 더 높은 성능과 감소된 오케스트레이션 오버헤드를 제공합니다.
시스템에서 제공하는 커서와 자체 코드 간의 명확한 경계를 정의하려면 `Step` 인터페이스를 구현할 때 커서와 유사한 표현을 만드는 것이 좋습니다. 다음 코드를 고려하십시오.
```java
public inherited sharing abstract class CursorStep implements Step {
private static final Integer MAX_CHUNK_SIZE = 2000;
protected Cursor cursor;
private Integer chunkSize = System.Limits.getLimitDMLRows();
private Integer position = 0;
protected abstract Cursor getCursor();
protected abstract void innerExecute(List records);
public abstract String getName();
public virtual CursorStep withChunkSize(Integer chunkSize) {
this.chunkSize = chunkSize;
return this;
}
public void execute() {
this.cursor = this.cursor ?? this.getCursor();
this.cursor.setFetchesPerTransaction(this.getFetchesPerTransaction());
List records = new List();
if (this.shouldAdvance()) {
records = this.cursor.fetch(this.position, this.chunkSize);
this.position += this.chunkSize;
}
this.innerExecute(records);
}
public virtual void finalize() {
Logger.info('finished cursor step for ' + this.getName());
}
public virtual Boolean shouldRestart() {
return this.position < this.cursor.getNumRecords();
}
protected virtual Integer getFetchesPerTransaction() {
Integer maxRecordsPerFetchCall = 2000;
if (this.chunkSize < maxRecordsPerFetchCall) {
return this.chunkSize;
}
// Integer division rounds down
// which is perfect for our use-case
return this.chunkSize / maxRecordsPerFetchCall;
}
protected virtual Boolean shouldAdvance() {
return true;
}
}
```
`Cursor` 클래스에 주목하십시오. Apex 커서는 `Database.Cursor`의 인스턴스이지만, `Cursor` 구현은 Cursors의 단점에 대해 유연성을 제공합니다. 다음은 구현 방법입니다.
```java
public virtual without sharing class Cursor {
private static final Integer MAX_FETCHES_PER_TRANSACTION = Limits.getLimitFetchCallsOnApexCursor();
@TestVisible
private static Integer maxRecordsPerFetchCall = 2000;
private Integer cursorNumRecords;
private Integer fetchesPerTransaction = MAX_FETCHES_PER_TRANSACTION;
private final Database.Cursor cursor;
public Cursor(
String finalQuery,
Map bindVars,
System.AccessLevel accessLevel
) {
try {
this.cursor = Database.getCursorWithBinds(finalQuery, bindVars, accessLevel);
} catch (FatalCursorException e) {
Logger.newEntry(
System.LoggingLevel.WARN,
'Error creating cursor. This can happen if there' +
' are no records returned by the query: ' + e.getMessage()
);
}
}
public Cursor setFetchesPerTransaction(Integer possibleFetchesPerTransaction) {
// Handle accidental round downs from Integer division
if (possibleFetchesPerTransaction == 0) {
return this;
}
if (possibleFetchesPerTransaction > MAX_FETCHES_PER_TRANSACTION) {
Logger.newEntry(
System.LoggingLevel.DEBUG,
'Fetches per transaction: ' +
possibleFetchesPerTransaction +
' exceeded platform max fetches per transaction: ' +
MAX_FETCHES_PER_TRANSACTION +
', defaulting to platform max'
);
possibleFetchesPerTransaction = MAX_FETCHES_PER_TRANSACTION;
}
this.fetchesPerTransaction = possibleFetchesPerTransaction;
return this;
}
@SuppressWarnings('PMD.EmptyStatementBlock')
protected Cursor() {
}
public virtual List fetch(Integer start, Integer advanceBy) {
if (this.getNumRecords() == 0) {
Logger.newEntry(
System.LoggingLevel.DEBUG,
'Bypassing fetch call, no records to fetch'
);
return new List();
}
Integer localStart = start;
List results = new List();
while (
Limits.getFetchCallsOnApexCursor() < this.fetchesPerTransaction &&
results.size() < this.getNumRecords() &&
localStart < start + advanceBy
) {
Integer actualAdvanceBy = this.getAdvanceBy(localStart, advanceBy);
results.addAll(this.cursor?.fetch(localStart, actualAdvanceBy) ?? new List());
localStart += actualAdvanceBy;
}
return results;
}
public virtual Integer getNumRecords() {
this.cursorNumRecords = this.cursorNumRecords ?? this.cursor?.getNumRecords() ?? 0;
return this.cursorNumRecords;
}
protected Integer getAdvanceBy(Integer start, Integer advanceBy) {
Integer possibleFetchSize = Math.min(advanceBy, this.getNumRecords() - start);
if (possibleFetchSize > maxRecordsPerFetchCall) {
Logger.newEntry(
System.LoggingLevel.DEBUG,
'Fetch size: ' +
possibleFetchSize +
' exceeded platform max fetch size of ' +
maxRecordsPerFetchCall +
', defaulting to max fetch size'
);
possibleFetchSize = maxRecordsPerFetchCall;
} else if (possibleFetchSize < 0) {
possibleFetchSize = 0;
}
return possibleFetchSize;
}
}
```
이 문서의 나머지 부분에서는 Apex 클래스를 참조할 때 `sharing` 선언을 생략합니다. 실제로 최상위 클래스에서 with sharing 또는 without sharing을 명시적으로 사용하여 오브젝트 모델 및 권한을 준수하도록 하십시오.
또한 저희의 `Cursor` 구현은 플랫폼 `Database.Cursor`에 위임되며, 추가적인 이점에 대해서는 다음에서 논의합니다.
먼저, 다음은 이에 해당하는 테스트입니다.
```java
@IsTest
private class CursorTest {
@IsTest
static void itCapsAdvanceByArgument() {
String accountName = 'helloWorld!';
insert new Account(Name = accountName);
String query = 'SELECT Name FROM Account WHERE Name = :bindVar0';
Map bindVars = new Map{ 'bindVar0' => accountName };
Cursor instance = new Cursor(query, bindVars, System.AccessLevel.SYSTEM_MODE);
Assert.areEqual(1, instance.getNumRecords());
Assert.areEqual(accountName, instance.fetch(0, 1000).get(0).get('Name'));
Assert.areEqual(1, System.Limits.getApexCursorRows());
}
@IsTest
static void itCapsMaxRecordsPerFetchCall() {
Cursor.maxRecordsPerFetchCall = 20;
Integer oneMoreThanMaxFetch = Cursor.maxRecordsPerFetchCall + 1;
List accounts = new List();
for (Integer i = 0; i < oneMoreThanMaxFetch; i++) {
accounts.add(new Account(Name = 'Fetch ' + i));
}
insert accounts;
Exception ex;
List results;
Cursor instance = new Cursor(
'SELECT Id FROM Account',
new Map(),
System.AccessLevel.SYSTEM_MODE
);
try {
results = instance.fetch(0, oneMoreThanMaxFetch);
} catch (System.InvalidParameterValueException e) {
ex = e;
}
Assert.areEqual(null, ex?.getMessage());
Assert.areEqual(2, Limits.getFetchCallsOnApexCursor());
Assert.areEqual(oneMoreThanMaxFetch, results.size());
}
@IsTest
static void itFetchesMultipleTimesPerTransactionWhenMoreThanMaxFetch() {
Cursor.maxRecordsPerFetchCall = 20;
List accounts = new List();
Set expectedFetchNames = new Set();
for (Integer i = 0; i < Cursor.maxRecordsPerFetchCall + 1; i++) {
String accountName = 'Fetch' + i;
expectedFetchNames.add(accountName);
accounts.add(new Account(Name = accountName));
}
insert accounts;
Integer oneMoreThanMaxFetch = Cursor.maxRecordsPerFetchCall + 1;
Cursor instance = new Cursor(
'SELECT Name FROM Account',
new Map(),
System.AccessLevel.SYSTEM_MODE
);
List results = instance.setFetchesPerTransaction(2).fetch(0, oneMoreThanMaxFetch);
Assert.areEqual(Cursor.maxRecordsPerFetchCall + 1, results.size());
Assert.areEqual(2, Limits.getFetchCallsOnApexCursor());
Set actuallyFetchedNames = new Set();
for (Account account : (List) results) {
actuallyFetchedNames.add(account.Name);
}
Assert.areEqual(expectedFetchNames, actuallyFetchedNames);
}
@IsTest
static void itFetchesMultipleTimesPerTransaction() {
Cursor.maxRecordsPerFetchCall = 1;
insert new List{ new Account(Name = 'One'), new Account(Name = 'Two') };
Cursor instance = new Cursor(
'SELECT Id FROM Account',
new Map(),
System.AccessLevel.SYSTEM_MODE
)
.setFetchesPerTransaction(2);
List results = instance.fetch(0, 2);
Assert.areEqual(2, instance.getNumRecords());
Assert.areEqual(2, results.size());
results = instance.fetch(2, 1);
Assert.areEqual(0, results.size());
}
@IsTest
static void fetchesCorrectAmountOfRecords() {
List accounts = new List();
for (Integer i = 0; i < 10; i++) {
accounts.add(new Account(Name = 'Fetch ' + i));
}
insert accounts;
Cursor instance = new Cursor(
'SELECT Id FROM Account',
new Map(),
System.AccessLevel.SYSTEM_MODE
)
.setFetchesPerTransaction(10);
List results = instance.fetch(0, 2);
Assert.areEqual(2, results.size(), '' + results);
Assert.areEqual(1, Limits.getFetchCallsOnApexCursor());
}
@IsTest
static void doesNotExceedPlatformMaxFetch() {
List accounts = new List();
for (Integer i = 0; i < 101; i++) {
accounts.add(new Account(Name = 'Fetch ' + i));
}
insert accounts;
Test.startTest();
Cursor instance = new Cursor(
'SELECT Id FROM Account',
new Map(),
System.AccessLevel.SYSTEM_MODE
)
.setFetchesPerTransaction(100);
Integer counter = 0;
List results;
while (counter <= 100) {
results = instance.fetch(counter, counter + 1);
counter++;
}
Test.stopTest();
Assert.areEqual(101, counter);
Assert.areEqual(0, results.size());
}
}
```
`Cursor`을 가상으로 만들면, 구체적인 `CursorStep` 구현체는 대량의 레코드 집합을 반복할 필요가 없을 때 `Database.Cursor` 없이 작동할 수 있습니다. 이는 Batch Apex에서 `Database.QueryLocator` 대신 `System.Iterable`를 반환하는 것과 유사합니다. 다음은 예시입니다:
```java
public abstract class CursorLikeImplementation extends CursorStep {
private final Cursor cursorLike;
public CursorLikeImplementation(List previouslyRetrievedRecords) {
this.cursorLike = new CursorLike(previouslyRetrievedRecords);
}
public override String getName() {
return CursorLikeImplementation.class.getName();
}
public override Cursor getCursor() {
return this.cursorLike;
}
private class CursorLike extends Cursor {
private final List records;
public CursorLike(List records) {
super();
this.records = records;
}
public override List fetch(Integer position, Integer chunkSize) {
// clone, to keep the underlying list type
List clonedRecords = this.records.clone();
clonedRecords.clear();
for (Integer i = position; i < this.getAdvanceBy(position, chunkSize); i++) {
clonedRecords.add(this.records[i]);
}
return clonedRecords;
}
public override Integer getNumRecords() {
return this.records.size();
}
}
}
```
이 클래스가 추상 클래스이기 때문에, 구체적인 `innerExecute` 구현은 하위 클래스에 위임됩니다.
`CursorLike` 내부 하위 클래스의 대안도 있습니다. 이와 같은 단계의 구체적인 버전이 다른 Governor 한도를 초과하지 않을 경우 `CursorLike.fetch`에서 `this.records`를 반환하고, 상위 `CursorStep.shouldRestart()`를 false로 재정의할 수 있습니다. 이렇게 하면 비동기 트랜잭션 당 12MB의 Apex 힙 제한만을 경계로 리스트를 순회할 수 있습니다.
### 기타 가능한 단계 기반 구현
우리의 커서 기반 구현은 대량의 데이터를 페이지 단위로 처리할 때 상당한 유연성을 제공합니다. 한편, `Step` 인터페이스는 다양한 단계를 설명하고 캡슐화할 수 있는 유연성을 제공합니다.
플로우 기반 단계의 예를 고려해 보십시오:
```java
public virtual class FlowStep implements Step {
private final Invocable.Action specificFlow;
private Boolean shouldRestart = false;
public FlowStep(String specificFlowName, Map inputs) {
this.specificFlow = Invocable.Action.createCustomAction('flow', specificFlowName);
this.specificFlow.setInvocations(new List