다음을 통해 공유


Power Platform을 사용하여 애플리케이션 현대화

오늘날 빠르게 진화하는 디지털 환경에서 조직은 변화하는 비즈니스 요구 사항에 보조를 맞추기 위해 레거시 애플리케이션을 현대화해야 하는 끊임없는 과제에 직면해 있습니다. 애플리케이션 현대화는 운영 효율성을 개선하고, 고객 경험을 개선하고, 경쟁에서 앞서 나가는 데 매우 중요합니다. Microsoft Power Platform은 기업이 애플리케이션을 빠르고 효과적으로 혁신하고 현대화할 수 있도록 지원하는 포괄적인 도구 및 기술 제품군을 제공합니다.

이 백서에서는 Microsoft Power Platform을 사용한 애플리케이션 현대화의 이점, 전략 및 모범 사례를 살펴봅니다. Microsoft 로우코드 플랫폼이 조직의 디지털 트랜스포메이션의 일환으로 애플리케이션 현대화 노력의 성공을 보장하는 데 어떻게 도움이 될 수 있는지에 대한 인사이트와 지침을 제공합니다.

브라우저에서 인쇄를 선택한 다음, PDF로 저장을 선택하여 이 백서를 저장하거나 인쇄할 수 있습니다.

소개

레거시 애플리케이션은 조직에 많은 과제를 제시합니다. 이러한 애플리케이션은 오래된 기술 스택 및 프레임워크를 기반으로 구축되는 경우가 많기 때문에 최신 시스템 및 도구와 통합하기 어렵습니다. 종종 증가하는 워크로드와 고객 요구를 처리하는 조직의 능력을 방해하는 확장성 및 성능 제한이 있습니다. 레거시 애플리케이션은 유연성과 민첩성이 부족하여 변화하는 비즈니스 요구와 시장 역학에 빠르게 적응하는 능력이 제한됩니다. 보안 취약성, 높은 유지 관리 비용, 제한된 통합 기능 및 공급업체 종속성 위험은 레거시 애플리케이션의 문제를 더욱 복잡하게 만듭니다. 이를 극복하기 위해 조직은 애플리케이션 인프라를 현대화하여 새로운 기술을 활용해야 합니다.

Microsoft Power Platform의 로우 코드 개발 기능을 사용하면 이전보다 더 빠르고 비용 효율적으로 최신 애플리케이션을 구축하고 배포할 수 있습니다. 원활한 데이터 교환과 협업을 위해 기존 시스템과 데이터 원본을 쉽게 통합할 수 있습니다. 인공 지능을 추가하여 사용자 경험을 개선하고, 프로세스를 자동화하고, 데이터에서 귀중한 인사이트를 얻을 수 있습니다. 가장자리를 만지작거리는 시민 개발자이든, 복잡한 사용자 지정 작업을 하는 전문 개발자이든, 기존 접근 방식보다 직관적이고 빠르며 저렴한 비용으로 디지털 혁신을 추진할 수 있습니다.

Power Platform을 선택해야 하는 이유는?

Power Platform을 구성하는 포괄적인 도구와 기술은 현대화 및 디지털 트랜스포메이션 프로젝트의 기간, 비용 및 개발 요구 사항을 획기적으로 줄여줍니다. 로우 코드 접근 방식은 값비싼 코딩, 데이터 과학 및 AI 엔지니어링 리소스의 필요성을 줄이거나 심지어 제거할 수도 있습니다. 시민 개발자와 프로 개발자 모두에게 이익이 됩니다. 시민 개발자는 현대화 프로세스에서 적극적인 역할을 수행하여 도메인 전문 지식을 기반으로 직접 애플리케이션을 구축하고 IT 팀에 대한 의존도를 줄일 수 있습니다. 전문 개발자는 훨씬 더 짧은 시간에 복잡한 솔루션을 제공할 수 있으므로 다음 프로젝트로 더 빨리 이동할 수 있습니다.

Power Platform 제품 및 개념

Power Platform 제품군의 각 제품에는 고유한 중점 영역이 있습니다. 조직은 특정 요구 사항을 충족하기 위해 제품을 개별적으로 또는 조합하여 구현할 수 있습니다. 제품은 서로 연결되어 완벽한 전체를 형성하지만 결합 방식도 다릅니다.

다음 표는 각 Power Platform 제품에 대한 개략적인 개요를 제공합니다.

제품 Description
Power Apps 직관적인 끌어서 놓기 캔버스에서 사용자 지정 애플리케이션을 만들 수 있습니다. 1,000개 이상의 커넥터를 통해 몇 번의 클릭만으로 내부 및 외부 데이터 원본과 서비스를 이용할 수 있습니다. 앱은 브라우저, 데스크톱 또는 모바일 디바이스에서 실행할 수 있습니다.
Power Automate 복잡한 프로세스도 자동화할 수 있는 워크플로를 구축합니다. 기본 제공 및 사용자 지정 커넥터를 사용하여 내부 및 외부 데이터 원본과 서비스를 통합합니다. 애플리케이션에 API(애플리케이션 프로그래밍 인터페이스)가 있는 경우 디지털 프로세스 자동화(DPA)를 사용합니다. 로봇 프로세스 자동화(RPA)를 사용하여 브라우저 또는 데스크톱 앱에서 수행되는 반복적인 작업을 자동화합니다. 다른 시스템 및 서비스에서 이벤트가 발생할 때 실행되도록 워크플로를 트리거하거나 특정 시간에 실행되도록 예약합니다.
Copilot Studio 노코드 그래픽 인터페이스를 사용한 대화형 에이전트 생성. 웹 사이트, 모바일 앱, Microsoft Teams와 같은 메시징 플랫폼을 포함한 여러 채널에 에이전트를 배포할 수 있습니다. AI 지원 작성은 토픽 생성 속도를 높일 수 있습니다. 생성형 답변은 주제를 만들 필요 없이 여러 소스에서 정보를 찾고 표시할 수 있습니다.
Power BI 차트, 테이블 및 기타 시각적 개체를 캔버스로 끌어다 놓아 데이터 내부에 숨겨진 인사이트를 찾아내는 정교한 보고서를 쉽게 만들 수 있습니다. 예측 모델링을 위한 자동화된 기계 학습과 상세한 근본 원인 분석 드릴다운을 위한 분해 트리가 포함된 AI 시각화를 포함합니다. 간단한 Q&A 형식으로 자연어 질문을 하여 데이터를 탐색합니다.
Power Pages 안전한 엔터프라이즈급 로우코드 SaaS(Software as a Service) 플랫폼에서 매력적인 데이터 기반 웹 사이트를 빠르게 구축할 수 있습니다. 풍부하고 사용자 지정 가능한 템플릿과 유연한 시각적 환경을 통해 현대적인 외부 비즈니스 웹 사이트를 더 쉽게 만들고, 호스팅하고, 관리할 수 있습니다.

Power Platform 제품군은 몇 가지 지원 기능과 개념에 의존합니다. 다음 표에서는 이해해야 할 가장 중요한 사항에 대해 설명합니다.

개념 Description
Power Fx Power Fx는 Excel 수식에서 영감을 받아 만들어진 오픈 소스 로우코드 언어입니다. 명령형 논리 및 상태 관리를 통해 강력한 형식, 선언적 및 기능적이며, 모두 인간 친화적인 텍스트로 표현되는 Power Fx는 시민 개발자와 전문 개발자 모두가 일반적인 프로그래밍 작업을 쉽게 수행할 수 있도록 합니다. 이전에 프로그래밍한 적이 없는 사람들을 위한 노코드부터 노련한 전문가를 위한 "프로 코드"에 이르기까지 모든 개발 스펙트럼을 지원하여 다양한 팀이 협업하고 시간과 비용을 절약할 수 있도록 합니다.
커넥터 커넥터는 로우코드와 기존 코딩이 함께 작동하여 최신 앱을 제공할 수 있도록 하는 데 매우 중요합니다. 커넥터는 Power Apps 및 Power Automate가 내부 및 외부 데이터 원본과 서비스를 사용할 수 있도록 하는 API를 둘러싼 래퍼입니다. 1,000개 이상의 사전 빌드된 커넥터를 사용할 수 있으며 모든 RESTful API에 대해 고유한 커넥터를 만들 수 있습니다. 커넥터 정의에는 로우코드 앱에서 API를 쉽게 사용할 수 있도록 하는 데 필요한 메타데이터가 포함되어 있습니다.
Dataverse Dataverse는 Azure 데이터 관리 서비스를 기반으로 구축된 클라우드 규모의 하이브리드 데이터 저장소이지만 데이터베이스 그 이상입니다. Dynamics 365 및 Power Platform 모두의 기본 데이터 플랫폼으로, 워크플로 및 플러그인, 비즈니스 규칙 및 프로세스 흐름 형태의 서버 측 논리, 매우 정교한 보안 모델, 다국어 및 다중 통화 앱에 대한 지원이 내장된 확장 가능한 개발 플랫폼을 제공합니다. 애플리케이션은 데이터 모델에서 빠르게 구성할 수 있으므로 데이터 기반 양식 솔루션을 배포하는 가장 빠른 방법 중 하나입니다.
AI Builder AI Builder를 사용하면 Power Apps 및 Power Automate에서 인공 지능을 쉽게 사용하여 데이터에서 인사이트를 찾고, 프로세스를 자동화하고, 앱의 생산성을 높일 수 있습니다. AI Builder를 사용하면 AI의 이점을 활용하기 위해 코딩이나 데이터 과학 기술이 필요하지 않습니다. 사전 빌드되고 사용자 지정 가능한 모델은 많은 일반적인 비즈니스 시나리오에 대해 턴키 방식으로 사용할 수 있으며, 특정 비즈니스 요구 사항에 맞게 고유한 모델을 빌드할 수 있습니다.
Copilot Copilot AI 지원은 Power Platform 사용자와 개발자(시민 또는 전문가)의 생산성을 높여 일상적인 작업에 더 적은 시간을 할애하고 업무의 가장 좋은 부분에 더 많은 시간을 할애할 수 있도록 합니다. Power Automate에서 Copilot에 비즈니스 시나리오를 설명하면 설명이 자동화된 워크플로로 바뀔 수 있습니다. Power Apps의 Copilot에 수행하려는 작업이나 보고 싶은 정보를 알려주면 이를 위한 앱을 빌드할 수 있습니다. Copilot는 연결을 설정하고, 테이블을 만들고 채우고, 화면을 생성하고, 흐름이나 앱을 개선하기 위한 제안도 제공합니다. 앱에는 첫 화면부터 Copilot 기반 환경이 기본 제공되므로 사용자는 대화를 통해 인사이트를 확인할 수 있습니다.
환경 및 솔루션 환경은 Power Platform 리소스를 더 쉽게 관리하고 보호할 수 있도록 하는 경계입니다. 또한 프로덕션 환경에 배포하기 전에 별도의 환경에서 솔루션을 개발하고 테스트하는 ALM(애플리케이션 수명 주기 관리)에도 사용됩니다. 솔루션은 Power Platform 사용자 지정 및 확장으로 패키지되어 있습니다. 솔루션에는 앱, 흐름, 테이블, 차트, 대시보드, 커넥터 및 사용자 지정 또는 확장에 필요한 기타 구성 요소가 포함될 수 있습니다. 솔루션은 조직의 ALM 정책의 일환으로 별도의 환경에서 개발, 테스트 및 프로덕션에 배포할 수 있습니다. 솔루션을 내보내 다른 사용자 또는 조직과 공유하고 다른 사용자로부터 솔루션을 가져올 수 있습니다. 솔루션은 관리형이거나 비관리형입니다. 비관리형 솔루션은 개발 및 테스트에 사용됩니다. 관리형 솔루션은 프로덕션 배포 및 배포에 사용됩니다.

앱 현대화를 위한 Power Platform의 주요 이점

