기본 환경에서 앱 및 흐름 마이그레이션
이 백서에서는 조직과 관리자가 기본 환경에서 앱과 흐름의 마이그레이션을 계획할 수 있는 방법을 설명합니다.
작성자: Ravi Chada(Microsoft), Rui Santos(Microsoft)
참고
브라우저에서 인쇄를 선택한 다음, PDF로 저장을 선택하여 이 백서를 저장하거나 인쇄할 수 있습니다.
세부 정보 환경
테넌트당 하나의 기본 환경이 생성되며 해당 테넌트의 모든 사용자가 액세스할 수 있습니다. 기본 환경은 Microsoft Entra 테넌트의 기본 지역에 가장 가까운 지역에 생성되며 이름은 [Microsoft Entra 테넌트 이름] (기본값)으로 지정됩니다. 새 사용자가 Power Apps 또는 Power Automate에 등록할 때마다 기본 환경의 제작자 역할에 자동으로 추가됩니다. 기본 환경의 환경 관리자 역할에 사용자가 자동으로 추가되지 않습니다.
기본 환경은 삭제할 수 없으며 기본 환경을 수동으로 백업할 수도 없습니다. 시스템 백업은 지속적으로 수행됩니다. 기본 환경은 1TB의 저장 용량으로 제한됩니다. 기본 환경에는 다음과 같은 기능이 있습니다.
- 3GB Dataverse 데이터베이스 용량
- 3GB Dataverse 파일 용량
- 1GB Dataverse 로그 용량
새 환경을 생성하기 전에 수행되는 용량 확인은 새 환경을 생성하기에 충분한 용량이 있는지 여부를 계산할 때 기본 환경에 포함된 스토리지 용량을 제외합니다. 더 많은 데이터를 저장하기 위해 프로덕션 환경을 만들 수 있습니다.
기본 환경에서는 Microsoft 365 라이선스가 있는 조직의 직원이 앱과 클라우드 흐름을 만들 수 있습니다. 기본 환경은 이러한 직원이 앱과 흐름 구축을 시작하는 첫 번째 플레이그라운드 스튜디오가 됩니다. 기본 환경에서 환경 제작자 역할을 제거하는 것은 불가능하므로 제작자는 개인 생산성 앱 및 흐름을 구축하고 다른 사람들이 혜택을 누릴 수 있도록 팀 내에서 공유하기 시작합니다. 대부분의 조직에서는 기본 환경의 이름을 개인 생산성으로 바꾸는 경우가 많습니다.
관리자는 기본 환경에서 많은 앱과 흐름이 생성된다는 사실을 반응적으로 발견합니다. 다음과 같은 시나리오에서는 앱이나 흐름이 기본 환경에 있는 것이 적절하지 않을 수 있습니다.
- 앱은 프로덕션과 유사한 동작으로 많은 사용자와 공유됩니다.
- 앱은 중요한 데이터가 포함된 Excel 통합 문서를 사용합니다.
- SharePoint 목록을 기반으로 하는 앱은 삽입 또는 업데이트와 같은 많은 데이터 상호 작용을 받고 있습니다.
- 앱 또는 흐름이 새로운 DLP(데이터 손실 방지) 정책에서 허용되지 않는 커넥터를 사용하고 있습니다.
- 사용자 지정 커넥터는 전용 환경에서 보호되는 대신 기본 환경에서 활성화되고 사용됩니다.
위의 시나리오는 고려할 가치가 있으며 이러한 앱과 흐름을 기본 환경에서 자체 개발자 환경 또는 다른 공유 환경으로 이동하기 시작해야 함을 나타냅니다. 영향을 미치는 다른 요소는 기본 환경과 관련된 제한 사항입니다.
Power Platform을 모니터링하는 CoE(Center of Excellence) 팀은 한도에 도달하면 강제로 대응해야 하며, 이는 기본 환경에서 실행되는 앱에 부정적인 영향을 미칩니다. 이러한 제한은 관리자나 CoE 팀이 정기적으로 수행해야 하는 것일 수도 있습니다. 크게 세 가지 단계가 있습니다.
- Power Platform 개체 식별
- Power Platform 개체 이동
- Power Platform 개체 정리
앱과 흐름을 내보내 새로운 환경으로 이동하는 방법에는 여러 가지가 있습니다. 솔루션은 제작자가 Power Platform에서 구축하고 함께 이동할 수 있는 거의 모든 것을 포함할 수 있는 단일 파일입니다. 캔버스 앱과 클라우드 흐름을 직접 내보낼 수 있습니다.
시간이 지남에 따라 Power Platform 개체는 솔루션을 인식하도록 발전했습니다. 이제 앱과 흐름은 기본적으로 솔루션을 인식할 수 있지만 이를 위해서는 수동 활성화가 필요합니다. 제작자는 비솔루션 인식으로 분류될 수 있는 make.powerapps.com 및 make.powerautomate.com에서 앱과 흐름을 계속 생성할 수 있으며, 이를 개별적으로 내보내거나 솔루션에 추가할 수 있습니다. 솔루션을 추가함으로써 제작자는 환경 변수 및 연결 참조를 활용하여 환경 전반에 걸쳐 엔드포인트를 구성하고 배포할 수 있습니다.
목표는 Power Platform 모든 구성 요소를 단일 솔루션에 추가하여 여러 구성 요소를 환경 간에 단일 단위로 쉽게 이동할 수 있도록 하는 것입니다.
Power Platform 개체 식별
첫 번째 단계는 이동하거나 정리해야 하는 앱, 흐름 및 자산을 식별하는 것입니다. CoE 스타터 키트는 모든 앱과 흐름의 인벤토리를 제공하며 Power BI 보고서는 사용량을 결정하는 데 도움이 됩니다. 이 단계는 앱 사용량을 평가하고 레이블을 지정하는 데 도움이 됩니다. 연습을 진행하면서 다른 환경으로 마이그레이션해야 하는 앱과 흐름에 태그를 지정해야 합니다. 태그는 사용된 커넥터, 사용자 위치, 사용자 부서 등을 기반으로 할 수 있습니다. 또한 이 문서에서는 DLP(데이터 손실 방지) 방식에 따라 정리하거나 재배치해야 하는 항목을 인식하는 방법을 간략하게 설명합니다.
Power Platform 개체 이동
구성 요소에 다른 환경으로 이동하도록 태그가 지정된 경우 앱을 이동하는 데 사용할 수 있는 옵션이 있습니다. 이동은 대화형 프로세스이며 일정 수준의 제작자 상호 작용이 필요합니다. 앱 또는 흐름을 빌드하는 데 사용되는 구성 요소의 혼합에 따라 앱 또는 흐름을 이동하는 복잡성 수준이 증가합니다.
예를 들어 6개의 화면이 있는 앱에는 여러 화면에 10개의 버튼이 있습니다. 이 10개의 버튼이 각각 개별 흐름을 호출한다고 가정해 보겠습니다. 데이터를 수정하거나 데이터를 다른 시스템과 통합하기 위해 매일 트리거되는 몇 가지 흐름도 있습니다. 또한 자동화의 일부로 사용되는 AI Builder 이미지 처리 모델이 있다고 가정해 보겠습니다. 이러한 앱을 이동하려면 모든 구성 요소를 솔루션에 추가해야 하며 연결 참조를 올바르게 조정하고 테스트한 후 완료를 확인해야 합니다.
또 다른 경우에는 Office 365 연결을 사용하는 캔버스 앱이 있다고 가정합니다. 이 경우 제조사는 솔루션에 캔버스 앱만 추가하면 됩니다.
Power Platform 개체 정리
구성 요소에 정리 태그가 지정된 경우 두 가지 주요 옵션이 있습니다. 첫 번째 옵션은 직접 삭제하는 것이고, 두 번째 옵션은 백업 후 삭제하는 것입니다. 후자의 백업의 경우 이동하는 개체와 일치하는 단계가 일부 겹칠 수 있습니다.
예를 들어 CoE 팀 관리자는 대부분의 제작자가 학습 목적으로 테스트 앱과 흐름을 만든다는 사실을 발견했습니다. 그런 다음 제작자는 앱과 흐름을 포기하며 이는 사용 현황 메트릭을 통해 확인할 수 있습니다. 또 다른 방법은 앱을 격리하는 것입니다. 앱에 대해 아무도 접근하지 않는 경우 해당 앱도 삭제될 수 있습니다.
커뮤니케이션 전략을 유지하는 것이 중요한 역할을 합니다. 관리자는 다음과 같은 커뮤니케이션을 계획해야 합니다.
- 제작자가 새로운 환경에서 앱을 시작할 때 허용해야 하는 연결을 설정합니다.
- 대상 환경에서 앱의 새 URL입니다.
- 올바른 환경으로 이동합니다.
개체 재배치를 위한 이러한 솔루션 중 일부는 기성품이며 사용자에게 Microsoft 365 이상으로 확장되는 데이터 원본에서 앱을 만들고 실행할 수 있는 기능을 제공하는 독립 실행형 Power Apps 및 Power Automate 라이선스가 필요할 수 있습니다.
전략
기본 환경에서 앱과 흐름을 식별하고 이동하는 전체 프로세스는 전략을 기반으로 할 때 성공할 가능성이 더 높습니다. 고려해야 할 여러 전략이 있습니다.
DLP 전략
DLP(데이터 손실 방지) 정책은 사용자가 실수로 조직 데이터를 노출하는 것을 방지하고 테넌트의 정보 보안을 보호하는 데 도움이 되는 가드 레일 역할을 합니다. DLP 정책은 각 환경에 대해 활성화되는 커넥터와 함께 사용할 수 있는 커넥터에 대한 규칙을 적용합니다. 커넥터는 비즈니스 데이터 전용, 비즈니스 데이터 허용 안됨 또는 차단됨으로 분류됩니다. 비즈니스 데이터 전용 그룹의 커넥터는 동일한 앱 또는 흐름에서 해당 그룹의 다른 커넥터와만 함께 사용할 수 있습니다. 최소한 하나의 정책을 보유하는 것이 좋습니다.
DLP를 이용한 객체 식별
DLP 정책 기반 식별은 앱 및 흐름에 대한 대상 환경을 정의하는 데 유용합니다. DLP에 의해 차단된 커넥터를 사용하는 앱이나 흐름이 있을 수도 있고 DLP 활성화 시 작동이 중지되는 비즈니스 및 비비즈니스 커넥터가 혼합되어 있을 수도 있습니다.
CoE 스타터 키트의 일부인 DLP로 인해 잠재적으로 중요한 개체의 가동 중지 시간을 방지하기 위해 DLP 편집기(영향 분석) 도구를 찾을 수 있습니다. DLP 편집기의 목표는 관리자가 기존 정책의 영향이나 정책 변경의 잠재적 영향을 확인할 수 있도록 하는 것입니다. 이는 영향을 받는 앱과 흐름, 그리고 새 정책이나 업데이트된 정책이 시행될 경우 비활성화되는 리소스에 대한 보기를 관리자에게 제공합니다. 이 앱을 사용하면 기존 정책을 검토하고 기존 정책을 변경하며 제작자에게 연락하고 앱이나 흐름에 대한 최선의 조치를 알려줌으로써 위험을 완화할 수 있습니다.
영향을 검토하려면 기존 DLP 정책을 업데이트하세요. DLP 편집기에 대한 자세한 내용을 알아보려면 CoE 스타터 키트를 사용하여 테넌트 위생 확립 문서를 따르세요.
DLP 기능을 켜기 전에 어떤 앱과 흐름이 영향을 받는지 식별하고 제작자에게 알릴 수 있습니다. DLP 편집기는 영향을 받는 모든 앱 및 흐름 목록을 이메일 주소로 보낼 수 있으며, 이는 각 개체 유형에 대한 .csv 파일을 생성합니다.
DLP 편집기 버전 2.0을 사용하여 영향 분석 영역에서 영향을 받는 앱 및 흐름을 CSV로 내보내기를 선택합니다.
생성된 각 csv 파일(flow.csv 및 apps.csv)에는 다음에 관한 정보가 있습니다.
- 앱 및 흐름의 이름.
- 앱 및 흐름의 담당자.
- 앱 및 흐름의 담당자 이메일.
- 앱 및 흐름에서 사용되는 모든 연결.
- 개체를 식별하기 위한 앱 및 흐름의 ID.
- 앱과 흐름이 있는 환경 ID.
연결은 앱이나 흐름에서 사용되는 모든 연결 목록을 제공합니다. 문제의 DLP의 영향을 받는 커넥터를 정확히 식별해야 하는 경우 현재 자동화가 필요합니다. 우리는 도구에서 이 상황을 변경하는 것을 평가하고 있습니다.
연결을 식별하기 위한 구현 예:
Power Automate 흐름을 만듭니다.
문제의 DLP를 지정하는 테넌트 DLP 정책 가져오기 커넥터를 사용하세요.
그 결과 비즈니스 데이터와 비비즈니스 데이터라는 두 개의 어레이가 생성됩니다. 예를 들어 Twitter 커넥터는 다음 코드를 표시합니다.
[ { "id": "/providers/Microsoft.PowerApps/apis/shared_twitter", "name": "Twitter", "type": "Microsoft.PowerApps/apis" } …… ]
이 목록에서 csv 앱 또는 흐름 연결 열의 이름 목록과 일치하는 커넥터의 이름에 액세스할 수 있습니다.
csv를 Excel 형식으로 변환하고 OneDrive에 배치하면 Power Automate에서 영향을 받는 모든 앱과 흐름을 읽을 수 있습니다. 연결을 커넥터 이름과 비교하는 논리를 기반으로 어떤 연결이 영향을 받는지 확인합니다.
어떤 연결이 영향을 미치는지 일치하는 항목을 찾은 후 앱 또는 흐름 ID와 DLP의 영향을 받는 커넥터를 사용하여 새 목록을 생성하세요.
이전 정보를 사용하여 제작자에게 향후 영향에 대해 알립니다. 앱이나 흐름을 삭제할 수 있거나 다른 환경으로 마이그레이션해야 하는 경우 파워 카드를 사용하여 제작자로부터 피드백을 수집할 수 있습니다.
분석에 따라 영향을 받은 흐름이 사용되지 않는 것으로 판단되면 해당 흐름을 격리하고 다른 환경으로 이동하는 방법에 대한 지침이 포함된 이메일을 제작자에게 보낼 수 있습니다. 이는 DIY(Do-It-Yourself) 문화를 장려하고 섀도 IT를 제거합니다. 어떤 상황에서는 DLP에서 일부 개체를 제외해야 할 수도 있습니다. 예를 들어, 생성된 새 리소스에 대해서만 특정 DLP를 적용하고 현재 리소스를 제외할 수 있습니다. DLP 리소스 면제에 대한 자세한 내용은 DLP 리소스 제외를 참조하세요.
사실상 환경 전략은 DLP를 통해 정의되며 기본 환경에서 개발된 앱과 흐름의 대상을 제공합니다.
환경 전략
환경 전략을 개발하려면 조직의 생산적인 개발을 지원하는 동시에 리소스를 보호하고 구성하는 방식으로 환경 및 기타 데이터 보안 계층을 구성해야 합니다. 환경 프로비저닝, 액세스 관리 및 그 안의 리소스 제어를 관리하는 전략은 다음을 위해 중요합니다.
- 데이터와 액세스를 보호합니다.
- 규정을 준수하는 방식으로 기본 환경을 관리합니다.
- 스프롤을 방지하고 용량을 절약하기 위해 올바른 수의 환경을 관리합니다.
- 건강한 ALM(애플리케이션 수명 주기 관리)을 촉진하고 구현합니다.
- 논리 파티션에서 리소스를 구성합니다.
- 전용 환경에 배치하여 프로덕션 중인 앱을 식별하는 작업 (및 헬프 데스크)을 지원합니다.
- 데이터가 허용 가능한 지역에 저장되고 전송되고 있는지 확인합니다(성능 및 규정 준수를 위해).
- 개발 중인 응용 프로그램을 격리합니다.
- 비즈니스 최종 사용자 또는 서비스를 소비하는 사업부에 대한 내부 송장 발행 서비스 활성화.
자체적으로 유지할 수 있고 기존 ALM 프로세스를 제대로 갖춘 부서가 있어야 합니다. 이러한 경우 환경은 부서를 기반으로 격리를 제공하고 리소스를 구성합니다. 이를 기반으로 한 전략은 부서별로 별도의 환경을 조성함으로써 달성할 수 있습니다. 그러면 이러한 환경은 기본 환경에서 앱 및 흐름의 대상이 됩니다.
커뮤니케이션 전략
마이그레이션 프로세스 중에는 효과적인 커뮤니케이션이 매우 중요합니다. 마이그레이션 프로세스의 모든 단계에서 커뮤니케이션이 이루어집니다. 명확한 커뮤니케이션은 이해 관계자 간의 이해와 협력을 촉진합니다. 이를 통해 정보의 원활한 흐름이 가능해 관련된 모든 사람이 마이그레이션 계획, 진행 상황 및 잠재적인 문제에 대해 잘 알 수 있습니다.
마이그레이션 및 정리 노력의 일환으로 제작자, 이해 관계자 및 리더십에게 프로세스가 원활하게 진행되는지 확인하십시오. 최선의 커뮤니케이션 방법과 커뮤니케이션이 필요한 시점에 대한 전략을 개발하여 목표에 일관성을 제공하고 관련된 모든 사람의 커뮤니케이션에 도움을 줍니다. 고려해야 할 몇 가지 옵션은 다음과 같습니다.
- CoE 스타터 키트를 자산 추적기로 사용합니다.
- 다양한 단계에서 알림을 보내려면 사용자 지정 클라우드 흐름을 추가합니다.
- 제작자와 커뮤니케이션하기 위해 발송되는 템플릿 이메일을 만듭니다.
유의해야 할 사항은 다음과 같습니다:
- 앱의 URL이 변경되었습니다. 앱 사용자는 기본 환경에서 앱에 대한 북마크를 업데이트해야 합니다.
- URL 기반 HTTP 트리거 흐름이 있는 경우 종속 흐름에서 업데이트하여 여전히 웹후크 역할을 하도록 해야 합니다.
- 이동이 완료된 후 제작자와 앱 사용자 모두에게 연결을 설정하기 위한 자세한 단계를 제공하세요. 사용자는 새로운 환경에서 처음으로 앱을 시작할 때 연결 생성에 대해 걱정할 필요가 없습니다.
커뮤니케이션 설정을 위한 좋은 시작은 단일 사용자의 이메일이나 배포 목록에 남겨 두는 것보다 사용자를 위해 더 실시간으로 확장하고 확장할 수 있는 셀프 서비스 모델이 필요합니다. SharePoint 사이트를 구축하려는 경우 내부 Microsoft Power Platform 허브를 만드는 데 사용할 수 있는 템플릿이 있습니다. 허브는 전략과 지침을 배울 수 있는 일반적인 장소가 되므로 제작자는 무엇을 구축하려는지, 어디로 가야 하는지에 대해 올바른 결정을 내릴 수 있습니다.
CoE 스타터 키트에는 비활성 알림 구성 요소 설정 및 개발자 규정 준수 구성 요소 설정과 같은 일부 기존 솔루션 구성 요소가 있습니다. 이러한 구성 요소는 이메일 템플릿과 함께 제공되며 기본 환경에서 마이그레이션하기 위한 목적과 요구 사항에 맞게 복제할 수 있습니다. 커뮤니케이션 사이트에서 성공 사례를 포착하는 것도 좋은 방법입니다.
대상 그룹
마이그레이션 프로세스에는 일반적으로 커뮤니케이션에 참여하는 다양한 대상이 있습니다. 가장 일반적인 주요 이해 관계자와 그들의 역할은 다음과 같습니다.
- 앱 소유자: 앱 소유자는 특정 애플리케이션의 개발, 유지관리, 관리를 담당하는 개인이나 팀입니다. 이들은 애플리케이션의 기능, 작업 흐름 및 구성에 대한 심층적인 지식을 보유하고 있습니다. 앱 담당자와의 커뮤니케이션은 앱별 요구 사항을 이해하고, 피드백을 수집하고, 우려 사항을 해결하고, 앱을 새로운 환경으로 원활하게 마이그레이션하는 데 중요합니다.
- 앱 사용자: 앱 사용자는 업무나 워크플로를 수행하기 위해 정기적으로 애플리케이션을 활용하는 개인입니다. 그들은 다양한 수준의 기술 전문 지식과 애플리케이션에 대한 친숙도를 갖고 있을 수 있습니다. 마이그레이션에 대해 알리고, 발생할 수 있는 변경이나 중단에 대한 업데이트를 제공하고, 원활한 전환을 보장하기 위한 교육이나 지원을 제공하고, 일상적인 운영에 미치는 영향을 최소화하려면 앱 사용자와의 커뮤니케이션이 중요합니다.
- 부서장 또는 관리자: 부서장 또는 관리자는 각 부서의 운영과 전략적 목표를 감독하므로 마이그레이션 프로세스에서 중요한 역할을 합니다. 마이그레이션 일정, 잠재적 영향 및 이점에 대한 정보를 받아야 합니다. 부서장과의 커뮤니케이션을 통해 필요한 지침을 제공하고, 부서 목표에 맞게 마이그레이션을 조정하고, 팀 내에서 원활한 조정을 보장할 수 있습니다.
- IT 또는 기술 팀: IT 또는 기술 팀은 마이그레이션의 인프라, 시스템 및 전반적인 기술적 측면을 담당합니다. 이들은 마이그레이션 프로세스의 계획, 실행 및 지원에 참여합니다. 성공적인 마이그레이션을 위해 구현해야 하는 기술 요구 사항, 종속성, 보안 고려 사항 및 필수 인프라 또는 구성 변경 사항을 논의하려면 IT 팀과의 커뮤니케이션이 필수적입니다.
- 보안 및 규정 준수 팀: 보안 및 규정 준수 팀은 마이그레이션 중에 데이터 보안, 개인 정보 보호 및 규정 준수를 보장하는 데 중요한 역할을 합니다. 이는 지침을 제공하고 민감한 정보를 보호하기 위한 적절한 조치가 마련되어 있는지 확인합니다. 보안 및 규정 준수 팀과의 커뮤니케이션에는 마이그레이션 프로세스 전반에 걸쳐 보안 요구 사항, 암호화 프로토콜, 액세스 제어 및 규정 준수 관련 고려 사항에 대한 논의가 포함됩니다.
- 임원진: C 레벨 임원이나 고위 경영진을 포함한 임원진은 마이그레이션 프로세스에 대해 정보를 얻어야 합니다. 자세한 기술 정보가 필요하지 않을 수도 있지만 프로젝트의 목표, 진행 상황 및 조직에 대한 잠재적 영향을 알고 있어야 합니다. 경영진과의 커뮤니케이션은 마이그레이션을 위한 지원, 전략적 목표 조정, 리소스 할당을 보장하는 데 도움이 됩니다.
각 대상 그룹의 특정 요구 사항, 우려 사항 및 기술적 이해 수준을 고려하여 커뮤니케이션 전략과 메시지를 맞춤화하는 것이 중요합니다. 모든 이해 관계자와의 명확하고 시의 적절한 커뮤니케이션은 협업을 촉진하고, 원활한 조정을 보장하며, 마이그레이션 프로세스 중 잠재적인 문제를 완화합니다.
케이던스
마이그레이션 프로세스 중 이해 관계자와의 커뮤니케이션 주기 또는 빈도는 프로젝트의 특정 요구 사항과 역학에 따라 다릅니다. 마이그레이션 전반에 걸쳐 이해 관계자에게 정보를 제공하고, 우려 사항을 해결하고, 조정을 유지하려면 정기적이고 일관된 커뮤니케이션을 구축하는 것이 중요합니다. 다양한 이해 관계자와의 커뮤니케이션 흐름을 결정하기 위한 몇 가지 고려 사항은 다음과 같습니다.
- 앱 소유자: 마이그레이션 프로세스 전체에 걸쳐 앱 소유자와 자주 소통하는 것이 중요합니다. 여기에는 마이그레이션 진행 상황에 대한 정기적인 업데이트, 우려 사항 해결, 필요한 경우 의사 결정에 앱 담당자 참여가 포함됩니다. 커뮤니케이션 빈도는 앱의 복잡성과 중요도에 따라 달라질 수 있지만, 정기적으로 확인하고 문의 사항에 적시에 응답하는 것이 좋습니다.
- 앱 사용자: 정기적인 커뮤니케이션 채널을 통해 앱 사용자와 소통하여 마이그레이션에 대한 정보를 제공합니다. 여기에는 공지 사항, 이메일, 뉴스레터 또는 전용 교육 세션이나 워크숍이 포함되어야 합니다. 앱 사용자와의 커뮤니케이션 빈도는 다양할 수 있지만 주요 단계에 업데이트를 제공하고, 사용자에게 영향을 미칠 수 있는 변경 사항이나 중단 사항을 알리고, 프로세스 전반에 걸쳐 지원과 지침을 제공하는 것이 중요합니다.
- 부서장 및 관리자: 부서장 및 관리자와의 커뮤니케이션은 해당 부서의 마이그레이션 중요도에 따라 정기적으로 또는 필요에 따라 이루어질 수 있습니다. 전반적인 진행 상황, 타임라인, 팀에 미치는 영향에 대한 정기적인 업데이트를 제공하세요.
- IT 또는 기술 팀: 마이그레이션에 참여하는 IT 및 기술 팀과 정기적으로 소통하세요. 여기에는 지속적인 협업, 기술적인 질문이나 문제에 대한 업데이트 공유, 필요한 구성이나 변경 사항 조정이 포함됩니다. 커뮤니케이션 빈도는 일반적으로 계획 및 분석 단계에서 더 높습니다. 구현 단계에서는 원활한 조정을 위해 정기적인 접촉점이나 회의를 갖습니다.
리소스 조달
성공적인 마이그레이션을 위해서는 리소스를 효과적으로 관리하는 것이 중요합니다. 마이그레이션 중 리소스 관리와 관련하여 고려해야 할 몇 가지 주요 측면은 다음과 같습니다.
- 리소스 식별: 마이그레이션 프로젝트에 필요한 리소스를 식별합니다. 여기에는 마이그레이션 전 준비, 데이터 마이그레이션, 테스트, 배포, 구성, 마이그레이션 후 지원 등의 작업을 담당하는 개인이나 팀이 포함됩니다. 각 역할에 필요한 특정 기술, 전문 지식 및 가용성을 결정합니다.
- 리소스 할당: 리소스의 기술, 가용성, 작업 부하 용량에 따라 리소스를 역할 및 작업에 할당합니다. 워크로드의 균형을 맞추고 프로젝트 기한을 맞추기 위해 리소스가 적절하게 할당되었는지 확인하십시오. 여러 프로젝트 간의 공유 리소스와 같이 리소스 할당에 영향을 미칠 수 있는 종속성이나 제약 조건을 고려하세요.
- 기술 개발 및 교육: 팀 내의 기술 및 지식 격차를 평가하고 필요한 교육 또는 기술 향상 기회를 제공하여 리소스가 할당된 작업에 적절하게 갖춰지도록 합니다. 여기에는 교육 세션, 워크숍 또는 관련 리소스 및 문서에 대한 액세스 제공이 포함될 수 있습니다.
- 의사소통 및 협업: 마이그레이션에 참여하는 리소스 간의 효과적인 의사소통 및 협업을 촉진합니다. 정기적인 상태 업데이트, 조정 회의 및 지식 공유를 장려하여 모든 팀 구성원이 공통 목표를 향해 조정되고, 정보를 얻고, 함께 협력할 수 있도록 합니다.
- 비상 계획: 잠재적인 자원 제약이나 위험을 예상하고 비상 계획을 개발합니다. 예상치 못한 부재 또는 리소스 제한과 같은 예상치 못한 문제를 완화하기 위해 백업 리소스를 파악하거나 중요한 역할에 대해 교차 교육을 실시합니다.
- 이해 관계자 참여: 앱 소유자, 부서장, 경영진 등의 이해 관계자에게 리소스 할당과 일정이나 성과물에 미치는 잠재적 영향에 대해 알립니다. 기대치를 관리하고 투명성을 유지하기 위해 리소스 업데이트, 진행 보고서 및 리소스 계획 조정 사항을 정기적으로 전달합니다.
개체의 개별 마이그레이션
앱과 솔루션의 차이점은 중요합니다. 앱 내보내기 및 가져오기는 해당 개체에만 영향을 미칩니다. 솔루션은 여러 앱, 흐름 및 기타 개체를 포함할 수 있는 컨테이너입니다.
캔버스 앱 내보내기 및 가져오기(레거시 방식)
자세한 단계는 캔버스 앱 패키지 내보내기 및 캔버스 앱 패키지 가져오기에 설명되어 있습니다.
이 앱 내보내기 방법은 레거시 방식입니다. 지원되지만 솔루션을 사용하는 것이 좋습니다. 솔루션을 사용하면 하나의 리소스가 아닌 여러 구성 요소를 마이그레이션할 수 있습니다.
내보내기 및 가져오기 흐름(레거시 방식)
다음 단계에서는 흐름을 내보내는 방법을 설명합니다.
- "..." 메뉴를 선택하고 내보내기를 선택한 다음 패키지(.zip)를 선택합니다.
- 패키지의 이름과 설명을 입력합니다. 그런 다음 기본 설정을 구성하고 가져오기 단계에서 액세스할 수 있는 설명을 추가할 수 있습니다.
- 패키지를 다운로드하려면 오른쪽 하단에 있는 내보내기 버튼을 선택하세요. 다운로드가 자동으로 시작되지 않으면 다운로드 버튼을 선택하면 됩니다.
다음 단계에서는 흐름을 가져오는 방법을 설명합니다.
- 가져오기 버튼을 선택합니다.
- 패키지 파일을 업로드하고 화면에 패키지 세부 정보가 표시될 때까지 기다립니다.
- 흐름 설정을 구성할 때 새 흐름을 생성하거나 패키지의 흐름 정의로 기존 흐름을 업데이트하도록 선택할 수 있습니다.
- 흐름을 설정하는 데 필요한 연결을 선택합니다. 모든 필수 설정을 성공적으로 구성한 후에는 가져오기 버튼을 사용할 수 있게 됩니다.
흐름을 가져온 후에는 활성화해야 합니다. 흐름에 연결 참조가 있는 경우 이를 활성화하는 사용자는 해당 연결에 액세스할 수 있어야 합니다. 그렇지 않은 경우 연결 담당자는 활성화 사용자에게 액세스 권한을 부여할 수 있습니다.
클라우드 흐름을 내보내는 이 방법은 레거시 방식입니다. 지원되지만 하나의 리소스 대신 여러 구성 요소를 마이그레이션할 수 있는 솔루션을 사용하는 것이 좋습니다.
모델 기반 앱 내보내기 및 가져오기
모델 기반 앱은 항상 솔루션의 일부입니다. 솔루션 파일(.zip)에 포함된 패키지 앱은 원본 환경에서 성공적으로 내보내고 대상 환경으로 가져온 후 보안 역할에 따라 사용자와 공유할 수 있습니다.
자세한 단계별 프로세스는 솔루션 내보내기 및 솔루션 가져오기에서 다룹니다.
Microsoft Copilot Studio 봇 내보내기 및 가져오기
솔루션을 사용하여 봇을 내보내고 가져올 수 있습니다. 자세한 단계 목록은 솔루션을 사용하여 봇 내보내기 및 가져오기에서 다룹니다.
Power Pages 사이트 내보내기 및 가져오기
마이그레이션 페이지는 원본 Microsoft Dataverse 환경에서 기존 구성을 내보낸 다음 대상 Dataverse 환경으로 가져오는 것을 포함합니다. 대상 환경에서 수행해야 하는 몇 가지 전제 조건이 있습니다. 준비 작업이 완료되면 구성 마이그레이션 도구를 사용하여 포털 구성 데이터를 내보낼 수 있습니다.
SharePoint 양식 앱 – 기본 환경의 특수 사례
SharePoint form 앱은 하나의 환경에만 연관될 수 있으며, 달리 구성하지 않은 경우 기본 환경에 있습니다. 모든 앱을 마이그레이션하려면 대상을 기본 환경이 아닌 다른 환경으로 설정해야 합니다. 기존 사용자 지정 양식은 새로 지정된 환경으로 자동 마이그레이션되지 않습니다. SharePoint 사용자 지정 양식에는 프로덕션 환경만 지정할 수 있습니다. 캔버스 앱을 이동하는 것과 같은 수동 프로세스가 이어집니다.
Microsoft Power Platform 개체 백업
대부분의 Microsoft Power Platform 개체는 zip 파일로 내보내집니다. 그렇지 않은 경우 파일 형식이 하나 이상 있습니다. Zip 파일이나 함께 제공되는 확장명 등 원본 형식의 이러한 파일은 원하는 파일 저장 위치나 리포지토리에 추가할 수 있습니다. 언급할 몇 가지 옵션으로는 Azure DevOps, GitHub, SharePoint, One Drive 또는 모든 파일 형식을 지원하는 기타 솔루션이 있습니다.
대량 마이그레이션 옵션
앱 또는 흐름이 이전과 동일한 방식으로 작동하면 마이그레이션이 성공한 것입니다. 그러나 전송할 수 없는 특정 요소가 있습니다.
- 과거 흐름 실행에 대한 흐름 실행 데이터 - 흐름 실행에 대한 데이터는 28일 동안만 저장됩니다. 데이터가 필요한 경우 CoE 스타터 키트를 사용하거나 데이터 레이크로 내보내기를 설정한 경우 데이터를 내보내고 저장할 수 있습니다. 최신 버전의 CoE 스타터 키트에는 데이터 내보내기와 함께 사용되는 경우 흐름 실행 데이터가 있습니다.
- 캔버스 앱의 버전 - 제작자가 개발 과정을 반복하면서 여러 버전이 만들어질 수 있습니다. 이전 버전은 마이그레이션할 수 없습니다. 최신 버전만 마이그레이션할 수 있습니다.
- 앱이나 흐름 또는 커넥터를 사용하여 액세스하는 데이터 - 내보내기의 일부로 앱 메타데이터만 포함됩니다.
앱이나 흐름에서 작성된 공동 작업 댓글도 포함되지 않습니다.
이 문서에서는 몇 가지 가능성을 간략하게 설명합니다. 결정하기 전에 각 가능성의 의미와 이점을 신중하게 고려하는 것이 중요합니다.
모두 마이그레이션 – 데이터베이스 백업 및 복원 옵션
대부분의 환경 유형과 마찬가지로 기본 환경도 백업됩니다. 이러한 시스템 백업은 자동으로 수행됩니다. 기본 환경에는 주문형 옵션이 없으므로 지원 요청이 필요합니다. Dataverse 내의 모든 데이터를 유지하면서 백업을 새로운 환경으로 복원할 수 있습니다. 이 옵션은 reader에게 그 존재를 보여주고 언제 고려해야 하는지 reader에게 교육하기 위한 것입니다. 부분적인 마이그레이션만 가능하므로 기본 선택으로 추구해서는 안 됩니다.
- 지원됨: Dataverse, Dynamics 앱
- 완전히 지원되지 않음: Canvas 앱, 구성 요소 라이브러리, 사용자 정의 페이지 Power Automate, Microsoft Copilot Studio
완전히 지원되지 않음은 마이그레이션 중에 잠재적인 데이터 손실이 있을 수 있으며 추가 단계가 필요함을 나타냅니다.
메타데이터를 마이그레이션한 다음 데이터를 마이그레이션
권장되는 접근 방식은 솔루션을 사용하여 메타데이터를 이동한 다음 데이터 흐름, Azure Data Factory 또는 선호하는 다른 도구를 사용하여 데이터를 전송하는 것입니다. 다양한 커넥터로 인해 모든 경우에 처음부터 끝까지 완전한 자동화가 달성되지 않을 수 있지만, 근접한 근사치는 가능합니다.
개략적인 단계는 다음과 같습니다.
- 솔루션에 앱을 추가합니다.
- 솔루션에 흐름을 추가합니다.
- 기존 봇을 추가합니다.
- 앱 및 흐름에서 연결 참조를 조정합니다.
- 솔루션 종속성을 확인하고 개체를 추가합니다.
- 솔루션을 내보냅니다.
- 솔루션을 가져옵니다.
- 데이터를 전송합니다.
솔루션 종속성 확인
대상 환경에서 솔루션 가져오기의 성공은 모든 관련 구성 요소를 솔루션에 추가했거나 대상 환경에서 사용할 수 있는 경우에만 보장될 수 있습니다. 누락된 구성 요소가 있으면 솔루션 가져오기가 실패할 가능성이 높습니다. 필요한 모든 구성 요소가 있는지 확인하려면 다음과 같이 조합하여 사용하는 것이 가장 좋은 옵션이 있습니다.
선택한 구성 요소를 솔루션에 수동으로 추가합니다. 이 경우 모든 종속 구성 요소가 대상 환경에서 이미 사용 가능하다는 것을 알고 있다고 가정합니다.
솔루션 내에서 종속성 표시 버튼을 사용하면 시스템이 종속성을 식별할 수 있습니다. 모든 종속성을 추가하거나 대상 환경에 존재하지 않는 종속성만 선택적으로 추가할 수 있습니다.
솔루션에 구성 요소 추가(수동)
솔루션이 생성되었다고 가정하면, 제작자는 기존 앱, 흐름 또는 봇을 추가하기 위해 기존 구성 요소 추가 메뉴 옵션을 사용해야 합니다.
연결 참조 조정
캔버스 앱과 흐름은 연결을 다르게 처리합니다. 흐름은 모든 커넥터에 대해 연결 참조를 사용하는 반면, 캔버스 앱은 SQL Server 인증과 같은 암묵적으로 공유된(비 OAuth) 연결에만 연결 참조를 사용합니다.
연결 대신 연결 참조를 사용하도록 앱 업데이트
솔루션에 추가될 때 솔루션을 인식하지 못하는 캔버스 앱은 연결 참조를 사용하도록 자동으로 업그레이드되지 않습니다. 연결 참조는 데이터 원본가 앱에 추가될 때만 캔버스 앱과 연결됩니다. 앱을 업그레이드하려면 다음을 수행해야 합니다.
- 솔루션을 인식하지 않는 앱을 솔루션에 추가합니다.
- 앱에서 연결을 제거하세요.
- 솔루션에서 새 연결 참조를 만듭니다.
- 연관된 연결 참조가 포함된 연결을 추가합니다.
연결 대신 연결 참조를 사용하도록 흐름 업데이트
흐름이 솔루션에 없으면 연결을 사용합니다. 해당 흐름이 솔루션에 추가되면 처음에는 계속해서 연결을 사용합니다. 다음 두 가지 방법 중 하나로 연결 대신 연결 참조를 사용하도록 흐름을 업데이트할 수 있습니다.
비관리형 솔루션에서 흐름을 내보내고 가져오는 경우 연결 참조와 함께 연결이 제거됩니다.
솔루션 흐름이 열리면 흐름 세부 정보 페이지의 흐름 검사기가 연결 참조 사용에 대한 경고를 표시합니다. 경고 메시지에는 연결 참조를 추가할 수 있도록 연결을 제거하기 위해 선택할 수 있는 작업이 있습니다. 해당 작업을 선택하면 트리거에서 연결이 제거되고 흐름 작업이 제거되고 연결 참조를 선택하고 만들 수 있습니다.
솔루션에 개체 추가(자동화)
PowerShell 명령을 사용하여 앱을 솔루션으로 대량으로 이동할 수 있습니다. 기존 캔버스 앱과 클라우드 흐름을 솔루션에 추가하는 작업은 명령줄을 통해서도 수행할 수 있습니다. 이 옵션을 사용해 보려면 최신 PowerShell 모듈을 설치하세요. 두 가지 주요 명령은 Set-PowerAppAsSolutionAware 및 Set-FlowAsSolutionAware입니다.
모듈이 설치되면 고유한 환경 ID, 앱 ID, 흐름 ID 및 솔루션 ID를 입력하세요.
캔버스 앱의 경우:
Set-PowerAppAsSolutionAware -EnvironmentName {Environment ID} -AppName {App ID} -SolutionId {Solution ID}
흐름의 경우:
Set-FlowAsSolutionAware -EnvironmentName {Environment ID} -FlowName {Flow ID} - SolutionId {Solution ID}
연결 참조 는 연결 참조 테이블에 대한 데이터 항목입니다. 연결 참조를 앱 또는 흐름의 일부로 사용하려면 핵심 앱 또는 흐름 정의를 수정해야 합니다. connectionReferences 노드를 연결 참조로 바꿔야 합니다.
솔루션 내보내기 및 가져오기
솔루션이 준비되었다고 가정하면 자동화의 다음 단계는 여러 가지 방법으로 수행될 수 있습니다.
한 번에 여러 솔루션을 이동하려면 패키지를 사용하세요.
Power Platform 빌드 도구 작업을 사용하여 솔루션 압축, 솔루션 압축 풀기, 솔루션 내보내기 및 솔루션 가져오기와 같은 여러 작업을 수행합니다. DevOps는 ALM(애플리케이션 수명주기 관리)을 자동화하는 기능을 제공하며 이러한 작업은 모두 Microsoft Power Platform용 ALM을 지원하도록 구축되었습니다.
Power Platform 명령줄 인터페이스(CLI)는 솔루션 내보내기 및 가져오기 옵션도 제공합니다. 모든 솔루션 관련 명령을 사용하여 솔루션을 빌드하고 내보내고 가져올 수 있습니다. CLI를 사용하여 데이터를 송수신할 수도 있습니다.
제작자 친화적인 옵션은 Power Platform용 ALM을 대중화하기 위한 파이프라인을 사용하는 것입니다. ALM 자동화 및 CI/CD(지속적 통합/지속적 배포) 기능을 단일 기능 서비스로 가져오는 것은 모든 제작자, 관리자 및 개발자가 더 쉽게 접근할 수 있습니다.
연결 만들기(수동)
가져오기 작업이 설정되기 전에 대상 환경에서 앱 또는 흐름에 필요한 누락된 연결을 만듭니다. 연결을 만드는 방법에 대한 자세한 내용은 Power Automate에서 연결 관리를 참조하세요.
데이터 마이그레이션
수동부터 완전 자동화까지 데이터 마이그레이션에 사용할 수 있는 다양한 옵션이 있습니다.
- Excel 통합 문서를 사용하여 데이터를 수동으로 내보내고 가져옵니다.
- Power Automate 클라우드 흐름을 개발하여 원본 테이블에서 데이터를 추출하고 대상에 직접 쓸 수 있습니다. 그러나 이를 위해서는 제작자가 Dynamics 365 Connector 또는 Dataverse(레거시) 커넥터를 사용해야 합니다. 현재 Dataverse 커넥터는 환경 간 연결을 지원하지 않습니다. 이 기능은 미래를 위해 계획되었으며 일단 출시되면 데이터를 한 곳에서 다른 곳으로 이동하는 데 사용될 수 있습니다.
- 구성 마이그레이션 도구(CMT) 는 포털 마이그레이션에 사용되는 도구이지만, 정기적인 데이터 마이그레이션에도 사용할 수 있습니다. CMT는 PowerShell에서도 사용할 수 있습니다. PAC CLI 도구는 CMT를 호출하는 기능을 제공합니다.
- 데이터 흐름은 환경 간의 매핑을 생성하고 데이터를 이동하는 데 사용될 수 있습니다. HTTP 웹 커넥터는 Dataverse의 대안으로 사용될 수 있습니다.
- Azure Data Factory를 Dataverse 커넥터와 함께 사용하여 원본에서 데이터를 가져와 대상에 삽입할 수 있습니다.
기본 환경의 크기가 제한되어 있으므로 위 옵션 중 하나를 사용하면 기본 환경 외부로 데이터를 이동할 수 있습니다.
정리 고려 사항
오랫동안 사용 및 업데이트되지 않은 앱과 흐름을 정리하는 것은 좋은 생각입니다. 정리와 관련하여 관리자가 고려해야 할 다양한 경로가 있습니다.
- 데이터를 가져오는 순서를 결정합니다. 종속성이 가장 낮은 테이블이 먼저 오고 종속성이 가장 높은 테이블이 끝에 옵니다.
- 모든 필드를 매핑할 필요는 없습니다. 버전, 수정된 날짜, 생성된 날짜 및 일부 다른 시스템 필드와 같은 필드는 매핑할 필요가 없습니다.
- 원본 생성된 날짜를 유지하려면 원본 생성된 날짜 필드를 대상 테이블의 OverRiddenCreatedOn 필드에 매핑하세요.
- 감사 데이터는 마이그레이션할 수 없습니다.
- 의도한 경우가 아니면 데이터 삽입을 기반으로 트리거되는 워크플로나 흐름을 활성화하지 마세요. 이로 인해 데이터 마이그레이션 시간이 늘어납니다.
태그 지정 옵션
CoE 스타터 키트에는 현재 태그 지정 옵션이 없습니다. 그러나 스타터 키트에 추가할 수 있는 사용자 지정일 수도 있습니다.
태그라는 테이블을 만들고 앱, 흐름 및 기타 인벤토리 테이블과 다대다(N:N) 관계를 설정합니다. 그런 다음 태그를 생성하고 이러한 기록을 적절한 재고 품목과 연결할 수 있습니다. 더 나은 사용자 경험을 위해 앱, 흐름 및 기타 인벤토리 테이블의 기본 형식에 그리드를 포함할 수 있습니다. 이 옵션은 참조 일관성이 있으므로 권장됩니다.
각 인벤토리 테이블에 텍스트 필드를 생성하고 이를 사용하여 나중에 사용할 수 있는 텍스트(태그)를 캡처합니다.
좀 더 고정된 목록을 원한다면 전역 옵션 집합을 생성하고 이를 모든 인벤토리 테이블과 해당 양식에 추가하세요.
격리 옵션
특정 응용 프로그램의 필요성이 확실하지 않은 경우 해당 응용 프로그램을 잠시 격리하고 이 상태 동안 격리해 둘 수 있습니다. 해당 앱은 담당자만 사용할 수 있습니다. 적절한 시간이 경과한 후 담당자로부터 응답을 받지 못한 경우 환경에서 제거할 수 있습니다.
흐름은 격리 상태를 지원하지 않지만 흐름을 중지하고 담당자가 다시 활성화하는지 확인하여 유사한 접근 방식을 사용할 수 있습니다.
두 경우 모두 담당자와 적절한 의사소통을 하는 것이 중요합니다.
삭제만 옵션
실제로 생산성 손실과 개체 재사용이 없다면 이 옵션이 가장 좋습니다. 대부분의 테스트 흐름과 앱이 이 범주에 속합니다.
이 경우 개체 목록이 식별되면 PowerShell 배치를 개발하고 여기에 csv 목록을 전달한 다음 해당 자산을 모두 삭제할 수 있습니다.
앱 및 흐름의 ID를 반복하면서 다음 명령을 사용하여 기본 환경에서 제거할 수 있습니다.
- Remove-AdminFlow -EnvironmentName Default-[Guid] -FlowName [Guid]
- Remove-AdminPowerApp -AppName [Guid] -EnvironmentName [Guid]
개체 백업 및 삭제 옵션
예를 들어 특정 계절적 요구 사항을 해결하기 위해 Power Automate 흐름이 생성되었지만 오랫동안 사용되지 않았다고 가정합니다. 이 경우 구성 요소를 삭제하기 전에 해당 구성 요소를 백업해 두는 것이 좋습니다.
구성 요소를 백업하려면 개별 마이그레이션 또는 대량 마이그레이션 옵션을 사용하여 내보낸 솔루션을 생성할 수 있습니다. 그런 다음 선택한 파일 리포지토리나 OneDrive 위치에 추가할 수 있습니다.
백업이 보안화되면 삭제 옵션을 적용하여 정리 프로세스를 완료할 수 있습니다.
대부분의 경우 이는 제작자가 개인 생산성 학습 및 실험의 일환으로 만든 테스트 흐름 및 앱입니다.
결론
Power Platform은 시민 개발자와 전문 개발자 모두를 위한 도구입니다. 기본 환경 사용은 주로 Microsoft 365 제품을 사용한 개인 생산성에 중점을 두어야 합니다. 다른 모든 앱 및 흐름 개발은 지정된 공유, 개인 또는 개발자 환경에서 이루어져야 합니다. 제작자가 올바른 환경에서 앱과 흐름을 개발하는 데 도움이 될 수 있는 DLP 기반의 독립적인 환경 전략을 개발하는 것이 강력히 권장됩니다. 커뮤니케이션 전략을 수립하고 사용자에게 앱과 흐름 개발을 위한 전략, 솔루션 구현, 모범 사례에 대해 학습하는 셀프 서비스 모델을 제공하는 데에도 큰 이점이 있습니다. 커뮤니케이션 사이트에서 성공 사례를 포착하는 것은 좋은 방법입니다. 내부에 게시된 성공 사례는 제작자가 아이디어와 연결하고 Power Platform을 사용하여 달성할 수 있는 가능성을 열어두는 데 도움이 됩니다.
특정 개체를 마이그레이션하거나 이동할 때는 강력한 거버넌스 전략이 필수적입니다. 개별 마이그레이션과 대량 마이그레이션을 포함하여 개체 마이그레이션에 사용할 수 있는 다양한 전략이 있습니다. 가장 적합한 옵션은 조직 정책에 따라 다릅니다. 솔루션은 애플리케이션의 구성 요소를 구성하고 마이그레이션을 보다 간단하게 만드는 가장 권장되는 방법입니다.