# architect 잘 설계된 도구 (well-architected-tools) - Full Documentation
# ⚡️ 안티 패턴 탐색기
Salesforce의 Trust, 사용 편의성 및 적응성을 저해하는 일반적인 함정입니다.
## 신뢰할 수 있음
보안, 규정 준수 또는 신뢰도를 저하하는 관행 및 방지 방법
| 신뢰할 수 있음 - 안티 패턴
|
| 보안 |
호환 |
신뢰할 수 있는 |
|
|
|
## 쉬움
복잡성을 추가하거나 자동화를 줄이거나 사용자 환경에 영향을 미치는 작업입니다.
## 적응 가능
복원 능력을 낮추거나, 구성 가능성을 제한하거나, 변경을 더 어렵게 만드는 방법입니다.
| Adaptable - 안티 패턴
|
| 항력 |
공합 가능 |
|
|
|
|
# ✅ 패턴 탐색기
Salesforce에서 신뢰할 수 있고 쉽게 조정할 수 있는 솔루션을 구축하는 입증된 패턴
## 신뢰할 수 있음
시스템과 데이터를 보호하고, 법적 및 윤리적 표준을 충족하고, 사용 가능한 성능이 뛰어난 솔루션을 제공합니다.
| 신뢰할 수 있음 - 패턴
|
| 보안 |
호환 |
신뢰할 수 있는 |
## 쉬움
명확성, 자동화, 매력적인 사용자 환경을 위해 설계합니다.
## 적응 가능
복원형 작업 및 구성 가능한 아키텍처로 변경을 위해 구축합니다.
# 간단한 패턴 및 안티 패턴 탐색기
명확성, 자동화, 매력적인 사용자 환경을 위해 설계합니다.
복잡성을 추가하거나 자동화를 줄이거나 사용자 환경에 영향을 미치는 작업입니다.
# 구성 가능 - 상호 운용성
### API 관리 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Interoperability](/docs/architect/ko-kr/well-architected/guide/composable#상호-운용성) → [API Management에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/composable#api-관리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 클라이언트 응용 프로그램은 최신 API 버전을 사용하여 Salesforce Platform API를 호출하는 Salesforce 클라이언트 응용 프로그램을 호출하여 사용 중인 API 버전을 정기적으로 업데이트합니다. |
| 플랫폼 \| 설계 표준 | ✅ 교차 구성 요소 통신(즉, API)에 대한 명확한 프로토콜이 있음 |
| 플랫폼 \| 설계 표준 | ✅ 프로토콜/API는 빌더가 검색하고 찾을 수 있는 논리 그룹에 간략하게 표시됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 프로토콜/API는 변수 데이터 유형, 변수 이름, 필수 또는 선택 사항을 정의하고 사용 시기에 대한 명확한 설명을 제공합니다. |
| 플랫폼 \| 문서 | ✅ 특정 API 또는 프로토콜을 검색하고 구현되는 구성 요소를 식별할 수 있습니다. |
| 플랫폼 \| 문서 | ✅ 모든 구성 요소의 문서에 구현된 API/커뮤니케이션 프로토콜이 명확하게 나열됩니다. |
| 플랫폼 \| 조직 | ✅ 사용자 정의 메타데이터 유형으로 내부 커뮤니케이션을 위한 API 메시지 형식 및 변수가 정의됨 |
| 플랫폼 \| 조직 | ✅ 플랫폼 이벤트로 내부 커뮤니케이션을 위한 API 메시지 형식 및 변수가 정의됨 |
| 플랫폼 \| 조직 | ✅ 코드 및 선언적 사용자 정의는 정보를 보내거나 받기 위해 적절한 사용자 정의 메타데이터 유형(또는 플랫폼 이벤트)을 참조합니다. |
### Messaging 및 이벤트 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Interoperability](/docs/architect/ko-kr/well-architected/guide/composable#상호-운용성) → [Messaging and Eventing에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/composable#messaging-및-이벤트)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ✅ 플랫폼 이벤트와 함께 데이터 작업을 사용하여 기존 통합 패턴을 재사용 플랫폼 이벤트를 활용하여 외부 시스템에서 사용할 수 있는 데이터 작업을 사용하여 기존 Pub Sub API 및 이벤트 릴레이 통합 활용 |
| 플랫폼 \| Apex | ✅ 사용자 정의 이벤트 정의 범위가 제한됨(코드에 정의된 시스템 전체 이벤트 또는 메시지 없음) |
| 플랫폼 \| Apex | ✅ Apex 시스템 전체 Messaging 또는 이벤트 서비스에 Salesforce 플로 도구에서 사용할 수 있는 방식으로 주석이 지정됨 |
| 플랫폼 \| 설계 표준 | ✅ 동기 패턴(Messaging) 및 비동기 패턴(이벤트)을 사용할 시기에 대한 명확한 표준이 있습니다. |
| 플랫폼 \| 설계 표준 | ✅ 이벤트 및 메시지 구조에 대한 명확한 표준이 있습니다. |
| 플랫폼 \| 플로 | ✅ 시스템 전체 Messaging 또는 이벤트 서비스를 참조하는 Salesforce 플로 도구 |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 사용자 정의 이벤트 정의 범위가 제한됨(코드에 정의된 시스템 전체 이벤트 또는 메시지 없음) |
| 플랫폼 \| 조직 | ✅ 플로 및 코드에 일관적인 Messaging 및 이벤트 패턴 표시 |
| 플랫폼 \| 플랫폼 이벤트 | ✅ 내부 시스템 메시징에 사용되는 플랫폼 이벤트에 명확한 레이블 표시 |
---
### API 관리 안티 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Interoperability](/docs/architect/ko-kr/well-architected/guide/composable#상호-운용성) → [API Management에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/composable#api-관리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 클라이언트 응용 프로그램이 오래된 API 버전을 사용하여 Salesforce Platform API를 호출하는 Salesforce 클라이언트 응용 프로그램을 호출하려면 사용 중인 API 버전을 최신 버전으로 정기적으로 업데이트해야 합니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 API 및 사용 사례를 정의하지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서가 없습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서는 구성 요소 내에서 구현된 API를 설명하지만, API 정의가 표시되는 유일한 위치입니다. |
| 플랫폼 \| 문서 | ⚡️ 특정 API 또는 프로토콜을 검색할 수 없으며/또는 검색은 API 또는 프로토콜이 구현된 구성 요소를 식별하는 데 도움이 되지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ API는 Salesforce와 외부 시스템 간 커뮤니케이션을 위해만 정의됩니다. |
| 플랫폼 \| 조직 | ⚡️ 시스템 구성 요소 간의 통신(코드 및 선언적 사용자 정의)은 임시입니다. |
### Messaging 및 이벤트 안티 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Interoperability](/docs/architect/ko-kr/well-architected/guide/composable#상호-운용성) → [Messaging and Eventing에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/composable#messaging-및-이벤트)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 코드에 정의된 시스템 전체 메시지 및/또는 이벤트 구조 |
| 플랫폼 \| Apex | ⚡️ Apex 정의된 시스템 전체 이벤트 또는 메시지 구조는 플로와 같은 도구에서 사용할 수 없습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 동기화 및 비동기 패턴에 대한 명확한 표준과 메시지 또는 이벤트 구조에 대한 명확한 표준이 부족합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 코드에 정의된 시스템 전체 메시지 및/또는 이벤트 구조 |
| 플랫폼 \| 조직 | ⚡️ 플로 및 코드에서 다양한 Messaging 및 이벤트 패턴 전략이 표시됩니다. |
| 플랫폼 \| 플랫폼 이벤트 | ⚡️ 내부 시스템 메시징에 사용되는 플랫폼 이벤트 레이블이 명확하지 않거나 존재하지 않습니다. |
---
# 구성 가능 - 우려 사항 분리
### 기능 단위 패턴
잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [걱정 분리](/docs/architect/ko-kr/well-architected/guide/composable#우려-사항-분리) → [기능 단위](/docs/architect/ko-kr/well-architected/guide/composable#기능-단위)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 조직 | ✅ 프롬프트 템플릿에서 반복하여 입력이 응답에 미치는 영향을 이해합니다. 프롬프트 템플릿에서 반복하여 부품이 모델의 응답에 미치는 영향을 이해합니다. |
| 플랫폼 \| 설계 표준 | ✅ 현재 정의된 모든 기능 단위(및 관련 명명 규칙) 목록이 있습니다. |
| 플랫폼 \| 설계 표준 | ✅ 기능 단위 추가 또는 변경 제안 표준이 있는 경우 |
| 플랫폼 \| 설계 표준 | ✅ 명명 규칙은 기능 단위를 지정하는 방법을 다룹니다. |
| 플랫폼 \| 문서 | ✅ 모든 문서 및 구현 다이어그램에 구성 요소의 기능 단위가 명확하게 표시됩니다. |
| 플랫폼 \| 문서 | ✅ 기능 단위 내의 모든 구성 요소를 검색하고 쉽게 찾을 수 있습니다. |
| 플랫폼 \| 문서 | ✅ 시스템 환경 다이어그램에 조직의 기능 단위가 명확하게 표시됩니다. |
| 플랫폼 \| 문서 | ✅ 개별 구성 요소에 대한 문서에는 구성 요소의 기능 단위 매핑이 포함되어 있습니다. |
| 플랫폼 \| 조직 | ✅ 지정된 메타데이터(예: 플로, Apex 클래스 또는 Lightning 페이지)에 대한 기능 단위 정렬을 빠르게 파악할 수 있습니다. |
| 플랫폼 \| 조직 | ✅ 기능 단위에 비즈니스에 친숙한 용어로 레이블이 지정됨 |
### 시/도 관리 패턴
에 대해 자세히 알아보기 잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [걱정 분리](/docs/architect/ko-kr/well-architected/guide/composable#우려-사항-분리) → [국가 관리](/docs/architect/ko-kr/well-architected/guide/composable#시도-관리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ✅ 세이브포인트 및 롤백 동작이 모든 데이터 작업에 사용됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 상태가 있는 디자인과 상태가 없는 디자인의 사용 사례가 명확합니다. |
| 플랫폼 \| 설계 표준 | ✅ 시/도 커뮤니케이션에 대한 승인된 패턴이 있는 경우 |
| 플랫폼 \| 설계 표준 | ✅ 시/도 없는 통신에 대한 승인된 패턴이 있는 경우 |
| 플랫폼 \| 설계 표준 | ✅ 상태에 대한 범주 지우기 |
| 플랫폼 \| 문서 | ✅ 시/도 및/또는 상태가 없는 통신을 처리하는 모든 구성 요소는 구현된 패턴을 나타냅니다. |
| 플랫폼 \| 문서 | ✅ 프로세스 및 상호 작용 다이어그램은 시/도 범주 및 핸드오프에 대한 세부 사항을 제공합니다. |
| 플랫폼 \| 문서 | ✅ 특정 stateful/stateless 패턴을 구현한 모든 구성 요소를 검색하고 찾을 수 있습니다. |
| 플랫폼 \| 플로 | ✅ 오류 경로 및 레코드 롤백 요소가 사용됩니다. |
---
### 기능 단위 안티 패턴
잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [걱정 분리](/docs/architect/ko-kr/well-architected/guide/composable#우려-사항-분리) → [기능 단위](/docs/architect/ko-kr/well-architected/guide/composable#기능-단위)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 기능 단위 및 사용 사례를 처리하지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 특정 기능 단위를 검색할 수 없으며/또는 검색 시 기능 단위 내의 모든 구성 요소를 식별하는 데 도움이 되지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서는 구성 요소가 속한 기능 단위를 설명하지만, 해당 기능 단위의 정의가 표시되는 유일한 위치입니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서가 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 메타데이터에 대한 기능 단위 정렬을 식별할 수 없음 |
| 플랫폼 \| 조직 | ⚡️ 기능 단위 정보가 일관되지 않거나 부정확함 |
| 플랫폼 \| 조직 | ⚡️ 기능 단위 정보는 비즈니스 사용자에게 의미가 없는 엔지니어링 중심 용어로 레이블이 지정됨 |
### 시/도 관리 안티 패턴
에 대해 자세히 알아보기 잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [걱정 분리](/docs/architect/ko-kr/well-architected/guide/composable#우려-사항-분리) → [국가 관리](/docs/architect/ko-kr/well-architected/guide/composable#시도-관리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 세이브포인트 및 롤백 동작이 사용되지 않음 |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 시/도 없는 패턴 및 사용 사례를 처리하지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서가 없습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 요소 문서에 구현된 stateful/stateless 패턴이 설명되어 있지만 정의가 표시되는 유일한 위치입니다. |
| 플랫폼 \| 문서 | ⚡️ 특정 패턴을 검색할 수 없으며/또는 검색 시 해당 패턴을 사용하는 모든 구성 요소를 식별하는 데 도움이 되지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 레코드 롤백 요소가 사용되지 않음 |
---
# 구성 가능 - 패키징 가능
### 종속성 관리 패턴
잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [포장 가능성](/docs/architect/ko-kr/well-architected/guide/composable#패키징-기능) → [독립성 관리](/docs/architect/ko-kr/well-architected/guide/composable#종속성-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ✅ 종속성 도입 또는 수정 표준이 있는 경우 |
| 플랫폼 \| 설계 표준 | ✅ 종속성 선언 표준이 있는 경우 |
| 플랫폼 \| 패키지 | ✅ 패키지 전체에서 메타데이터가 중복되지 않음 |
| 플랫폼 \| 패키지 | ✅ 패키지 개발의 경우 스크래치 조직에서 모든 조기 개발 작업이 수행됩니다. |
| 플랫폼 \| 소스 제어 | ✅ 개발자는 스크래치 조직을 만들고 소스 제어에서 패키지 메타데이터를 성공적으로 배포할 수 있습니다. |
| 플랫폼 \| 소스 제어 | ✅ 잠금 해제된 패키지의 패키지 버전은 별칭(`LATEST`)을 사용하여 `sfdx-project.json` 매니페스트에서 종속성을 선언합니다. |
### 느슨한 커플링 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Packageability](/docs/architect/ko-kr/well-architected/guide/composable#패키징-기능) → [Lose Coupling](/docs/architect/ko-kr/well-architected/guide/composable#느슨한-커플링) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ✅ 동적 런타임 정보에 의존하는 메서드가 적절한 사용자 정의 메타데이터 유형을 참조합니다. |
| 플랫폼 \| Apex | ✅ 일반 서비스와 보일러플릿 코드는 추상적 또는 가상 Apex 클래스를 사용하여 정의됩니다. |
| 플랫폼 \| 설계 표준 | ✅ (옵션) 사용자 정의 설정에 대해 승인된 모든 사용 사례가 명확하게 나열됩니다(있는 경우). |
| 플랫폼 \| 설계 표준 | ✅ 패키지 단위를 지정하는 방법을 설명하는 명명 규칙 |
| 플랫폼 \| 설계 표준 | ✅ 현재 정의된 모든 패키지 단위(및 관련 명명 규칙) 목록을 검색하고 찾을 수 있습니다. |
| 플랫폼 \| 설계 표준 | ✅ 패키지 단위 추가 또는 변경 사항을 제안하기 위한 표준이 있습니다. |
| 플랫폼 \| 조직 | ✅ 사용자 정의 메타데이터 유형은 코드 및 선언적 사용자 정의에 대한 동적 런타임 정보를 제공합니다. |
| 플랫폼 \| 조직 | ✅ 코드 또는 선언적 사용자 정의에 대한 동적 런타임 정보를 제공하기 위해 사용자 정의 개체가 없는 경우 |
| 플랫폼 \| 조직 | ✅ 사용자 정의 설정이 없거나 사용자 정의 설정이 거의 없으며, 패키지 기능과 관련된 설정이 없습니다. |
| 플랫폼 \| 패키지 | ✅ 프로덕션 또는 Sandbox에서는 비관리 패키지가 정의되지 않습니다. |
| 플랫폼 \| 패키지 | ✅ 조직에 종속된 잠금 해제 패키지는 조기 단계 또는 개념 증명 실험에만 사용됩니다. |
| 플랫폼 \| 소스 제어 | ✅ `package.xml` 파일은 초기 단계 또는 개념 증명 프로젝트 매니페스트에만 표시됩니다. |
---
### 종속성 관리 안티 패턴
잘 설계된 [적응 가능](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [구성 가능](/docs/architect/ko-kr/well-architected/guide/composable) → [포장 가능성](/docs/architect/ko-kr/well-architected/guide/composable#패키징-기능) → [독립성 관리](/docs/architect/ko-kr/well-architected/guide/composable#종속성-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 종속성 선언 방법을 다루지 않습니다. |
| 플랫폼 \| 패키지 | ⚡️ 다른 패키지에서 메타데이터를 복제하여 종속성 생략 |
| 플랫폼 \| 패키지 | ⚡️ 개발자 Sandbox에서 조기 패키지 개발이 발생하거나 스크래치 조직에서 조기 패키지 개발이 발생할 수 없습니다. |
| 플랫폼 \| 소스 제어 | ⚡️ 개발자가 소스 제어를 사용하여 스크래치 조직에서 성공적으로 작업할 수 없음 |
| 플랫폼 \| 소스 제어 | ⚡️ 잠금 해제된 패키지의 패키지 버전은 `sfdx-project.json` 매니페스트에서 명시적으로 선언됩니다(`LATEST` 별칭 없음) |
### 느슨한 커플링 안티 패턴
Well-Architected [Adaptable](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/ko-kr/well-architected/guide/composable) → [Packageability](/docs/architect/ko-kr/well-architected/guide/composable#패키징-기능) → [Lose Coupling](/docs/architect/ko-kr/well-architected/guide/composable#느슨한-커플링) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 일반 서비스 및 보일러플레이트 코드를 다른 클래스와 쉽게 구분할 수 없음 |
| 플랫폼 \| Apex | ⚡️ 메서드는 동적, 런타임 정보에 액세스하기 위한 일관된 접근 방식을 사용하지 않거나 런타임 동작 정보에 대한 사용자 정의 개체를 쿼리하거나 코드가 사용자 정의 설정을 참조하지 않습니다. |
| 플랫폼 \| Apex | ⚡️ 클래스 및 메서드 전반의 내부 참조는 따르기 어려우며 코드베이스 전체에서 일관되지 않습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 패키지 단위 및 사용 사례를 처리하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 사용자 정의 설정 사용 |
| 플랫폼 \| 조직 | ⚡️ 코드 또는 선언적 사용자 정의에 대한 동적 런타임 정보를 제공하기 위해 사용자 정의 개체가 존재합니다. |
| 플랫폼 \| 조직 | ⚡️ 코드 및 선언적 사용자 정의에 대한 동적 런타임 정보를 제공하기 위해 사용자 정의 메타데이터 유형이 사용되지 않거나 일관적으로 사용되지 않습니다. |
| 플랫폼 \| 패키지 | ⚡️ 비관리 패키지가 프로덕션 또는 Sandbox에 정의됩니다. |
| 플랫폼 \| 패키지 | ⚡️ 모든 패키지는 조직에 종속된 잠금 해제 패키지입니다. |
| 플랫폼 \| 소스 제어 | ⚡️ `package.xml` 파일은 메타데이터 배포를 제어하는 데 사용됩니다. |
---
# 보안 - 데이터 보안
### 공유 및 가시성 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Data Security](/docs/architect/ko-kr/well-architected/guide/secure#데이터-보안) → [Sharing & Visibility에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#sharing-visibility)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ✅ 데이터 공간에 데이터 분리는 적용됨 Data 360 데이터를 분리하고 적절한 가시성을 보장하기 위해 데이터 공간이 존재함 |
| Einstein \| Bots | ✅ Bot이 시작한 플로가 Bot 사용자 컨텍스트에서 실행 Bot이 시작한 플로는 Bot과 연결된 사용자 프로필 및 권한 집합을 사용하여 플로의 개체 권한 및 필드 수준 액세스 권한을 결정합니다. |
| 플랫폼 \| Apex | ✅ 모든 코드가 공유 키워드와 함께 데이터 액세스(SOQL/SOSL) 또는 데이터 작업 수행(DML/데이터베이스 클래스 메서드) 사용 |
| 플랫폼 \| 설계 표준 | ✅ 외부 사용자 및 내부 사용자에 대해 서로 다른 데이터 액세스 표준이 사용됩니다(해당되는 경우). |
| 플랫폼 \| 문서 | ✅ 보안 매트릭스는 각 사용자 페르소나가 액세스 권한을 부여받은 데이터를 간략하게 보여줍니다. |
| 플랫폼 \| 플로 | ✅ 가능한 경우 시스템 컨텍스트에서 화면 플로 실행을 방지합니다. 이를 방지할 수 없는 경우 하위 플로 요소를 사용하여 전체 화면 플로를 시스템 컨텍스트에서 실행하도록 설정하는 대신 실제 사용자에게 필요한 권한 이상의 작업만 포함하는 하위 플로를 시작합니다. |
| 플랫폼 \| 플로 | ✅ 시스템 컨텍스트에서 실행되는 레코드 가져오기 요소를 사용하는 경우 항상 시스템 컨텍스트에서 저장할 필드 지정 |
| 플랫폼 \| 조직 | ✅ 생성형 AI는 사용자 모드에서만 작동하거나 명확한 비즈니스 근거가 있는 시스템 액세스에 대한 일부 사용 |
| 플랫폼 \| 조직 | ✅ 내부 사용자의 조직 전체 기본값(OWD)은 공용 읽기 또는 내부 사용자의 OWD는 규정 준수 요구 사항으로 인해 비공개입니다. |
| 플랫폼 \| 조직 | ✅ 외부 사용자의 OWD는 비공개입니다. |
### 암호화 패턴 사용
잘 구축된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [보안](/docs/architect/ko-kr/well-architected/guide/secure) → [데이터 보안](/docs/architect/ko-kr/well-architected/guide/secure#데이터-보안) → [암호화 사용](/docs/architect/ko-kr/well-architected/guide/secure#암호화-사용)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| Apex | ✅ 비즈니스 요구에 따라 전송 시 더 높은 수준의 데이터 보호가 필요할 경우 통합과 관련된 모든 코드는 Crypto Class 메서드를 사용하여 데이터를 전송하기 전에 암호화하거나 수신 시 데이터를 해독하는 논리를 수행합니다. |
| 플랫폼 \| 설계 표준 | ✅ 전송 중(필요한 경우) 데이터 암호화를 위한 사용 사례가 명확하고 검색 가능 |
| 플랫폼 \| 설계 표준 | ✅ 승인된 암호화 프로토콜이 명확하게 나열됨 |
| 플랫폼 \| 문서 | ✅ 코드 문서에 암호화가 사용되는 위치 및 사용되는 프로토콜이 명확하게 표시됩니다. |
| 플랫폼 \| 조직 | ✅ 보안 위험을 식별할 경우 데이터 보호 수준을 강화해야 하는 경우 Hyperforce 또는 Salesforce Shield 암호화를 제공합니다. |
---
### 공유 및 가시성 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Data Security](/docs/architect/ko-kr/well-architected/guide/secure#데이터-보안) → [Sharing & Visibility에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#sharing-visibility)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| Bots | ⚡️ Bot이 시작한 플로는 시스템 컨텍스트에서 실행 Bot이 시작한 플로는 시스템 모드에서 실행됩니다. 설정의 릴리스 업데이트 섹션에서 Bot 사용자 컨텍스트에서 플로 실행 업데이트를 활성화하지 않은 경우 발생할 수 있습니다. |
| 플랫폼 \| Apex | ⚡️ 공유 키워드가 일관되지 않게 사용됨 |
| 플랫폼 \| 문서 | ⚡️ 문서가 없거나 보안 매트릭스를 포함하지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 보안 매트릭스가 있는 경우 사용자 페르소나에 대한 데이터 액세스를 간략하게 표시하지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 시스템 컨텍스트는 외부 사용자에게 표시되는 화면 플로에 사용됩니다. 전체 화면 플로는 시스템 컨텍스트를 사용하여 외부 사용자에게 공유 모델을 통해 액세스할 수 있는 권한이 없는 데이터를 표시합니다. |
| 플랫폼 \| 플로 | ⚡️ 시스템 컨텍스트에서 레코드 가져오기 요소를 사용할 때 모든 필드 저장 시스템 컨텍스트에서 실행될 레코드 가져오기 요소를 구성할 때 "모든 필드 자동 저장" 옵션 선택 |
| 플랫폼 \| 조직 | ⚡️ 내부 사용자의 OWD는 비즈니스 근거 없이 비공개로 설정되거나 내부 사용자의 OWD는 공용 읽기/쓰기로 설정됩니다. |
| 플랫폼 \| 조직 | ⚡️ 생성형 AI는 비즈니스 근거 없이 시스템 모드에서 작동 |
| 플랫폼 \| 조직 | 외부 사용자의 OWD는 비즈니스 근거 없이 비공개 이외의 모든 항목으로 설정됩니다. |
### 암호화 안티 패턴 사용
잘 구축된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [보안](/docs/architect/ko-kr/well-architected/guide/secure) → [데이터 보안](/docs/architect/ko-kr/well-architected/guide/secure#데이터-보안) → [암호화 사용](/docs/architect/ko-kr/well-architected/guide/secure#암호화-사용)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 비즈니스 요구에 따라 전송 시 더 높은 수준의 데이터 보호가 필요하지만 통합과 관련된 코드는 전송 전이나 수신 시 데이터를 암호화하지 않고 논리를 수행하거나 Crypto Class 메서드가 임시로 사용됩니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 승인된 암호화 프로토콜이 명확하지 않거나 나열되지 않음 |
| 플랫폼 \| 설계 표준 | ⚡️ 코드가 문서화되지 않았거나 코드에서 암호화가 사용되는 위치와 방법에 대한 문서가 명확하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 비즈니스 요구에 따라 더 높은 데이터 보호 수준이 필요하지만 Hyperforce 및 Salesforce Shield 사용되지 않습니다. |
---
# 보안 - 세션 보안
### 장치 액세스 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Device Access](/docs/architect/ko-kr/well-architected/guide/secure#장치-액세스) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 문서 | ✅ 보안 개인 정보가 적절한 장치 사용 및 정책에 명확하게 매핑됨 |
| 플랫폼 \| 문서 | ✅ 명확하고 검색 가능한 장치 정책 |
| 플랫폼 \| 조직 | ✅ 비활성 상태에서 PIN/암호 잠금 해제가 필요한 Salesforce 모바일 연결된 앱 구성 |
| 플랫폼 \| 조직 | ✅ 비즈니스 요구에 따라 Salesforce 모바일에 액세스할 수 있는 사용자를 엄격하게 제어해야 하는 경우 API 액세스 제어가 활성화되고 Salesforce 모바일 앱의 모든 사용자에게 권한 집합이 할당됩니다. |
### 세션 관리 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Session Management](/docs/architect/ko-kr/well-architected/guide/secure#세션-관리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ✅ 사용자 정의 로그인 플로가 있는 경우 모든 관련 사용자 정의 코드에서 적절한 SessionManagement 메서드를 사용하여 세션 수준 보안을 할당합니다. |
| 플랫폼 \| Aura | ✅ 사용자 정의 로그인 플로가 있는 경우 필요한 `SessionManagement` 메서드와 함께 Apex 컨트롤러를 사용하여 세션 수준 보안을 할당합니다. |
| 플랫폼 \| 설계 표준 | ✅ 보안 개인 정보가 각 개인 정보에 대해 승인된 세션 유형 및 시간 초과/기간 설정을 명확하게 나열함 |
| 플랫폼 \| 설계 표준 | ✅ 세션 수준 보안이 강화되어야 하는 활동에 대한 표준이 정의됨 |
| 플랫폼 \| 설계 표준 | ✅ 할당할 고급 권한이 필요한 활동에 대해 표준이 정의됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 연결된 앱 범위 및 토큰 관리 정책이 명확하고 검색 가능 |
| 플랫폼 \| 문서 | ✅ 연결된 앱 범위 및 토큰 관리 정책이 명확하고 검색 가능 |
| 플랫폼 \| 문서 | ✅ 로그인 시간이 지정되었거나 필요하지 않은 것으로 식별됨 |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 사용자 정의 로그인 플로가 있는 경우 필요한 `SessionManagement` 메서드와 함께 Apex 컨트롤러를 사용하여 세션 수준 보안을 할당합니다. |
| 플랫폼 \| 조직 | ✅ 사용자가 방화벽 뒤에서 Salesforce에 액세스하는 경우 방화벽은 IP 주소 대신 필수 도메인의 허용 목록을 사용하여 Salesforce로의 통신을 안전하게 보호합니다. |
| 플랫폼 \| 조직 | ✅ 비활성 세션 시간 초과 간격이 기본값을 초과하지 않음(2시간) |
| 플랫폼 \| 조직 | ✅ 다음 설정을 모두 활성화합니다. -설정 페이지에 대한 클릭잭 보호 -설정되지 않은 Salesforce 페이지에 대한 클릭잭 보호 -교차 사이트 요청 위조(CSRF) 보호 -교차 사이트 스크립팅(XSS) 보호 -콘텐츠 스니핑 방어 활성화 -참조 페이지 URL 보호 -사용자에게 Salesforce 외부로 리디렉션되기 전에 경고 |
| 플랫폼 \| 조직 | ✅ 세션 감사 시 사용자가 예상 세션 유형을 통해 Salesforce에만 액세스함 |
| 플랫폼 \| 조직 | ✅ "API 전용 사용자" 액세스에 대한 명확하고 활성 권한 집합이 있으며("API 전용" 권한 집합이 TRUE로 설정됨) 모든 통합 및 자동화된 사용자가 할당됩니다. |
### 위협 감지 및 응답 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Threat Detection & Response에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#threat-detection-response)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 에이전트 | ✅ 에이전트 이벤트 로그에 대화 데이터가 포함된 경우 대화 데이터를 마스킹해야 하는 중요한 이유가 없는 경우 보강된 이벤트 로그에 대한 설정을 활성화합니다. |
| Einstein \| Einstein Trust 계층 | ✅ 생성형 AI 기능은 정기적으로 감사됩니다 Einstein 생성형 AI 감사 데이터는 Einstein 피드백 설정 페이지에서 활성화됩니다. 프롬프트 및 응답 등 생성형 AI 대화가 정기적으로 감사 및 검토됩니다. |
| 플랫폼 \| 회사 | ✅ 감사 데이터는 비즈니스 이해당사자가 이해하고 액세스할 수 있는 보고서에서 사용할 수 있습니다. |
| 플랫폼 \| 회사 | ✅ 감사 내역 및 보고서의 정기적인 검토 수행 |
| 플랫폼 \| 문서 | ✅ 모든 자동 응답이 명확하게 문서화됩니다. |
| 플랫폼 \| 문서 | ✅ Salesforce에서 사용 가능한 로그를 검토하는 단계 문서화 |
| 플랫폼 \| 문서 | ✅ 데이터 모델의 모든 개체에 대해 감사 수준이 지정되었습니다. |
| 플랫폼 \| 문서 | ✅ 보안 정책에는 적절한 응답 유형과 함께 응답을 트리거해야 하는 이벤트 목록이 포함되어 있습니다. |
| 플랫폼 \| 조직 | ✅ 비정상적인 사용이 감지된 경우 사용자 계정을 비활성화하거나 리소스에 대한 실시간 액세스를 차단하여 위협에 대처하기 위한 자동화 |
| 플랫폼 \| 조직 | ✅ 비정상적인 활동에 대해 적절한 사용자에게 알리도록 알림 및 경고가 구성됩니다. |
| 플랫폼 \| 조직 | ✅ 비공개 또는 중요한 데이터가 포함된 모든 필드에 대해 필드 내역 추적이 활성화됨 |
---
### 장치 액세스 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Device Access](/docs/architect/ko-kr/well-architected/guide/secure#장치-액세스) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 문서 | ⚡️ 보안 정책이 없거나 장치 액세스에 대한 정보가 포함되어 있지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 비활성 상태에서 PIN/암호 잠금 해제를 요구하도록 Salesforce 모바일 연결된 앱이 구성되지 않았습니다. |
| 플랫폼 \| 조직 | ⚡️ 비즈니스 요구에 따라 Salesforce 모바일에 액세스할 수 있는 사용자를 엄격하게 제어해야 하지만 API 액세스 제어가 활성화되어 있지 않거나 권한 집합이 Salesforce 모바일 앱에 대한 액세스를 제어하는 데 사용되지 않습니다. |
### 세션 관리 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Session Management](/docs/architect/ko-kr/well-architected/guide/secure#세션-관리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 사용자 정의 로그인 플로가 있는 경우 세션 수준 보안을 할당하는 논리가 없습니다. |
| 플랫폼 \| Aura | ⚡️ 사용자 정의 로그인 플로가 있는 경우 세션 수준 보안을 할당하는 논리가 없습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 세션 수준 보안이 강화되어야 하는 활동에 대해 표준이 정의되지 않았습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 할당할 상위 권한이 필요한 활동에 대해 표준이 정의되지 않았습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 보안 정책에는 연결된 앱 범위 또는 토큰 관리에 대한 정보가 포함되지 않습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 세션 유형 및 시간 제한/기간 설정에 대한 보안 개인 정보가 없거나 정보가 누락된 경우 |
| 플랫폼 \| 문서 | ⚡️ 연결된 앱 범위 및 토큰 관리 정책은 문서화되지 않습니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 사용자 정의 로그인 플로가 있는 경우 세션 수준 보안을 할당하는 논리가 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 사용자가 보유해야 하는 세션 유형에 대한 정의는 없습니다. |
| 플랫폼 \| 조직 | ⚡️ "API 전용" 권한이 명확하지 않거나 통합 및 자동화된 사용자에서 누락됨 |
| 플랫폼 \| 조직 | ⚡️ 정기적인 세션 감사가 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 사용자가 방화벽 뒤에서 Salesforce에 액세스하는 경우 방화벽에서 하드 코딩된 IP 주소를 사용하여 Salesforce로의 통신을 안전하게 보호합니다. |
| 플랫폼 \| 조직 | ⚡️ 비활성 세션 시간 초과 간격이 기본값을 초과합니다(2시간) |
| 플랫폼 \| 조직 | ⚡️ 다음 설정 중 하나가 비활성화됩니다. -설정 페이지에 대한 클릭잭 보호 -설정되지 않은 Salesforce 페이지에 대한 클릭잭 보호 -교차 사이트 요청 위조(CSRF) 보호 -교차 사이트 스크립팅(XSS) 보호 -콘텐츠 스니핑 보호 활성화 -참조 페이지 URL 보호 -사용자에게 Salesforce 외부로 리디렉션되기 전에 경고 |
### 위협 감지 및 응답 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Session Security](/docs/architect/ko-kr/well-architected/guide/secure#세션-보안) → [Threat Detection & Response에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#threat-detection-response)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 조직 | ⚡️ 생성형 AI 기능은 감사되지 않음 프롬프트 및 응답 등 생성형 AI 대화는 정기적으로 감사 및 검토되지 않음 |
| 플랫폼 \| 회사 | ⚡️ 감사 데이터는 액세스 및 해석에 대한 주제 전문 지식이 필요한 로그 파일을 통해서만 사용할 수 있습니다. |
| 플랫폼 \| 회사 | ⚡️ 감사 정보를 검토하는 프로세스가 없습니다. |
| 플랫폼 \| 문서 | ⚡️ 보안 정책이 없거나 위협 감지 및 경고에 대한 정보가 포함되어 있지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 자동 응답 문서가 없거나 명확하지 않음 |
| 플랫폼 \| 조직 | ⚡️ 위협에 대처하기 위한 자동화 기능이 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 알림 및 경고는 비정상 활동에 대해 적절한 사용자에게 알리도록 구성되어 있지 않거나 비정상 활동과 관련된 일부 알림 및 경고가 있지만 임시로 제공됩니다. |
| 플랫폼 \| 조직 | ⚡️ 비공개 또는 중요한 데이터가 포함된 필드에 대해 필드 내역 추적이 일관되게 활성화되지 않음 |
---
# 보안 - 조직 보안
### 인증 패턴
잘 구축된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [보안](/docs/architect/ko-kr/well-architected/guide/secure) → [조직 보안](/docs/architect/ko-kr/well-architected/guide/secure#조직-보안) → [인증](/docs/architect/ko-kr/well-architected/guide/secure#인증)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ✅ 인증을 실행하는 메서드는 명명된 자격 증명을 사용하여 사용자 이름/암호 플로를 처리합니다. |
| 플랫폼 \| Apex | ✅ 읽을 수 있는 형식(하드 코딩된 값 또는 문자열 없음)의 코드에 사용자 이름 또는 암호가 표시되지 않음 |
| 플랫폼 \| Apex | ✅ 사용자 정의 로그인 플로가 있는 경우 모든 관련 사용자 정의 Apex가 적절한 `SessionManagement` 방법을 사용합니다. |
| 플랫폼 \| Aura | ✅ 읽을 수 있는 형식(하드 코딩된 값 또는 문자열 없음)의 코드에 사용자 이름 또는 암호가 표시되지 않음 |
| 플랫폼 \| Aura | ✅ 인증을 실행하는 메서드는 명명된 자격 증명을 사용하여 사용자 이름/암호 플로를 처리합니다. |
| 플랫폼 \| 문서 | ✅ 승인된 보안 개인 정보가 명확하게 정의되고 나열됨 |
| 플랫폼 \| 문서 | ✅ 보안 매트릭스에 있는 보안 개인 정보 및 허용된 인증 스키마(UI, API) 간 매핑 |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 인증을 실행하는 메서드는 명명된 자격 증명을 사용하여 사용자 이름/암호 플로를 처리합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 읽을 수 있는 형식(하드 코딩된 값 또는 문자열 없음)의 코드에 사용자 이름 또는 암호가 표시되지 않음 |
| 플랫폼 \| 조직 | ✅ API 액세스 제어 - 사용자가 무단 연결된 앱을 통해 인증할 수 없음 |
| 플랫폼 \| 조직 | ✅ Salesforce에 로그인하는 사용자와 엔티티 간의 관계는 1:1(공유 사용자 없음) |
| 플랫폼 \| 조직 | ✅ Salesforce MFA 점검에 맞춰 로그인 구성 |
| 플랫폼 \| 조직 | ✅ SSO가 활성화된 경우 승인된 관리자 사용자에게 직접 로그인 액세스 권한이 있습니다. |
| 플랫폼 \| 조직 | ✅ 로그인 내역 보존이 6개월~10년 동안 보관되어야 하는 경우 로그인 내역을 6개월 이상 보관해야 하는 경우 사용 로그인 포렌식 |
### 권한 부여 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Organizational Security](/docs/architect/ko-kr/well-architected/guide/secure#조직-보안) → [Authorization에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#인증-1)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| Bots | ✅ 각 비즈니스 사용 사례에 대해 고유한 Bot 사용자가 구성된 Bot 구성의 Einstein Bot Builder 개요 섹션에서는 최소 권한 원칙에 따라 Bot이 달성하도록 설계된 비즈니스 목적을 수행하는 데 필요한 최소 액세스 양만 제공합니다. |
| 플랫폼 \| Apex | ✅ DB 작업은 필드 수준 및 개체 수준 액세스 검사를 적절하게 수행합니다. DML 및 데이터베이스 DML 문은 데이터 작업에 대한 사용자 또는 시스템 모드를 선언합니다. AND/OR DML 및 데이터베이스 DML 문은 데이터 작업 전에 `stripInaccessible` 메서드를 사용합니다. |
| 플랫폼 \| Apex | ✅ DB 작업은 필드 수준 및 객체 수준 액세스 검사를 적절하게 수행합니다. SOQL 및 SOSL 문은 `WITH USER_MODE` 및 `WITH SYSTEM_MODE` 키워드를 사용합니다. AND/OR `stripInaccessible` 메서드는 쿼리 및 하위 쿼리 결과를 필터링하는 데 사용됩니다. |
| 플랫폼 \| Apex | ✅ 데이터베이스 작업은 필드 및 객체 수준의 액세스 검사를 적절하게 수행합니다. 객체 설명 결과 방법(즉, `isAccessible`, `isCreateable`, `isUpdateable` 및/또는 `isDeletable`)이 적절하게 사용됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 향상된 권한을 부여하기 위한 사용 사례가 명확하게 나열되어 있습니다. 포함: - 모든 데이터 수정 권한 - 모든 데이터 보기 권한 |
| 플랫폼 \| 문서 | ✅ Salesforce에 대한 액세스 권한이 있는 모든 사용자 및 시스템이 보안 매트릭스에서 하나 이상의 페르소나에 매핑됩니다. |
| 플랫폼 \| 문서 | ✅ 보안 매트릭스에 메타데이터 권한 및 할당된 사용자 페르소나가 명확하게 나열됩니다. |
| 플랫폼 \| 조직 | ✅ 권한 집합 및 권한 집합 그룹을 사용하여 메타데이터에 대한 액세스를 제어합니다. |
| 플랫폼 \| 조직 | ✅ 비즈니스 기능에 맞춰 권한 집합 및 권한 집합 그룹 |
| 플랫폼 \| 조직 | ✅ 모든 통합에 대해 고유한 API 전용 통합 사용자가 구성됨 |
| 플랫폼 \| 조직 | ✅ 프로필은 최소한으로 사용되며 로그인 IP 범위 및 로그인 시간 제어에만 사용됩니다. |
| 플랫폼 \| 조직 | ✅ 사용자에게 할당된 권한은 보안 매트릭스 정의를 따릅니다. |
---
### 인증 안티 패턴
잘 구축된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [보안](/docs/architect/ko-kr/well-architected/guide/secure) → [조직 보안](/docs/architect/ko-kr/well-architected/guide/secure#조직-보안) → [인증](/docs/architect/ko-kr/well-architected/guide/secure#인증)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 코드에 사용자 이름 및 암호 표시 |
| 플랫폼 \| Apex | ⚡️ 사용자 정의 로그인 플로가 있는 경우 세션 수준 보안을 할당하는 논리가 없습니다. |
| 플랫폼 \| Apex | ⚡️ 인증이 임시로 처리됩니다. |
| 플랫폼 \| Aura | ⚡️ 인증이 임시로 처리됩니다. |
| 플랫폼 \| Aura | ⚡️ 코드에 사용자 이름 및 암호 표시 |
| 플랫폼 \| 비즈니스 | ⚡️ 사용자 프로비저닝 및 프로비저닝 해제 SLA 및 요구 사항이 없음 |
| 플랫폼 \| 문서 | ⚡️ 보안 개인 정보 포함 안 함 |
| 플랫폼 \| 문서 | ⚡️ 보안 매트릭스에 보안 페르소나 및 허용된 인증 스키마에 대한 명확한 매핑이 없습니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 인증이 임시로 처리됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 코드에 사용자 이름 및 암호 표시 |
| 플랫폼 \| 조직 | ⚡️ API 액세스 제어가 활성화되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 사용자가 방화벽 뒤에서 Salesforce에 액세스하는 경우 방화벽에서 하드 코딩된 IP 주소를 사용하여 Salesforce로의 통신을 안전하게 보호합니다. |
| 플랫폼 \| 조직 | ⚡️ Salesforce에 로그인하는 사용자와 엔티티 간의 관계는 1:1가 아닙니다(공유 사용자 계정 있음) |
| 플랫폼 \| 조직 | ⚡️ SSO가 활성화된 경우 승인된 관리자 사용자에게 직접 로그인 액세스 권한이 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 로그인 구성이 Salesforce MFA 점검에 맞지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 레거시 명명된 자격 증명은 레거시 명명된 자격 증명을 사용하여 콜아웃 끝점의 URL 및 필수 인증 매개 변수를 지정하기 위해 외부 시스템에 인증하는 데 사용됩니다. |
### 인가 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Secure](/docs/architect/ko-kr/well-architected/guide/secure) → [Organizational Security](/docs/architect/ko-kr/well-architected/guide/secure#조직-보안) → [Authorization에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/secure#인증-1)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| Bots | ⚡️ Einstein Bots는 기본 Chatbot 사용자 또는 "일반적인" Bot 사용자를 사용합니다. Bot 구성의 Einstein Bot Builder 개요 섹션에서 선택된 Bot 사용자는 기본 Chatbot 사용자 또는 다른 비즈니스 목적으로 사용되는 Bot 간에 공유되는 "일반적인" 사용자 정의 Chatbot 사용자입니다. |
| 플랫폼 \| Apex | ⚡️ DML, 데이터베이스 클래스 메서드, SOQL 및 SOSL은 기본 시스템 모드에서 실행됩니다. |
| 플랫폼 \| Apex | ⚡️ 데이터베이스 작업은 액세스 검사를 수행하지 않습니다. 적절하게 SOQL 쿼리는 액세스 제한에 `WITH SECURITY_ENFORCED` 키워드를 사용합니다. |
| 플랫폼 \| Apex | ⚡️ 데이터베이스 작업은 액세스 검사를 적절하게 수행하지 않습니다. DML 또는 데이터베이스 클래스 메서드에서는 sObject 및 필드 수준 액세스에 대한 `isAccessible`, `isCreateable`, `isUpdateable` 및/또는 `isDeletable` 검사를 사용합니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 향상된 권한을 부여하기 위한 사용 사례가 명확하게 나열되지 않습니다. 포함: - 모든 데이터 수정 권한 - 모든 데이터 보기 권한 |
| 플랫폼 \| 문서 | ⚡️ 메타데이터 권한 및 할당된 페르소나가 명확하게 나열되지 않음 |
| 플랫폼 \| 문서 | ⚡️ 문서에 보안 매트릭스가 포함되어 있지 않음 |
| 플랫폼 \| 조직 | ⚡️ 사용자에게 할당된 권한은 보안 매트릭스 정의를 따르지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 프로필에 메타데이터에 대한 액세스 제어가 포함되어 있습니다. |
| 플랫폼 \| 조직 | ⚡️ 권한 집합이 임시로 구성됨 |
| 플랫폼 \| 조직 | ⚡️ 권한 집합 그룹은 비즈니스 기능을 기반으로 액세스를 허용하도록 구성되지 않았습니다. |
| 플랫폼 \| 조직 | ⚡️ API 전용 사용자가 구성되지 않거나 둘 이상의 통합에서 공유됩니다. |
| 플랫폼 \| 조직 | ⚡️ 권한 집합이 중복되거나 중복되는 경우, 명확한 기능 논리와 집합 간의 차이점을 이해하기 어려움 |
---
# 복원 - 사고 대응
### 패턴 분류 기능
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [정렬 능력](/docs/architect/ko-kr/well-architected/guide/resilient#분류-기능)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 사고가 발생하기 전에 복잡한 문제를 지원하도록 경고해야 하는 중소기업 또는 이해당사자를 식별 |
| 플랫폼 \| 비즈니스 | ✅ 배달 및 지원 팀 간의 핸드오프는 적용 과정의 일부입니다. |
| 플랫폼 \| 비즈니스 | ✅ 상담을 마치면 Salesforce 아키텍처가 신속하게 대응하고 팀이 복구에 집중할 수 있도록 지원합니다. |
| 플랫폼 \| 문서 | ✅ 지정된 솔루션에 사용된 시스템 및 설계 패턴을 지원 직원이 검색하고 읽을 수 있음 |
| 플랫폼 \| 조직 | ✅ 로깅 및 사용자 정의 오류 메시지가 시스템 전체의 실행 경로에 통합됩니다. |
### 모니터링 및 경고 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [모니터링 및 경고](/docs/architect/ko-kr/well-architected/guide/resilient#모니터링-및-경고)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 문서 | ✅ 프롬프트 튜닝 경고에 대한 항목 기준은 직접 및 간접 생성형 AI 사용자 의견 메트릭을 기반으로 정의됩니다. |
| 플랫폼 \| 조직 | ✅ 경고는 사용자에게 사람이 개입해야 하는 시나리오에 대해 알리는 데만 사용됩니다. 기타 실패는 기록되고 보고할 수 있습니다. |
| 플랫폼 \| 조직 | ✅ 경고는 응답할 수 있는 사용자에게 전송됩니다. |
| 플랫폼 \| 조직 | ✅ 가능한 경우 잠재적인 실패 전에 알림이 전달됩니다. |
### 패턴 복구 시간
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [복구 시간](/docs/architect/ko-kr/well-architected/guide/resilient#복구-시간)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 팀은 자신이 소유해야 하는 프로덕션 서비스에 대해 알고 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 정기적으로 복구 프로토콜이 실행됩니다. |
| 플랫폼 \| 문서 | ✅ 복구 전술은 사고 유형 및 트리거별로 정의 및 분류됩니다. |
| 플랫폼 \| 문서 | ✅ 사고 응답에 대한 종료 기준이 SLO에 있으며 명확합니다. |
| 플랫폼 \| 문서 | ✅ 사고 중 증가된 권한에 대한 활성화 기준 및 할당 논리가 명확합니다. |
| 플랫폼 \| 문서 | ✅ 사고 응답 권한 집합 및 권한 부여가 명확하게 나열됨 |
| 플랫폼 \| 조직 | ✅ 사고 대응에 대한 세션 기반 권한 집합이 있으며 복구 동안 지원 담당자에게 할당할 수 있습니다. |
| 플랫폼 \| 조직 | ✅ 지정된 복구 테스터가 합의된 시간에 테스트 환경에 로그인하고 복구 테스트 스크립트를 준수한 설정 감사 내역 |
| 플랫폼 \| 테스트 계획 | ✅ 복구 테스트를 위한 테스트 스크립트가 있고 반복 가능 |
| 플랫폼 \| 테스트 계획 | ✅ 사고 시뮬레이션을 위한 환경이 명확하게 나열됨 |
---
### 안티 패턴 분류 기능
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [정렬 능력](/docs/architect/ko-kr/well-architected/guide/resilient#분류-기능)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 사고가 발생할 때까지 경고해야 하는 중소기업 또는 이해당사자를 식별하지 못함 |
| 플랫폼 \| 비즈니스 | ⚡️ 배달 팀과 지원 팀 간의 딜오프는 릴리스 프로세스의 일부가 아닙니다. |
| 플랫폼 \| 비즈니스 | ⚡️ Salesforce 아키텍처는 사고 대응이 작업 범위를 벗어나는 것으로 간주합니다. |
| 플랫폼 \| 문서 | ⚡️ 지정된 솔루션에 사용된 시스템 및 설계 패턴은 지원 직원이 쉽게 사용할 수 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 로그 및 사용자 정의 오류 메시지가 사용되지 않음 |
### 모니터링 및 경고 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [모니터링 및 경고](/docs/architect/ko-kr/well-architected/guide/resilient#모니터링-및-경고)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------- |
| 플랫폼 \| 문서 | ⚡️ 생성형 AI 앱에 대한 프롬프트 튜닝 경고를 트리거하기 위한 기준이 정의되지 않았습니다. |
| 플랫폼 \| 조직 | ⚡️ 후속 조치가 필요한지 여부와 상관없이 오류가 발생하면 경고가 전송됩니다. |
| 플랫폼 \| 조직 | ⚡️ 비즈니스 사용자에게 기술적 솔루션이 필요한 문제에 대한 경고 전달 |
| 플랫폼 \| 조직 | ⚡️ 경고는 이미 발생한 실패에 대한 응답으로만 전달됩니다. |
### 안티 패턴 복구 시간
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [대응성](/docs/architect/ko-kr/well-architected/guide/resilient) → [사고 대응](/docs/architect/ko-kr/well-architected/guide/resilient#사고-대응) → [복구 시간](/docs/architect/ko-kr/well-architected/guide/resilient#복구-시간)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 프로덕션에서 다양한 서비스에 대한 책임이 있는 팀은 명확하지 않습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 복구 프로토콜이 없거나 정기적으로 실행되지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 사고 응답이 임시로 수행됩니다. |
| 플랫폼 \| 문서 | ⚡️ 사고 응답에 대한 종료 기준이 없습니다. |
| 플랫폼 \| 문서 | ⚡️ 상승 권한이 할당되지 않거나 임시로 할당되지 않음 |
| 플랫폼 \| 문서 | ⚡️ 사고 응답 권한 집합 및 권한 부여가 나열되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 사고 대응에 세션 기반 권한 집합이 없거나 지원 직원이 사용할 권한이 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 지정된 복구 테스터가 테스트 환경에 로그인하지 않았거나 복구 테스트 스크립트를 따르지 않았음을 보여주는 설정 감사 내역 |
| 플랫폼 \| 테스트 계획 | ⚡️ 사고 시뮬레이션을 위해 환경이 설정되지 않았습니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 복구 테스트에 대한 테스트 스크립트가 없습니다. |
---
# 복원 - 연속성 계획
### 백업 및 복원 기능 구축 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [구축 백업 및 복원 기능](/docs/architect/ko-kr/well-architected/guide/resilient#백업-및-복원-기능-구축)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 회사 | ✅ 테스트 계획 및 테스트 로그에 데이터 복원이 한 해에 두 번 이상 전체 또는 부분 사본 Sandbox에서 테스트됩니다. |
| 플랫폼 \| 회사 | ✅ 백업은 권한이 있는 사용자만 액세스할 수 있는 안전한 위치에 저장됩니다. |
| 플랫폼 \| 문서 | ✅ 데이터와 메타데이터 모두에 대한 백업 및 복원 전략이 있습니다. |
### 비즈니스 연속성 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복원성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [비즈니스 연속성](/docs/architect/ko-kr/well-architected/guide/resilient#비즈니스-연속성)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 우선 순위가 가장 높은 비즈니스 기능 및 기능을 가능한 한 빨리 영향을 받지 못하게 하는 데 중점을 둔 "복구 우선" 사고 방식을 채택합니다. |
| 플랫폼 \| 비즈니스 | ✅ BCP 테스트 계획 검토에 대한 서비스 점검 일정이 있습니다. |
| 플랫폼 \| 문서 | ✅ Salesforce를 사용할 수 없는 경우 데이터를 계속 처리하거나 분류하는 단계, BCP 사용을 트리거할 수 있는 이벤트 목록, BCP 테스트 단계 및 간격이 포함된 BCP 존재 |
| 플랫폼 \| 문서 | ✅ BCP에 업스트림 및 다운스트림 시스템과 종속성이 포함됩니다. |
### 기술 연속성 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복원성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [기술 연속성](/docs/architect/ko-kr/well-architected/guide/resilient#기술-연속성)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 의도적 중복 또는 장애 복구 시스템 구축이 필요한지 평가했습니다. |
| 플랫폼 \| 비즈니스 | ✅ 사고 복구 전술은 가능한 경우 자동화됩니다. |
| 플랫폼 \| 문서 | ✅ 추가 리소스 또는 중단 절차 팀이 사고에 효과적으로 대응해야 하는 경우 숨은 참조 계정 |
| 플랫폼 \| 테스트 계획 | ✅ 프로세스 및 사람과 관련된 BCP 영역이 고려됩니다. |
---
### 백업 및 복원 기능 구축 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [구축 백업 및 복원 기능](/docs/architect/ko-kr/well-architected/guide/resilient#백업-및-복원-기능-구축)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 회사 | ⚡️ 데이터 복원 프로세스가 없거나 데이터 복원 프로세스가 테스트되지 않았습니다. |
| 플랫폼 \| 회사 | ⚡️ 백업을 사용자가 읽을 수 없음 |
| 플랫폼 \| 회사 | ⚡️ 비공개 비즈니스 사용자가 액세스할 수 있는 위치에 백업이 저장됩니다. |
| 플랫폼 \| 문서 | ⚡️ 백업 및 복원 전략이 없거나 전략이 완료되지 않음(둘 다 아님 데이터 또는 메타데이터에만 적용됨) |
### 무중단 업무 운영 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복원성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [비즈니스 연속성](/docs/architect/ko-kr/well-architected/guide/resilient#비즈니스-연속성)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 사고 관리를 위한 유일한 접근 방식은 "문제 해결" 정신입니다. |
| 플랫폼 \| 비즈니스 | ⚡️ BCP 테스트 계획은 정기적으로 새로 고쳐지지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ BCP에 Salesforce만 포함됨 |
| 플랫폼 \| 문서 | ⚡️ BCP가 없거나 불완전합니다. |
### 기술 연속성 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복원성](/docs/architect/ko-kr/well-architected/guide/resilient) → [연속성 계획](/docs/architect/ko-kr/well-architected/guide/resilient#연속성-계획) → [기술 연속성](/docs/architect/ko-kr/well-architected/guide/resilient#기술-연속성)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 의도적 중복 또는 장애 복구 시스템의 필요성을 평가하지 않았습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 사고 복구 전술은 모두 수동 |
| 플랫폼 \| 문서 | ⚡️ BCP에 운영 지원 요구 사항이 포함되지 않음 |
| 플랫폼 \| 테스트 계획 | ⚡️ 프로세스 및 사람과 관련된 BCP 영역은 고려되지 않습니다. |
---
# 복원성 - 응용 프로그램 수명 주기 관리
### 환경 전략 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [환경 전략](/docs/architect/ko-kr/well-architected/guide/resilient#환경-전략)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------ |
| 플랫폼 \| 조직 | ✅ 지정된 환경의 메타데이터는 릴리스 아티팩트와 독립적임 |
| 플랫폼 \| 조직 | ✅ 환경이 릴리스 경로에 직접 해당하지 않습니다. |
| 플랫폼 \| 조직 | ✅ 변경 사항에 대한 릴리스 경로는 변경 유형에 따라 다릅니다(고위험, 보통 위험, 낮은 위험). |
| 플랫폼 \| 조직 | ✅ 과부하 환경이 존재하지 않음 |
| 플랫폼 \| 조직 | ✅ 위험한 구성 변경은 프로덕션에서 직접 수행되지 않습니다. |
| 플랫폼 \| 조직 | ✅ 최대 업무 시간에는 릴리스가 발생하지 않음 |
| 플랫폼 \| 조직 | ✅ 소스 중심 개발 및 릴리스 모델 채택 |
| 플랫폼 \| Sandbox | ✅ Developer 및 Developer Pro Sandbox에 대해 소스 추적이 활성화됨 |
### 릴리스 관리 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [릴리즈 관리](/docs/architect/ko-kr/well-architected/guide/resilient#릴리스-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ✅ 릴리스 이름이 명확합니다. |
| 플랫폼 \| 설계 표준 | ✅ 팀이 올바른 릴리스 이름으로 아티팩트, 개발 항목 및 기타 작업에 태그를 지정하기 위한 명확한 지침을 찾고 따를 수 있습니다. |
| 플랫폼 \| 문서 | ✅ 릴리스 이름을 검색하고 검색할 수 있음 |
| 플랫폼 \| 문서 | ✅ 릴리스 이름으로 릴리스 매니페스트의 명확한 보기를 함께 가져올 수 있습니다. |
| 플랫폼 \| KPI | ✅ 다양한 개발 단계에 대해 생성형 AI 앱의 품질 임계값 정의 |
| 플랫폼 \| 프로덕션 | ✅ 메타데이터는 안정적인 릴리스 메커니즘의 사용을 보여줍니다 메타데이터 API를 통한 배포는 `source` 형식을 사용합니다. |
| 플랫폼 \| 프로덕션 | ✅ 안정적인 릴리스 메커니즘 사용을 보여주는 메타데이터가 잠금 해제된 패키지로 구성됨 |
| 플랫폼 \| 프로덕션 | ✅ 배포 로그에 사용 가능한 내역 내에서 실패한 배포가 표시되지 않음 |
| 플랫폼 \| 프로덕션 | ✅ 릴리스 기간 내에서 릴리스 케이던스와 상당히 균일한 배포 클러스터가 명확하게 표시된 배포 내역 |
| 플랫폼 \| 프로덕션 | ✅ DevOps Center 활성 상태이고 설치됨 |
| 플랫폼 \| 프로덕션 | ✅ 안정적인 릴리스 메커니즘 사용을 보여주는 메타데이터 변경 집합이 릴리스 변경 사항에 사용되지 않음 |
| 플랫폼 \| 로드맵 | ✅ 기능은 명명된 특정 릴리스와 명확하게 연결되어 있습니다. |
| 플랫폼 \| 로드맵 | ✅ 릴리스 이름이 명확합니다. |
| 플랫폼 \| 로드맵 | ✅ 릴리스 이름을 검색하고 검색할 수 있음 |
### 테스트 전략 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [테스트 전략](/docs/architect/ko-kr/well-architected/guide/resilient#테스트-전략)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| Apex | ✅ Apex 테스트 클래스는 Data Cloud 개체에 대해 실행되는 쿼리에 대한 적용 범위를 포함합니다. 테스트 클래스는 System.SoqlStubProvider 클래스를 확장하고 handleSoqlQuery() 메서드를 재정의합니다. DMO 인스턴스는 Test.createStubQueryRow() 또는 Test.createStubQueryRows()를 사용하여 생성됩니다. |
| 플랫폼 \| Apex | ✅ 단위 테스트에 데이터 공장 패턴 사용 |
| 플랫폼 \| Apex | ✅ 모의/스터브를 사용하여 API 응답 시뮬레이션 |
| 플랫폼 \| 비즈니스 | ✅ B2C 규모 앱, 대량 사용자 또는 대용량 데이터가 있는 경우 QA 프로세스의 일부로 규모 테스트를 포함합니다. |
| 플랫폼 \| 비즈니스 | ✅ 규모 테스트에 잘 정의된 기준이 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 전체 Sandbox 규모 테스트 수행 |
| 플랫폼 \| 비즈니스 | ✅ 규모 테스트는 시스템의 우선 순위가 높은 측면에 초점을 맞춥니다. |
| 플랫폼 \| 비즈니스 | ✅ 시뮬레이터는 확장성 및 성능 테스트를 위해 프로덕션과 유사한 조건을 복제하는 데 사용됩니다. |
| 플랫폼 \| 비즈니스 | ✅ 변경 사항이 소스 제어에 도달하면 테스트가 자동으로 실행됩니다. |
| 플랫폼 \| 비즈니스 | ✅ 응용 프로그램 개발 주기에서 여러 간격으로 실행되고 진행 중인 과업으로 간주되는 내구성, 스트레스, 성능, 규모 테스트 |
| 플랫폼 \| 비즈니스 | ✅ 프롬프트 엔지니어링에는 사람의 품질 검토가 포함됩니다. |
| 플랫폼 \| 비즈니스 | ✅ 유용성 테스트는 다양한 장치 및 보조 기술을 사용합니다. |
| 플랫폼 \| 조직 | ✅ 모든 테스트 데이터가 중요한 식별 데이터로부터 제거됩니다. |
| 플랫폼 \| 테스트 계획 | ✅ 환경은 지원할 수 있는 테스트 유형별로 분류됩니다. |
| 플랫폼 \| 테스트 계획 | ✅ 위험, 사용 사례 또는 복잡성에 따라 적절한 테스트 규칙이 지정됩니다. |
---
### 환경 전략 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [환경 전략](/docs/architect/ko-kr/well-architected/guide/resilient#환경-전략)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------- |
| 플랫폼 \| 조직 | ⚡️ 환경은 릴리스 경로에 직접 해당합니다. |
| 플랫폼 \| 조직 | ⚡️ 모든 변경 사항에 대한 릴리스 경로는 동일합니다. |
| 플랫폼 \| 조직 | ⚡️ 과부하 환경이 있음 |
| 플랫폼 \| 조직 | ⚡️ 프로덕션에서 직접 위험한 구성 변경 사항 수행 |
| 플랫폼 \| 조직 | ⚡️ 조직 기반 개발 및 릴리스 모델 채택 |
| 플랫폼 \| 조직 | ⚡️ 업무 시간이 가장 높은 동안 릴리스 발생 |
| 플랫폼 \| 조직 | ⚡️ 지정된 환경의 메타데이터는 릴리스 아티팩트입니다. |
| 플랫폼 \| Sandbox | Developer 및 Developer Pro Sandbox에서는 소스 추적이 활성화되지 않습니다. |
### 릴리스 관리 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [릴리즈 관리](/docs/architect/ko-kr/well-architected/guide/resilient#릴리스-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 릴리스 이름이 부재됨 |
| 플랫폼 \| 설계 표준 | ⚡️ 팀은 다양한 방식으로 아티팩트, 개발 항목 및 기타 작업을 참조합니다. |
| 플랫폼 \| 문서 | ⚡️ 릴리스 이름이 특정 또는 존재하지 않음 |
| 플랫폼 \| 문서 | ⚡️ 릴리스 이름을 사용하여 릴리스 매니페스트의 명확한 보기를 결합할 수 없습니다. |
| 플랫폼 \| KPI | ⚡️ 생성형 AI 앱의 품질 임계값은 정의되지 않았거나 다양한 개발 단계에서 정의되지 않았습니다. |
| 플랫폼 \| 프로덕션 | ⚡️ 메타데이터는 조직 기반 릴리스 메커니즘 사용을 나타냅니다. 메타데이터 API를 통한 배포는 `package.xml` 형식을 사용합니다. |
| 플랫폼 \| 프로덕션 | ⚡️ 메타데이터는 조직 기반 릴리스 메커니즘 사용을 나타내는 변경 집합의 활성 사용 |
| 플랫폼 \| 프로덕션 | ⚡️ 배포 로그에 사용 가능한 내역 내에서 실패한 배포의 반복 인스턴스가 표시됩니다. |
| 플랫폼 \| 프로덕션 | ⚡️ 배포에 명확한 케이던스가 없거나 배포 클러스터가 불규칙(핫픽스 및 특별 롤백의 표시) |
| 플랫폼 \| 프로덕션 | ⚡️ DevOps Center 활성화 및 설치되지 않았습니다. |
| 플랫폼 \| 로드맵 | ⚡️ 기능은 특정 릴리스와 명확하게 연결되지 않습니다. |
| 플랫폼 \| 로드맵 | ⚡️ 릴리스 이름이 부재됨 |
| 플랫폼 \| 로드맵 | ⚡️ 릴리스 이름이 특정 또는 존재하지 않음 |
### 테스트 전략 안티 패턴
잘 설계된 [적응성](/docs/architect/ko-kr/well-architected/guide/adaptable-overview) → [복구성](/docs/architect/ko-kr/well-architected/guide/resilient) → [응용 프로그램 수명 주기 관리](/docs/architect/ko-kr/well-architected/guide/resilient#응용-프로그램-수명-주기-관리) → [테스트 전략](/docs/architect/ko-kr/well-architected/guide/resilient#테스트-전략)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| Apex | ⚡️ Data Cloud 개체에 대해 실행되는 SOQL 쿼리에 대한 테스트 적용 범위가 없습니다. DMO에 대한 SOQL 쿼리는 Apex 테스트 방법에 포함되지 않습니다. |
| 플랫폼 \| Apex | ⚡️ 단위 테스트가 조직 데이터에 의존하는 경우 |
| 플랫폼 \| Apex | ⚡️ Mocks/Stubs가 사용되지 않음 |
| 플랫폼 \| 비즈니스 | ⚡️ 규모 테스트에 우선 순위가 지정되지 않음 |
| 플랫폼 \| 비즈니스 | ⚡️ QA 프로세스의 일부로 규모 테스트를 수행하지 않으며 B2C 규모 앱, 대량 사용자 또는 대용량 데이터가 있는 경우 |
| 플랫폼 \| 비즈니스 | ⚡️ 규모 테스트에 잘 정의된 기준이 없습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 부분 복사 또는 Developer Sandbox 규모 테스트 수행 |
| 플랫폼 \| 비즈니스 | ⚡️ 유용성 테스트가 수행되지 않거나 제한된 장치 집합에서 수행됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 프로덕션 유사한 사용자 요청, API 트래픽, 네트워크 속도 변동량은 테스트되지 않습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 테스트 자동화가 없습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 프롬프트 엔지니어링에 대한 품질 검토가 부족한 경우 |
| 플랫폼 \| 비즈니스 | ⚡️ 내구성, 스트레스, 성능, 규모 테스트는 개발 단계 또는 단계로 간주됩니다. |
| 플랫폼 \| 조직 | ⚡️ 테스트 데이터가 프로덕션 데이터와 동일 |
| 플랫폼 \| 테스트 계획 | ⚡️ 어떤 환경에서 어떤 유형의 테스트를 지원할 수 있는지 확인할 수 없습니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 테스트 규칙은 위험, 사용 사례 또는 복잡성별로 분류되지 않습니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 사용자 지정 LWC에 대한 성능 테스트는 고려해야 합니다. 개발 주기가 끝날 때까지 사용자 지정 Lightning 구성 요소를 테스트할 수 있습니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 예상 사용자 트래픽이 50% 미만인 통합 테스트 통합 테스트 통합 테스트를 충분하다고 판단하기 위해 몇 명의 사용자의 결과에 의존 |
---
# 신뢰성 - 가용성
### 실패 완화 패턴
잘 설계된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/reliable) → [가용성](/docs/architect/ko-kr/well-architected/guide/reliable#가용성) → [실패 완화](/docs/architect/ko-kr/well-architected/guide/reliable#실패-완화)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 실패 완화 계획은 자주 테스트됩니다. 실패 완화 계획은 주기적으로(1~2년마다), 사후 주요 사고 후에 반응적으로, 주요 비즈니스 또는 IT 이벤트 전에 사전에 테스트됩니다. |
| 플랫폼 \| 조직 | ✅ 경감 제어가 즉시 적용되고 시간에 따라 성숙하며 가능한 한 빨리 자동화를 통합합니다. |
| 플랫폼 \| 조직 | ✅ 비동기 프로세스 모니터링 비동기 프로세스는 Proactive Monitoring 또는 외부 예약 작업에서 실행한 AsyncApexJob 쿼리를 사용하여 모니터링됩니다. 조기에 문제를 파악할 수 있도록 경고가 적용되므로 감지 시간(TTD) 및 참여 시간(TTE)이 더 빨라집니다. |
| 플랫폼 \| 조직 | ✅ 교육받은 최종 사용자가 목록 보기, 보고서 및 대시보드를 만드는 하위 집합 교육받은 최종 사용자가 문서화된 지침 및 정기적인 검토를 포함하는 조직 전체 보고 전략의 일부로 보고서, 목록 보기 및 대시보드를 만듭니다. |
| 플랫폼 \| 조직 | ✅ 실패 지점 트리거 및 해당 경감 계획은 사람, 프로세스, 기술별로 분류됩니다. |
### 위험 관리 패턴
잘 설계된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/reliable) → [가용성](/docs/architect/ko-kr/well-architected/guide/reliable#가용성) → [위험 관리](/docs/architect/ko-kr/well-architected/guide/reliable#위험-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 비즈니스 | ✅ 설정된 위험 평가 프레임워크가 사용 중임 |
| 플랫폼 \| 비즈니스 | ✅ 다양한 이해당사자 그룹이 위험 평가를 사인오프합니다. 다양한 비즈니스 및 기술적 이해당사자가 위험 평가를 검토하고 사인오프합니다. |
| 플랫폼 \| 비즈니스 | ✅ 위험 평가 프레임워크는 업계 및 회사 표준을 따릅니다. 위험 평가 프레임워크는 회사 표준을 따르며 다음 산업 및 규제 표준을 따릅니다. ISO/IEC 27001, NIST 사이버 보안 프레임워크(CSF), COBIT(정보 및 관련 기술에 대한 제어 목표), ISO/IEC 27005, GDPR(일반 데이터 보호 규정), OWASP(개방형 웹 응용 프로그램 보안 프로젝트), CSA 클라우드 제어 매트릭스(CCM), PCI DSS(결제 카드 산업 데이터 보안 표준) 또는 SOC 2(시스템 및 조직 제어) |
| 플랫폼 \| 비즈니스 | ✅ 주요 변경 사항을 도입하기 전에 위험이 평가됩니다. 비즈니스 또는 구현의 주요 변경 사항 전에 위험이 사전에 평가됩니다. 서명 성공 고객은 주요 이벤트 관리를 활용합니다. |
| 플랫폼 \| 비즈니스 | ✅ 계절별 급증은 사전에 계획됩니다. 최대 사용량 이벤트(예: 계절별 교통량 급증)는 사전에 계획되어 있습니다. 서명 성공 고객은 주요 이벤트 관리를 활용합니다. |
| 플랫폼 \| 비즈니스 | ✅ 자주 검토되는 위험 평가 위험 평가는 주요 사고 또는 마감 통화 후에 반응형으로 검토되고, 신제품, 기능 롤아웃 또는 신규 사업부 온보딩 전에 사전에 사전 예방적으로 검토되며, 주요 비즈니스 이벤트 이전에 사전 예방적으로 검토됩니다(계절 급증, 주요 비즈니스 변화), 정기적으로(1~2년마다). |
| 플랫폼 \| 비즈니스 | ✅ 위험은 사람, 프로세스 및 기술 영역으로 분류됩니다. |
| 플랫폼 \| 문서 | ✅ 위험 심각도는 고객 영향을 기반으로 분류되고 평가됩니다. |
| 플랫폼 \| 문서 | ✅ 위험 완화 및 대응 계획의 우선 순위가 지정되어 우선 순위가 가장 높은 위험에 초점을 맞춥니다. |
---
### 실패 완화 안티 패턴
잘 설계된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/reliable) → [가용성](/docs/architect/ko-kr/well-architected/guide/reliable#가용성) → [실패 완화](/docs/architect/ko-kr/well-architected/guide/reliable#실패-완화)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 실패 완화 계획이 충분히 테스트되지 않음 실패 완화는 테스트되지 않거나 초기 설계/구축 단계 이후에만 테스트됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 계절별 급증은 사전에 고려되지 않음 최대 사용량 이벤트(예: 교통량의 계절별 급증)는 사전에 계획되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 자동화는 완화에 사용되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 실패 지점 트리거는 분류되지 않으며, 경감 접근 방식은 특별 또는 존재하지 않음 |
| 플랫폼 \| 조직 | ⚡️ 경감 제어가 다시 검토되거나 개선되지 않았습니다. |
| 플랫폼 \| 조직 | ⚡️ 비동기 프로세스는 사전에 모니터링되지 않으며 비동기 프로세스는 비동기 프로세스 자체의 일부이거나 전혀 모니터링되지 않는 사용자 정의 오류 로깅 메커니즘에 의존합니다. |
| 플랫폼 \| 조직 | ⚡️ 최종 사용자는 목록 보기, 보고서 및 대시보드에 대한 전적인 책임이 있으며, 최종 사용자는 공개 보고서, 목록 보기 및 대시보드를 자유롭게 만들 수 있으며 이러한 메타데이터 항목에 대한 정기적인 성능 검토가 존재하지 않습니다. |
### 위험 관리 안티 패턴
잘 설계된 [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [신뢰할 수 있는](/docs/architect/ko-kr/well-architected/guide/reliable) → [가용성](/docs/architect/ko-kr/well-architected/guide/reliable#가용성) → [위험 관리](/docs/architect/ko-kr/well-architected/guide/reliable#위험-관리)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 비즈니스 | ⚡️ 위험이 명확하게 식별되지 않음 |
| 플랫폼 \| 비즈니스 | ⚡️ Salesforce의 위험 평가 프레임워크는 임시입니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 위험 평가 프레임워크는 사일로에서 개발됩니다. 위험 평가 프레임워크는 단일 팀에서 고립적으로 개발되며 회사 지침 또는 업계 표준과 일치하지 않습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 위험 관리는 "일회성" 활동으로 간주됩니다 위험 평가가 한 번 수행되거나 위험 평가 프레임워크가 정기적으로 업데이트되지 않음 |
| 플랫폼 \| 문서 | ⚡️ 위험 심각도 또는 범주를 평가할 때 고객 관점은 고려되지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 위험 완화 및 대응 계획은 가능한 모든 위험을 포착하도록 시도합니다. |
---
# 신뢰성 - 성능
### 대기 시간 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Performance](/docs/architect/ko-kr/well-architected/guide/reliable#성능) → [Latency](/docs/architect/ko-kr/well-architected/guide/reliable#대기-시간) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ✅ 데이터 스트림은 전체 새로 고침이 가능한 경우 전체 새로 고침 대신 업서트를 활용하여 테이블을 완전히 지운 다음, 데이터로 다시 채웁니다. 전체 새로 고침이 정말 필요한 경우를 제외하고 업서트를 선택하여 신규 및/또는 업데이트된 레코드만 가져옵니다. 이를 통해 처리 시간을 단축하고 크레딧 사용량을 줄일 수 있습니다. |
| Einstein \| 에이전트 | ✅ 에이전트에게 지정된 주제에 할당된 작업이 15개 미만인 작업이 에이전트 빌더의 "이 주제의 작업" 탭에 나열됩니다. |
| Einstein \| 검색 색인 | ✅ 검색 색인에서 카디널리티가 낮은 필드를 생략하여 에이전트 지연 시간을 줄일 수 있습니다. 카디널리티가 매우 낮은 필드(목록의 고유한 요소 수) 또는 엔트로피가 낮은 필드(목록 항목이 몇 값 주위에 집중되어 있음)는 관련성과 지연에 영향을 미칠 수 있습니다. 검색 색인 빌더의 고급 설정을 사용하여 청크할 관련 필드만 선택합니다. 이렇게 하면 검색 색인 크기가 줄어들고 에이전트의 지연 시간이 줄어듭니다. |
| 플랫폼 \| 플로 | ✅ 성능 향상을 위해 레코드 가져오기 내 필드 지정 레코드 가져오기 요소에 저장할 필드를 지정하면 서버에서 반환되고 클라이언트에게 전달되는 데이터의 양이 줄어듭니다. 데이터 테이블이 이 요소의 출력을 사용하는 경우 구성 요소의 성능이 크게 향상될 수 있습니다. |
| 플랫폼 \| 조직 | ✅ 보고서는 단일 특정 목적을 제공합니다. |
| 플랫폼 \| 조직 | ✅ 보고서에 결정에 필요한 최소 행 및 열 수 포함 |
| 플랫폼 \| 조직 | ✅ 필터는 같음/같지 않음 사용 |
| 플랫폼 \| 조직 | ✅ 필터에 수식 필드가 포함되어 있지 않음 |
| 플랫폼 \| 조직 | ✅ 가능한 한 간소화된 공유 모델 |
| 플랫폼 \| 조직 | ✅ 사용자 정의 UI 구성 요소는 Lightning 웹 구성 요소를 사용합니다. |
| 플랫폼 \| 조직 | ✅ LWC는 데이터 작업에 Lightning Data Service를 사용합니다. |
| 플랫폼 \| 조직 | ✅ 목록 데이터 정렬 및 필터링은 JavaScript에서 클라이언트 측에서 처리됩니다. |
| 플랫폼 \| 조직 | ✅ 성능에 대한 목록 보기, 보고서 및 대시보드 감사 정기 검토에서 성능 문제(높은 런타임/DB CPU 소비)를 식별하고 성능이 가장 낮은 목록 보기, 보고서 및 대시보드가 업데이트 또는 제거됩니다. |
| 플랫폼 \| 조직 | ✅ Salesforce Edge가 활성화됨 |
### 처리량 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Performance](/docs/architect/ko-kr/well-architected/guide/reliable#성능) → [Throughput](/docs/architect/ko-kr/well-architected/guide/reliable#처리량) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ✅ 대량 API 배치 크기는 주의 깊게 조정됩니다. 배치 크기는 개체의 특성, 작업, 개체에 기반하는 자동화에 따라 작업에 따라 다를 수 있습니다. 과학이 아닌 예술의 일부이며 최대한 많은 작업을 수행하되 실행 시간이 10분을 초과하지 않도록 배치 크기를 조정하는 것이 중요합니다. |
| 플랫폼 \| 설계 표준 | ✅ 플랫폼 캐시를 사용하는 방법에 대한 지침은 플랫폼 캐시 모범 사례를 준수합니다. |
| 플랫폼 \| 조직 | ✅ DML 또는 데이터베이스 메서드는 항상 Apex 컬렉션에 대해 작동합니다. |
| 플랫폼 \| 조직 | ✅ SOQL 문은 선택적입니다. SOQL에서는 `LIKE` 비교나 부분 텍스트 비교가 사용되지 않습니다. |
| 플랫폼 \| 조직 | ✅ SOQL 문은 선택적입니다 비교 연산자는 SOQL 문에서 양성 논리(즉, `INCLUDES`, `IN`)를 기본 또는 유일한 논리로 사용합니다. |
| 플랫폼 \| 조직 | ✅ SOQL 문은 선택적입니다 `= NULL`의 사용, `!= NULL`은 드물거나 항상 SOQL 문에서 양성 비교 연산자를 따릅니다. |
| 플랫폼 \| 조직 | ✅ SOQL 문은 선택적입니다. SOQL에 `LIMIT 1` 문이 표시되지 않음 |
| 플랫폼 \| 조직 | ✅ 루프 내에 SOQL이 표시되지 않음 |
| 플랫폼 \| 조직 | ✅ 모든 와일드카드 기준이 SOSL에 표시됩니다. |
| 플랫폼 \| 조직 | ✅ 데이터 및 시스템 작업에 대량 처리 사용 |
| 플랫폼 \| 조직 | ✅ 가능한 경우 비동기식 처리가 선호됩니다. |
| 플랫폼 \| 조직 | ✅ 플랫폼 캐시 파티션이 구성됨 |
| 플랫폼 \| 조직 | ✅ SOQL 문이 선택적임 |
| 플랫폼 \| 조직 | ✅ SOQL 문은 선택적입니다. SOQL 문에 `ALL ROWS` 키워드 사용이 나타나지 않습니다. |
---
### 대기 시간 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Performance](/docs/architect/ko-kr/well-architected/guide/reliable#성능) → [Latency](/docs/architect/ko-kr/well-architected/guide/reliable#대기-시간) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ⚡️ 데이터 스트림 새로 고침 모드가 기본적으로 전체 새로 고침으로 설정됨 모든 또는 대부분의 데이터 스트림에 전체 새로 고침의 새로 고침 모드가 있습니다. |
| Einstein \| 에이전트 | ⚡️ 에이전트에게 지정된 주제에 할당된 작업이 15개가 넘는 작업이 에이전트 빌더의 "이 주제의 작업" 탭에 나열됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 구성 요소가 사용 중인 경우에만 응용 프로그램 이벤트가 실행된다고 가정 Lightning 콘솔에서 포커스가 맞지 않은 탭에 포함된 구성 요소는 표시되지 않는 경우에도 계속해서 응용 프로그램 이벤트를 들을 수 있습니다. |
| 플랫폼 \| 조직 | ⚡️ 공유 모델이 복잡한 경우 |
| 플랫폼 \| 조직 | ⚡️ 사용자 정의 UI 구성 요소는 Aura 또는 Visualforce 사용합니다. |
| 플랫폼 \| 조직 | ⚡️ LWC는 데이터 작업에 Apex 사용합니다. |
| 플랫폼 \| 조직 | ⚡️ 목록 데이터 정렬 및 필터링은 Apex 사용하여 서버 측에서 처리됩니다. |
| 플랫폼 \| 조직 | ⚡️ 필터 사용 포함/포함 안 함 |
| 플랫폼 \| 조직 | ⚡️ 필터에 수식 필드 포함 |
| 플랫폼 \| 조직 | ⚡️ Salesforce Edge가 활성화되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 보고서는 여러 목적으로 제공됩니다. |
| 플랫폼 \| 조직 | ⚡️ 보고서에 결정에 필요하지 않은 추가 행과 열이 포함되어 있습니다. |
### 처리량 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Performance](/docs/architect/ko-kr/well-architected/guide/reliable#성능) → [Throughput](/docs/architect/ko-kr/well-architected/guide/reliable#처리량) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 단일 동기 작업에서 여러 Future 또는 Queueable 메서드 대기열 지정 단일 동기 작업에서 여러 비동기 메서드가 대기열 지정됨 |
| 플랫폼 \| Apex | ⚡️ 상위/하위 쌍이 대량 API 배치에 분할된 다중 배치에 동일한 상위 항목과 관련된 하위 레코드가 포함됨 |
| 플랫폼 \| 설계 표준 | 플랫폼 캐시 사용에 대한 지침이 있는 경우 명확하지 않거나 권장 모범 사례와 일치하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ SOQL 문은 비선택적 `= NULL`이며, `!= NULL` 기준은 SOQL 문에서 기본 또는 유일한 비교 연산자로 사용됩니다. |
| 플랫폼 \| 조직 | ⚡️ SOQL 문은 선택적이지 않은 `LIMIT 1`입니다. |
| 플랫폼 \| 조직 | ⚡️ SOQL 문은 선택적이지 않은 `ALL ROWS` 키워드입니다. SOQL 문에 사용됨 |
| 플랫폼 \| 조직 | ⚡️ DML 문이 대량 처리되지 않음 |
| 플랫폼 \| 조직 | ⚡️ 동기 프로세스가 선호됨 |
| 플랫폼 \| 조직 | ⚡️ SOQL이 루프 내에 나타남 |
| 플랫폼 \| 조직 | ⚡️ 특정 시간에 비동기 작업이 종료되도록 계획 비동기 작업이 특정 시간 또는 지정된 SLA 내에서 종료되는 것으로 가정하는 프로세스 또는 솔루션을 설계합니다. |
| 플랫폼 \| 조직 | ⚡️ 동기식 작업에서 일괄 처리 작업 대기열 지정 일괄 처리 작업 Apex 작업은 동기식 최종 사용자 활동 또는 통합 API 호출에서 시작됩니다. |
| 플랫폼 \| 조직 | ⚡️ DML 또는 데이터베이스 메서드가 Apex 단일 레코드에 대해 작동 |
| 플랫폼 \| 조직 | ⚡️ SOQL 문은 비선택적 `LIKE`이며 와일드카드 필터 기준은 SOQL 문에 표시됩니다. |
| 플랫폼 \| 조직 | ⚡️ SOQL 문은 비선택적입니다 `NOT`를 사용하는 비교에서는 `NOT IN` 기준이 SOQL 문에서 기본 또는 유일한 비교 연산자로 사용됩니다. |
| 플랫폼 \| 조직 | ⚡️ Visualforce 보기 상태는 응용 프로그램 캐싱에 사용됩니다. |
| 플랫폼 \| 조직 | ⚡️ SOSL은 와일드카드 선택 기준에 거의 사용되거나 일관되지 않음 |
| 플랫폼 \| Visualforce | ⚡️ Visualforce 원격 시 과도한 폴링 높은 트래픽 Visualforce 페이지는 5분 간격보다 더 자주 데이터베이스를 폴링합니다. |
---
# 신뢰성 - 확장성
### 데이터 모델링 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Scalability](/docs/architect/ko-kr/well-architected/guide/reliable#확장성) → [Data Modeling에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/reliable#데이터-모델링)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data 360 \| 조직 | ✅ 데이터 변환은 매핑하기 전에 데이터 비정규화에 사용됩니다. 데이터 변환이 존재하여 소스 데이터를 변환하므로 모든 연락관을 표준 연락관 개체에 별도로 수집할 수 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 하위 코드 빌더는 Salesforce에서 지원하는 다양한 필드 유형을 이해하고 필드 데이터 유형을 선택하기 전에 보고 및 암호화 요구 사항을 평가합니다. |
| 플랫폼 \| 비즈니스 | ✅ 개체 간 마스터-세부 사항 관계를 설정하기 전에 공유 및 데이터 왜곡이 미치는 영향을 평가합니다. |
| 플랫폼 \| 데이터 모델 | ✅ 테이블의 규모가 비정규화되었습니다. |
| 플랫폼 \| 데이터 모델 | ✅ 가능한 경우 표준 개체가 사용됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 비즈니스 근거로 사용자 정의 개체가 존재하도록 하는 표준 및 지침 |
### 데이터 용량 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Scalability](/docs/architect/ko-kr/well-architected/guide/reliable#확장성) → [Data Volume](/docs/architect/ko-kr/well-architected/guide/reliable#데이터-용량) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 테스트 계획 | ✅ 0일 데이터 로드에 대한 대량 로드 계정 솔루션이 적용되기 전에 마이그레이션해야 하는 대용량 데이터를 계획했으며(0일이라고도 함) 예약 실행당 최대 파일 크기와 최대 파일 크기에 동시에 접근하지 않음을 확인했습니다. |
| 플랫폼 \| Apex | ✅ 데이터 왜곡이 문제인 경우 여러 상위 레코드에 하위 레코드 수를 배포하는 논리가 있습니다. |
| 플랫폼 \| Apex | ✅ 통합을 통해 가져오거나 복제할 때 적절한 사용자에게 모든 레코드를 할당하는 논리가 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 데이터 보관 및 제거 전략을 문서화하고 구현했습니다. |
| 플랫폼 \| 비즈니스 | ✅ 대량 데이터 로드 전략은 서버 소비를 최적화하기 위해 최적화됩니다. 로드 시간, 데이터 시퀀스, 레코드 잠금, 자동화, 대량 공유 프로세스는 대량 로드 전략에서 효율적인 서버 소비를 위해 고려됩니다. |
| 플랫폼 \| 데이터 | ✅ 상위 레코드에 하위 레코드가 10,000개를 초과하지 않는 경우 |
| 플랫폼 \| 데이터 | ✅ 동일한 개체 유형의 10,000개 이상의 레코드에 할당된 사용자 없음 |
| 플랫폼 \| 데이터 | ✅ 10,000개가 넘는 레코드에 동일한 레코드를 가리키는 조회 필드가 있는 인스턴스가 없습니다. |
| 플랫폼 \| 데이터 | ✅ 최대 업무 시간 동안 프로덕션에 대량 데이터 로드가 발생하지 않음 |
| 플랫폼 \| 데이터 | ✅ 대량 데이터 로드는 `ParentId` 필드 값에 따라 배치로 정렬됩니다. |
| 플랫폼 \| 데이터 | ✅ 대량 데이터 로드에는 비즈니스 결정에 필요한 최소 데이터만 포함됩니다. |
| 플랫폼 \| 플로 | ✅ 데이터 왜곡이 문제인 경우 여러 상위 레코드에 하위 레코드 수를 배포하는 논리가 있습니다. |
| 플랫폼 \| 플로 | ✅ 통합을 통해 가져오거나 복제할 때 적절한 사용자에게 모든 레코드를 할당하는 논리가 있습니다. |
| 플랫폼 \| 조직 | ✅ 대용량 데이터 로드 동안 데이터 후처리가 지연됨 대용량 데이터 로드가 끝나기 전까지 후처리 자동화가 연기됩니다. |
| 플랫폼 \| 테스트 계획 | ✅ 대량 API 로드 전략은 전체 사본 Sandbox에서 테스트됩니다. 패턴, 로드 순서, 발생할 수 있는 잠금 문제를 식별하기 위해 전체 사본 Sandbox에서 대량 API를 사용하여 데이터 로드를 계획할 때. |
---
### 데이터 모델링 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Scalability](/docs/architect/ko-kr/well-architected/guide/reliable#확장성) → [Data Modeling에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/reliable#데이터-모델링)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 하위 코드 빌더는 다운스트림 보고 및 암호화 요구 사항을 평가하지 않고 데이터 유형을 선택합니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 개체 간 마스터-세부 사항 관계를 설정하기 전에 공유 및 데이터 왜곡이 고려되지 않습니다. |
| 플랫폼 \| 데이터 모델 | ⚡️ 중복을 방지하기 위해 테이블을 정규화했습니다. |
| 플랫폼 \| 데이터 모델 | ⚡️ 복제된 표준 개체가 있습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 사용자 정의 개체를 만드는 표준이 없음 |
### 데이터 용량 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/ko-kr/well-architected/guide/reliable) → [Scalability](/docs/architect/ko-kr/well-architected/guide/reliable#확장성) → [Data Volume](/docs/architect/ko-kr/well-architected/guide/reliable#데이터-용량) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 테스트 계획 | ⚡️ 대량 로드 계산에는 0일 데이터 로드가 포함되지 않으며 0일 로드 계산이 수행되지 않거나 문서화된 경우 동시에 실행당 파일 크기와 파일의 최대값에 근접합니다. |
| 플랫폼 \| Apex | ⚡️ 데이터 로드 또는 통합을 통해 생성된 레코드가 일반 "통합 사용자"에 할당됩니다. |
| 플랫폼 \| Apex | ⚡️ 하위 레코드는 이미 할당된 기존 하위 레코드 수에 관계없이 상위 레코드에 임의로 할당됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 데이터 보관 및 제거 전략이 없거나 전략이 문서화되었지만 구현되지 않았습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 규모 계획 없이 대량 데이터 로드 실행 대량 데이터 로드가 수행되기 전에는 로드 시간, 데이터 시퀀스, 레코드 잠금, 자동화, 대량 공유 프로세스가 고려되지 않습니다. |
| 플랫폼 \| 데이터 | ⚡️ 업무 시간이 가장 긴 동안 프로덕션에 대량 데이터 로드 발생 |
| 플랫폼 \| 데이터 | ⚡️ 대량 데이터 로드는 비즈니스 결정에 필요한 최소 데이터로 제한되지 않습니다. |
| 플랫폼 \| 데이터 | ⚡️하위 레코드가 10,000개가 넘는 레코드가 있는 경우 |
| 플랫폼 \| 데이터 | ⚡️ 동일한 유형의 10,000개가 넘는 레코드에 사용자가 할당됩니다. |
| 플랫폼 \| 데이터 | ⚡️ 레코드가 10,000개가 넘는 경우 동일한 레코드를 가리키는 조회 필드가 있는 인스턴스가 있습니다. |
| 플랫폼 \| 데이터 | ⚡️ 대량 데이터 로드는 `ParentId` 필드 값에 따라 배치로 정렬되지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 데이터 로드 또는 통합을 통해 생성된 레코드가 일반 "통합 사용자"에 할당됩니다. |
| 플랫폼 \| 플로 | ⚡️ 하위 레코드는 이미 할당된 기존 하위 레코드 수에 관계없이 상위 레코드에 임의로 할당됩니다. |
| 플랫폼 \| 조직 | ⚡️ 대량 API 로드 전략은 부분 복사 sandbox에서 테스트됩니다. 대량 API 로드 테스트는 부분 복사 sandbox의 데이터 하위 집합에서 배치 로드 시간이 수행되는지 확인합니다. |
| 플랫폼 \| 조직 | ⚡️ 레코드를 잠그는 다른 작업과 병렬로 대량 데이터 로드 수행 데이터 로드와 함께 일괄 Apex 실행 |
| 플랫폼 \| 조직 | ⚡️ 데이터 집합의 크기를 고려하지 않고 API를 선택하는 경우 데이터 로드가 500,000개를 초과하는 경우 SOAP API가 사용됩니다. |
| 플랫폼 \| 조직 | ⚡️ 보고 요구 사항은 역할 계층 설계를 촉진합니다. 보고 요구 사항을 사용하여 필요한 역할 계층 수준 또는 그 수를 결정합니다. |
| 플랫폼 \| 조직 | ⚡️ 역할 계층에 빈 역할이 있습니다. 미래를 위해 빈 자리 표시자 역할이 생성됩니다. |
| 플랫폼 \| 조직 | ⚡️ 역할 계층이 조직 차트와 비슷한 경우 역할 계층에서 조직 구조를 복제하여 회사의 각 직함에 대한 개별 역할을 만듭니다. |
---
# 신뢰할 수 있는 패턴 및 안티 패턴 탐색기
시스템과 데이터를 보호하고, 법적 및 윤리적 표준을 충족하고, 사용 가능한 성능이 뛰어난 솔루션을 제공합니다.
| ✅ 신뢰할 수 있음 - 패턴
|
| 보안 |
호환 |
신뢰할 수 있는 |
보안, 규정 준수 또는 신뢰도를 저하하는 관행 및 방지 방법
| ⚡️ 신뢰할 수 있음 - 안티 패턴
|
| 보안 |
호환 |
신뢰할 수 있는 |
# 의도 - 가독성
### 설계 표준 패턴
자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Readability](/docs/architect/ko-kr/well-architected/guide/intentional#가독성) → [Design Standards](/docs/architect/ko-kr/well-architected/guide/intentional#설계-표준)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 에이전트 | ✅ 에이전트의 언어 설정이 회사 어조와 일치하는 경우 회사 어조가 금융 기관과 같은 형식적인 경우 에이전트의 어조 설정은 "formal"입니다. 회사가 비공식적인 경우 어조 설정은 "Casual"입니다. 그렇지 않으면, 어조 설정이 "중립"입니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿은 서식을 활용하여 LLM에 컨텍스트를 제공하는 단일 해시를 사용하여 짧은 텍스트 블록을 프롬프트 템플릿 컨텍스트의 단일 단위로 표시합니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿은 일관된 쓰기 스타일을 사용합니다. 템플릿 전반에서 단어 선택 항목, 서식, 이모지, 문장 부호가 일관됩니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿은 간결하며 이해하고 자연어를 사용하기 쉽습니다. 템플릿은 산업 용어 또는 기술 용어를 피합니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿에 컨텍스트 및 지침이 명확하게 표시됩니다. 프롬프트에 컨텍스트를 제공한 후 ' 명령'이라는 텍스트와 함께 새 줄을 시작한 다음, 삼중 따옴표(""")로 묶은 명령을 따릅니다. |
| 플랫폼 \| 비즈니스 | ✅ 승인된 AI 모델이 명확하게 식별되고 의도한 목적을 포함합니다. |
| 플랫폼 \| 비즈니스 | ✅ 승인된 디자인 패턴을 사용 사례별로 쉽게 찾고 식별 |
| 플랫폼 \| 비즈니스 | ✅ 팀은 작업을 완료하기 위해 사용할 도구(사용하지 않음)를 알고 있습니다. |
| 플랫폼 \| 조직 | ✅ 코드 및 선언적 사용자 정의에 사용자가 읽을 수 있는 일관된 이름 |
| 플랫폼 \| 조직 | ✅ 데이터 모델의 개체 및 필드에 일관되고 균일한 이름 |
| 플랫폼 \| 조직 | ✅ 감사 시 보고서에서 필드가 일관되게 작성되고 참조되는 등 |
### 문서 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Readability](/docs/architect/ko-kr/well-architected/guide/intentional#가독성) → [Documentation](/docs/architect/ko-kr/well-architected/guide/intentional#문서)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data 360 \| 문서 | ✅ 소스 시스템이 데이터 사전에서 재고됩니다 Data 360 데이터 소스는 소스 및 대상 시스템과 두 개 사이의 필드 매핑이 포함된 데이터 사전을 사용하여 솔루션 설계 프로세스에 문서화됩니다. |
| 플랫폼 \| 비즈니스 | ✅ 모든 솔루션에 대한 비즈니스 기능 및 기술 구현 세부 사항에 대한 다이어그램이 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 코드 및 선언적 사용자 정의에 대한 정보 로그가 있는 사람/시간/대상 키 |
| 플랫폼 \| 비즈니스 | ✅ 관련 문서를 검색하고 찾을 수 있음 |
| 플랫폼 \| 조직 | ✅ 코드 및 선언적 사용자 정의에 명확한 설명 |
---
### 설계 표준 안티 패턴
자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Readability](/docs/architect/ko-kr/well-architected/guide/intentional#가독성) → [Design Standards](/docs/architect/ko-kr/well-architected/guide/intentional#설계-표준)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 프롬프트 템플릿 | ⚡️ 프롬프트 템플릿은 간결한 자연어 대신 용어 및/또는 기술 용어를 사용합니다 프롬프트 템플릿에는 용어, 약어 및 기술 용어가 포함됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 승인된 AI 모델이 명확하게 식별되지 않으며 의도한 목적이 명확하지 않음 |
| 플랫폼 \| 비즈니스 | ⚡️ 팀에서 다양한 도구를 사용하여 유사한 작업을 수행합니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 승인된 디자인 패턴이 없습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 공급업체 또는 신입 직원이 온보딩하는 데 많은 시간이 소요됩니다. |
| 플랫폼 \| 조직 | ⚡️ 코드 및 선언적 사용자 정의에는 이름이 일치하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 데이터 모델의 이름이 일관되지 않으며 많은 개체와 필드가 중복되는 것처럼 보입니다. |
| 플랫폼 \| 조직 | ⚡️ 감사 시 사용되지 않는 필드 또는 다양한 사용 수준이 많이 표시되며, 보고에 일관된 링크가 없습니다. |
### 문서 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Readability](/docs/architect/ko-kr/well-architected/guide/intentional#가독성) → [Documentation](/docs/architect/ko-kr/well-architected/guide/intentional#문서)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ⚡️ 소스 대상 매핑은 데이터 매핑 캔버스에 문서화되어 있습니다. 데이터 소스 필드만 Data 360의 데이터 매핑 캔버스에서 구성하는 동안 즉시 데이터 모델 개체 필드에 매핑됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 솔루션을 찾기 어려우며 대부분의 팀에서 사용할 수 없는 이유 |
| 플랫폼 \| 비즈니스 | ⚡️ 사용자가 작업 중인 솔루션 및 시스템을 이해하기 어려움 |
| 플랫폼 \| 비즈니스 | ⚡️ 공급업체 또는 신입 직원이 온보딩하는 데 많은 시간이 소요됩니다. |
| 플랫폼 \| 조직 | ⚡️ 코드 및 선언적 사용자 정의에는 설명이 없거나 이해하기 어려운 설명이 있거나 사용자 정의가 실제로 수행하는 작업과 일치하지 않는 설명이 있습니다. |
---
# 의도 - 전략
### 거버넌스 패턴
자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Governance](/docs/architect/ko-kr/well-architected/guide/intentional#거버넌스)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 팀 구성원이 앱 수명 주기 전반에 걸쳐 책임이 있는 사람 파악 |
| 플랫폼 \| 비즈니스 | ✅ 팀 및 프로젝트는 비즈니스용으로 승인된 AI 모델만 사용합니다. |
| 플랫폼 \| 비즈니스 | ✅ 핫픽스에 프로덕션 경로가 명확합니다. |
| 플랫폼 \| 비즈니스 | ✅ 사용자가 쉽게 버그 및 요청 기능을 보고할 수 있음 |
| 플랫폼 \| 비즈니스 | ✅ 작업 항목의 우선 순위 지정 프로세스가 문서화되고 모든 이해당사자에게 투명합니다. |
| 플랫폼 \| 비즈니스 | ✅ 환경 전략이 명확하게 문서화되고 개발 환경이 문서와 일치함 |
| 플랫폼 \| 비즈니스 | ✅ 명확한 프로덕션 지원 프로세스 |
| 플랫폼 \| 비즈니스 | ✅ 릴리스 계획이 예측 가능하고 모든 배달 팀 구성원에게 투명함 |
| 플랫폼 \| 비즈니스 | ✅ 사용자 및 배달/서비스 점검 팀이 릴리스를 확인할 수 있음 |
### 우선 순위 지정 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Prioritization](/docs/architect/ko-kr/well-architected/guide/intentional#우선-순위-지정)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 회사 | ✅ 모든 KPI에 대해 구현 및 유지 관리 비용이 식별됨 |
| 플랫폼 \| 회사 | ✅ 기능 요청은 비즈니스 영향, 배달에 필요한 새 작업의 양, 서비스 점검에 필요한 작업량에 따라 우선 순위가 지정됩니다. |
| 플랫폼 \| 문서 | ✅ 로드맵은 비즈니스 가치를 기반으로 자동화의 우선 순위를 표시합니다. |
| 플랫폼 \| 문서 | ✅ 모든 새 작업 항목에 명확한 비즈니스 가치 메트릭이 있습니다(예: 매출 증가, 프로세스 최적화로 인한 비용 절감 등). |
### 로드맵 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Roadmapping](/docs/architect/ko-kr/well-architected/guide/intentional#로드맵)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ✅ 배달 팀은 장기 우선 순위에 대한 백로그 항목을 평가하는 방법을 알고 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 팀은 어떤 작업을 수행하고 종속성을 관리하는 방법을 알고 있습니다. |
| 플랫폼 \| 비즈니스 | ✅ 이해당사자가 작업 항목의 " 이유"를 이해합니다. |
| 플랫폼 \| 비즈니스 | ✅ 우선 순위가 빠르게 변경되어야 하는 경우에도 의도적인 작업 |
| 플랫폼 \| 로드맵 | ✅ 전제 조건 및 종속성 표시 |
| 플랫폼 \| 로드맵 | ✅ 대상에 맞게 조정된 정보 전달(비즈니스 또는 기술) |
| 플랫폼 \| 로드맵 | ✅ 올바른 세부 사항 수준으로 정보 전달 |
| 플랫폼 \| 로드맵 | ✅ 시작 및 종료 일자 표시 |
---
### 거버넌스 안티 패턴
자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Governance](/docs/architect/ko-kr/well-architected/guide/intentional#거버넌스)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 비즈니스 | ⚡️ 팀에서 책임이 있는 사람을 모르는 경우 |
| 플랫폼 \| 비즈니스 | ⚡️ 팀이 임시로 AI 모델 선택 |
| 플랫폼 \| 비즈니스 | ⚡️ 작업 항목의 우선 순위가 명확하지 않음 |
| 플랫폼 \| 비즈니스 | ⚡️ 환경은 임시로 프로비저닝되며 예측 가능한 방식으로 새로 고쳐지지 않을 수 있습니다. 개발자에게 필요한 환경 및 액세스 권한이 없는 경우가 많습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 문서에 쉽게 액세스할 수 없음 |
| 플랫폼 \| 비즈니스 | ⚡️ 백로그가 오래되고 고정된 "아이디어 은행"이 되었습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 릴리스는 배달 팀 및 사용자에게 예측할 수 없음 |
| 플랫폼 \| 비즈니스 | ⚡️ 거버넌스 조직은 지원 요청 문제를 해결하는 도움말 데스크 역할을 합니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 핫픽스가 임시로 처리됩니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 버그 보고서 및 기능 요청은 특정 |
### 우선 순위 지정 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Prioritization](/docs/architect/ko-kr/well-architected/guide/intentional#우선-순위-지정)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------- |
| 플랫폼 \| 회사 | ⚡️ 자동화 구현 및 유지 관리와 관련된 비용은 명확하지 않음 |
| 플랫폼 \| 회사 | ⚡️ 요청은 임시 또는 일차 접수/출발 기준으로 전달됩니다. |
| 플랫폼 \| 문서 | ⚡️ 로드맵이 없음 |
| 플랫폼 \| 문서 | 작업과 관련된 비즈니스 가치가 명확하지 않거나 없음 |
### 로드맵 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Strategy](/docs/architect/ko-kr/well-architected/guide/intentional#전략) → [Roadmapping](/docs/architect/ko-kr/well-architected/guide/intentional#로드맵)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 비즈니스 | ⚡️ 이해당사자는 수행 중인 작업에 대해 불만과 혼란을 느끼고 새 기능이 제공될 때 사용량을 확신하는 경우가 많습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 백로그의 모든 항목에서 작업을 가져오며 명확한 "왜"가 없습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 팀은 상호 의존적인 작업을 조정하는 데 어려움을 겪고 있으며, 작업을 인식하지 못하고 복제하는 경우가 많습니다. |
| 플랫폼 \| 비즈니스 | ⚡️ 작업이 반응형인 경우가 많습니다. |
| 플랫폼 \| 로드맵 | ⚡️ 배달을 위한 아티팩트가 아닌 프로젝트 시작 자료로 사용됩니다. |
| 플랫폼 \| 로드맵 | ⚡️ 이해당사자와 배달 팀의 조율을 돕지 않음 |
| 플랫폼 \| 로드맵 | ⚡️ 대상 그룹에 적합하지 않은 정보 포함(예: 동일한 로드맵 내의 비즈니스 기능 및 시스템) |
| 플랫폼 \| 로드맵 | ⚡️ 세부 사항 수준 혼합(예: 같은 로드맵 내에 시스템 및 구성 요소 포함) |
---
# 의도적 - 유지 관리
### 표준 및 사용자 정의 기능 패턴 비교
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Maintenance](/docs/architect/ko-kr/well-architected/guide/intentional#유지-보수) → [Standard vs Custom Functionality에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/intentional#standard-vs-custom-functionality)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ✅ 가능한 경우 표준 커넥터를 활용할 수 있습니다. 표준 커넥터를 사용할 수 있는 경우 사용자 정의 데이터 스트림 구현이 미치는 영향을 주의 깊게 고려하십시오. 사용자 정의 스트림은 표준 기능에 대한 개선 사항을 활용할 수 없습니다. |
| Einstein \| 조직 | ✅ 기존 프롬프트를 시작하고 필요에 맞게 사용자 정의합니다. 처음부터 새 프롬프트 초안을 작성하는 대신 프롬프트 템플릿 라이브러리 예제의 모범 사례 활용 |
| Einstein \| 프롬프트 템플릿 | ✅ 프롬프트 템플릿은 RAG용 Einstein Search Retriever를 사용합니다. 프롬프트 템플릿에서 검색 증강 생성을 사용할 때 사용자 정의 Apex 대신 Low-code Search Retriever가 사용됩니다. |
| 플랫폼 \| Apex | ✅ 표준 페이지 보기 메커니즘을 재정의하는 코드가 없음 |
| 플랫폼 \| Aura | ✅ 표준 페이지 보기 메커니즘을 재정의하는 코드가 없음 |
| 플랫폼 \| Aura | ✅ 플랫폼 실행 순서를 재정의하거나 우회하려는 코드가 없음 |
| 플랫폼 \| 데이터 모델 | ✅ 표준 개체를 복제하는 이름 또는 기능이 없는 개체 |
| 플랫폼 \| 데이터 모델 | ✅ 표준 개체는 의도한 범위를 벗어난 목적으로 사용되지 않습니다. |
| 플랫폼 \| 결정 레코드 | ✅ 솔루션 구축 또는 구매를 선택할 경우 결정 레코드에 단기 및 장기 비용 계산이 표시됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 솔루션 지침 원칙은 다음 우선 순위를 사용합니다. 1\. 내장형 플랫폼 서비스 사용 2. 맞춤형 솔루션을 구축하기 전에 AppExchange 앱을 고려하십시오. 코드를 작성하기 전에 하위 코드 사용자 정의 사용 |
| 플랫폼 \| 설계 표준 | ✅ 불필요한 사용자 정의를 방지하기 위한 명확한 지침이 있습니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 표준 페이지 보기 메커니즘을 재정의하는 코드가 없음 |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 플랫폼 실행 순서를 재정의하거나 우회하려는 코드가 없음 |
| 플랫폼 \| Visualforce | ✅ 플랫폼 실행 순서를 재정의하거나 우회하려는 코드가 없음 |
### 기술 부채 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Maintenance](/docs/architect/ko-kr/well-architected/guide/intentional#유지-보수) → [Technical Debt](/docs/architect/ko-kr/well-architected/guide/intentional#기술-부채) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 결정 레코드 | ✅ 기술 부채 조정 사전/후 KPI가 명확하게 문서화됨 |
| 플랫폼 \| 결정 레코드 | ✅ 작업 및 비작업에 대한 제약 토론은 비즈니스 비용 또는 혜택에 초점을 맞춥니다. |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성 상태인 Salesforce 조직 연결이 Salesforce Connect Cross-Org 어댑터를 사용하지 않음 |
| 플랫폼 \| 조직 | ✅ 지원되지 않는 기술 또는 기존 기술이 활성화되지 않음 포함: - Lightning Experience에서 작동하는 모든 사용자 - Apex에서 `@future`의 사용이 없거나 매우 적습니다(대기 가능 사용) - 모든 타사 Apex가 AppExchange 패키지에 속합니다. - 활성 워크플로 규칙 없음(플로 사용) - 활성 프로세스 빌더 프로세스 없음(플로 사용) - PushTopic 이벤트(변경 데이터 수집 사용) - 일반 이벤트(플랫폼 이벤트 사용) - 30.0 이전 API 버전 - Salesforce 조직 연결의 교차 사용 -Salesforce Connect의 Org 어댑터 |
| 플랫폼 \| 조직 | ✅ 지원되지 않는 기술 또는 기존 기술이 활성화되지 않음 Apex에서 `@future`의 사용이 거의 없음(대기 가능 사용) |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성화되지 않음 모든 타사 Apex AppExchange 패키지에 속함 |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성화되지 않음 Lightning Experience 작업하는 모든 사용자 |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성화되지 않음 활성 워크플로 규칙 없음(플로 사용) |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성화되지 않음 활성 프로세스 빌더 프로세스 없음(플로 사용) |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 기존 기술이 활성 상태인 PushTopic 이벤트(변경 데이터 수집 사용) |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 30.0 이전의 활성 API 버전이 아님 |
| 플랫폼 \| 조직 | ✅ 지원되지 않거나 레거시 기술이 활성 상태인 일반 이벤트가 없습니다(플랫폼 이벤트 사용) |
| 플랫폼 \| 로드맵 | ✅ 명확한 배달 및 시작/종료 일자 |
| 플랫폼 \| 로드맵 | ✅ 기술 부채 해결 작업이 있는 경우 |
---
### 표준 및 사용자 정의 기능 안티 패턴 비교
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Maintenance](/docs/architect/ko-kr/well-architected/guide/intentional#유지-보수) → [Standard vs Custom Functionality에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/intentional#standard-vs-custom-functionality)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ⚡️ 표준 커넥터를 자주 사용하지 않는 경우 배치 또는 스트리밍 수집으로 사용자 정의 데이터 스트림 구현(표준 커넥터가 수행할 경우) |
| Einstein \| 프롬프트 템플릿 | ⚡️ 프롬프트 템플릿은 처음부터 생성 프롬프트 템플릿은 스타일, 구문 및 서식이 다르게 처음부터 생성됩니다. |
| Einstein \| 프롬프트 템플릿 | ⚡️ 프롬프트 템플릿은 사용자 지정 Apex for RAG를 활용합니다. 사용자 지정 Apex 자원은 프롬프트 템플릿에서 RAG를 구현하는 데 사용됩니다. |
| 플랫폼 \| Apex | ⚡️ 코드가 플랫폼 실행 순서를 재정의하거나 우회하려고 시도함 |
| 플랫폼 \| Aura | ⚡️ 표준 페이지 보기 메커니즘을 재정의하기 위한 코드가 존재합니다(일반적으로 단일 페이지 앱 형태). |
| 플랫폼 \| Aura | ⚡️ 코드가 플랫폼 실행 순서를 재정의하거나 우회하려고 시도함 |
| 플랫폼 \| 데이터 모델 | ⚡️ 개체가 표준 개체의 이름 및/또는 기능을 복제합니다. |
| 플랫폼 \| 데이터 모델 | ⚡️ 표준 개체는 의도한 범위를 벗어난 목적으로 사용됩니다. |
| 플랫폼 \| 결정 레코드 | ⚡️ 솔루션 구축 또는 구매를 선택할 때 결정 레코드는 단기 비용과 장기 비용을 모두 고려하지 않습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 불필요한 사용자 정의 및 코드를 피하기 위한 명확한 이유가 없습니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 표준 페이지 보기 메커니즘을 재정의하기 위한 코드가 존재합니다(일반적으로 단일 페이지 앱 형태). |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 코드가 플랫폼 실행 순서를 재정의하거나 우회하려고 시도함 |
| 플랫폼 \| Visualforce | ⚡️ 표준 페이지 보기 메커니즘을 재정의하기 위한 코드가 존재합니다(일반적으로 단일 페이지 앱 형태). |
### 기술 부채 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Intentional](/docs/architect/ko-kr/well-architected/guide/intentional) → [Maintenance](/docs/architect/ko-kr/well-architected/guide/intentional#유지-보수) → [Technical Debt](/docs/architect/ko-kr/well-architected/guide/intentional#기술-부채) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 결정 레코드 | ⚡️ 기술 부채 해결에는 측정 가능한 KPI가 없습니다. |
| 플랫폼 \| 결정 레코드 | ⚡️ 기술 부채는 기술 또는 IT 중심의 측면에서 고려되며 비즈니스와 관련이 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 30.0 이전의 활성 API 버전인 경우 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성화된 워크플로 규칙 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성 상태인 PushTopic 이벤트 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성 프로세스 빌더 프로세스 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성 상태인 일반 이벤트 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성 상태인 Salesforce Classic 작업하는 사용자 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 활성 상태인 Salesforce에서 Salesforce 연결 |
| 플랫폼 \| 조직 | Salesforce Classic에서 작업하는 사용자 - Apex의 `@future` 사용 - AppExchange가 아닌 소스의 타사 Apex - 워크플로 규칙 - 프로세스 빌더 프로세스 - PushTopic 이벤트 - 일반 이벤트 - 30.0 이전 API 버전 - Salesforce와 Salesforce 연결 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않는 기술 또는 기존 기술은 Apex에서 활성 `@future` 사용 |
| 플랫폼 \| 조직 | ⚡️ 지원되지 않거나 레거시 기술이 AppExchange 소스의 활성 타사 Apex. |
| 플랫폼 \| 로드맵 | ⚡️ 기술 부채 해결 작업이 계획되지 않음 |
| 플랫폼 \| 로드맵 | ⚡️ 배달이 모호하며 시작/종료 날짜가 명확하지 않음 |
---
# 자동 - 데이터 무결성
### 데이터 처리 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Data Integrity](/docs/architect/ko-kr/well-architected/guide/automated#데이터-무결성) → [Data Handling](/docs/architect/ko-kr/well-architected/guide/automated#데이터-처리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 데이터 사전 | ✅ 모든 데이터 소스 및 데이터 레이크 개체에 대한 필드 수준 데이터 및 우선 순위 지정 논리가 있는 경우 |
| Data 360 \| 조직 | ✅ 복합 키가 없는 경우 고유한 기본 키를 구성하는 데 사용됩니다. 고유한 데이터 집합에 단일 필드가 없는 경우 수식 필드를 사용하여 데이터 집합의 여러 필드를 조인합니다. |
| Data 360 \| 조직 | ✅ CRM 커넥터를 사용하는 데이터 스트림은 2주마다 전체 새로 고침을 활용합니다. 증분 로드에 CRM 커넥터를 사용하면 2주마다 전체 새로 고침이 시작됩니다. 이는 데이터 수집을 향상할 수 있지만 DML 트랜잭션을 트리거하지 않고 따라서 증분 로드에 포함되지 않는 메타데이터(수식 필드 등)의 데이터 무결성을 보호합니다. |
| Data 360 \| 조직 | ✅ 개인 ID는 Data 360 데이터를 다른 시스템에 매핑하는 데 사용됩니다. 개인 ID를 사용하는 다른 시스템에 Data 360의 개인 매핑 예를 들어, Marketing Cloud Engagement 구독자 키를 Data 360의 개인 ID에 매핑해야 합니다. |
| Data 360 \| 조직 | ✅ 정규화된 키를 사용하여 데이터를 정확하게 해석 키 값이 포함된 모든 DLO에는 키 한정자 필드와 조직에서 정규화된 키(FQK)가 활성화되어 여러 데이터 스트림이 단일 데이터 모델 개체(DMO)에 조화될 때 발생할 수 있는 충돌을 방지합니다. |
| Data 360 \| 조직 | ✅ 정규화된 일치 방법은 사용 가능한 경우 일치 규칙에 사용됩니다 정확히 정규화된 일치 변환은 소스 데이터를 변환하여 후행 공백, 일관되지 않은 서식, 특수 문자와 같은 일반적인 일치 문제를 해결합니다. 테스트를 위해 여러 규칙 집합을 구성하고 통합 비율이 비즈니스 요구를 충족하지 않는지 확인하지 않는 한 퍼지 일치를 사용하지 않고 사용할 수 있는 필드에서 이 방법을 활용합니다. |
| Einstein \| 문서 | ✅ 데이터 유용성은 AI 프로젝트 설계의 일부로 문서화됩니다. 회사의 데이터 유용성 정의는 문서화되어 AI 응답을 개선하기 위해 운영됩니다. |
| 플랫폼 \| Apex | ✅ 향후 Apex 콜아웃 또는 시스템 개체 DML에 거의 사용되지 않음 |
| 플랫폼 \| Apex | ✅ 비동기 Apex 호출은 트랜잭션 전반에 걸쳐 '체인' 복잡한 DML을 대기 가능으로 사용합니다. |
| 플랫폼 \| Apex | ✅ 배치 Apex 대용량 데이터에만 사용됩니다. 배치 Apex 대용량 데이터를 처리하는 데 가장 적합합니다. 비동기 Apex 동기 Apex 더 높은 제한이 있으므로 더 많은 작업을 수행할 수 있습니다. 흐름 제어 (대기열 홍수), 오버헤드 및 일일 비동기 Apex 한도를 소모하는 결과를 피하기 위해 가능한 한 매우 작은 배치 크기를 피하십시오. |
| 플랫폼 \| Apex | ✅ 모든 동기식 DML 문 또는 데이터베이스 클래스 메서드가 트리거 실행 컨텍스트 이전에 수행됩니다. |
| 플랫폼 \| Apex | ✅ 대량의 데이터를 처리해야 하는 경우에만 대량 API가 사용됩니다. 대량의 데이터를 처리해야 하는 경우 대량 API가 사용됩니다. 기본 SOAP 및 REST API를 활용하여 데이터 처리량이 줄어듭니다. |
| 플랫폼 \| 데이터 사전 | ✅ 데이터 레이크 개체에서 데이터 모델 개체로 필드 매핑이 있는 경우 |
| 플랫폼 \| 플로 | ✅ 사용자 컨텍스트에서 시작된 모든 플로는 모든 시스템 컨텍스트 트랜잭션을 일관되게 일시 중지 요소 뒤에 배치된 하위 플로로 추상하여 새 트랜잭션을 만듭니다. |
| 플랫폼 \| 플로 | ✅ 모든 레코드 트리거 플로에 트리거 순서 값이 채워집니다. |
| 플랫폼 \| 플로 | ✅ 외부 시스템 콜아웃 또는 장기 실행 프로세스와 관련된 플로는 비동기 경로를 사용합니다. |
| 플랫폼 \| 플로 | ✅ 오케스트레이터를 사용하여 관련 데이터 작업의 복잡한 시퀀스를 만듭니다(모노리틱 플로 내에서 여러 하위 플로를 호출하는 대신). |
| 플랫폼 \| 조직 | ✅ ID 확인 조정 규칙은 데이터 사전의 우선 순위 논리를 따릅니다. |
### 오류 처리 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Data Integrity](/docs/architect/ko-kr/well-architected/guide/automated#데이터-무결성) → [Error Handling](/docs/architect/ko-kr/well-architected/guide/automated#오류-처리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Einstein \| 조직 | ✅ 프롬프트는 예상되는 유형의 콘텐츠만 생성하도록 LLM에 대한 직접 지침 포함 출력을 지정합니다. |
| 플랫폼 \| Apex | ✅ 고급 오류 메시지 및 논리를 만드는 데 사용자 정의 예외가 사용됩니다. |
| 플랫폼 \| Apex | ✅ 코드는 모든 DML, SOQL, 콜아웃 및 기타 중요한 프로세스 단계를 `try-catch` 블록으로 래핑합니다. |
| 플랫폼 \| Apex | ✅ 데이터베이스 클래스 메서드는 DML 대신 모든 데이터 작업에만 사용할 수 있습니다. |
| 플랫폼 \| Apex | ✅ 비동기 및 대량 컨텍스트에서는 DML 대신 데이터베이스 클래스 메서드가 사용됩니다. |
| 플랫폼 \| Aura | ✅ JavaScript는 모든 데이터 작업 및 중요한 프로세스 단계를 `try-catch` 블록으로 래핑합니다. |
| 플랫폼 \| Aura | ✅ `try-catch` 블록 내에서, 네이티브 JavaScript `Error`가 throw 문에 사용됩니다(`$A.error()`의 사용 없음) |
| 플랫폼 \| Aura | ✅ 모든 복구 가능한 오류 논리가 `catch` 문 안에 나타나고 명확한 사용자 메시지를 제공합니다. |
| 플랫폼 \| 플로 | ✅ 데이터 작업, 콜아웃 및 기타 중요 처리 논리가 있는 플로는 모든 주요 작업에 대한 오류 경로가 있습니다. |
| 플랫폼 \| 플로 | ✅ 화면 플로에서 오류 커넥터를 사용하여 사용자에게 오류를 표시합니다. |
| 플랫폼 \| 플로 | ✅ 화면에 표시되는 오류에 대해 사용자 정의 오류 메시지가 구성됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ JavaScript는 모든 데이터 작업 및 중요한 프로세스 단계를 `if ()`/`else if ()` 블록으로 래핑합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 모든 `@wire` 함수는 API에서 제공하는 `data` 및 `error` 속성을 사용합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 모든 `if (error)`/`else if (error)` 문에 오류를 처리하고 정보 메시지를 제공하는 논리가 포함되어 있습니다. |
---
### 데이터 처리 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Data Integrity](/docs/architect/ko-kr/well-architected/guide/automated#데이터-무결성) → [Data Handling](/docs/architect/ko-kr/well-architected/guide/automated#데이터-처리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ⚡️ 지원되는 정규화된 일치 방법이 있는 필드에서 퍼지 일치를 사용합니다. 정확한 정규화된 일치 방법을 제공하는 필드에 퍼지 일치가 적용됩니다. |
| Data 360 \| 조직 | ⚡️ 통합 개인 ID는 변경할 수 없다고 간주됩니다 통합 개인 ID는 나머지 조직에서 사용할 마스터 ID 또는 전역 ID로 사용됩니다. |
| Data 360 \| 조직 | ⚡️ 이벤트 날짜가 변동 가능한 DateTime 값 이벤트 날짜가 LastUpdated 또는 LastExtracted와 같은 변동 가능한 DateTime 필드에 매핑됨 |
| Data 360 \| 조직 | ⚡️ 기본 키가 고유하지 않은 필드에 매핑되는 경우 선택한 필드가 고유한지 확인하지 않고 데이터 집합에 기본 키가 없는 경우 데이터 스트림의 기본 키로 필드 선택 |
| Data 360 \| 조직 | ⚡️ 데이터를 배치로 로드한 다음 실시간으로 활성화합니다. 예를 들어, 일반적이지만 결함이 있는 접근 방식은 Amazon S3 버킷에서 매시간 데이터를 로드한 다음, 데이터 작업을 통해 활성화하는 과정일 수 있습니다. |
| 플랫폼 \| Apex | ⚡️ DML 문은 트리거 컨텍스트 후에 호출되는 코드에 정기적으로 표시됩니다. |
| 플랫폼 \| Apex | ⚡️ 배치 Apex 작업의 범위 크기가 매우 작습니다. 매우 작은 배치 크기(예: 범위 크기 = 1)가 사용됩니다. |
| 플랫폼 \| Apex | ⚡️ 배치 Apex 외부 콜아웃에 사용됩니다. 대량의 Salesforce 데이터가 배치 Apex 사용하여 Salesforce에서 외부 시스템으로 푸시됩니다. |
| 플랫폼 \| Apex | ⚡️ 즉시 게시 플랫폼 이벤트는 게시 주문 요구 사항 또는 레코드 잠금 위험에 관계없이 확정 후 게시(실시간이 아님) 대신 임시 즉시 게시(실시간) 이벤트가 사용됩니다. |
| 플랫폼 \| Apex | ⚡️ 비동기 Apex 기능이 임의로 사용됨 Future 메서드 및 대기 가능한 Apex 일관되지 않게 또는 상호 교환적으로 사용됨 |
| 플랫폼 \| Apex | ⚡️ 비동기 Apex 기능은 임의로 사용되며, 개발자가 언제 future와 대기 가능한 Apex 사용해야 하는지, 언제 DML을 배치 작업에 전달해야 하는지 알 수 없습니다. |
| 플랫폼 \| Apex | ⚡️ 비동기 Apex 거의 사용되지 않습니다. |
| 플랫폼 \| Apex | ⚡️ 비동기 Apex 기능이 임의로 사용됩니다. 필요한 경우 배치 Apex 실행을 전달하기 위한 명확하고 일관된 논리가 없는 데이터베이스 작업 |
| 플랫폼 \| 데이터 사전 | ⚡️ 데이터 레이크 개체에서 데이터 모델 개체로의 필드 매핑은 포함되지 않습니다. |
| 플랫폼 \| 데이터 사전 | ⚡️ 데이터 소스 및 데이터 레이크 개체에 대한 필드 수준 데이터 및 우선 순위 지정 논리가 포함되지 않음 |
| 플랫폼 \| 플로 | ⚡️ 화면 구성 요소의 출력인 컬렉션을 사용하여 DML 수행 화면 구성 요소의 출력인 만들기, 업데이트 또는 삭제 요소에 대한 "레코드 또는 레코드 컬렉션의 ID 및 모든 필드 값 사용" 설정 활용 |
| 플랫폼 \| 플로 | ⚡️ 레코드 트리거 플로는 트리거 순서 특성을 사용하지 않거나 트리거 순서 값을 일관적으로 사용하지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 비동기 경로는 일관되게 사용되지 않거나 전혀 사용되지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 대형 모노리틱 플로는 관련 데이터 작업의 복잡한 시퀀스를 조정하도록 시도합니다(하위 플로 포함 또는 제외). |
| 플랫폼 \| 조직 | ⚡️ ID 확인 조정 규칙은 데이터 사전의 우선 순위 지정 논리를 따르지 않습니다. |
### 오류 처리 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Data Integrity](/docs/architect/ko-kr/well-architected/guide/automated#데이터-무결성) → [Error Handling](/docs/architect/ko-kr/well-architected/guide/automated#오류-처리) 에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ DML, SOQL, 콜아웃 또는 기타 중요 프로세스 단계가 시험 캐치 블록으로 일관되게 래핑되지 않음 |
| 플랫폼 \| Apex | ⚡️ 데이터베이스 클래스 메서드가 사용되지 않음 |
| 플랫폼 \| Apex | ⚡️ 데이터 작업은 DML에서만 수행됩니다. |
| 플랫폼 \| Apex | ⚡️ `System.debug` 문은 프로덕션 코드에 표시되며 코멘트가 표시되지 않습니다. |
| 플랫폼 \| Aura | ⚡️ JavaScript는 데이터 작업 및 중요한 프로세스 단계를 `try-catch` 블록으로 일관되게 래핑하지 않습니다. |
| 플랫폼 \| Aura | ⚡️ 구성 요소 사용 `$A.error()` |
| 플랫폼 \| Aura | ⚡️ 복구 가능한 오류 논리가 `catch` 문 내에 일관되게 표시되지 않으며 사용자에게 보내는 오류 메시지는 명확하지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 플로는 일관되게 또는 전혀 오류 경로를 사용하지 않습니다. |
| 플랫폼 \| 플로 | ⚡️ 사용자 정의 오류 메시지가 사용되지 않으므로 사용자에게 기본 "이 플로에서 처리되지 않은 오류가 발생했습니다" 메시지가 표시됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ `@wire` 함수는 API에서 제공하는 `data` 및 `error` 속성을 사용하지 않습니다(또는 일관되게 사용하지 않습니다). |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 사용하는 경우, `if (error)`/`else if (error)` 문은 실제로 오류를 처리하는 논리를 포함하지 않으며 유용한 오류 메시지를 제공합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ JavaScript는 데이터 작업이나 중요한 프로세스 단계에서 일관되게 `if ()`/`else if ()` 블록을 사용하지 않습니다. |
---
# 자동 - 효율성
### KPI 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [KPI](/docs/architect/ko-kr/well-architected/guide/automated#kpi)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 비즈니스 | ✅ 특정 사용 사례에 대한 KPI가 활성화되기 전에 특정 사용 사례에 대한 KPI가 활성화되기 전에 특정 사용 사례에 대한 KPI가 활성화되기 전에 |
| 플랫폼 \| 대시보드 | ✅ KPI와 관련된 모든 메트릭이 하나 이상의 대시보드에 포함됩니다. |
| 플랫폼 \| 문서 | ✅ 모든 자동화에 대한 출력이 측정 가능하고 시간 바운드 |
| 플랫폼 \| 문서 | ✅ 각 KPI에 대해 책임이 있는 이해당사자가 나열됩니다. |
### 운영 논리 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [Operational Logic에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/automated#운영-논리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data 360 \| 비즈니스 | ✅ 데이터 연합을 구현하기 전에 세분화 새로 고침 요구 사항을 평가하기 전에 외부 소스의 데이터를 연합하기 전에 Data 360에서 Marketing Cloud Engagement로의 세그먼트 새로 고침 및 활성화에 대한 표준 12시간 또는 24시간 일정이 비즈니스 요구를 충족하는지 확인하십시오. BYOL(Bring Your Own Lake) 데이터 연합을 사용할 경우 빠른 세분화 및 활성화가 현재 지원되지 않습니다. |
| Data 360 \| 문서 | ✅ Marketing Cloud 및 Data 360 간 1:1 또는 1대다 연결을 위해 설계 많은 CRM 인스턴스를 여러 Data 360 인스턴스에 연결할 수 있지만, 둘 이상의 Marketing Cloud 인스턴스를 동일한 Data 360 인스턴스에 연결할 수 없습니다. 그러나 단일 Marketing Cloud 인스턴스를 다른 Data 360 인스턴스에 연결할 수 있습니다. |
| Data 360 \| 조직 | ✅ 세분화 일정 최적화 세그먼트가 필요한 기간 동안에만 게시 일정을 설정합니다. 임시 또는 일회성 캠페인은 "새로 고치지 않음" 게시 일정을 사용해야 합니다. Evergreen(또는 "항상 시작") 캠페인에는 12시간마다 게시 일정을 사용해야 합니다. Evergreen 캠페인의 경우 캠페인이 활성화되는 미래의 종료 일자만 설정하십시오. |
| Data 360 \| 조직 | ✅ 계산된 인사이트 일정을 최적화 계산된 인사이트를 한 번만 실행해야 하는 경우 "예약되지 않음" 옵션을 사용하고 한 번만 수동으로 게시합니다. 24시간보다 빈번하게 필요할 경우 플로와 같은 기타 자동화 옵션을 고려하십시오. |
| Data 360 \| 조직 | ✅ 데이터 작업을 사용하여 플랫폼 이벤트를 생성하여 운영 논리를 향상합니다. 데이터 작업을 사용하여 플랫폼 이벤트를 게시하면 Data 360에서 가져오는 데이터 작업(이벤트 게시)을 조직에서 수행해야 하는 작업(플로 호출 및 Apex 트리거)과 분리할 수 있습니다. 이를 통해 조직이 Data 360에서 반응할 수 있는 작업의 규모를 늘리고 운영 논리를 더 잘 제어할 수 있습니다. |
| Einstein \| 에이전트 | ✅ 반복 빌드/테스트 프로세스의 일부로 에이전트 지침을 정의 필수 에이전트 주제 필드(이름, 설명, 범위)를 구축하고 관련 작업을 추가한 다음, 주제 테스트를 시작합니다. 반복적인 빌드/테스트 루프에서 에이전트가 주제를 실행하고 원하는 방식으로 작업을 선택하도록 안내하는 명령을 증분적으로 추가합니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿에서 개인 정보 및 개인 정보의 목표를 지정합니다. 프롬프트 템플릿에는 LLM에서 가정해야 하는 개인 정보 및 해당 문자의 목표와 같은 컨텍스트 정보가 포함됩니다. 예를 들어, "당신은 라이브 이벤트에 주요 고객을 초대하려는 마케팅 담당자입니다."와 같은 언어를 포함합니다. |
| Einstein \| 검색 색인 | ✅ 구조화된 DMO에 대한 검색 색인을 만들 때 엔트로피가 낮은 필드 생략 관련성을 향상하려면 카디널리티가 매우 낮은 데이터 요소(목록의 고유한 요소 수) 또는 엔트로피가 낮은 데이터 요소(목록 항목이 몇 개의 값 주위에 집중됨)를 제외하는 것이 좋습니다. 일반적으로 이러한 필드는 벡터 검색을 사용하여 관련 데이터를 찾기 위한 유용한 정보가 거의 없습니다. |
| 플랫폼 \| Apex | ✅ SOQL 문은 선택적입니다 비교 연산자는 SOQL 문에서 양성 논리(즉, `INCLUDES`, `IN`)를 기본 또는 유일한 논리로 사용합니다. |
| 플랫폼 \| Apex | ✅ SOQL 문은 선택적입니다 `= NULL`의 사용, `!= NULL`은 드물거나 항상 SOQL 문에서 긍정 비교 연산자를 따릅니다. |
| 플랫폼 \| Apex | ✅ SOQL 문은 선택적입니다. SOQL에 `LIMIT 1` 문이 표시되지 않음 |
| 플랫폼 \| Apex | ✅ SOQL 문은 선택적입니다. SOQL 문에 `ALL ROWS` 키워드 사용이 나타나지 않습니다. |
| 플랫폼 \| Apex | ✅ 루프 내에 SOQL이 표시되지 않음 |
| 플랫폼 \| Apex | ✅ 모든 와일드카드 기준이 SOSL에 표시됩니다. |
| 플랫폼 \| Apex | ✅ SOQL 문은 선택적입니다. SOQL 문은 `LIKE` 비교 또는 부분 텍스트 비교를 사용하지 않습니다. |
| 플랫폼 \| Apex | ✅ SOQL은 `try-catch`로 래핑됩니다. |
| 플랫폼 \| Apex | ✅ 변수는 하드 코딩된 값을 참조하지 않습니다(레코드 유형, 사용자 등). |
| 플랫폼 \| 설계 표준 | ✅ 자동화 내의 동기 및 비동기 작업에 대한 사용 사례가 설계 표준의 일부로 명확하게 간략하게 설명되어 있습니다. |
| 플랫폼 \| 문서 | ✅ 자동화에 대해 계획된 실행 경로 및 잠재적인 실행 경로가 명확하게 요약되어 있습니다. |
| 플랫폼 \| 플로 | ✅ 변수는 하드 코딩된 값을 참조하지 않습니다(레코드 유형, 사용자 등). |
| 플랫폼 \| 플로 | ✅ 플로(프로세스 포함)는 대용량 데이터 컨텍스트에서 Apex 논리를 전달합니다. |
| 플랫폼 \| 플로 | ✅ 하위 플로는 비즈니스 전체에서 재사용해야 하는 프로세스 섹션에 사용됩니다. |
| 플랫폼 \| 플로 | ✅ 모든 자동 실행 플로 및 프로세스는 결정 및/또는 일시 중지 요소를 사용하여 항목 기준을 평가하고 대용량 데이터에 대한 무한 루프 또는 실행을 방지합니다. |
### 프로세스 설계 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [Process Design에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/automated#프로세스-설계)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 조직 | ✅ 데이터 변환 내 배치 변환에서 처리된 총 행 최적화, 캔버스에서 필터 활동을 사용하여 성공적인 변환을 위해 처리해야 하는 행만 격리 |
| Data 360 \| 조직 | ✅ 계산된 인사이트 전체에서 치수 통합 한 치수를 사용하여 여러 계산된 인사이트를 작성하는 대신 가능한 경우 두 치수를 하나의 계산된 인사이트로 통합합니다. |
| 플랫폼 \| Apex | ✅ 각 클래스는 단일 특정 목적을 제공합니다. |
| 플랫폼 \| Apex | ✅ 각 방법은 특정한 세분화된 과업을 수행합니다. |
| 플랫폼 \| Apex | ✅ 모든 입력 변수는 클래스 내에서 명확한 목적이 있습니다. |
| 플랫폼 \| Apex | ✅ 코드를 실행하려면 최소한의 자원이 필요합니다. |
| 플랫폼 \| 플로 | ✅ 기존 시스템 데이터를 사용할 수 없는 경우에만 사용자에게 데이터 제공을 요청합니다. |
| 플랫폼 \| 플로 | ✅ 플로는 기본 플로 및 지원 하위 플로로 구성된 계층 구조로 구성됩니다. |
| 플랫폼 \| 플로 | ✅ 모든 사용자 입력에 플로 내 명확한 목적이 있습니다. |
| 플랫폼 \| 플로 | ✅ 각 플로는 단일 특정 목적을 제공합니다. |
| 플랫폼 \| 플로 | ✅ 각 단계는 특정한 세분화된 과업을 수행합니다. |
---
### KPI 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [KPI](/docs/architect/ko-kr/well-architected/guide/automated#kpi)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------- |
| 플랫폼 \| 대시보드 | ⚡️ KPI 보고서가 없거나 일부 KPI와 관련된 메트릭이 대시보드에 누락되었습니다. |
| 플랫폼 \| 문서 | ⚡️ 책임 있는 이해당사자가 없는 KPI 존재 |
| 플랫폼 \| 문서 | ⚡️ 자동화에 대한 KPI가 없거나 측정 시간 범위가 명확하지 않음 |
### 운영 논리 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [Operational Logic에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/automated#운영-논리)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data 360 \| 문서 | 마케팅 및 Data 360 사이의 다이어그램 또는 솔루션 설계 문서에서 Marketing Cloud 커넥터를 통해 단일 Data 360 인스턴스에 연결하는 Marketing Cloud 인스턴스를 두 개 이상 지정합니다. |
| Data 360 \| 조직 | ⚡️ 데이터 연합은 세분화 새로 고침 요구 사항을 평가하지 않고 구현됩니다. 데이터 연합은 빠른 세분화 및 활성화가 필요한 데이터 집합(활성화 데이터를 보내는 1시간 또는 4시간 일정)과 표준 12시간 또는 24시간 일정 대비 활용됩니다. |
| Data 360 \| 조직 | ⚡️ 데이터 통합은 데이터 변환 요구 사항을 평가하지 않고 구현됩니다. 외부 DLO에는 스트리밍 데이터 변환에 필요한 데이터가 포함되어 있습니다. |
| Einstein \| 에이전트 | ⚡️ 설계 프로세스 시작 시 에이전트 지침 정의 에이전트의 주제 실행 능력을 테스트하고 적절한 작업을 선택하기 전에 지침이 추가됩니다. |
| 플랫폼 \| Apex | ⚡️ SOQL 문은 비선택적입니다 `NOT`를 사용하는 비교에서는 `NOT IN` 기준이 SOQL 문에서 기본 또는 유일한 비교 연산자로 사용됩니다. |
| 플랫폼 \| Apex | ⚡️ SOQL 문은 선택적이지 않은 `ALL ROWS` 키워드입니다. SOQL 문에 사용됨 |
| 플랫폼 \| Apex | ⚡️ SOQL 문은 비선택적 `= NULL`이며, `!= NULL` 기준은 SOQL 문에서 기본 또는 유일한 비교 연산자로 사용됩니다. |
| 플랫폼 \| Apex | ⚡️ 변수의 값이 하드 코딩됨 |
| 플랫폼 \| Apex | ⚡️ SOQL이 루프 내에 나타남 |
| 플랫폼 \| Apex | ⚡️ SOQL 문은 비선택적 `LIKE`이며 와일드카드 필터 기준은 SOQL 문의 SOQL 문에 자주 나타납니다. |
| 플랫폼 \| Apex | ⚡️ SOQL은 `try-catch`에 래핑되지 않음 |
| 플랫폼 \| Apex | ⚡️ SOQL 문은 선택적이지 않은 `LIMIT 1`입니다. |
| 플랫폼 \| Apex | ⚡️ SOSL은 와일드카드 선택 기준에 거의 사용되거나 일관되지 않음 |
| 플랫폼 \| 설계 표준 | ⚡️ 동기 및 비동기 작업에 대한 사용 사례가 해결되지 않음 |
| 플랫폼 \| 문서 | ⚡️ 자동화 호출이 문서화되지 않음 |
| 플랫폼 \| 플로 | ⚡️ 변수의 값이 하드 코딩됨 |
| 플랫폼 \| 플로 | ⚡️ 대량 데이터 로드 전에 플로(프로세스 포함)를 수동으로 비활성화해야 합니다. |
| 플랫폼 \| 플로 | ⚡️ 하위 플로를 사용하는 대신 플로 전체에서 플로의 일부가 반복됩니다. |
| 플랫폼 \| 플로 | ⚡️ 플로(프로세스 포함)는 "처리되지 않은 예외" 알림을 트리거합니다. |
| 플랫폼 \| 플로 | ⚡️ 간단한 플로에서도 정기적으로 총괄자 제한과 관련된 오류가 발생합니다. |
### 프로세스 설계 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Automated](/docs/architect/ko-kr/well-architected/guide/automated) → [Efficiency](/docs/architect/ko-kr/well-architected/guide/automated#효율성) → [Process Design에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/automated#프로세스-설계)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Apex | ⚡️ 클래스는 여러 목적으로 제공됩니다. |
| 플랫폼 \| Apex | ⚡️ 메서드는 여러 과업을 수행하거나 메서드는 클래스의 명시된 목적과 일치하지 않는 과업을 수행합니다. |
| 플랫폼 \| Apex | ⚡️ 입력 변수가 실제로 메서드에 사용되지 않음 |
| 플랫폼 \| Apex | ⚡️ 데이터베이스 또는 외부 시스템에서 데이터를 불필요하게 검색하는 메서드 |
| 플랫폼 \| 플로 | ⚡️ 플로에 추가 입력이 있어야만 컨텍스트를 제공할 수 있습니다. |
| 플랫폼 \| 플로 | ⚡️ 플로는 여러 목적으로 사용됩니다. |
| 플랫폼 \| 플로 | ⚡️ 관련 단계 그룹에는 다른 플로의 단계 그룹과 겹치는 기능이 포함되어 있습니다. |
| 플랫폼 \| 플로 | ⚡️ 플로에서 대신 저장된 데이터를 사용할 수 있는 경우 사용자 입력을 요청합니다. |
| 플랫폼 \| 플로 | ⚡️ 플로에는 데이터가 사용되지 않는 입력이 필요합니다. |
---
# 적응 가능한 패턴 및 안티 패턴 탐색기
복원형 작업 및 구성 가능한 아키텍처로 변경을 위해 구축합니다.
| ✅ Adaptable - 패턴
|
| 항력 |
공합 가능 |
|
복원 능력을 낮추거나, 구성 가능성을 제한하거나, 변경을 더 어렵게 만드는 방법입니다.
| ⚡️ Adaptable - 안티 패턴
|
| 항력 |
공합 가능 |
|
# 준수 - 법적 준수
### 데이터 프라이버시 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/ko-kr/well-architected/guide/compliant#법적-준수) → [Data Privacy](/docs/architect/ko-kr/well-architected/guide/compliant#데이터-프라이버시)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Einstein \| Einstein Trust 계층 | ✅ 규정 준수 범주별 필드 마스킹 Einstein Trust 계층은 비즈니스 규칙 및 필드의 규정 준수 범주에 따라 필드를 마스킹하도록 사용자 정의되었습니다. |
| Einstein \| Einstein Trust 계층 | ✅ 민감도 수준별 필드 마스킹 Einstein Trust 레이어는 비즈니스 규칙 및 필드 민감도 수준에 따라 필드를 마스킹하도록 사용자 정의되었습니다. |
| 플랫폼 \| 문서 | ✅ 필드 수준 이름, 설명 및 분류가 포함된 최신 데이터 사전이 있습니다. |
| 플랫폼 \| 문서 | ✅ 어떤 데이터에 액세스할 수 있는 사용자를 식별하는 최신 보안 매트릭스가 있는 경우 |
| 플랫폼 \| 문서 | ✅ 규제 요구 사항을 해결하기 위해 생성된 자동화에 대한 표준 및 다이어그램을 비롯한 최신 설계 문서가 있습니다. |
| 플랫폼 \| 조직 | ✅ 민감한 정보가 포함되어 있거나 데이터 프라이버시 규정에 적용되는 모든 개체 및 필드에 규정 준수 범주, 데이터 소유자, 데이터 민감도 수준, 필드 사용이 구성되어 있습니다. |
### 현지화 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/ko-kr/well-architected/guide/compliant#법적-준수) → [Localization](/docs/architect/ko-kr/well-architected/guide/compliant#현지화)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 문서 | ✅ 모든 해당 데이터 보존 요구 사항을 준수하기 위해 데이터가 저장 및 유지되는 위치를 간략하게 설명하는 조직 전략이 있습니다. |
| 플랫폼 \| 문서 | ✅ 경계에 걸쳐 데이터 복제를 위한 허용 가능한 시나리오 및 프로세스를 간략하게 설명하는 통합 전략이 있습니다. |
| 플랫폼 \| 문서 | ✅ 지역, 국가, 글로벌 수준에서 포함할 수 있는 보고서 및 대시보드의 세분화 수준을 간략하게 보여주는 분석 전략이 있습니다. |
---
### 데이터 프라이버시 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/ko-kr/well-architected/guide/compliant#법적-준수) → [Data Privacy](/docs/architect/ko-kr/well-architected/guide/compliant#데이터-프라이버시)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 문서 | ⚡️ 데이터 사전이 없거나 최신 상태로 유지되지 않았습니다. |
| 플랫폼 \| 문서 | ⚡️ 공유 및 가시성 문서가 없거나 최신 상태로 유지되지 않았습니다. |
| 플랫폼 \| 문서 | ⚡️ 규제 요구 사항을 해결하는 자동화용 설계 표준, 다이어그램 및 문서가 없거나 최신 상태로 유지되지 않았습니다. |
| 플랫폼 \| 조직 | ⚡️ 민감한 정보가 포함되어 있거나 데이터 프라이버시 규정이 적용되는 개체 및 필드에 규정 준수 범주, 데이터 소유자, 데이터 민감도 수준 또는 필드 사용에 대한 구성이 누락됨 |
### 현지화 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/ko-kr/well-architected/guide/compliant#법적-준수) → [Localization](/docs/architect/ko-kr/well-architected/guide/compliant#현지화)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------- |
| 플랫폼 \| 문서 | ⚡️ 분석 전략이 없거나 분석 전략이 데이터 현지화 및 보존 요구 사항을 해결하지 않는 경우 |
| 플랫폼 \| 문서 | ⚡️ 조직 전략이 없거나 조직 전략이 데이터 현지화 및 보존 요구 사항을 해결하지 않는 경우 |
| 플랫폼 \| 문서 | ⚡️ 통합 전략이 없거나 통합 전략이 데이터 현지화 및 보존 요구 사항을 해결하지 않는 경우 |
---
# 준수 - 윤리적 표준
### 인공 지능 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Ethical Standards](/docs/architect/ko-kr/well-architected/guide/compliant#윤리적-표준) → [Artificial Intelligence에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/compliant#인공-지능)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 설계 표준 | ✅ 생성 응답은 항상 AI 모델에서 사용되는 데이터 소스를 식별합니다. |
| Einstein \| 설계 표준 | ✅ 프롬프트 엔지니어링에 사용할 수 있거나 사용할 수 없는 데이터 집합이 문서화되었습니다. |
| Einstein \| 설계 표준 | ✅ Bots 및 생성형 AI 응답이 사용자에게 명확하게 식별됨 |
| Einstein \| 설계 표준 | ✅ 사용자에 대해 AI를 식별해야 하는 지점이 명확하게 정의됨 |
| Einstein \| 설계 표준 | ✅ 생성형 AI에 대한 고지 사항 사용 시기 및 방법에 대한 표준이 명확하게 정의됨 |
| Einstein \| 설계 표준 | ✅ AI 솔루션 설계에 대한 인적 참여 지점을 문서화하는 방법에 대한 명확한 요구 사항이 있습니다. |
| Einstein \| 설계 표준 | ✅ 인적 참여 없이 최종 사용자에게 직접 생성 응답이 전송되지 않음 |
| Einstein \| 설계 표준 | ✅ AI 솔루션 설계에서 직접 및 간접 피드백 경로를 문서화하기 위한 표준이 있습니다. |
| Einstein \| 설계 표준 | ✅ AI 응용 프로그램에 대한 정책 및 승인된 사용 사례를 명확하고 쉽게 찾을 수 있음 |
| Einstein \| 설계 표준 | ✅ Chatbot Messaging 및 대화 플로에 대한 표준이 문서화되었습니다. |
| Einstein \| 문서 | ✅ AI 기능과 관련된 구성 및 사용자 정의 문서에 모든 프로세스 논리에 대한 철저한 설명이 포함되어 있으며 법률 팀 또는 감사자가 액세스할 수 있는 중앙 위치에 저장됩니다. |
| Einstein \| 문서 | ✅ 예측 및 권장 사항을 구동하는 모델은 해당하는 데이터 세그먼트를 포함하여 명확하게 문서화됩니다. |
| Einstein \| 문서 | ✅ 대화 논리 및 Chatbot 메시지가 철저하게 문서화되어 있습니다. |
| Einstein \| 문서 | ✅ 데이터 드리프트, 공정성 및 편차 점수, 정확성, 견고성에 대한 조직의 AI 모델 모니터링 프로세스가 적용됨 |
| Einstein \| 문서 | ✅ 모든 AI 프로세스에 사용되는 교육, 평가, 테스트 데이터에 대한 설명이 유지됩니다. |
| Einstein \| 문서 | ✅ 편향 테스트, 관련 결과, 성능/정확도 점수(예: F1 점수)와 함께 모든 AI 관련 데이터 정리에 대한 설명이 유지됩니다. |
| Einstein \| 조직 | ✅ 프롬프트 템플릿의 품질 테스트 프롬프트 템플릿이 테스트되고 해당 테스트 결과는 프롬프트 템플릿 응답의 관련성, 완전성, 스타일/색상, 사실 정확성, 일관성, 독성 및 편향을 문서화합니다. |
| Einstein \| 조직 | ✅ 생성형 AI는 인간의 도우미로 사용됩니다 생성형 AI를 시작할 때 응답의 정확성과 유용성을 검토할 수 있는 "머리글에 있는 사람"이 있는지 확인하십시오. |
| Einstein \| 조직 | ✅ AI 모델은 신뢰할 수 있는 데이터를 사용합니다 Trust 컨텍스트는 제로 당사자(고객이 직접 제공) 또는 자사 당사자(고객이 비즈니스와의 상호 작용을 기반으로 수집) 데이터를 사용하여 Gener AI에 제공됩니다. |
### 회사 정책 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Ethical Standards](/docs/architect/ko-kr/well-architected/guide/compliant#윤리적-표준) → [Company Policies](/docs/architect/ko-kr/well-architected/guide/compliant#회사-정책)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ✅ 표준에는 회사 정책의 영향을 받는 영역에 대한 명확한 지침이 포함되어 있습니다. |
| 플랫폼 \| 문서 | ✅ 구성 및 사용자 정의 문서에 지원되는 회사 값에 대한 참조가 포함되어 있습니다. |
| 플랫폼 \| 조직 | ✅ 회사 정책 관련 규정 준수에 적용되는 모든 개체 및 필드에 규정 준수 분류, 데이터 소유자, 데이터 민감도 수준, 필드 사용이 구성되어 있습니다. |
---
### 인공 지능 안티 패턴
Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Ethical Standards](/docs/architect/ko-kr/well-architected/guide/compliant#윤리적-표준) → [Artificial Intelligence에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/compliant#인공-지능)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| Einstein \| 설계 표준 | ⚡️ 생성 응답은 AI 모델에 사용된 데이터 소스를 식별하지 않습니다. |
| Einstein \| 설계 표준 | ⚡️ Bots 및 생성형 AI 응답이 사용자에게 식별되지 않음 |
| Einstein \| 설계 표준 | ⚡️ 생성 응답은 인적 참여 없이 최종 사용자에게 직접 전송됩니다. |
| Einstein \| 설계 표준 | ⚡️ 프롬프트 엔지니어링에 사용되는 데이터 집합은 문서화되지 않습니다. |
| Einstein \| 설계 표준 | ⚡️ AI 솔루션 설계에 대한 인적 참여 지점을 문서화하기 위한 요구 사항이 없습니다. |
| Einstein \| 설계 표준 | ⚡️ 설계 표준은 사용자에게 AI를 식별해야 하는 지점을 나타내지 못합니다. |
| Einstein \| 설계 표준 | ⚡️ 생성 응답에 대한 고지 사항이 누락됨 |
| Einstein \| 설계 표준 | ⚡️ AI 솔루션 설계에 대한 직접 및 간접 피드백 경로를 문서화하기 위한 표준이 없습니다. |
| Einstein \| 설계 표준 | ⚡️ 설계 표준이 없거나 AI 응용 프로그램에 대한 명확한 정책 및 승인된 사용 사례가 포함되어 있지 않음 |
| Einstein \| 설계 표준 | ⚡️ Chatbot Messaging 및 대화 설계에 대한 명확한 표준이 없음(Chatbot이 사용 중임) |
| Einstein \| 문서 | ⚡️ AI 모니터링 프로세스가 없거나 문서화되지 않은 경우 |
| Einstein \| 문서 | AI 기능과 관련된 구성 및 사용자 정의 문서가 누락되었거나 불완전하거나 액세스할 수 없는 위치에 저장되어 있음 |
| Einstein \| 문서 | ⚡️ 모델 문서화 없이 조직에서 예측 또는 권장 사항이 구현됩니다. |
| Einstein \| 문서 | ⚡️ 모든 AI 프로세스에 사용된 교육, 평가, 테스트 데이터에 대한 정보가 명확하지 않거나 사용할 수 없습니다. |
| Einstein \| 문서 | AI 관련 데이터 정리, 편차 테스트, 결과에 대한 정보가 명확하지 않거나 사용할 수 없음 |
| Einstein \| 문서 | ⚡️ 메시지 및 대화 플로 문서화 없이 조직에 Chatbot이 구현됩니다. |
| Einstein \| 프롬프트 템플릿 | ⚡️ AI는 타사 데이터에 의존 프롬프트 템플릿은 0 또는 자사 데이터가 없는 타사 데이터에만 의존합니다. |
### 회사 정책 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Ethical Standards](/docs/architect/ko-kr/well-architected/guide/compliant#윤리적-표준) → [Company Policies](/docs/architect/ko-kr/well-architected/guide/compliant#회사-정책)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 회사 정책이 적용되는 영역에 대한 명확한 지침을 제공하지 않습니다. |
| 플랫폼 \| 문서 | ⚡️ 구성 및 사용자 정의 문서는 회사 값 또는 정책을 참조하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 개체 및 회사 정책 관련 규정 준수에 적용되는 개체는 규정 준수 범주, 데이터 소유자, 데이터 민감도 수준 또는 필드 사용에 대한 구성이 누락된 경우 |
---
# 참여 - 간소화
### 응용 프로그램 복잡성 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Application Complexity에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/engaging#응용-프로그램-복잡성)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------- |
| 플랫폼 \| 조직 | ✅ 앱의 관리자 제공 기본 구성 탭이 10개 미만임 |
| 플랫폼 \| 조직 | ✅ "이 앱에서 탐색 항목의 최종 사용자 개인 설정 비활성화"가 true로 설정된 앱이 없음 |
### 폼 팩터 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Form Factor에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/engaging#양식-요소)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| Aura | ✅ 앱 빌더에서 사용 가능한 사용자 정의 Aura 구성 요소는 각각의 디자인 파일에서 지원되는 양식 요소를 선언합니다. |
| 플랫폼 \| Aura | ✅ 앱 빌더에서 사용 가능한 사용자 정의 Aura 구성 요소는 너비 인식 스타일 지정 패턴을 구현합니다. |
| 플랫폼 \| Aura | ✅ 사용자 지정 Lightning 페이지 템플릿은 Aura 구성 요소 설계 파일의 `design:supportedFormFactors` 및 `design:supportedFormFactor`를 사용합니다. |
| 플랫폼 \| 데스크톱 | ✅ 데이터 입력 필드 및 탐색 컨트롤이 화면에 맞춰 원하는 대로 상호 작용할 수 있습니다. |
| 플랫폼 \| 데스크톱 | ✅ 페이지 활성화 할당 규칙에 따라 레코드 및 앱 페이지가 올바르게 표시됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 앱 빌더에서 사용 가능한 사용자 정의 LWC는 너비 인식 스타일 지정 패턴을 구현합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ 앱 빌더에서 사용 가능한 사용자 정의 LWC는 각각의 디자인 파일에서 지원되는 양식 요소를 선언합니다. |
| 플랫폼 \| 모바일 장치 | ✅ 소규모 양식 요소에 최적화된 모바일 탐색 메뉴가 나타납니다. |
| 플랫폼 \| 모바일 장치 | ✅ 데이터 입력 및 탐색 컨트롤이 올바르게 표시됨 |
| 플랫폼 \| 모바일 장치 | ✅ 사용자가 데이터를 쉽게 입력할 수 있음 |
| 플랫폼 \| 모바일 장치 | ✅ 레코드 수준에 여러 줄 레이아웃 표시 |
| 플랫폼 \| 조직 | ✅ Salesforce에서 제공하는 Lightning 페이지 템플릿은 전체 또는 대부분의 페이지에 사용됩니다. |
### 양식 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Forms](/docs/architect/ko-kr/well-architected/guide/engaging#양식)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 앱 | ✅ 사용자가 이동하거나 데이터를 제출하기 전에 데이터 입력 오류가 표시됩니다. |
| 플랫폼 \| 앱 | ✅ 필드가 논리 그룹화를 따릅니다. |
| 플랫폼 \| 앱 | ✅ 데이터 제출은 한 번 수행됩니다. |
| 플랫폼 \| 앱 | ✅ 작업 및 탐색에 대한 레이블이 명확합니다. |
| 플랫폼 \| 앱 | ✅ 버튼 클릭과 같은 사용자 작업을 확인하기 위해 적시에 시각적 사용자 의견이 제공됩니다. |
| 플랫폼 \| 앱 | ✅ 탐색 버튼(예: "이동", "다음" 및 "뒤로")은 UI 전체에 일관되게 배치됩니다. |
| 플랫폼 \| 앱 | ✅ 데이터 입력 필드가 5개 이하 그룹에 표시됨 |
| 플랫폼 \| 앱 | ✅ 데이터 입력 오류가 명확하고 필드 수준에 표시됩니다. |
| 플랫폼 \| 앱 | ✅ 페이지 매김 제어를 사용하여 단계 간 이동 가능 |
| 플랫폼 \| 양식 논리 | ✅ 필드는 최대한 미리 채우거나 자동 완성됩니다. |
| 플랫폼 \| 양식 논리 | ✅ 사용자는 장기 실행 서버측 작업이 완료될 때까지 기다리지 않아도 됩니다. |
| 플랫폼 \| 양식 논리 | ✅ 데이터 작업은 한 번 수행됩니다. |
| 플랫폼 \| 양식 논리 | ✅ 사용자 정의 구성 요소는 데이터 작업을 포함하지 않는 서버 기반 작업에 대한 `cacheable=true`를 사용합니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ✅ LWC의 `@wire` 어댑터는 데이터 작업과 관련이 없는 모든 작업을 처리합니다. |
---
### 응용 프로그램 복잡성 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Application Complexity에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/engaging#응용-프로그램-복잡성)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 조직 | ⚡️ 많은 앱에 "이 앱에서 탐색 항목의 최종 사용자 개인 설정 비활성화"가 true로 설정되었거나 탐색 항목 사용자 정의 권한이 조직 전체에서 비활성화되어 있습니다. |
| 플랫폼 \| 조직 | ⚡️ 앱의 관리자 제공 기본 구성에 정기적으로 10개가 넘는 탭이 있습니다. |
### 폼 팩터 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Form Factor에 대해 자세히 알아보기](/docs/architect/ko-kr/well-architected/guide/engaging#양식-요소)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| Aura | ⚡️ 사용자 정의 Lightning 페이지 템플릿은 Aura 구성 요소 설계 파일에서 `design:supportedFormFactors` 및 `design:supportedFormFactor`을 균일하게 사용하지 않습니다. |
| 플랫폼 \| Aura | ⚡️ 앱 빌더에서 사용 가능한 사용자 정의 Aura 구성 요소는 각 디자인 파일에서 지원되는 양식 요소를 일관되게 선언하지 않습니다. |
| 플랫폼 \| Aura | ⚡️ 사용자 지정 Aura 구성 요소에서 다른 폼 팩터에 대한 스타일링은 CSS의 하드 코딩된 `px` 또는 `%` 값에 의해 순전히 구동됩니다. |
| 플랫폼 \| Aura | ⚡️ 사용자 정의 Aura 구성 요소에서 너비 인식 스타일링은 Salesforce 제공 인터페이스에서 구현되지 않습니다. |
| 플랫폼 \| 데스크톱 | ⚡️ 데이터 입력 필드 및 탐색 컨트롤이 화면의 의도한 위치에 표시되지 않음 |
| 플랫폼 \| 데스크톱 | ⚡️ 데이터 입력 필드 및 탐색 컨트롤과의 상호 작용이 필수 동작과 일치하지 않습니다. |
| 플랫폼 \| 데스크톱 | ⚡️ 페이지 활성화 할당 규칙이 없으면 모든 사용자에게 동일한 레코드 및 앱 페이지가 표시됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 사용자 정의 LWC에서는 Salesforce 제공 인터페이스에서 너비 인식 스타일링이 구현되지 않습니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 사용자 지정 LWC에서 다른 폼 팩터에 대한 스타일링은 단순히 하드 코딩된 `px` 또는 `%` 값으로 구동됩니다. |
| 플랫폼 \| Lightning 웹 구성 요소(LWC) | ⚡️ 앱 빌더에서 사용 가능한 사용자 정의 LWC는 각각의 디자인 파일에서 지원되는 양식 요소를 일관되게 선언하지 않습니다. |
| 플랫폼 \| 모바일 장치 | ⚡️ 데이터 입력 및 탐색 컨트롤이 일관되거나 올바르게 렌더링되지 않음 |
| 플랫폼 \| 모바일 장치 | ⚡️ 사용자가 쉽게 데이터를 입력할 수 없음 |
| 플랫폼 \| 모바일 장치 | ⚡️ 레코드 수준에서 여러 줄 레이아웃이 구성되지 않음 |
| 플랫폼 \| 모바일 장치 | ⚡️ 모바일 탐색 메뉴는 데스크톱 탐색과 구분할 수 없습니다. |
| 플랫폼 \| 조직 | ⚡️ Classic은 여전히 활성 상태입니다. |
### 양식 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Engaging](/docs/architect/ko-kr/well-architected/guide/engaging) → [Streamlined](/docs/architect/ko-kr/well-architected/guide/engaging#간소화됨) → [Forms](/docs/architect/ko-kr/well-architected/guide/engaging#양식)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 앱 | ⚡️ 데이터 입력 필드가 5개가 넘는 그룹에 표시됩니다. |
| 플랫폼 \| 앱 | ⚡️ 데이터 입력 필드는 논리적으로 그룹화되지 않으므로 양식을 작성하는 사용자가 많은 양의 컨텍스트를 전환해야 합니다. |
| 플랫폼 \| 앱 | ⚡️ 단계 및 그룹은 명확하게 정의되지 않으므로 탐색이 어렵습니다. |
| 플랫폼 \| 앱 | ⚡️ 데이터 입력 오류는 양식의 제출 버튼을 클릭하면에만 나타납니다. |
| 플랫폼 \| 앱 | ⚡️ 작업 및 탐색 레이블은 기본 시스템 기능에 익숙하지 않은 사용자에게 혼란스러울 수 있습니다. |
| 플랫폼 \| 앱 | ⚡️ 사용자 작업 시각적 확인이 제공되지 않음 |
| 플랫폼 \| 앱 | ⚡️ 탐색 버튼이 UI 전체의 임의의 위치에 표시됩니다. |
| 플랫폼 \| 앱 | ⚡️ 데이터 입력 오류에는 시스템의 내부 작동을 이해하는 사용자만 해석할 수 있는 암호화된 정보가 포함됩니다. |
| 플랫폼 \| 앱 | ⚡️ 데이터 입력 프로세스 전반에 걸쳐 데이터 제출이 여러 번 발생합니다. |
| 플랫폼 \| 양식 논리 | ⚡️ 미리 채우거나 자동 완성할 수 있는 필드에는 수동 입력이 필요합니다. |
| 플랫폼 \| 양식 논리 | ⚡️ 서버측 작업이 완료될 때까지 기다리려면 제출 프로세스 중에 사용자가 작업을 중지해야 합니다. |
| 플랫폼 \| 양식 논리 | ⚡️ 사용자 정의 구성 요소 집합 `cacheable=false` |
---
# 참여 - 유용
### 앱 내 지침 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Involving](/docs/architect/ko-kr/well-architected/guide/engaging) → [Helpful](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [In-App 지침](/docs/architect/ko-kr/well-architected/guide/engaging#앱-내-지침)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 설계 표준 | ✅ 프롬프트 및 연습의 디자인 패턴 |
| 플랫폼 \| 설계 표준 | ✅ 앱 내 지침에 대한 승인된 사용 사례 |
| 플랫폼 \| 문서 | ✅ 사용자, 앱, 활성 앱 내 지침의 명확한 매트릭스 |
| 플랫폼 \| 조직 | ✅ "앱 내 지침 간 지연" 설정은 기본값 또는 Salesforce에서 제공하는 기본 기간(24시간)보다 긴 사용자 정의 값을 사용합니다. |
| 플랫폼 \| 조직 | ✅ 앱에 활성 연습이 두 개 이상 없는 경우 |
| 플랫폼 \| 조직 | ✅ 연습에 10보다 큰 "표시할 시간" 설정이 없는 경우 |
| 플랫폼 \| 조직 | ✅ "모든 페이지, 모든 앱" 또는 "이 페이지, 모든 앱"에 대한 프롬프트가 활성화되지 않습니다. |
### 알림 및 메시지 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [참여](/docs/architect/ko-kr/well-architected/guide/engaging) → [용이](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [알림 및 메시지](/docs/architect/ko-kr/well-architected/guide/engaging#알림-및-메시지)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Einstein \| 에이전트 | ✅ 에이전트 환영 메시지가 에이전트를 AI 도우미로 소개 환영 메시지는 사용자에게 인간과 채팅하지 않는다는 사실을 알려야 합니다. |
| Einstein \| 비즈니스 | ✅ 직원이 생성된 출력에 대한 사용자 의견을 제공하라는 메시지가 표시됩니다. 생성된 출력에 대한 사용자 의견을 제공하라는 메시지가 표시됩니다. |
| 플랫폼 \| 앱 | ✅ 인적 참여 없이 최종 사용자에게 직접 생성 응답이 전송되지 않음 |
| 플랫폼 \| 설계 표준 | ✅ 알림, 토스트 및 알림에 대한 승인된 사용 사례 |
| 플랫폼 \| 설계 표준 | ✅ 토스트 변형 및 알림의 디자인 패턴 |
| 플랫폼 \| 설계 표준 | ✅ 오류 메시징을 위한 디자인 패턴 |
| 플랫폼 \| 조직 | ✅ 사용자에게 명확하고 이해하기 쉬운 언어로 작성된 AI 고지 사항 |
| 플랫폼 \| 조직 | ✅ Bot이 사용자와 처음 상호 작용하기 전에 자신을 명확하게 식별합니다. |
| 플랫폼 \| 조직 | ✅ 생성 응답은 항상 사용된 데이터 소스를 식별합니다. |
| 플랫폼 \| 조직 | ✅ 생성형 AI와 관련된 위험에 대한 고지 사항이 처음 상호 작용하기 전에 사용자에게 표시됩니다. |
| 플랫폼 \| 조직 | ✅ 알림은 주된 Messaging 형식입니다. |
| 플랫폼 \| 조직 | ✅ 토스트 메시지 사용 변형 |
| 플랫폼 \| 조직 | ✅ `mode`가 `sticky`로 설정된 토스트 메시지가 존재하지 않음 |
| 플랫폼 \| 조직 | ✅ 통지가 거의 사용되지 않는 경우 |
### 인정 및 보상 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [참여하는](/docs/architect/ko-kr/well-architected/guide/engaging) → [도와주는](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [확인 및 보상](/docs/architect/ko-kr/well-architected/guide/engaging#recognition-rewards)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 조직 | ✅ 앱은 내장형 분석을 사용하여 사용자에게 관련 목표 진행 상황 및 생산성 통계를 표시합니다. |
| 플랫폼 \| 조직 | ✅ 경로 축하는 사용자 동의가 있는 경우에만 활성화됩니다. |
| 플랫폼 \| 조직 | ✅ 알림 및 메시징에는 사용자 인식이 포함되며, 알림을 받는 사람 및 알림 트리거의 설계에 사용자 기본 설정이 반영됩니다. |
---
### 앱 내 지침 안티 패턴
Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [Involving](/docs/architect/ko-kr/well-architected/guide/engaging) → [Helpful](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [In-App 지침](/docs/architect/ko-kr/well-architected/guide/engaging#앱-내-지침)에 대해 자세히 알아보기
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 문서에 사용자, 앱, 활성 앱 내 지침을 보여주는 명확한 매트릭스가 포함되어 있지 않음 |
| 플랫폼 \| 설계 표준 | ⚡️ 앱 내 지침을 처리하지 않음 |
| 플랫폼 \| 조직 | ⚡️ "앱 내 지침 간 지연" 설정은 Salesforce에서 제공하는 기본 기간(24시간)보다 짧은 기간으로 설정됩니다. |
| 플랫폼 \| 조직 | ⚡️ 앱에 활성 연습이 둘 이상 있음 |
| 플랫폼 \| 조직 | ⚡️ 많은 연습에는 10보다 큰 "표시할 시간" 설정이 있으며, 일부는 최대 값이 30입니다. |
| 플랫폼 \| 조직 | ⚡️ 프롬프트는 "모든 페이지, 모든 앱" 또는 "이 페이지, 모든 앱" 설정으로 여러 개 활성화됩니다. |
### 알림 및 메시지 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [참여](/docs/architect/ko-kr/well-architected/guide/engaging) → [용이](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [알림 및 메시지](/docs/architect/ko-kr/well-architected/guide/engaging#알림-및-메시지)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------- |
| 플랫폼 \| 앱 | ⚡️ 생성 응답은 인적 참여 없이 최종 사용자에게 직접 전송됩니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 정의된 경우 오류 및 알림을 해결하지 않습니다. |
| 플랫폼 \| 조직 | `mode`가 `sticky`로 설정된 토스트 메시지가 존재합니다. |
| 플랫폼 \| 조직 | ⚡️ 토스트 메시지는 변형을 지속적으로 사용하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 생성 응답은 사용된 데이터 소스를 식별하지 않습니다. |
| 플랫폼 \| 조직 | ⚡️ 사용자에게 생성형 AI 위험에 대한 고지 사항 없음 |
| 플랫폼 \| 조직 | ⚡️ AI 고지 사항은 사용자에게 명확하고 이해하기 쉬운 언어가 아닙니다. |
| 플랫폼 \| 조직 | ⚡️ Bots가 사용자와 처음 상호 작용하기 전에 자신을 명확하게 식별하지 못함 |
| 플랫폼 \| 조직 | ⚡️ 이메일이 주된 Messaging 형식 |
| 플랫폼 \| 조직 | ⚡️ 메시지 유형에 일관된 접근 방식이 없습니다. |
| 플랫폼 \| 조직 | ⚡️ 고지 사항이 임시로 사용됩니다. |
### 인식 및 보상 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Easy](/docs/architect/ko-kr/well-architected/guide/easy-overview) → [참여하는](/docs/architect/ko-kr/well-architected/guide/engaging) → [도와주는](/docs/architect/ko-kr/well-architected/guide/engaging#유용) → [확인 및 보상](/docs/architect/ko-kr/well-architected/guide/engaging#recognition-rewards)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 조직 | ⚡️ 목표 진행률 및 생산성 통계와 관련된 Analytics는 보고서 또는 관리자 대시보드에서만 사용할 수 있습니다. |
| 플랫폼 \| 조직 | ⚡️ 사용자 동의를 확인하지 않고 경로 축하가 활성화됩니다. |
| 플랫폼 \| 조직 | ⚡️ 알림 및 메시징에는 사용자 인식이 포함되어 있지 않거나 사용자의 기본 설정을 반영하지 않으며 소음이나 웃음이 느껴지지 않습니다. |
---
# 호환 - 접근성
### 데이터 입력 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Accessibility](/docs/architect/ko-kr/well-architected/guide/compliant#접근성) → [Data Entry](/docs/architect/ko-kr/well-architected/guide/compliant#데이터-입력)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | -------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ✅ 표준 키보드 및 마우스 외 데이터 입력에 사용할 수 있는 모든 장치가 나열됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 텍스트 값 및 지원되는 모든 언어로 된 번역이 나열됩니다. |
| 플랫폼 \| 조직 | ✅ 지원되는 언어에 대한 번역은 번역 워크벤치에 저장됩니다. |
| 플랫폼 \| 테스트 계획 | ✅ 테스트 단계에는 여러 유형의 입력 장치를 사용하여 데이터 입력이 포함됩니다. |
| 플랫폼 \| 테스트 계획 | ✅ 테스트 단계에는 다중 언어로 된 데이터 입력이 포함됩니다. |
### 탐색 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Accessibility](/docs/architect/ko-kr/well-architected/guide/compliant#접근성) → [Navigation](/docs/architect/ko-kr/well-architected/guide/compliant#탐색)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 좋은 모습은 무엇입니까?
패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| 플랫폼 \| 설계 표준 | ✅ 탐색에 사용할 수 있는 모든 장치(표준 키보드 및 마우스 제외)가 명확하게 나열됩니다. |
| 플랫폼 \| 설계 표준 | ✅ 모든 탐색 컨트롤의 유형 및 스타일을 지정하는 UI/UX 표준 |
| 플랫폼 \| 설계 표준 | ✅ 의미 또는 상태를 전달하기 위해 승인된 시각적 표시 유형이 명확하게 나열되며 색상이 기본 표시등이 아닙니다. |
| 플랫폼 \| 테스트 계획 | ✅ 테스트 계획에는 UI/UX 테스트를 사용하여 일관된 탐색 경로 보장 |
| 플랫폼 \| 테스트 계획 | ✅ 테스트 단계에는 여러 유형의 입력 장치를 사용하여 탐색이 포함됩니다. |
---
### 데이터 입력 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Accessibility](/docs/architect/ko-kr/well-architected/guide/compliant#접근성) → [Data Entry](/docs/architect/ko-kr/well-architected/guide/compliant#데이터-입력)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 표준 키보드 및 마우스 외 데이터 입력에 사용할 수 있는 장치 중 일부 또는 없음만 나열됩니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 번역할 UI 요소와 함께 지원되는 언어가 나열됩니다. |
| 플랫폼 \| 조직 | ⚡️ 번역은 사용자 정의 레이블에 저장됩니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 액세스 가능성 테스트가 포함되지 않거나 액세스 가능한 데이터 입력에 대한 테스트가 임시로 수행됩니다. |
### 탐색 안티 패턴
에 대해 자세히 알아보기 Well-Architected [Trusted](/docs/architect/ko-kr/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/ko-kr/well-architected/guide/compliant) → [Accessibility](/docs/architect/ko-kr/well-architected/guide/compliant#접근성) → [Navigation](/docs/architect/ko-kr/well-architected/guide/compliant#탐색)
| 어디에서 찾을 수 있습니까?
제품 영역 \| 위치 | 방지할 사항은 무엇입니까?
안티 패턴 |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| 플랫폼 \| 설계 표준 | ⚡️ 설계 표준이 없거나 탐색 제어에 대한 접근성 요구 사항을 고려하지 않습니다. |
| 플랫폼 \| 설계 표준 | ⚡️ 탐색에 대한 UI/UX 표준이 일치하지 않음 |
| 플랫폼 \| 설계 표준 | ⚡️ 의미 또는 상태에 대한 시각적 힌트는 색상에 의존하거나 빌더에 대한 명확한 시각적 힌트 목록이 없습니다. |
| 플랫폼 \| 테스트 계획 | ⚡️ 액세스 가능성 테스트가 포함되지 않거나 액세스 가능한 탐색에 대한 테스트가 임시로 수행됩니다. |
---