Microsoft Power Platform을 사용하여 애플리케이션을 현대화하면 얻을 수 있는 이점은 최신 기술을 사용하는 솔루션을 보유하는 것의 초기 비즈니스 가치를 넘어 확장됩니다.

  • 비용 절감. 조직은 앱 개발 및 유지 관리 비용을 절감할 수 있습니다. Forrester Consulting이 실시한 위탁 연구에 따르면 Power Platform을 사용하는 조직은 애플리케이션 개발 비용을 45% 절감하고 투자 수익률을 140% 실현할 수 있는 것으로 나타났습니다.

  • 리소스 풀을 확장하고 병목 현상을 제거합니다. 전문 개발자, 데이터 과학자 및 AI 엔지니어는 높은 급여를 받고 수요가 많습니다. 중소기업은 사내 코딩 전문 지식을 사치스럽게 사용할 수 없는 경우가 많으며 아웃소싱은 비용이 많이 듭니다. 로우코드 Power Platform은 더 큰 리소스 풀에서 더 접근하기 쉽습니다. 실무 전문가와 비즈니스 프로세스 전문 지식을 갖춘 직원은 코드를 한 줄도 작성하지 않았더라도 현대화 작업을 가속화하는 데 도움이 될 수 있습니다.

  • 바퀴가 아닌 수레를 만드십시오. 기존의 소프트웨어 개발은 매번 새롭게 시작되며, 새로운 프로젝트가 진행될 때마다 바퀴를 다시 발명합니다. 로우코드의 직관적이고 메이커 친화적인 Power Platform 제품을 사용하면 더 나은 카트를 구축하는 데 집중하여 비즈니스 프로세스를 개선하고 현대화 노력의 이점을 더 빨리 누릴 수 있습니다.

  • 기술 부채를 줄입니다. "빠르고 지저분한" 소프트웨어 솔루션을 업그레이드하고 레거시 인프라를 유지 관리하는 데 드는 비용(재정적으로나 기회 손실)이 많이 듭니다. Power Platform은 처음부터 솔루션을 더 쉽고 저렴하게 구축하고, 공통 데이터 모델 및 커넥터를 사용하여 데이터 통합 및 거버넌스를 간소화하고, 솔루션 관리를 위한 중앙 집중식 플랫폼을 제공하고, 분석 및 AI를 통해 지속적인 개선을 지원함으로써 이러한 기술 부채를 줄입니다.

  • 보안을 강화하고 규정 준수를 보장합니다. 모든 Power Platform 제품에는 완전히 통합된 엔터프라이즈급 보안, 규정 준수 및 거버넌스가 포함되어 있으며, 실행 환경부터 즉시 사용할 수 있습니다. 관리형 환경은 관리자가 더 많은 제어와 더 적은 노력으로 Power Platform을 대규모로 관리할 수 있는 도구 모음입니다. 다른 기능 중에서 어떤 흐름 및 앱을 공유할 수 있는 사용자와 공유할 수 있는지 제한하고 정책을 사용하여 제작자가 사용할 수 있는 커넥터를 제한할 수 있습니다. 네이티브의 유연한 데이터 보안 모델은 각 애플리케이션이 자체적으로 구축할 필요가 없음을 의미합니다.

  • 계속해서 현대화하세요. 현대화하려는 앱의 중요성이 높을수록 한 번에 모두 교체할 가능성이 줄어듭니다. 로우코드 접근 방식은 관리 가능한 증분으로 솔루션을 구축하는 데 적합합니다.

  • 레거시 앱을 통합합니다. 이전 애플리케이션에는 API가 없는 경우가 많습니다. Power Platform의 RPA 기능은 클래식 앱을 자동화하고 새로운 최신 비즈니스 프로세스에 포함할 수 있습니다. RPA는 크고 복잡한 앱을 점진적으로 현대화하는 데에도 도움이 될 수 있습니다.

  • 더 많은 비용을 들이지 않고 혁신하십시오. Power Platform 기능은 계속 개선되고 있습니다. 플랫폼에 구축된 앱은 더 많은 비용 없이 Microsoft 혁신의 이점을 누릴 수 있습니다.

  • 현대적인 업무 환경에서 작업자 생산성을 높이십시오. Power Platform은 Microsoft 현대적인 업무 환경의 일부입니다. 플랫폼에서 현대화된 애플리케이션은 매력적인 모바일 환경과 쉽고 직관적인 공동 작업을 포함하여 Microsoft 365의 기능을 활용할 수 있습니다. Copilot, AI Builder, 곧 발표될 기능 등 최첨단 AI를 통해 사용자와 개발자의 좌절감을 줄이고 학습 곡선을 줄여 생산성을 높일 수 있습니다.

일선 작업자를 위한 혁신

일선 작업자는 어디서든 모든 장치에서 사용할 수 있는 최신 애플리케이션이 필요합니다. 더 나은 의사 결정을 더 빠르게 내리기 위해 실시간으로 인사이트에 액세스해야 합니다. 모든 것이 원활하게 작동하도록 동료 및 경영진과 협력해야 합니다. American Airlines는 운영의 여러 측면을 현대화하기로 결정했을 때 이 모든 것과 그 이상을 얻었습니다.

American Airlines는 Microsoft와 협력하여 Power Apps와 Azure를 기반으로 구축된 Microsoft Teams 앱인 ConnectMe를 만들었습니다. 모든 모바일 디바이스에서 앱을 사용하면 일선 팀이 주요 도착, 탑승, 수하물 및 게이트 정보를 실시간으로 손쉽게 확인할 수 있으므로 지상 운영을 간소화하고 항공기 회전 시간을 단축하며 고객에게 보다 즐거운 여행 경험을 제공할 수 있습니다. 항공사의 혁신에 대해 자세히 알아보세요.

지식 근로자를 위한 AI 역량 강화

지식 근로자는 데이터의 바다에서 헤엄치고 있으며, 익사하고 있다고 느끼는 경우가 너무 많습니다. 거의 모든 애플리케이션이 데이터를 수집합니다. 그 중 작업자가 작업을 더 잘 수행하는 데 도움이 될 수 있는 인사이트를 찾는 것은 고사하고 사용자가 수집한 데이터를 이해하는 데 도움이 되는 것은 거의 없습니다. 현대화의 일환으로 AI 기능을 앱에 추가하여 데이터 수집 및 분석을 자동화할 뿐만 아니라 지식 근로자가 패턴과 추세를 더 쉽게 파악할 수 있도록 할 수 있습니다. 예측 분석은 AI 모델을 사용하여 과거 데이터를 기반으로 높은 정확도로 미래 결과를 예측할 수 있으므로 리더가 자신 있게 계획할 수 있습니다. 현대화된 앱에는 Copilot AI가 포함될 수 있으며, 인터뷰 요약, 타겟 마케팅 및 영업 메시지 초안 작성, 고객 서비스 담당자 또는 영업 직원이 고객과 전화 통화를 하는 동안 실시간으로 유용한 정보를 제공하는 등 상황에 맞는 콘텐츠를 생성하는 파트너 역할을 할 수 있습니다.

레거시 앱 현대화를 위한 점진적인 여정

조직이 대부분과 같다면 현대화의 이점을 누릴 수 있는 오래된 애플리케이션의 백로그가 증가하고 있습니다. 레거시 애플리케이션은 일반적으로 구식 기술을 사용하며 더 이상 지원되지 않는 인프라(하드웨어 및 소프트웨어)를 기반으로 구축됩니다. 일반적으로 은퇴를 앞둔 소수의 직원만이 자신이 어떻게 일하는지 알고 있는 경우가 많습니다. 신입 직원들은 그들이 익숙하거나 사용하고 싶어하는 최신 도구를 사용할 수 없기 때문에 이들과는 전혀 관련이 없고 싶어합니다. 업데이트는 고사하고 유지 관리하려면 더 올라갈수록 기술 부채의 산이 더 높아져서 이를 극복해야 합니다. 수년, 어쩌면 수십 년에 걸친 짜깁기식 유지 관리로 인해 누구도 감히 건드릴 수 없는 코드베이스가 생성되며, 특히 비즈니스의 주요 부분이 코드베이스에 의존하는 경우에는 더욱 그렇습니다.

조직은 이러한 애플리케이션을 한 번에 쉽게 교체할 수 없는 경우가 많습니다. 대신 점진적인 현대화 여정에 착수합니다. 점진적 접근 방식은 현대화의 이점을 극대화하는 동시에 모든 것을 건 일회성 현대화 노력의 일부 위험을 완화합니다.

앱 현대화를 위한 옵션

현대화가 항상 레거시 앱을 처음부터 다시 빌드하는 것을 의미하지는 않습니다. 다른 옵션은 사용 중지, 교체, 다시 호스팅, 리팩터링 및 재설계입니다.

다음 표에서는 각 옵션, 가장 적절한 경우 ALM 단계 및 선택에 영향을 줄 수 있는 드라이버에 대해 설명합니다.

수명 종료

마이그레이션

현대화

사용 중지

Replace

재호스팅

리팩터링

재설계

재구축

Description

앱 제거

앱을 SaaS 또는 다른 앱으로 바꾸기

클라우드에 있는 그대로 재배포

기존 코드 최적화

코드를 새로운 애플리케이션 아키텍처로 전환하거나 마이크로서비스로 분할

원래 범위와 사양으로 앱을 처음부터 다시 작성

드라이버

더 이상 필요하지 않음

비용 절감

자본 비용 절감

최신 기술 활용

자본 비용 절감

데이터 스토리지 복구

빠른 클라우드 ROI

더 빠르고 더 짧은 업데이트

이식 가능성이 더 높은 코드

리소스, 속도, 비용의 클라우드 효율성 향상

성능 향상

기술 부채 감소

확장성, 안정성 및 유지 관리성 향상

새로운 클라우드 기능의 간편한 도입

기술 스택 혼합

혁신 가속화

개발 가속화

운영 비용 절감

Microsoft 기술

Power Apps

Dynamics 365

Azure IaaS

Azure VMWare

Power Platform

컨테이너

Azure PaaS

Power Platform

Azure PaaS

서버리스 마이크로서비스

Power Platform

Azure PaaS

서버리스 마이크로서비스

다음 표에서는 로우코드 접근 방식을 각 앱 현대화 옵션에 적용할 수 있는 방법을 제안합니다.

옵션 Description
재호스팅 재호스팅은 앱이 있는 그대로 이전 환경에서 최신 환경으로 이동합니다. 로우코드 접근 방식은 직접 적용되지 않지만 로우코드 솔루션을 포함하는 다른 전략을 적용하기 전에 재호스팅이 첫 번째 단계가 될 수 있습니다.
리팩터링 또는 아키텍처 변경 리팩터링은 앱이 클라우드 우선 환경의 이점을 최대한 활용할 수 있도록 코드를 조정합니다. 아키텍처를 변경하면 코드가 크게 수정됩니다. 여기에는 커넥터를 통해 로우코드 솔루션에 노출될 수 있는 API로 이동하여 기존 논리를 캡슐화하는 것이 포함될 수 있습니다.
바꾸기 또는 재구축 바꾸면 앱이 다른 앱으로 바뀝니다. 재구축은 앱을 처음부터 다시 만듭니다. 이 옵션은 일반적으로 로우코드 접근 방식이 최상의 비즈니스 결과를 달성하는 경우입니다. Dynamics 365 또는 Microsoft AppSource의 애플리케이션으로 시작하면 사용 사례가 사전 구축된 기능과 일치할 때 현대화를 시작하는 데 도움이 될 수 있습니다. 그런 다음 조직은 Power Platform 구성 요소를 사용하여 고유한 요구 사항에 맞게 앱을 사용자 지정할 수 있습니다.

Power Platform의 로우코드 접근 방식은 단순한 개발 도구 이상의 것을 제공할 수 있는 잠재력을 가지고 있습니다. 로우코드를 최신 앱 전략의 일부로 만들면 주제 전문가와 같은 비개발자가 현대화 작업에 참여할 수 있는 기반을 구축할 수도 있습니다. 조직은 Power Platform을 중심으로 CoE(Center of Excellence)를 설정하고 CoE 스타터 키트와 같은 도구를 사용하여 지침 및 거버넌스를 만들면 사용자가 로우코드 앱 및 자동화를 성공적으로 빌드하고 API 및 구성 요소와 같은 자산을 재사용할 수 있다는 것을 발견했습니다. 로우코드는 애플리케이션 개발을 가속화하고 조직이 데이터의 위치에 관계없이 데이터에서 더 빠르게 가치를 추출하는 데 도움이 될 수 있습니다. 실제로 많은 조직이 로우코드 사고방식을 기업 문화에 통합하기로 결정합니다.

현대화 여정 가이드

레거시 앱 현대화에 대해 생각하기 시작하면 압도되기 쉽습니다. 가이드는 여정을 계획하고 올바른 길로 안내하는 데 도움이 될 수 있습니다. 시작하기에 좋은 곳은 이 세 단계로 시작하는 것이며, 각 단계를 로우코드 사고방식으로 고려하는 것입니다.

  1. 계획. 레거시 애플리케이션을 현대화하기 위한 목표에 대해 신중하게 생각하고 이를 달성하기 위한 전략을 정의합니다. 현대화를 통해 해결하고자 하는 문제에 대한 명확한 설명이 있어야 합니다. 지금은 작동하지 않는 것, 효과가 있지만 개선할 수 있는 것, 그리고 가장 중요하게는 변경으로 인해 비즈니스 또는 사용자에게 어떤 가치가 있는지 눈으로 앱과 환경을 평가해야 할 때입니다. 로우코드 접근 방식을 활용할 수 있는 잠재력에 대해 각 현대화 기회를 평가합니다. 로우코드 솔루션을 통합하는 기회의 우선 순위를 정합니다. 클라우드 도입 전략 평가기를 사용하여 애플리케이션 현대화를 위한 비즈니스 사례를 구축하세요.

  2. 구현. 앱을 점진적으로만 현대화하는 것이 아니라 반복적으로 현대화하세요. 반복적인 접근 방식을 통해 조직은 필요에 따라 프로젝트 범위나 전략을 유연하게 변경할 수 있습니다. Power Platform 로우코드 솔루션은 기존에 개발된 앱보다 더 빠르게 개발 및 테스트할 수 있으며, 관리형 환경에 배포하려면 몇 단계만 거치면 됩니다. 로우코드는 기존 코딩보다 업스킬링이 덜 필요하지만, 로우코드와 기존 리소스를 혼합하는 융합 팀으로 일하는 방법에 대해 직원이 적절하게 교육을 받았는지 확인해야 합니다.

  3. 작업. 앱 현대화는 구현에서 그치지 않습니다. 로우코드, 클라우드 우선 접근 방식을 통해 클라우드 플랫폼 서비스 및 도구를 사용하여 앱을 보호, 제어, 관리 및 최적화할 수 있습니다.

로우코드 솔루션에 대한 기회 평가

조직은 비공식 검토에서 상세한 의사 결정 트리에 이르기까지 다양한 방법을 사용하여 로우코드 접근 방식이 레거시 앱을 현대화하는 올바른 방법인지 여부를 결정합니다. 고려해야 할 가장 중요한 점은 로우코드가 양자택일의 결정이 아니라는 것입니다. Power Platform 구성 요소에서 애플리케이션의 일부를 빌드하고 기존 코딩 기술을 사용하여 개발된 구성 요소에서 일부를 빌드하는 것이 일반적입니다.

애플리케이션을 평가하려면 먼저 애플리케이션이 여전히 필요하고 유용한지 또는 사용 중지해야 하는지 여부를 결정하는 것이 좋습니다. 여전히 필요하다고 판단되면 로우코드 솔루션이 앱 전체를 대체할 수 있는지 여부를 평가합니다. 전체 앱이 로우코드 대체에 적합하지 않은 경우 앱의 워크로드 또는 구성 요소 중 하나 이상이 적합한지 여부를 평가합니다. 기존에 개발된 코드로 확장된 로우코드 솔루션은 두 가지 장점을 모두 제공한다는 것을 알 수 있습니다.

예를 들어, Power Apps에 필요한 컨트롤이 없어서 애플리케이션이 적합하지 않다고 판단되면 Power Apps component framework(PCF)와 기존 코드를 사용하여 사용자 지정 컨트롤을 빌드할 수 있습니다. 또 다른 예는 복잡한 논리가 있는 앱입니다. Power Apps가 사용자 지정 커넥터를 사용하여 액세스할 수 있는 API에서 논리를 중앙 집중화할 수 있습니다. 이 두 가지 예시 모두에서 Power Platform 확장성을 통해 대부분의 앱을 로우코드 구성 요소로 빌드할 수 있어 기존에 개발된 코드와의 격차를 해소할 수 있었습니다.

독점적인 온라인 보험 쇼핑 플랫폼인 NSure.com는 실제 사례를 제공합니다. 이 회사의 초기 출시는 전통적으로 개발된 Angular, Xamarin 및 Azure 서비스에 의존했습니다. Power Platform과 Dynamics 365를 추가함으로써, NSure.com는 다음 다이어그램과 같이 로우코드와 기존 코딩 기술을 모두 사용하는 차세대 솔루션을 만들었습니다. 회사의 여정에 대해 자세히 알아보세요.

기존 코드와 로우코드 구성 요소를 모두 통합한 Nsure.com의 보험 견적 프로세스를 보여주는 다이어그램입니다.

로우코드 기회를 식별하는 것만큼 중요한 것은 로우코드 접근 방식이 옳지 않을 때를 인식하는 것입니다. 다음 표에서는 일반적으로 로우코드 솔루션에 적합하지 않은 사용 사례에 대해 설명합니다. 조직은 프론트엔드와 백엔드에서 서로 다른 문제에 직면해 있으므로 별도로 고려해 보겠습니다.

로우코드 접근 방식에 맞지 않는 프런트 엔드 시나리오

시나리오 과제
사용자 디바이스가 호환되지 않습니다 Power Platform은 모바일 디바이스 및 바코드 스캐너와 같은 특수 장치를 인식합니다. 특정 API 또는 드라이버에 의존하는 디바이스는 지원되지 않을 수 있으며 보다 일반적인 접근 방식이 필요합니다.
높은 볼륨의 클라이언트 측 데이터 일부 애플리케이션의 사용자 경험에는 많은 양의 데이터가 필요하며, 이는 로우코드뿐만 아니라 모든 기술에 대한 과제입니다. 이렇게 많은 데이터를 다운로드하고 처리하면 백엔드 시스템에 스트레스가 가해지고 앱과 앱이 실행되는 기기의 성능이 저하될 수 있습니다. 사용자는 데이터의 바다를 탐색해야 할 때 생산성이 떨어집니다. 부하를 처리하기 위해 기존 코딩 방법으로 전환하기 전에 적절한 필터링 및 탐색이 더 나은 사용자 경험을 제공할 수 있는지 살펴보십시오.
복잡한 오프라인 요구 사항 연결이 좋지 않거나 존재하지 않는 장소에서 작동해야 하는 애플리케이션은 로우코드를 사용하든 기존 코드를 사용하든 구현하고 지원하기가 어려울 수 있습니다. Power Apps는 간단한 오프라인 시나리오를 위한 기본 기능을 제공합니다. 예를 들어 이벤트 중에 잠재 고객을 캡처하고 이벤트 후에 마케팅 데이터베이스에 업로드하는 앱은 제대로 작동합니다. 파일 및 이미지, 비-Dataverse 커넥터 또는 복잡한 충돌 해결이 필요한 애플리케이션의 경우 기존 코드 기술을 살펴봐야 합니다.

로우코드 접근 방식에 맞지 않는 백 엔드 시나리오

시나리오 과제
고속 데이터 마이그레이션 및 유사한 이벤트의 일부로 수백만 행의 데이터를 가져오는 것은 일반적으로 지원됩니다. 그러나 매시간 또는 매일 수백만 행의 데이터를 처리하는 워크로드는 더 많은 평가를 받아야 합니다. 예를 들어, 대량의 사물 인터넷(IoT) 원격 분석을 Dataverse에 수집하는 것은 의미가 없습니다. 대신 Azure 클라우드 서비스를 사용하여 애플리케이션에서 작업을 트리거하기 위해 Dataverse에 추가된 데이터 및 관련 신호를 수집하고 분석할 수 있습니다. 정기적으로 Dataverse 데이터에 대한 많은 양의 업데이트가 필요한 애플리케이션은 업데이트를 확장하기 위해 기존 코드의 도움이 필요할 수 있습니다.
복잡한 논리를 사용하는 백그라운드 워크로드 복잡한 논리 또는 많은 양의 API 호출을 포함하는 백그라운드 워크로드는 로우코드 솔루션에 적합하지 않을 수 있습니다. 대신, 로직은 로우코드 솔루션이 호출할 수 있는 API에 중앙 집중화될 수 있습니다.
비-RESTful 프로토콜을 사용하는 API Power Platform 커넥터는 REST API만 지원합니다. SOAP 또는 gRPC와 같은 다른 스타일 API에 연결해야 하는 경우 호환되지 않는 API와 통신하는 고유한 REST API를 제공합니다.

Power Platform 릴리스 웨이브는 로우코드 솔루션으로 수행할 수 있는 작업의 격차를 계속 좁히기 때문에 이를 따라잡는 것이 좋습니다. 로우코드 개념 증명을 만드는 것은 시나리오가 적합한지 여부를 확인하는 좋은 방법입니다.

로우코드 영업 기회 우선 순위 지정

애플리케이션 포트폴리오를 평가할 때 로우코드 변환에 적합한 후보를 식별하는 것만으로는 충분하지 않습니다. 팀은 현대화 노력의 성공을 극대화하기 위해 우선 순위를 지정해야 합니다.

우선 순위를 지정할 때는 다음 요소를 고려해야 합니다.

  • 조직의 로우코드 성숙도
  • 영업 기회의 복잡성
  • 조직, 사용자 및 IT를 위한 ROI
  • 가치 실현 기간

조직의 로우코드 기능에 대해 현실적으로 생각하면 팀의 성장에 도전하지만 실패를 압도하지 않는 기회를 선택하는 데 도움이 될 수 있습니다. 어려움 없이 가장 간단한 애플리케이션을 선택할 필요가 없습니다. 이상적인 방법은 기존 코드와 로우코드 솔루션을 결합하는 방법을 탐색할 수 있는 몇 가지 기회를 제공하는 것입니다.

다른 시스템과 복잡하게 통합된 애플리케이션은 시작하기에 가장 좋은 곳이 아닌 경우가 많습니다. 너무 크거나 너무 복잡한 애플리케이션을 처리하려고 하면 좌절과 실패로 이어질 수 있습니다. 의심스러운 로우코드 후보는 피하십시오. 팀이 몇 가지 성공적인 현대화를 완료한 후를 위해 저장합니다.

대규모 모놀리식 앱을 현대화할 때 앱의 작은 부분을 점진적으로 현대화할 수 있는지 여부를 고려합니다. 예전에는 모놀리식 애플리케이션이 일반적이었습니다. 이제는 더 작은 역할 또는 작업 중심 앱이 더 일반적입니다. 이를 통해 점진적인 개발 및 개선이 가능하며 이를 구축하는 팀의 확장이 가능합니다.

처음 몇 가지 현대화는 조직에서 로우코드 솔루션의 영향을 확인할 수 있게 해주기 때문에 중요합니다. 앱의 이해 관계자에 대한 이점과 위험을 평가하는 것은 기회의 우선 순위를 지정할 때 중요합니다. 아무도 신경 쓰지 않거나 조직에 미치는 영향이 적은 애플리케이션을 선택하는 것은 로우코드 솔루션의 장점을 가장 잘 보여주는 것이 아닙니다.

현대화된 애플리케이션의 사용자 채택이 중요합니다. 사용자는 새로운 로우코드 애플리케이션이 사용하는 나머지 애플리케이션과 잘 어울린다고 느껴야 합니다. 채택에 대한 또 다른 위험은 익숙한 사용자 지정의 정도입니다. 고도로 맞춤화된 경험을 기대한다면 덜 개인적인 느낌의 로우코드 솔루션을 채택하는 경향이 적을 수 있습니다.

팀을 구성하고 기술을 향상시키세요

레거시 앱을 성공적으로 현대화한 조직은 기존 코드 개발자 팀에게 현대화 프로젝트를 할당하고 성공하기를 바라지 않습니다. 현대화 작업을 성공적으로 완료하는 데 필요한 로우코드 개발에 대한 지식과 자신감을 팀에 제공하는 것이 중요합니다.

기존 코드 리소스와 함께 작동하는 로우코드 리소스 팀을 퓨전 팀이라고 합니다. 퓨전 팀은 로우코드 솔루션을 기존 코드와 통합하는 방법에 대해 두 가지 유형의 리소스를 모두 교육하여 협업을 장려하도록 설계되었습니다. 솔루션 설계자는 로우코드와 기존 코드 간에 솔루션을 설계하는 방법을 설정합니다.

기본적으로 모든 작업을 기존 개발자에게 할당하는 것은 쉽지만 로우코드 현대화 노력은 프로젝트 팀을 확장할 수 있는 좋은 기회입니다. 많은 비즈니스 사용자가 뛰어난 로우코드 리소스를 만듭니다. 그들은 이미 비즈니스 문제를 이해하고 있기 때문에 팀의 작업을 가속화할 수 있습니다. 팀이 수행하는 유형의 로우코드 작업을 완료하는 방법을 배우고 테스트 및 ALM 절차에 익숙해지기만 하면 됩니다. 이는 Power Apps에서 앱을 빌드하는 방법 또는 Power Automate에서 워크플로를 빌드하는 방법을 배우는 것을 의미할 수 있습니다. 또한 기존 코더가 로우코드 작업을 더 쉽게 하기 위해 무엇을 개발할 수 있는지 이해해야 합니다. 그렇다고 해서 기존 코드를 작성하는 방법을 알아야 하는 것은 아닙니다.

기존 코드 리소스에는 로우코드 접근 방식과 이러한 접근 방식이 일반적으로 작성하는 코드와 어떻게 다른지에 대한 기본 지식이 있어야 합니다. 가장 중요한 것은 로우코드 솔루션의 확장성 옵션을 배워야 한다는 것입니다. 사용자가 작성한 코드를 사용하는 테스트 앱 또는 흐름을 만드는 데 익숙해야 하며, 이를 통해 작동하는지 확인하고 확장성 자산을 사용할 때 로우코드 리소스를 지원할 준비가 되어 있어야 합니다.

로우코드 및 기존 코드 리소스 모두 로우코드 및 기존 코드 솔루션이 시작되고 끝나는 위치와 교차하는 위치를 이해해야 합니다.

요구 사항 수집

10년 이상 되어 문서화되지 않은 앱이 있을 수 있습니다. 다시 만들려면 리버스 엔지니어링 또는 비즈니스 사용자 지식이 필요할 수 있습니다. 로우코드 접근 방식은 효율적이지만 요구 사항 및 비즈니스 프로세스 지식을 더 빠르게 수집하거나 복잡한 요구 사항을 덜 복잡하게 만들지는 않는다는 점을 기억하는 것이 중요합니다. 앱을 현대화하는 팀이 로우코드로 새 앱을 빌드하는 팀만큼 많은 것을 성취할 것이라는 비현실적인 기대가 있는 경우가 많습니다. 이러한 과제를 염두에 두고 조직의 기대치를 설정합니다.

두 가지 접근 방식은 레거시 앱에 대한 지식을 얻는 노력을 가속화하는 데 도움이 될 수 있습니다. 먼저, 도메인 지식이 있는 비즈니스 사용자를 포함하도록 팀을 확장합니다. 둘째, 레거시 시스템에서 구현되는 방식을 문서화하기보다는 비즈니스 프로세스와 원하는 결과를 이해하는 데 집중합니다. 이에 대한 예외는 레거시 애플리케이션에 따라야 하는 비즈니스 규칙을 실행하는 특수 논리가 필요한 경우입니다.

로우코드 접근 방식에 반하는 작업을 피하십시오

로우코드 솔루션으로 애플리케이션을 현대화하는 데 익숙하지 않은 조직은 기존 코드를 개발하는 것과 동일한 방식으로 로우코드를 개발하는 실수를 범하는 경우가 많습니다. 예를 들어 조직은 Angular 앱용으로 작성된 UX 표준을 첫 번째 Power Apps 구현에 적용할 수 있습니다. 프로젝트 팀은 비즈니스 요구 사항이 아닌 Angular 프레임워크 기능을 위해 설계된 표준을 충족하는 데 불필요한 시간을 소비할 것입니다.

기존 코드로 작업하는 데 익숙한 팀은 로우코드를 최소화하려고 할 수 있습니다. 예를 들어 Power Apps 컨트롤을 사용하는 대신 팀은 가능한 한 로우코드를 사용하지 않도록 Power Apps component framework 컨트롤에서 애플리케이션을 빌드할 수 있습니다. 팀은 해결할 수 없는 차단기에 도달할 때까지 로우코드로 최대한 멀리 가는 것이 가장 좋습니다. 플랫폼의 기능을 활용하는 방법을 배우는 팀은 로우코드의 이점을 최대한 활용하는 데 더 성공적입니다. 로우코드는 기존 코드로만 가능했던 작업을 능력이 계속 향상되고 있다. 과거의 일반적인 문제는 로우코드가 필요한 일부 기능을 복제할 수 없기 때문에 중단되는 것이었습니다. Power Platform은 대부분 로우코드 애플리케이션이 필요한 경우 기존 코드로 작성된 특수 구성 요소를 통합할 수 있도록 하는 확장성 옵션을 통해 이러한 문제를 해결합니다.

로우코드 접근 방식은 현대화 전략에서 중요한 역할을 할 수 있습니다. 최상의 결과를 얻으려면 현대화 노력이 해결하고자 하는 문제에 대한 명확한 설명, 계획, 기본 역할을 넘어서는 인력 배치, 교육 및 우선 순위 지정이 필요합니다. 필요한 경우 표준과 프로세스를 적절하게 조정하면 조직이 로우코드의 잠재력을 최대한 실현하는 데 도움이 됩니다. 현대화가 제대로 수행되면 현대화된 애플리케이션의 전반적인 비즈니스 가치가 향상됩니다.

로우코드 플랫폼은 최근 몇 년 동안 빠르게 발전했습니다. 항상 개별 생산성 시나리오를 잘 지원해 왔지만 최근에는 엔터프라이즈 기능에 중점을 두고 있습니다. 조직은 하이브리드 작업(원격 및 현장)과 협업을 장려하는 방법에 대한 수반되는 필요성을 포함하여 최신 작업 공간을 지원하는 로우코드 애플리케이션을 구축하고 있습니다. Power Platform과 같은 로우코드 플랫폼은 이제 조직의 모든 사용자가 신뢰할 수 있고 엔터프라이즈 보안 모델에 통합할 수 있는 애플리케이션을 처리하도록 확장할 수 있습니다. 로우코드 기능을 엔터프라이즈 인프라에 연결하면 로우코드 기술을 기존 방법과 나란히 사용할 수 있습니다. 로우코드는 복잡성의 상당 부분을 추상화하고 더 많은 사람들이 솔루션 구축에 참여할 수 있도록 합니다.

로우코드 접근 방식의 비용 구조 이해

조직이 현대화 작업을 고려할 때 묻는 일반적인 질문은 비용이 얼마나 드는가 하는 것입니다. 라이선싱 및 비용 분석에 대한 자세한 설명은 이 문서의 범위를 벗어나지만 이러한 주제를 개략적으로 살펴볼 수 있습니다.

Power Platform 제품은 라이선스가 있는 제품입니다. 요구 사항에 맞게 개별적으로 라이선스를 부여할 수 있습니다. 종량제에 대한 Azure 청구를 구성할 수 있으며, 이 경우 선불 라이선스 약정 또는 구매 없이 사용할 수 있으며 일부 앱 내 Power Automate 사용량이 포함됩니다. Power Automate에는 독립 실행형 작업을 위한 사용자당 및 흐름당 라이선스도 있습니다. 흐름별 라이선싱은 전체 조직에 도움이 되는 자동화가 있을 때 잘 작동합니다. Power Apps 라이선스는 사용자당 또는 앱당일 수 있습니다. Power Pages 사이트는 사용자, 사이트 또는 월별로 라이선스가 부여됩니다. 인증된 사이트에는 추가 라이선스가 필요합니다. 모든 라이선스에는 커넥터 및 Dataverse 사용이 포함되며, 대용량 시나리오에 대해 더 많은 스토리지 및 API 요청에 라이선스를 부여할 수 있는 옵션이 있습니다.

모든 Power Platform 제품에는 애플리케이션 현대화 노력에 일반적으로 적용되는 대량 가격 책정이 있으며 각 조직의 고유한 전략에 대해 평가해야 합니다.

기존 코드와 비교하여 로우코드의 비용을 평가할 때 비교가 사과 대 사과가 아니라는 점을 인식하는 것이 중요합니다. 로우코드를 사용하면 로우코드 제품에서 고유한 비즈니스 프로세스를 구현하기 위한 인건비와 이를 사용하기 위한 제품 라이선스에 대한 비용을 지불합니다. 일반적으로 라이선스에는 여러 앱과 자동화가 포함되며 각 앱에는 더 많은 비용이 필요하지 않습니다.

기존 코딩 접근 방식을 사용하면 코드에서 고유한 비즈니스 프로세스를 구현하는 데 필요한 인건비, 앱의 인프라를 구축하는 데 필요한 인건비, 앱을 지원하는 데 필요한 클라우드 서비스에 대한 비용을 지불합니다.

로우코드든 기존 코드든 모든 솔루션은 지속적인 유지 관리와 유지 관리가 필요합니다. 그러나 로우코드 솔루션은 이를 수행하는 데 더 적은 리소스가 필요합니다. 또한 앱 인프라가 플랫폼에서 제공되기 때문에 기술 부채가 적습니다.

로우코드 플랫폼 위에 구축되지 않은 완전 맞춤형 애플리케이션과 비교할 때 로우코드 솔루션은 더 예측 가능한 비용이 있습니다. 로우코드 라이선싱을 기존 코드 배포의 초기 비용과 비교하는 함정에 빠지지 마십시오.

Power Platform 살펴보기

Power Platform 구성 요소는 기존 코딩 방법을 사용하는 경우 사용할 수 있는 것과 동일한 Microsoft Azure 클라우드 서비스를 기반으로 합니다. 이러한 구성 요소를 서로 통합하고 보안, 확장성 및 재해 복구 기능과 통합했습니다.

내부 Dataverse

Dataverse는 Functions, Load Balancer, Cognitive Services, Synapse, DevOps, Active Directory 및 Microsoft Purview와 같은 25개 이상의 완전 관리형 Azure 서비스를 통해 구동됩니다. 기본 제공 기능에는 포괄적인 보안, 강력한 분석, AI, 고급 비즈니스 로직 및 이벤트 처리, 데이터 모델링, Dynamics 365, Microsoft 365, Azure 등과의 통합이 포함됩니다. 이러한 모든 기능은 Azure SQL DB(관계형 데이터용), Azure Cosmos DB(NoSQL용), Azure Blob Storage(파일용) 및 Azure Data Lake Storage Gen 2(대규모 분석 및 장기 데이터 보존용)를 기반으로 하는 다국어 Dataverse 스토리지 레이어를 기반으로 합니다. Power Platform의 로우코드 구성 요소와 Dataverse REST API를 통해 투명하게 사용할 수 있습니다.

고가용성 및 BCDR(비즈니스 연속성 및 재해 복구)은 비즈니스 중요 애플리케이션에 필수적입니다. Dataverse는 Azure 안정성 서비스로 가용성을 극대화합니다. 기본 및 보조 서버의 복제는 동기식이며, 그 아래에 패브릭이 있어 오류를 감지하고 정확성 프로토콜에 따라 새 기본 서버를 선택할 수 있습니다. Azure 지역 내에서 발생하는 고가용성 장애 조치(failover)는 원활하며 사용자가 거의 알아차리지 못하며 일반적으로 몇 초 만에 발생합니다. 중단이 계획된 것이든 계획되지 않은 것이든 관계없이 데이터 손실이 없음을 보장합니다.

재해 복구 장애 조치(failover)는 두 개의 Azure 지역 간에 발생합니다. 데이터 손실을 최소화하면서 장애 조치(failover)를 더 빠르게 수행할 수 있도록 비동기 복제를 사용하여 재해 복구 연속 복사를 유지 관리합니다. 계획된 장애 조치(failover)는 데이터 손실이 발생하지 않으며 프로덕션 환경의 경우 일반적으로 몇 초 또는 몇 분 내에 완료할 수 있습니다.

고가용성 및 BCDR의 기술적 구현 외에도 운영 팀은 다양한 유형의 이벤트에 대응할 준비가 되어 있는지 정기적으로 테스트합니다.

내부 Power Automate

Power Automate 클라우드 흐름은 Azure Logic Apps를 기반으로 빌드됩니다. Power Automate는 추상화 및 Power Apps와 같은 다른 로우코드 구성 요소와의 통합을 제공하며 Logic Apps 런타임 엔진을 사용합니다. Logic Apps에 익숙한 개발자는 Power Automate가 표현식 언어를 포함하여 유사한 개념을 사용한다는 것을 알 수 있습니다.

내부 Power Apps

Power Apps 런타임 엔진은 React 프레임워크를 기반으로 합니다. 애플리케이션은 끌어서 놓기 인터페이스를 사용하여 화면을 빌드하는 Power Apps 디자이너에서 빌드됩니다. Power Fx 수식은 논리를 구현합니다. 커넥터는 재사용 가능한 시각적 확장을 허용하는 다른 서비스와 논리 및 구성 요소에 대한 앱의 액세스를 확장합니다. 개발자는 Power Apps Component framework(PCF)를 사용하여 사용자 지정 컨트롤을 만들 수 있습니다. 많은 UI 프레임워크를 PCF와 함께 사용할 수 있지만 Power Apps에는 React에 대한 기본 제공 지원이 있습니다.

내부 커넥터

커넥터는 Azure API Management를 사용하여 각 사용자의 자격 증명 및 연결을 관리합니다.

Power Apps, API Management, 커넥터 및 데이터 원본이 함께 작동하는 것을 보여주는 다이어그램입니다.

자체 API에 대해 만드는 사용자 지정 커넥터를 포함하여 모든 커넥터에 동일한 아키텍처가 사용됩니다. Azure API Management를 사용하면 모든 커넥터에서 Power Apps 및 Power Automate와 같은 Power Platform 제품에 대한 일관된 인터페이스가 보장됩니다.

Dataverse 커넥터는 예외입니다. 앱 및 흐름에 대한 커넥터 목록에 표시되지만 다르게 구현됩니다. 앱 또는 흐름이 Dataverse 데이터 또는 작업을 사용하는 경우 상호 작용은 Dataverse의 OData API를 통해 직접 이루어집니다.

Power Apps가 OData API를 통해 Dataverse에 연결됨을 보여주는 다이어그램입니다. Power Apps는 OData 요청을 보내고 Dataverse는 데이터를 반환합니다.

Power Platform 확장성 옵션

확장성은 Microsoft Power Platform을 다른 로우코드 플랫폼과 차별화하는 핵심 기능입니다. 플랫폼의 기본 원칙은 "절벽이 없다"는 것입니다 - 기존 코드가 필요하더라도 로우코드를 사용하여 무언가를 달성하는 데 방해를 받아서는 안 됩니다. 필요한 경우 기존 코드를 사용하여 전체 워크로드를 더 큰 앱의 일부로 빌드할 수 있습니다. 그러나 플랫폼은 동일한 워크로드에서 로우코드와 기존 코드를 함께 사용할 수 있는 많은 확장성 옵션을 제공합니다.

다음 표에서는 몇 가지 일반적인 확장성 옵션에 대한 개략적인 개요를 제공합니다. 그 중 일부는 나중에 현대화에 접근하는 방법과 적용할 수 있는 패턴에 대해 논의할 때 다시 참조합니다.

옵션 Description
API 및 사용자 지정 커넥터 REST API용 사용자 지정 커넥터는 앱 논리를 중앙 집중화하고 안전하고 관리되는 방식으로 로우코드 구성 요소에 노출할 수 있도록 합니다. 애플리케이션 현대화를 위한 API 우선 전략에서 이 접근 방식을 사용할 수 있습니다. 사용자 지정 커넥터는 OpenAPI 문서를 사용하여 로우코드 구성 요소가 REST API와 상호 작용할 수 있는 방법을 정의합니다. 예를 들어 Azure Functions를 사용하여 API를 만들고 Azure API Management에 게시할 수 있습니다. Azure API Management는 OpenAPI 정의를 내보내 로우코드 솔루션에서 사용할 사용자 지정 커넥터를 자동으로 만들 수 있습니다. 이 접근 방식은 클라이언트 애플리케이션을 API에서 분리하여 독립적으로 발전할 수 있도록 합니다. API는 중앙에서 관리되며, API를 직접 노출하지 않고 구독 키, 토큰, 클라이언트 인증서 및 사용자 지정 헤더와 같은 인증 기술을 사용하여 보안 계층을 추가합니다.
Power Apps Component framework Power Apps Component framework는 Power Apps 및 Power Pages에 대한 사용자 지정 시각적 개체를 만들기 위한 확장성 프레임워크입니다. 코드 구성 요소는 HTML, JavaScript 또는 TypeScript를 사용하여 생성됩니다. 코드 구성 요소는 하나 이상의 앱을 빌드하는 데 다시 사용할 수 있는 UI 구성 요소라고 생각하면 됩니다. 구성 요소에는 로우코드 구성 요소가 코드 구성 요소와 상호 작용할 수 있는 방법을 정의하는 매니페스트가 포함되어 있습니다. 구성 요소 인터페이스를 사용하면 호스팅 런타임 엔진이 호스팅 컨테이너의 수명 주기 이벤트를 전달할 수 있습니다. 이렇게 하면 코드 구성 요소가 호스팅 컨테이너에서 제공하는 컨텍스트 정보를 사용하여 시각적 개체를 렌더링할 수 있습니다. 아이디어를 얻으려면 https://pcf.gallery의 커뮤니티 갤러리를 찾아보십시오.
가상 테이블 가상 테이블을 사용하면 외부 시스템에 상주하는 데이터를 더 쉽게 통합할 수 있습니다. 데이터를 복제하지 않고 사용자 지정 코딩이 필요 없이 외부 데이터를 Microsoft Dataverse의 테이블로 원활하게 표현합니다. Dataverse는 OData v4 및 Azure Cosmos DB용 데이터 공급자와 함께 제공됩니다. 현재 프리뷰로 제공되는 가상 커넥터 공급자는 SharePoint 및 SQL Server를 포함한 Power Platform 커넥터의 하위 집합을 포함하도록 사용 가능한 데이터 공급자를 확장합니다. 고급 시나리오의 경우 개발자는 사용자 지정 데이터 공급자를 만들 수 있습니다. 사용자 지정 데이터 공급자를 만들려면 외부 데이터와 Dataverse에 대한 깊은 지식이 필요합니다. 논리에 Power Fx를 사용하여 Dataverse 플러그 인을 만드는 기능은 프리뷰로 제공됩니다.
Dataverse 플러그 인 Dataverse 플러그 인은 특정 이벤트에 대한 응답으로 실행되는 사용자 지정 이벤트 처리기입니다. 플러그 인은 데이터베이스 엔진의 저장 프로시저와 비슷하지만 .NET으로 작성된다고 생각하면 됩니다. 예를 들어 Microsoft Dataverse 데이터 작업을 처리하는 동안 또는 사용자 지정 API 이벤트에 대한 요청 시 이벤트가 발생합니다. 플러그 인은 Dataverse에 업로드 및 등록할 수 있는 .NET Framework 어셈블리로 컴파일된 사용자 지정 클래스로 구현됩니다. 정의된 인터페이스를 사용하여 플러그 인은 처리 중인 이벤트에 대한 컨텍스트 정보를 가져올 수 있습니다. 플러그 인은 Dataverse 트랜잭션의 일부로 실행할 수 있으며 현재 트랜잭션의 일부인 다른 데이터 작업을 수행할 수 있습니다. 플러그 인은 소규모 작업 단위를 위한 것입니다. 전체 성능에 부정적인 영향을 미치지 않도록 성능을 최적화해야 합니다. 플러그 인은 사용자 인터페이스 또는 API의 작업에 관계없이 항상 실행되므로 비즈니스 로직을 일관되게 적용할 수 있는 강력한 방법입니다.

로우코드 현대화 아키텍처 시나리오 살펴보기

대부분의 플랫폼과 마찬가지로 Power Platform 구성 요소 및 기타 Microsoft 클라우드 서비스를 사용하여 무한한 수의 아키텍처 시나리오를 작성할 수 있습니다. 이 문서에서는 몇 가지 일반적인 시나리오를 살펴보고 이러한 시나리오를 사용할 때 유의해야 할 몇 가지 고려 사항에 대해 설명합니다.

애플리케이션 환경

사용자 환경을 현대화하면 사용자에게 큰 차이를 만들 수 있습니다. Power Apps는 Power Platform을 사용하여 내부 애플리케이션 환경을 구축하는 주요 방법입니다. 내부 웹 애플리케이션에 Power Pages를 사용할 수 있지만 외부 연결 애플리케이션에 더 일반적입니다.

Power Apps

워크로드는 사용자가 앱을 전환하지 않고도 많은 작업을 완료할 수 있도록 설계되어야 합니다. 대규모 모놀리식 애플리케이션을 현대화할 때 해당 기능을 여러 앱으로 분할할 수 있습니다. 반대로, 사용자가 여러 앱으로 작업해야 하는 경우 여러 데이터 원본에 대한 통합 보기를 제공하는 단일 앱에 통합할 수 있습니다.

다음 표에서는 Power Apps로 빌드할 수 있는 두 가지 유형의 앱, 캔버스 앱과 모델 기반 앱에 대해 설명합니다.

ap 유형 Description
캔버스 앱 캔버스 앱은 사용자 지정이 가능합니다. 사용자가 상호 작용하는 하나 이상의 화면으로 구성됩니다. 각 화면의 레이아웃과 화면 간 탐색을 제어합니다. 캔버스 앱은 커넥터를 사용하여 데이터를 사용합니다. 단일 앱은 여러 커넥터와 함께 작동할 수 있으므로 여러 데이터 원본을 복합 앱으로 통합하는 데 적합합니다.
모델 기반 앱 모델 기반 앱은 Dataverse를 기본 데이터 원본으로 사용합니다. 하나 이상의 페이지로 구성되며, Dataverse는 테이블 또는 사용자 지정 페이지일 수 있습니다. Dataverse 테이블 페이지는 보고 편집할 수 있도록 세부 정보 페이지로 드릴다운할 수 있습니다. 사용자 지정 페이지는 캔버스 앱 화면과 커넥터의 데이터를 통합할 수 있습니다. 모델 기반 앱에는 사용자 지정 가능한 기본 제공 탐색 구조가 있습니다. 모든 모델 기반 앱에서 일관되므로 사용자 채택에 도움이 됩니다.

다음 다이어그램에서는 캔버스 앱 또는 앱이 데이터 원본에 직접 연결되는 모델 기반 앱의 기본 아키텍처를 보여 줍니다.

데이터 원본에 직접 연결된 간단한 캔버스 앱 또는 모델 기반 앱의 아키텍처 다이어그램입니다.

데이터 원본에 대한 직접 연결을 최소화하기 위해 앱이 데이터 원본에서 필요한 작업을 수행하는 API에 대한 사용자 지정 커넥터를 사용하도록 할 수 있습니다. 이 접근 방식을 사용하면 로우코드 구성 요소에 노출되는 작업을 제어하고 기본 논리의 복잡성을 추상화할 수 있습니다. 다음 다이어그램에서는 이러한 API 우선 접근 방식을 보여줍니다.

사용자 지정 커넥터 및 API를 사용하여 데이터 원본에 연결하는 앱의 아키텍처 다이어그램입니다.

Power Apps는 결과를 애플리케이션에 반환하거나 비동기적으로 실행할 수 있는 Power Automate 클라우드 흐름을 직접 실행할 수도 있습니다.

데이터 리포지토리 또는 API와 함께 Power Apps를 사용하면 레거시 솔루션의 다른 부분에 대한 중단을 최소화하면서 사용자 경험을 현대화할 수 있습니다. 또한 이 접근 방식을 사용하면 여러 레거시 시스템을 단일 애플리케이션에 연결하여 사용자가 한 곳에서 작업을 완료할 수 있습니다.

Power Pages

Power Pages의 기본 데이터 원본은 Dataverse입니다. 웹 사이트에 페이지를 추가할 때 페이지 정의를 Dataverse에 저장합니다. 페이지는 Dataverse 데이터를 표시하고 사용자로부터 데이터를 수집하여 Dataverse 테이블에 저장할 수 있습니다.

내부 사용자의 경우 Microsoft Entra ID를 사용하거나 외부 사용자의 경우 ID 공급자를 사용하여 익명 액세스 또는 인증된 액세스를 위해 페이지를 구성할 수 있습니다. 인증된 사용자가 데이터에 액세스하면 액세스 권한이 있는 데이터만 사용할 수 있습니다.

Power Pages 사이트의 일반적인 애플리케이션은 외부 사용자에게 조직의 비즈니스 프로세스에 대한 셀프 서비스 액세스를 제공하는 것입니다. 내부 사용자는 Power Apps 애플리케이션을 사용할 수 있습니다. 다음 다이어그램에서는 이러한 아키텍처를 보여 줍니다.

외부 연결 Power Pages 사이트를 통해 Dataverse 데이터에 액세스하는 외부 사용자와 Power Apps 앱을 통해 내부 사용자를 보여주는 다이어그램입니다.

데이터 관리

애플리케이션 현대화를 위해서는 전체 솔루션에 사용되는 데이터를 평가해야 합니다. 현대화된 애플리케이션에는 데이터 처리를 위한 여러 옵션이 있습니다. 대부분의 경우 여러 애플리케이션이 동일한 데이터 리포지토리를 사용합니다. 애플리케이션 중 하나를 현대화하는 과정에서 데이터를 새 리포지토리로 마이그레이션하는 것이 어려워집니다. Power Platform의 핵심 신조는 데이터를 현재 위치에서 사용하거나 Dataverse 또는 데이터 레이크의 플랫폼으로 가져올 수 있다는 것입니다.

현대화된 애플리케이션의 데이터 아키텍처에 대해 다음과 같은 옵션이 있습니다.

  • 데이터를 그대로 두기: 사용자 지정 커넥터가 있는 커넥터 또는 API를 사용하여 데이터가 있는 데이터에 액세스합니다. 데이터가 온-프레미스에 있는 경우 데이터 게이트웨이는 보안 연결을 용이하게 할 수 있습니다. 가상 테이블을 사용하여 호환되는 외부 데이터를 Dataverse 테이블로 통합합니다.

  • Dataverse로 마이그레이션: Dataverse는 트랜잭션 데이터 및 여러 원본을 단일 레코드 시스템으로 통합하는 데 적합한 옵션입니다. Power Query 및 자동화된 흐름을 사용하여 여러 원본에서 데이터를 매핑하고 마이그레이션할 수 있습니다. 또한 Dataverse는 비구조적 또는 반구조적 형식으로 저장된 대용량 데이터를 수집하도록 설계된 탄력적 테이블을 지원합니다.

  • 데이터 레이크로 마이그레이션: 기록, 분석 또는 원격 분석 데이터의 경우 데이터 레이크를 사용합니다. 레이크의 데이터는 Power BI 분석을 생성하는 데 사용하거나 처리하여 AI 기반 인사이트를 생성하는 데 사용할 수 있습니다.

현대화된 애플리케이션의 데이터 아키텍처에 대한 옵션을 평가할 때는 다음 사항을 고려하세요.

  • 다른 애플리케이션에 미치는 영향: 보다 효율적인 데이터 저장소로 마이그레이션하는 것이 한 애플리케이션에는 이상적일 수 있지만 데이터를 사용하는 다른 애플리케이션에 대한 초기 영향은 너무 클 수 있습니다. 일부 조직에서는 이전 데이터 저장소에 데이터를 두고 Dataverse에서 새 데이터를 만들어 더 많은 애플리케이션이 현대화됨에 따라 이전 저장소에서 마이그레이션하는 것을 고려합니다.

  • 새 애플리케이션에 미치는 영향: 오래된 데이터 저장소에 데이터를 남겨두는 것은 쉽지만 현대화된 애플리케이션이 데이터를 얼마나 쉽게 사용할 수 있는지에 부정적인 영향을 미칠 수 있습니다. 오래된 데이터 저장소는 다른 클라우드 서비스와의 통합이 좋지 않아 새로운 전체 아키텍처에 데이터를 통합하기가 더 어려울 수 있습니다.

  • 데이터 통합: 애플리케이션 현대화의 일환으로 적절한 사용을 보장하기 위한 명확한 소유권이나 책임이 없는 데이터를 식별하는 것이 일반적입니다. Dataverse에 데이터를 통합함으로써 조직은 데이터 거버넌스를 개선하고 데이터가 올바르게 사용되도록 더 잘 보장할 수 있습니다.

  • 데이터 개인 정보 보호 및 보안: 레거시 애플리케이션이 이를 처리한 방식뿐만 아니라 현재 요구 사항과 대상 현대화 아키텍처를 기반으로 개인 정보 보호 및 보안을 평가해야 합니다. 클라우드 솔루션에는 개인 정보 보호 및 보안 제어를 구현하기 위한 더 많은 옵션이 있습니다. 단일 데이터 저장소로 단순화할 수 있는 경우가 많습니다. 또한 여러 리포지토리에서 데이터를 분할하는 하이브리드 애플리케이션에서 통합 데이터 보안을 구현하는 방법도 고려해야 합니다.

  • 통합 문제. 이전 데이터 저장소에는 데이터를 마이그레이션하거나 애플리케이션이 사용자 지정 커넥터와 함께 사용할 수 있는 API를 생성하지 않고 액세스를 허용하는 데 필요한 API가 부족할 수 있습니다. 이전 데이터 저장소에서 이를 사용하는 애플리케이션으로의 연결을 평가하여 성능이 허용 가능한지 확인해야 합니다.

현대화할 각 애플리케이션에 대한 데이터 아키텍처를 결정해야 합니다. 첫 번째 단계는 데이터 아키텍처가 Dataverse를 통합하는 방법에 대한 전반적인 비전을 수립하는 것입니다. 로우코드의 가치를 극대화하는 것이 목표라면 가능하면 Dataverse를 사용해야 합니다. 처음부터 비전을 세우면 더 많은 데이터 사일로가 전파되는 것을 방지할 수 있습니다.

외부 데이터 및 Dataverse

레거시 애플리케이션은 조직 외부에 있고 Dataverse 훨씬 이전에 존재했던 데이터에 의존하는 경우가 많습니다. 이러한 애플리케이션을 현대화하기 위해 Dataverse에서 데이터를 복제할 필요가 없습니다. 대신 데이터를 가상 Dataverse 테이블로 나타낼 수 있습니다. 가상 테이블은 다른 가상 테이블 및 로컬 테이블과의 관계에 참여할 수 있습니다. 현대화된 애플리케이션에는 Dataverse에 완전히 존재하는 것처럼 보이는 통합 테이블 집합이 표시됩니다.

가상 테이블은 데이터 공급자 아키텍처를 사용하여 구현됩니다. Dataverse에는 OData V4 웹 서비스와 함께 사용할 수 있는 OData 공급자를 포함합니다. 현재 프리뷰로 제공되는 가상 커넥터 데이터 공급자를 사용하면 테이블 형식의 Power Platform 커넥터를 가상 테이블로 사용할 수 있습니다.

다음 다이어그램에서는 가상 커넥터를 사용하는 방법을 보여 줍니다.

가상 커넥터의 작동 방식을 보여주는 다이어그램입니다. 데이터 원본은 연결 + 데이터 공급자와 보내기/반환 관계를 가지며, 연결 참조와 보내기/반환 관계가 있으며, 이는 Dataverse와 보내기/반환 관계를 갖습니다.

개발자는 다른 외부 데이터 원본에 대한 사용자 지정 공급자를 만들 수도 있습니다. 그러나 모든 Dataverse 매핑 및 작업 지원을 이해하고 구현해야 합니다.

다음 고려 사항은 현대화 프로젝트에서 가상 테이블 사용을 평가하는 데 도움이 될 수 있습니다.

  • 모든 외부 데이터 원본에는 기본 키가 있어야 하며 데이터 공급자는 이 키를 Dataverse에 GUID로 제공해야 합니다. 패딩된 값이 안정적이고 고유한 경우 패딩이 있는 비 GUID 키를 수용할 수 있습니다.
  • 데이터 보안은 가상 테이블 수준에서 구성됩니다. 행 및 열 수준 보안은 사용할 수 없습니다.
  • 가상 테이블의 성능은 데이터 공급자, 외부 데이터 원본 API 및 데이터 원본에 대한 연결에 따라 달라집니다. 대부분의 경우 가상 테이블 액세스는 로컬 Dataverse 테이블보다 느립니다.
  • 검색, 감사, 차트 및 대시보드, 오프라인 액세스와 같은 일부 Dataverse 기능은 가상 테이블에 사용할 수 없습니다.
  • 참조 데이터에 가상 테이블을 사용하면 동기화가 줄어들 수 있습니다.

파일 및 이미지

파일 및 이미지를 사용하는 애플리케이션을 현대화할 때 새 솔루션에서 저장할 위치를 고려하는 것이 중요합니다. Dataverse에는 파일 및 이미지 저장을 위한 특수 기능이 있습니다. 둘 다 테이블에 열로 추가할 수 있으며 Dataverse에서 관리되는 Azure Blob Storage에 저장됩니다. 앱은 Dataverse 커넥터를 사용하여 별도의 인증이나 API가 필요 없이 작동할 수 있습니다.

파일 및 이미지에 Dataverse를 사용하는 것은 데이터에 직접 연결되어 있고 여러 사용자가 협업할 필요가 없는 경우에 적합합니다. 예를 들어, 제품이나 위치의 사진 또는 법적 계약서의 최종 사본이 있습니다. 그러나 여러 사용자가 동시에 법적 계약을 수정해야 하는 경우 SharePoint를 사용하면 더 많은 공동 작업 기능을 제공할 수 있습니다. Dataverse와 별도로 보안을 관리해야 하거나 특정 파일 관련 기능을 사용해야 하는 경우 Azure Blob Storage를 직접 사용하는 것이 좋습니다.

통합

애플리케이션 현대화에는 내부 또는 외부 시스템과의 통합이 포함되는 경우가 많습니다. 통합은 크게 데이터, 애플리케이션 또는 프로세스로 분류할 수 있습니다.

  • 데이터 통합은 서로 다른 원본의 데이터를 결합하여 사용자에게 통합된 보기를 제공합니다. 분리된 접근 방식을 제공하지만 실시간으로 논리나 프로세스를 구성할 수는 없습니다. 모든 데이터가 로컬이기 때문에 성능이 더 좋을 수 있습니다.

  • 애플리케이션 통합은 애플리케이션 계층에서 연결되며 일반적으로 API 또는 로우코드 솔루션의 경우 커넥터를 통해 수행됩니다. 애플리케이션 수준 통합은 두 솔루션 간에 정의된 경계를 제공하지만 많은 경우 실시간 종속성을 생성합니다. 또한 이러한 유형의 통합은 API를 제공하는 시스템에서 액세스를 제어할 수 있는 보안 경계를 만듭니다.

  • 프로세스 통합은 서로 다른 여러 시스템을 연결하며, 각 시스템은 전체 비즈니스 프로세스의 일부입니다. 이러한 유형의 통합은 가장 분리되어 참여 시스템이 비즈니스 프로세스의 각 부분을 처리할 수 있도록 합니다. 현대화 시나리오에서는 현대화 프로세스의 일부를 로우코드로 분할하고 레거시 시스템에서 여전히 처리하는 다른 부분과 통합하는 것이 도움이 될 수 있습니다.

통합을 구현하는 방법을 평가할 때 이전 접근 방식이 현대화 중인 애플리케이션에 가장 적합하다고 가정하지 않는 것이 중요합니다. 예를 들어 프로세스가 실시간이고 동기식인 경우 비동기적으로 수행할 수 있는지 여부를 고려합니다. 동기식 통합은 클라우드 솔루션에서 더 취약할 수 있습니다. 예를 들어 적절한 오류 처리가 있는 로우코드 Power Automate 흐름은 통합을 오케스트레이션할 수 있습니다. 이 접근 방식은 안정성을 향상시킬 뿐만 아니라 더 이상 통합이 완료될 때까지 기다릴 필요가 없기 때문에 사용자의 생산성도 향상시킵니다.

다음 고려 사항은 기존 통합을 진행하는 방법을 평가하는 데 도움이 될 수 있습니다.

  • 통합이 여전히 필요합니까? 아무도 더 이상 통합 결과를 사용하지 않으며 사용 중지할 수 있다는 사실을 알게 되는 것은 드문 일이 아닙니다.

  • 현대화된 애플리케이션이 클라우드에 있는 경우 연결 문제가 있나요? 문제에는 대기 시간 및 온-프레미스 API 또는 데이터 저장소에 대한 액세스가 포함될 수 있습니다. 경우에 따라 온-프레미스 데이터 게이트웨이는 클라우드에서 서비스 또는 데이터에 액세스하는 데 도움이 될 수 있습니다. 데이터 또는 서비스에 대한 액세스 속도가 너무 느린 경우 데이터를 현대화된 앱에 로컬로 만들 수 있는지 또는 백그라운드에서 통합을 수행할 수 있는지 여부를 고려합니다.

통합은 현대화된 애플리케이션의 크기를 적절하게 조정하는 데도 도움이 될 수 있습니다. 레거시 애플리케이션의 하나 이상의 부분을 분할하여 남겨 두거나 별도의 애플리케이션에서 구현할 수 있습니다. 이 방법은 서로 다른 역할의 사용자가 레거시 애플리케이션의 다른 부분을 사용할 때 잘 작동합니다. 로우코드를 사용하여 하나 이상의 역할을 구현하고 프로세스 통합을 사용하여 기존 애플리케이션이 프로세스의 나머지 부분을 처리하도록 할 수 있습니다. 이 접근 방식을 사용하면 시간이 지남에 따라 나머지 부분을 점진적으로 현대화할 수 있습니다. 프로세스의 독립적인 부분을 별도로 구현하면 프로세스의 다른 부분과 독립적으로 개선 사항을 보다 민첩하게 롤아웃할 수 있습니다.

사용자 지정 통합을 진행하기 전에 Power Apps에 내장된 통합 기능을 평가해야 합니다.

  • Microsoft Teams: Power Apps 캔버스 앱 및 Copilot Studio 에이전트를 Teams 채널에 포함할 수 있습니다. Teams 커넥터를 사용하면 앱 및 흐름에서 Teams 메시지를 쉽게 게시하고 사용할 수 있습니다. Power Apps 카드는 마이크로 앱처럼 사용하여 Teams 채널에서 실행 가능한 정보를 공유할 수 있습니다.

  • SharePoint: Power Apps 모델 기반 앱은 SharePoint 라이브러리에 저장된 문서에 연결하여 Dataverse 행에서 사용할 수 있도록 구성할 수 있습니다. Microsoft Lists 또는 SharePoint 목록을 사용하여 사용자는 목록 항목의 컨텍스트에서 Power Automate 흐름을 실행할 수 있습니다.

  • Power BI: Power BI 인사이트는 Power Apps 캔버스 앱의 컨텍스트에서 표시할 수 있습니다. Power BI 보고서에 모델 기반 앱을 포함하여 사용자가 Power BI를 벗어나지 않고도 인사이트에 따라 작업할 수 있도록 할 수 있습니다.

Dataverse를 현대화된 애플리케이션의 기본 데이터 저장소로 사용하면 통합에 도움이 될 수 있는 몇 가지 기본 제공 기능이 제공됩니다.

  • Dataverse 사용자 지정 API는 인바운드 애플리케이션 수준 통합에 사용할 수 있습니다. 사용자 지정 API는 소량의 사용자 지정 코드 논리와 연결된 고유한 작업을 제공합니다. 예를 들어, 전송 시스템은 RequestNewProject 사용자 지정 API를 사용할 수 있으며 관련 논리는 수신된 데이터를 적절한 Dataverse 테이블에 배치하는 방법을 알고 있습니다. 전송 시스템은 Dataverse 테이블 구조에서 추상화됩니다.

  • 아웃바운드 통합은 Dataverse의 게시 이벤트 기능을 사용하여 수행할 수 있습니다. Dataverse는 Azure Service Bus, Azure Event Hubs 또는 웹후크 수신기에 게시하도록 구성할 수 있습니다. 예를 들어 새 Dataverse 프로젝트 테이블 행을 만들 때 Azure Service Bus 큐에 게시할 수 있습니다. 비즈니스 프로세스 이벤트와 일치하는 더 많은 개념적 이벤트를 게시할 수도 있습니다. 예를 들어, 프로젝트가 완료될 때 이벤트를 정의하고 게시할 수 있습니다.

다음 다이어그램은 Dataverse 환경에서 인바운드 및 아웃바운드 이벤트의 예를 보여줍니다.

Dataverse 환경의 인바운드 및 아웃바운드 이벤트를 보여주는 다이어그램입니다.

또한 조직은 Microsoft AppSource의 타사에서 사용할 수 있는 사전 빌드된 통합 옵션을 고려해야 합니다. 예를 들어 Microsoft에는 SAP를 Power Platform과 통합해야 하는 조직을 위한 사전 빌드된 솔루션이 있습니다. 이 사전 빌드된 솔루션은 앱과 흐름을 통합하고 조직의 SAP 시스템과 Power Platform 간의 통신을 용이하게 하는 새로운 기능을 추가합니다.

예를 들어, Ernst & Young은 사전 빌드된 SAP 통합을 사용하여 빈도가 높은 글로벌 재무 프로세스를 최적화하는 솔루션을 신속하게 개발했습니다. 회사의 PowerPost 솔루션에 대한 다음 다이어그램은 재무 사용자가 Power Platform을 사용하여 자사의 총계정원장 SAP ERP 시스템에 문서를 전기하는 방법을 보여줍니다.

Ernst & Young 통합 SAP 솔루션의 다이어그램.

통합 연결 옵션

솔루션이 클라우드로 이동함에 따라 온-프레미스 리소스로 다시 연결하는 것은 현대화된 애플리케이션에서 통합이 계속 작동하도록 하는 데 필수적일 수 있습니다. 또한 이러한 애플리케이션은 다른 네트워크 환경에 상주할 수 있는 다른 기존 클라우드 리소스와 통합할 수 있어야 합니다. Power Platform은 보안 연결을 위한 네 가지 기본 옵션인 데이터 게이트웨이, 가상 네트워크 데이터 게이트웨이, 프라이빗 링크 및 ExpressRoute를 지원합니다.

  • 데이터 게이트웨이를 사용하면 Power Apps, Power Automate 및 Power BI의 로우코드 구성 요소를 사용하여 온프레미스 리소스에 다시 접근하여 하이브리드 통합 시나리오를 지원할 수 있습니다. 게이트웨이는 현대화된 로우코드 애플리케이션이 여전히 온-프레미스에 있는 데이터 원본에 액세스할 수 있는 빠른 방법을 제공합니다. 게이트웨이를 사용하면 로컬 파일 시스템, DB2, Oracle, SAP ERP, SQL Server 및 SharePoint와 같은 원본에서 온-프레미스 데이터에 연결할 수 있습니다. 하나의 게이트웨이는 여러 사용자와 여러 소스에 대한 액세스를 지원할 수 있습니다. 데이터 게이트웨이를 클러스터로 구성하여 고가용성을 제공할 수도 있습니다.

    게이트웨이 지원은 커넥터의 연결 프로세스에 통합되어 게이트웨이가 필요한 시기를 표시하고 구성된 게이트웨이를 선택할 수 있습니다. 연결이 구성되면 앱 및 흐름은 게이트웨이가 없는 커넥터처럼 커넥터를 사용할 수 있습니다.

    데이터 게이트웨이의 다이어그램.

  • 가상 네트워크 데이터 게이트웨이를 사용하면 가상 네트워크 내의 가상 머신에 온프레미스 데이터 게이트웨이가 필요 없이 Power BI 및 Power Platform 데이터 흐름을 Azure 가상 네트워크의 데이터 서비스에 연결할 수 있습니다.

  • Azure Private Link 및 Azure 네트워킹 프라이빗 엔드포인트를 사용하면 앱과 흐름이 Power BI에 안전하게 액세스할 수 있습니다. 프라이빗 엔드포인트는 인터넷을 통하지 않고 Microsoft의 백본 네트워크 인프라를 사용하여 데이터 트래픽을 비공개로 보내는 데 사용됩니다. 프라이빗 엔드포인트는 보고서 또는 작업 영역과 같은 조직의 Power BI 리소스로 들어가는 트래픽이 항상 조직의 구성된 프라이빗 링크 네트워크 경로를 따르도록 합니다.

  • Azure ExpressRoute는 개인 연결을 사용하여 온프레미스 네트워크를 Microsoft 클라우드 서비스에 연결하는 고급 방법을 제공합니다. 단일 ExpressRoute 연결은 공용 인터넷을 통과하지 않고도 Power Platform, Dynamics 365, Microsoft 365 및 Azure 클라우드 서비스와 같은 여러 온라인 서비스에 액세스할 수 있습니다. ExpressRoute에는 상당한 계획 및 구성이 필요하며 ExpressRoute 서비스 및 연결 공급자에 대한 더 많은 비용이 수반됩니다.

통합 연결에 어떤 접근 방식을 사용하든 연결을 평가하여 통합과 현대화된 애플리케이션을 모두 지원할 수 있을 만큼 충분히 짧은 대기 시간과 충분한 대역폭이 있는지 확인해야 합니다.

비즈니스 논리

최신 애플리케이션을 구축할 때 비즈니스 논리를 구현할 대상과 애플리케이션 아키텍처에서 구현할 위치를 선택할 수 있습니다. 지침이 없으면 대부분의 조직은 비즈니스 논리 혼란에 빠지게 됩니다. 구현의 일관성을 보장하는 재사용 가능한 논리가 있으면 현대화 노력을 가속화하는 데 도움이 될 수 있습니다.

우리의 목적을 위해 비즈니스 논리는 사용자 경험 논리와 다른 것으로 정의합니다. 예를 들어, 검사 데이터 값을 기반으로 화면에서 화면으로 이동하는 논리는 사용자 경험 논리입니다. 검사가 완료되었는지 확인하기 위해 구현하는 논리에는 여러 조건 평가가 포함될 수 있으며 비즈니스 논리로 간주됩니다.

로우코드를 포함하는 솔루션을 설계할 때 다음 고려 사항은 비즈니스 논리를 배치할 위치를 결정하는 데 도움이 될 수 있습니다.

  • Power Apps 애플리케이션에서: 로우코드 애플리케이션에 비즈니스 로직을 배치하는 것이 가장 간단한 방법이지만, 앱과 자동화에서 재사용하거나 일관성을 유지하는 데 제한적인 옵션을 제공합니다. 일반적으로 이 접근 방식은 다른 애플리케이션이나 자동화에서 사용할 필요가 없는 업무상 중요하지 않은 간단한 논리로 제한해야 합니다. 로우코드 도구는 줄별 디버그 환경을 제공하지 않습니다. 논리가 두 개 이상의 화면에 걸쳐 있거나 읽기 어려운 경우 유지 관리가 더 쉬운 다른 접근 방식을 고려해야 합니다. 일부 비즈니스 논리가 애플리케이션과 클라우드에서 로컬로 복제되는 것은 드문 일이 아닙니다. 예를 들어 사용자가 호텔 예약을 입력하는 경우 체크 아웃 날짜는 체크 인 날짜 이전이 될 수 없다는 것이 비즈니스 규칙입니다. 애플리케이션이 유효성을 검사하지 않은 경우 사용자는 끝까지 가서 예약을 제출했지만 사용자 지정 커넥터가 거부한 것을 발견합니다. 애플리케이션과 클라우드에서 로컬로 유효성 검사를 처리하면 훨씬 더 나은 사용자 경험을 제공할 수 있습니다.

  • Power Automate 클라우드 흐름에서: 흐름의 작업에서 비즈니스 논리를 표현할 수 있으며, 흐름은 다른 앱 및 흐름의 이벤트 또는 요청 시 실행 요청에 대한 응답으로 트리거될 수 있습니다. 흐름은 논리를 중앙 집중화하기 위한 로우코드 접근 방식을 제공할 수 있습니다. 흐름의 단계는 독립적이며 트랜잭션의 일부가 아닙니다. 그러나 흐름은 오류가 발생할 경우 롤백을 처리하기 위해 보정을 구현할 수 있습니다. 흐름은 앱 사용자가 수행할 수 있는 것 이상의 권한이 있는 연결을 사용하여 단계를 실행하여 권한을 상승시키는 방법을 제공할 수 있습니다. 또한 이 방법을 사용하면 앱 사용자에게 필요할 수 있는 권한을 최소화할 수 있습니다.

  • Dataverse 플러그인에서: 플러그 인은 만들기, 업데이트 또는 삭제와 같은 데이터 행 이벤트에 대한 응답으로 실행됩니다. 이 논리는 작업을 수행한 앱 또는 흐름 또는 Dataverse API에서 직접 수행되었는지 여부에 관계없이 이벤트가 발생할 때마다 실행됩니다. 이 동작의 이점은 모든 용도에서 일관성을 보장한다는 것입니다. 또한 플러그 인 논리의 모든 Dataverse 데이터 변경 내용은 트랜잭션이며 모두 완료되거나 모두 롤백됩니다. 플러그 인 논리는 짧고 효율적이어야 하며 장기 실행 작업을 구현하려고 시도하지 않아야 합니다. 검사 종료와 같은 단일 비즈니스 이벤트를 완료하기 위해 여러 테이블에서 이벤트를 수신 대기해야 하는 경우 이벤트에 대한 플러그 인이 최상의 접근 방식이 아닌 경우가 있습니다. 예를 들어 여러 테이블에 플러그 인을 사용하는 대신 Dataverse 사용자 지정 API를 고려할 수 있습니다. 플러그 인은 사용자가 일반적으로 가질 수 없는 상승된 권한으로 논리를 수행할 수 있습니다. 또한 이 방법을 사용하면 앱 사용자에게 필요할 수 있는 권한을 최소화할 수 있습니다. 플러그 인은 앱 및 흐름과 함께 Dataverse 솔루션에 배포할 수 있습니다.

  • Dataverse 사용자 지정 API에서: Dataverse 사용자 지정 API를 사용하면 논리를 실행할 수 있는 고유한 사용자 지정 API 메시지를 구현할 수 있습니다. 예를 들어 검사를 확인하고 닫기 위한 모든 작업을 수행하기 위해 호출되는 검사 종료 사용자 지정 API를 만들 수 있습니다. 이벤트 기반이 아니라 필요한 앱과 흐름에서 요청 시 사용됩니다. 이벤트 기반 플러그 인과 마찬가지로 사용자 지정 API 플러그 인에서 수행된 데이터 변경은 트랜잭션입니다. 사용자 지정 API는 다른 데이터 작업을 위한 Dataverse API만 사용하는 경우에 가장 적합합니다. 사용자 지정 API용 플러그 인은 앱 및 흐름과 함께 Dataverse 솔루션에 배포할 수 있습니다.

코드 API 구현

Azure Functions, Azure Container Apps 또는 REST API를 호스팅할 수 있는 모든 서비스와 같은 즐겨 찾는 API 호스팅 런타임에서 API를 구현할 수 있습니다. 이러한 사용자 지정 API는 모든 논리를 구현할 수 있으며 로우코드 및 기존 코드 애플리케이션 모두에서 사용할 수 있습니다. 사용자 지정 API는 사용하는 API에서 제공할 수 있는 것 이외의 트랜잭션 지원을 제공하지 않습니다. 예를 들어 사용자 지정 API는 SQL Server를 사용하는 경우 SQL Server 트랜잭션 구문을 사용할 수 있습니다. 코드 API의 배포는 이를 사용할 수 있는 로우코드 리소스와 무관합니다. Azure API Management를 사용하여 이러한 API의 사용을 제어하고 더 쉽게 검색할 수 있도록 할 수 있습니다.

보안

인증 및 권한 부여를 포함한 보안은 현대화된 애플리케이션 아키텍처의 필수적인 부분입니다. 최신 애플리케이션은 레거시 애플리케이션보다 보안이 더 어려운 경우가 많습니다. 여기에는 여러 클라우드 서비스가 포함되며 사용자는 더 다양한 위치에서 클라우드 서비스를 사용합니다. 개념적으로 플랫폼의 보안은 사용자가 데이터와 서비스를 보호하면서 최소한의 마찰로 필요한 작업을 수행할 수 있도록 하기 위한 것입니다.

Power Platform은 보안 아키텍처를 구축하는 데 사용할 수 있는 보안에 대한 다중 계층 접근 방식을 사용합니다. 이러한 기능의 핵심 원칙은 로우코드 솔루션을 기존 보안 장치와 통합하여 도입의 영향을 최소화해야 한다는 것입니다.

Power Platform 보안 모델을 구성하는 여러 보안 계층에 대해 자세히 살펴보겠습니다.

  • 사용자는 Microsoft Entra ID에 의해 인증되며 조건부 액세스 정책을 사용하여 사용을 제한할 수 있습니다.
  • 라이선싱은 Power Platform 구성 요소에 대한 액세스를 허용하는 첫 번째 제어 게이트입니다.
  • 애플리케이션 및 워크플로를 만드는 기능은 환경의 컨텍스트에서 보안 역할에 의해 제어됩니다.
  • Power Platform 리소스를 보고 사용하는 사용자의 기능은 애플리케이션을 사용자와 공유하여 제어됩니다. 리소스는 사용자 또는 Entra ID 그룹과 직접 공유됩니다.
  • 환경은 보안 경계 역할을 하므로 각 환경에서 서로 다른 보안 요구 사항을 구현할 수 있습니다.
  • Power Automate 흐름 및 캔버스 앱은 커넥터를 사용합니다. 특정 연결 자격 증명 및 관련 서비스 권한은 앱이 커넥터를 사용할 때 권한을 결정합니다.
  • Dataverse 인스턴스가 있는 환경은 해당 Dataverse 인스턴스의 데이터 및 서비스에 대한 액세스를 제어하는 것과 관련된 고급 보안 모델을 지원합니다.
  • 커넥터 사용은 DLP(데이터 손실 방지) 정책을 통해 더욱 제한될 수 있습니다. 교차 테넌트 인바운드 및 아웃바운드 제한도 커넥터에 적용할 수 있습니다.

커넥터를 사용하여 데이터 원본에 액세스할 때 데이터 원본이 제공하는 모든 기본 보안은 설명된 보안 계층에 추가된다는 점에 유의해야 합니다. Power Apps 및 Power Automate는 기본적으로 사용자에게 아직 없는 커넥터 데이터 원본에 대한 액세스 권한을 제공하지 않습니다. 사용자는 실제로 액세스가 필요한 데이터에만 액세스할 수 있어야 합니다.

Dataverse를 솔루션의 일부로 사용하는 경우 많은 비즈니스 시나리오에 적용할 수 있는 역할 기반 보안 모델이 포함됩니다. 데이터는 데이터 행의 개별 열까지 보호될 수 있습니다. 사용자에게는 전체 권한을 결정하는 하나 이상의 보안 역할이 할당됩니다. Dataverse는 사업부 및 팀과 같은 보안 모델링 구성 요소를 제공합니다. 예를 들어 사업부를 사용하여 서로 다른 두 조직 사용자 그룹 간에 데이터를 격리된 상태로 유지하기 위한 보안 경계를 정의할 수 있습니다. 팀을 사용하여 데이터에 대한 유사한 액세스 권한이 필요한 사용자를 그룹화할 수 있습니다. 데이터 행의 그룹 소유권을 할당할 수도 있습니다. 다음 다이어그램에서는 사업부를 사용하여 조직의 부서에 대한 데이터를 격리하는 방법을 보여줍니다.

사업부를 사용하여 데이터에 대한 액세스를 제어하는 방법을 보여 주는 다이어그램입니다.

보안 모델 설계

현대화된 애플리케이션의 보안 모델을 애플리케이션의 전체 아키텍처에 맞게 조정합니다. 단일 데이터 리포지토리를 사용하고 커넥터가 없는 애플리케이션에는 최소한의 보안 설계 작업이 필요합니다. 애플리케이션이 더 많은 커넥터와 데이터 리포지토리를 사용함에 따라 보안 모델링에는 다른 고려 사항이 포함되어야 합니다.

  • 사용자 ID: 사용자는 어떻게 인증하며 온-프레미스에서 오는 시나리오에서 Microsoft Entra ID에 이미 매핑되었나요? 여기에는 Dataverse와 같은 클라우드 데이터 저장소에서 애플리케이션 그룹 또는 팀 할당을 지원하는 데 필요한 그룹 매핑이 포함됩니다.

  • 커넥터 연결 ID: 애플리케이션에서 하나 이상의 커넥터를 사용하는 경우 연결에 대해 수행되는 인증 유형은 무엇이며 필요한 보안 제어를 구현하는 데 필요한 제어 수준을 제공합니까? 예를 들어 서비스 주체를 사용하여 연결하는 애플리케이션은 애플리케이션 사용자가 커넥터에 직접 액세스할 필요가 없으므로 일부 시나리오에서 유용할 수 있습니다. 개별 사용자 연결은 작업을 수행한 사용자를 알아야 하거나 특정 사용자에 대한 응답 범위를 지정해야 하는 애플리케이션에 적합할 수 있습니다.

  • 보안 체계 이식성: 애플리케이션이 더 많은 커넥터와 데이터 리포지토리를 사용함에 따라 한 보안 체계의 모든 보안 체계가 다른 보안 체계에 직접 매핑되는 것은 아니라는 점을 기억하는 것이 중요합니다. 예를 들어 Dataverse에는 사용자와 행을 공유하는 것을 포함하여 사용자가 데이터 행에 액세스할 수 있는 여러 가지 방법이 있습니다. 애플리케이션이 SharePoint 문서 라이브러리를 행과 연결하는 경우 문서 라이브러리에 대한 액세스 권한을 부여하는 보안은 Dataverse 액세스를 제어하는 보안과 별개입니다. 직접 매핑되지 않습니다. 현대화된 애플리케이션은 사용하는 커넥터 및 데이터 리포지토리에서 이러한 유형의 불일치를 수용해야 합니다.

인공 지능

지난 몇 년 동안 AI는 애플리케이션 현대화 노력에 활용되었습니다. 애플리케이션을 현대화할 때 조직은 인공 지능을 사용하여 사용자의 생산성을 높이고 정보에 입각한 의사 결정을 더 잘 내릴 수 있도록 하는 것을 고려해야 합니다. AI를 도입한 결과는 비즈니스 성과에 긍정적인 영향을 미치는 더 나은 고객 경험으로 이어질 수도 있습니다.

AI를 포함하면 애플리케이션 논리를 통합하고 사용자 지정 학습된 모델을 구축하는 데 많은 작업이 필요했습니다. 대규모 언어 모델의 가용성과 기능을 통해 애플리케이션은 이제 AI를 사용하여 사용자가 답변을 얻고 작업을 수행하는 데 도움이 되는 새로운 방법을 도입할 수 있습니다. 사용자는 자연어 프롬프트를 사용하여 광범위한 보조 비즈니스 시나리오에서 AI 기능과 상호 작용할 수 있습니다.

Microsoft는 고급 AI 기술에 더 쉽게 액세스할 수 있도록 핵심 제품 및 서비스에 Copilot을 도입했습니다. Copilot은 최신 AI 기술과 대규모 언어 모델을 사용하며 Microsoft 365, Windows, Dynamics 365 및 Power Platform과 같이 매일 사용하는 애플리케이션에서 사용자와 상호 작용할 수 있습니다.

플러그 인으로 확장

Copilot 기반 애플리케이션 사용자는 애플리케이션의 일반적인 작업에 대한 도움을 Copilot에 요청할 수 있습니다. 아직 알지 못하고 사용자가 작업 중인 앱의 범위를 벗어나는 데이터 및 작업을 포함하도록 Copilot을 확장할 수 있습니다. Microsoft 365 Copilot은 Dataverse에 저장된 Power Platform 데이터를 통합할 수 있으므로 사용자가 애플리케이션 간에 전환할 필요가 없습니다. 예를 들어 Outlook에서 사용자는 Copilot에 오늘 완료된 모든 실패한 검사에 대한 상태 업데이트를 생성하도록 요청할 수 있습니다. Microsoft 365 Copilot은 Dataverse의 기본 보안 및 거버넌스 프레임워크를 자동으로 상속하고 런타임에 사용자 보안 및 권한을 적용합니다.

플러그 인으로서의 커넥터

Power Platform 커넥터는 Copilot 환경에도 중요합니다. 커넥터는 플러그 인으로 연결하여 Copilot의 기능을 확장할 수 있습니다. 예를 들어, Jira Software용 Power Platform 커넥터가 있는 Microsoft 365 Copilot을 사용하면 프로젝트 관리자가 Jira 지원 티켓의 상태를 요청하고, 추가 승인을 위해 티켓을 라우팅하거나 새 하드웨어에 대한 구매 주문을 시작하는 등 응답에 따라 조치를 취할 수 있습니다. 플러그 인을 사용하면 비즈니스 프로세스와 데이터를 Copilot와 통합하여 사용자가 사용하는 모든 앱에서 상호 작용할 수 있도록 지원할 수 있습니다.

나만의 Copilot 만들기

사용자가 앱에서 Copilot AI 지원을 받는 데 익숙해짐에 따라 모든 애플리케이션에서 이를 기대합니다. AI 개발 프레임워크인 Copilot 스택으로 만든 Copilot을 포함하여 최신 애플리케이션을 더욱 매력적으로 만들 수 있습니다.

개발자가 자신만의 Copilot를 빌드하는 데 도움이 되는 AI 개발 프레임워크인 Copilot 스택의 그림입니다.

Power Apps에서 사전 빌드된 Copilot 컨트롤을 사용하여 캔버스 앱 및 모델 기반 앱에 Copilot을 추가할 수 있습니다. 데이터 원본의 보기와 몇 가지 기본 프롬프트 정보를 구성하여 자신만의 앱 내 Copilot 환경을 빠르게 제공할 수 있습니다.

캔버스 앱에 추가된 Copilot을 보여주는 Power Apps의 스크린샷.

애플리케이션 수명 주기 관리

현대화 작업의 중요한 부분은 적절한 애플리케이션 수명 주기 관리 프로세스를 설정하는 것입니다. 조직에서는 로우코드 작업이 기존 코드 ALM으로 작업하는 방식에 적합하기를 원하는 경우가 많습니다. Power Platform은 일반적으로 사용하는 프로세스에 또는 프로세스와 함께 로우코드 아티팩트를 포함할 수 있도록 ALM 도구를 제공합니다.

Power Platform의 ALM은 로우코드 리소스를 빌드하는 방법부터 시작합니다. 빌드하는 리소스는 Power Platform 환경의 컨텍스트에 있습니다. 환경에는 하나의 Dataverse 데이터 저장소가 있을 수 있습니다. 여러 환경(일반적으로 개발, 테스트 및 프로덕션)을 사용하여 로우코드를 포함하는 ALM 프로세스에서 랜딩 존을 구현할 수 있습니다. 환경의 수와 목적은 유연하며 조직은 개별 프로젝트 요구 사항에 맞게 조정할 수 있습니다. Dataverse 솔루션은 관련 로우코드 리소스의 컨테이너로, 버전 제어 및 한 환경에서 다른 환경으로의 전송을 용이하게 합니다.

Power Platform 파이프라인은 배포를 자동화하고 CI/CD(연속 통합 및 지속적인 업데이트)를 구현하는 로우코드 접근 방식을 제공합니다. Power Platform은 파이프라인이 구성될 때 프로세스를 관리합니다. 관리자는 파이프라인을 중앙에서 관리하고 제어할 수 있습니다.

조직은 원하는 CI/CD 도구를 사용할 수도 있습니다. Power Platform CLI는 대부분의 CI/CD 자동화 도구와 함께 사용할 수 있는 명령줄 도구입니다. Power Platform Build Tools는 로우코드 아티팩트를 포함하는 CI/CD 자동화를 빌드하는 데 필요한 모든 일반적인 작업을 제공하는 GitHub 및 Azure DevOps 작업을 제공합니다.

다음 다이어그램은 검사 앱을 빌드하는 팀의 예를 보여줍니다. 내부 루프에서는 개발 환경에서 작업하고 Git 리포지토리에 작업을 저장합니다. 외부 루프는 테스트 환경과 프로덕션 환경으로 구성됩니다. 빌드 파이프라인은 버전 제어 솔루션을 사용하고, 필요한 검사를 수행하고, 검사 솔루션 아티팩트를 생성합니다. 그런 다음 릴리스 파이프라인은 테스트할 솔루션을 배포하고 테스터는 프로덕션 준비가 되었는지 확인할 수 있습니다. 승인되면 릴리스 파이프라인은 솔루션을 프로덕션에 배포합니다.

앱 솔루션이 파이프라인을 통해 개발에서 테스트, 프로덕션으로 이동하는 방법을 보여 주는 다이어그램입니다.

Dataverse에서 솔루션을 내보내면 단일 압축 파일로 내보내집니다. 버전 제어에 로우코드 리소스를 저장하려면 빌드 도구를 사용하여 솔루션 파일의 압축을 개별 구성 요소 파일로 풀 수 있습니다. 빌드 자동화 중에 빌드 도구는 버전 제어의 개별 파일을 단일 압축 파일로 결합합니다.

이전 버전의 솔루션이 포함된 환경에 솔루션을 배포하면 변경 내용만 적용하는 지능형 업그레이드 프로세스가 사용됩니다. 이 업그레이드 프로세스를 사용하면 차이점 보관용 스크립트나 배포해야 할 항목을 결정하는 다른 방법이 필요하지 않습니다.

현대화된 애플리케이션에 로우코드 및 기존 코드 리소스가 포함된 경우 단일 CI/CD 프로세스로 결합하거나 독립적으로 관리할 수 있습니다. 독립적인 관리를 통해 리소스를 개별적으로 배포할 수 있으며 프로젝트 팀은 민첩성을 높일 수 있습니다. 예를 들어 로우코드 애플리케이션에서 사용하는 API는 팀에서 호환성이 손상되는 변경을 도입하지 않는 경우 독립적으로 배포할 수 있습니다.

모니터링 및 인사이트

현대화된 애플리케이션은 개발에서 프로덕션에 이르기까지 다양한 환경에서 문제를 진단할 수 있는 기능을 제공하는 운영 환경에 통합되어야 합니다. Azure Monitor 확장 프로그램인 Application Insights는 Power Apps 및 Dataverse에서 원격 분석을 수집합니다. 이 정보는 문제를 식별하고 해결하는 데 도움이 될 뿐만 아니라 사용자가 애플리케이션에서 수행하는 작업에 대한 통찰력도 제공합니다. 이러한 인사이트를 사용하여 현대화된 애플리케이션의 앱 및 프로세스를 개선할 수 있습니다.

Power Apps 애플리케이션을 개발하는 동안 개발자는 사용자 지정 이벤트를 기록하는 논리를 포함할 수 있습니다. 배포된 애플리케이션을 Application Insights에 연결한 후 확장은 사용자가 애플리케이션과 상호 작용할 때 기록된 이벤트의 더 많은 컨텍스트를 포함하여 기본 원격 분석을 자동으로 수집합니다.

관리자는 원격 분석을 Application Insights로 내보내도록 Dataverse 환경을 구성할 수도 있습니다. 기록되는 데이터에는 Dataverse API 호출, 플러그 인 실행, SDK 작업 및 예외가 포함될 수 있습니다. 사용자 지정 플러그 인 논리를 만드는 개발자는 더 많은 사용자 지정 원격 분석 데이터를 Application Insights에 직접 기록할 수 있습니다.

애플리케이션에서 Application Insights를 사용하면 여러 리소스와 문제의 상관 관계를 쉽게 지정할 수 있습니다. 운영 직원은 Azure 모니터에서 경고를 만들어 많은 수의 예외가 감지될 때 트리거할 수 있습니다. 현대화된 애플리케이션을 정기적으로 분석하면 더 많은 조사가 필요한 추세를 식별할 수 있습니다.

결론

이 백서에서는 Microsoft Power Platform을 사용하여 레거시 애플리케이션을 현대화하는 이점, 전략 및 모범 사례를 살펴보았습니다. 조직의 디지털 트랜스포메이션의 일환으로 현대화 노력의 성공을 보장하기 위해 Power Platform의 로우코드 기능을 사용하는 방법에 대한 인사이트와 지침을 얻었습니다.

레거시 애플리케이션은 조직에 많은 과제를 제시합니다. 이를 극복하기 위해 조직은 애플리케이션 현대화 이니셔티브에 착수하여 인프라를 활성화하고 최신 기술을 활용해야 합니다. 이 백서에서는 현대화 노력에 로우코드 접근 방식을 취하는 방법, 특히 Microsoft Power Platform의 로우코드 개발 기능을 통해 최신 애플리케이션을 빠르게 빌드하고 배포하는 방법을 살펴보았습니다.

로우코드는 기존 코더보다 더 많은 사람들에게 문을 열어줍니다. 로우코드 접근 방식으로 성공하는 조직의 핵심 요소는 애플리케이션 현대화에 관련된 사람들이 전문 개발자이든 비즈니스 사용자이든 로우코드 개발에 대한 교육을 받도록 하는 것입니다. 비즈니스 사용자는 해결 중인 비즈니스 문제에 더 가까이 다가갈 수 있으며 시간을 절약하는 전문 지식을 제공할 수 있습니다. 기존 코드 개발자는 이미 보유하고 있는 기술과 기술을 적용하여 로우코드 격차를 메우기 위해 확장을 빌드할 수 있습니다. 조직은 우리가 "퓨전 팀"이라고 부르는 것에 비즈니스 및 기술 리소스를 혼합함으로써 가장 효과적일 수 있습니다.

이 백서는 귀하를 위한 기초를 설정합니다. 다음 단계는 여러분의 몫입니다. 다음은 몇 가지 제안 사항입니다.

  • 몇 분 정도 시간을 내어 조직에서 로우코드로 이미 무엇을 하고 있는지 알아보세요. 깜짝 놀랄 수도 있습니다!
  • 애플리케이션 현대화 기회를 평가해보세요.
  • 적합한 첫 번째 후보자를 식별하고 우선 순위를 지정합니다.
  • 애플리케이션을 현대화하는 팀에 인력을 배치합니다. 최상의 결과를 얻으려면 퓨전 팀인지 확인하십시오.
  • 팀이 성공하는 데 필요한 교육을 받았는지 확인합니다.
  • 팀이 애플리케이션을 현대화할 수 있도록 합니다.
  • 현대화 노력에 대해 생각해 보십시오. 이를 구체화하고 다른 레거시 애플리케이션으로 확장하십시오.

애플리케이션 현대화를 향한 모든 조직의 여정은 고유합니다. Microsoft 계정 팀이나 Power Platform 파트너는 여정을 계획하고 올바른 길로 나아가는 데 도움을 줄 수 있습니다.

리소스