Microsoft Power Platform Enterprise Architecture - Second Edition

Book description

Implement an enterprise solution for your company using a 360 degree perspective of Microsoft Power Platform and the advantages of Microsoft Power BI, Power Apps, Power Automate, Azure, and Dynamics 365

Purchase of the print or Kindle book includes a free eBook in the PDF format

Key Features

  • Explore various Microsoft cloud components and identify the best ones to enhance your solutions
  • Get to grips with Microsoft Power Platform's security and extensibility, integration, and data migration models
  • Discover architectural best practices and case studies for designing complex enterprise solutions

Book Description

Microsoft Power Platform Enterprise Architecture offers an array of architectural best practices and techniques for any forward-looking enterprise architect or decision maker who wants to know more about integrating solutions to serve growing business needs. With this book, you'll learn about the tools available in the Power Platform suite and identify which are appropriate for your business. Then, you'll integrate them seamlessly with various other Microsoft 365 and Azure components.

Unlike many other overwhelmingly long and unstructured resources, this book covers essential concepts using one concise yet practical example that is revisited throughout the book. You'll develop the skills you need to architect, design, and manage a complex solution as you follow the journey of a fictitious enterprise customer as they enter the world of Power Platform. Throughout the book, you'll discover how to combine the functionality of Microsoft Power PI, Power Automate, Power Apps, and Power Virtual Agents with various methodologies to effectively address application lifecycle management, security, and extensibility. You'll also learn how to overcome common challenges in migrating data to and from Microsoft Power Platform using proven techniques.

By the end of this Microsoft book, you'll have the strategic perspective of an enterprise architect, enabling you to make accurate architectural decisions for your complex Power Platform projects.

What you will learn

  • Understand various Microsoft Dynamics 365 CRM, ERP, and AI modules for creating Power Platform solutions
  • Combine Power Platform capabilities with Microsoft 365 and Azure
  • Find out which regions, staging environments, and user licensing groups need to be employed when creating enterprise solutions
  • Implement sophisticated security by using various authentication and authorization techniques
  • Extend Microsoft Power BI, Power Apps, and Power Automate to create custom applications
  • Integrate your solution with various in-house Microsoft components or third-party systems using integration patterns
  • Migrate data using a variety of approaches and best practices

Who this book is for

If you're an enterprise architect or a technical decision maker looking to design complex solutions using Microsoft Power Platform to serve growing business needs and to stay competitive in the modern IT world, then this book is for you. Familiarity with the Microsoft Power Platform and Azure services will help you follow along with this book

Table of contents

  1. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Get in touch
  2. Section I: The Basics
  3. Microsoft Power Platform and Microsoft Dynamics 365 Overview
    1. Introducing Contoso Inc.
    2. Introducing Microsoft Power Platform
      1. Introducing the Common Data Model and Microsoft Dataverse
        1. Introducing the Common Data Model
        2. Introducing Microsoft Dataverse
      2. Introducing model-driven apps
      3. Introducing canvas apps
      4. Introducing Power Automate
      5. Introducing Power Virtual Agents
      6. Introducing Power BI
      7. Introducing On-Premises Data Gateway
      8. Introducing AI Builder
      9. Introducing Power Pages
    3. Introducing Microsoft Dynamics 365 CRM applications
      1. Microsoft Dynamics 365 Sales
      2. Microsoft Dynamics 365 Marketing
      3. Microsoft Dynamics 365 Customer Service
      4. Microsoft Dynamics 365 Field Service
      5. Microsoft Dynamics 365 Project Operations
    4. Introducing Microsoft Dynamics 365 ERP applications
      1. Microsoft Dynamics 365 Finance
      2. Microsoft Dynamics 365 Supply Chain Management
      3. Microsoft Dynamics 365 Commerce
      4. Microsoft Dynamics 365 Human Resources
      5. Microsoft Dynamics 365 Business Central
    5. Introducing Microsoft Dynamics 365 AI, MR, and other modules
      1. Microsoft Dynamics 365 Customer Insights
      2. Microsoft Dynamics 365 Sales Insights
      3. Microsoft Dynamics 365 Connected Spaces
      4. Microsoft Dynamics 365 Fraud Protection
      5. Microsoft Dynamics 365 Remote Assist
      6. Microsoft Dynamics 365 Guides
      7. Microsoft Dynamics 365 Product Visualize
      8. Microsoft Dynamics 365 Unified Service Desk
    6. Microsoft Power Platform licensing overview
    7. Contoso Inc. Power Platform commitment
    8. Summary
  4. Microsoft 365 and Microsoft Azure Overview
    1. Contoso Inc. cloud maturity
    2. Introducing Microsoft 365
      1. Introducing Microsoft Office 365
        1. Microsoft Exchange
        2. Microsoft SharePoint
        3. Microsoft OneDrive
        4. Microsoft OneNote
        5. Microsoft Teams
        6. Microsoft Outlook
        7. Microsoft Word
        8. Microsoft Excel
      2. Overviewing Microsoft Enterprise Mobility + Security
        1. Microsoft Intune
        2. Microsoft Cloud App Security
        3. System Center Configuration Manager
      3. Contoso Inc. using Microsoft 365
    3. Introducing Microsoft Azure
      1. Introducing Azure Active Directory
      2. Introducing Azure Service Bus
      3. Introducing Azure Event Hubs
      4. Introducing Azure Logic Apps
      5. Introducing Azure API Management
      6. Introducing Azure Functions
      7. Introducing Azure SQL
      8. Introducing Azure Cosmos DB
      9. Introducing Azure Blob Storage
      10. Introducing Azure Synapse Analytics
      11. Introducing Azure IoT Hub and Azure IoT Central
      12. Introducing Azure Key Vault
      13. Introducing Azure DevOps
      14. Introducing Azure Monitor
      15. Contoso Inc. using Microsoft Azure
    4. Microsoft 365 and Microsoft Azure licensing overview
      1. Microsoft 365 licensing
      2. Microsoft Azure licensing
    5. Summary
  5. Section II: The Architecture
  6. Understanding the Microsoft Power Platform Architecture
    1. Contoso Inc. starts architecting their planned Power Platform solution
    2. Understanding the Power Platform architecture
      1. Learning about the Microsoft cloud infrastructure
      2. Understanding the customer cloud structure
        1. User management
        2. License management
        3. Group management
        4. App registration
        5. Office 365 Activity Logging
      3. Learning about Power Platform technology
      4. Understanding Power Platform environments
        1. Microsoft Dataverse
        2. Microsoft Dataverse for Teams
        3. Capacity restrictions
        4. Power Platform data connectors
        5. Data Loss Prevention policies
        6. On-Premises Data Gateway
        7. Managed environments
      5. Learning about Power BI’s structure
    3. Understanding the Power Platform and Dynamics 365 clients
      1. Learning about desktop clients
        1. Browser client
        2. Dynamics 365 App for Outlook
        3. Unified Service Desk
        4. Omnichannel for Dynamics 365 Customer Service
        5. Robotic process automation with Power Automate Desktop flows
      2. Understanding mobile clients
    4. Learning about Power Platform administration and monitoring
      1. Understanding Power Platform administration centers
        1. Microsoft Azure portal
        2. Microsoft 365 Admin Center
        3. Power Platform Admin Center
        4. Power BI admin portal
      2. Understanding PowerShell administration and monitoring
        1. Microsoft 365 administration
        2. Power Platform administration
        3. Power BI administration
        4. PowerShell monitoring
      3. Learning about API administration
        1. Microsoft 365 administration
        2. Power Platform administration
        3. Power BI administration
      4. Administration and monitoring using Power Automate
      5. Administration using Azure DevOps
      6. Learning about platform auditing
        1. Office 365 Activity Logging
        2. Dataverse auditing
      7. Understanding application monitoring
    5. Presenting architectural best practices
      1. Introducing single tenants or multiple tenants
        1. Development and testing environments
        2. Unsupported integration topology
      2. Understanding environment strategies
        1. Default environment
        2. Developer environment
        3. Shared test and production environment
        4. Dedicated environment
        5. Complex testing
        6. Multiple release strategy
        7. Product upgrades
        8. Other environment types
      3. Environment regions
      4. Administration and monitoring
    6. Contoso Inc. Power Platform architecture
      1. Tenant structure
      2. Power Platform environments
      3. Power Platform clients
      4. User groups and licensing
    7. Summary
  7. Power Platform Customization and Development Tools and Techniques
    1. Contoso Inc. empowering the project team
    2. The citizen developer vs. IT pro developer paradigm
      1. Introducing the citizen developer
      2. The IT pro developer
      3. Distinguishing between the citizen developer and the IT pro developer
    3. Presenting configuration and customization tools
      1. Microsoft Dataverse and model-driven app tools
        1. Power Apps Maker Portal
        2. Model-driven app designer
        3. Introducing XrmToolBox
      2. Power Apps Studio
      3. Power Pages Studio
      4. Power Automate Maker Portal
      5. Power Virtual Agents designer
      6. AI Builder
      7. Dataflows designer
      8. Power BI designer tools
        1. Power BI Desktop
        2. Power BI Builder
        3. Power BI service
      9. Microsoft AppSource
      10. ISV Studio
    4. Presenting custom development tools
      1. Visual Studio
      2. Visual Studio Code
      3. Power Apps Command-Line Interface (CLI)
      4. Power Platform extensions for Visual Studio
      5. NuGet developer tools and assemblies
        1. The code generation tool
        2. The plug-in registration tool
      6. XrmToolBox
      7. Postman
      8. CRMRestBuilder
      9. Testing tools
        1. Testing the user interface
        2. Testing backend components
        3. Using network traffic analyzers
    5. Presenting application lifecycle management tools
      1. NuGet developer tools and assemblies
        1. The configuration migration tool
        2. The package deployer tool
        3. The solution packager tool
      2. Azure DevOps
    6. Contoso Inc. project team workplace setup
      1. Enabling the core project team
      2. Enabling citizen developers
    7. Summary
  8. Application Lifecycle Management
    1. Contoso Inc. implementing application lifecycle management
    2. Understanding application lifecycle management
      1. Environment complexity
      2. Power Platform solution complexity
      3. ALM for the Power Platform
    3. Introducing solutions management
      1. Overview of solutions
        1. Environment variables
        2. Solution properties
      2. Solution types
        1. Unmanaged solution
        2. Managed solution
        3. Default solution
        4. Common Data Services Default Solution
      3. Managed properties
        1. Forms, views, charts, and dashboards properties
        2. Columns properties
        3. Tables properties
      4. Dependencies and solution segmentation
        1. Solution layering
        2. Layering behavior
        3. Solution dependencies
        4. Solution segmentation
      5. Patching and updating solutions
        1. Solution patch
        2. Solution updates
      6. Microsoft updates
        1. Major Power Platform updates
        2. First-party applications updates
        3. Power Platform hotfixes
    4. Introducing Azure DevOps for the Power Platform
      1. Overview of Power Platform Build Tools
        1. Helper and quality check tasks
        2. Solution tasks
        3. Environment tasks
      2. Azure DevOps with Power Platform Build Tools
        1. Committing a solution to the source control
        2. Distributing solutions between development environments
        3. Distributing solutions out of development
        4. Pipeline versus Release
    5. Introducing GitHub for the Power Platform
    6. Application lifecycle management for Power BI
      1. Environments in Power BI
      2. Power BI components
      3. Power BI ALM approach
      4. Power BI deployment pipelines
    7. Application lifecycle management for other solution components
    8. Application lifecycle management best practices
      1. Solution best practices
        1. General practices
        2. Unmanaged versus managed
        3. Structuring solutions
        4. Using segmentation
        5. Using source control
      2. Solution publishers’ best practices
      3. Power BI best practices
    9. Contoso Inc. ALM strategy
      1. Establishing Azure DevOps
      2. Using Power Platform solutions
      3. Using Power BI ALM
      4. Other ALM decisions
    10. Summary
  9. Section III: The Implementation
  10. Implementation Approach and Methodologies
    1. Contoso Inc. preparing the implementation project
    2. Getting an overview of the implementation approach
    3. Understanding customer enterprise architecture and environment
      1. Data residency requirements
      2. Authentication providers
      3. Internet restrictions
      4. Data protection requirements
    4. Learning about project implementation methodologies and tools
      1. Understanding programs and projects
      2. Understanding project implementation methodologies
        1. The waterfall model
        2. The agile model
        3. The iterative model
        4. The combined model
      3. Making a project effort estimation
        1. Business requirements
        2. Custom development
        3. Infrastructure requirements
        4. Integration
        5. Data migration
        6. Other efforts
      4. Project management tools
        1. Microsoft Project
        2. Azure DevOps
        3. Effort estimators
      5. Creating project documentation
        1. The project plan
        2. The requirements document
        3. The solution architecture document
        4. The solution/technical design document
        5. Other documents
    5. Learning about project setup
      1. Project types
        1. Internal project
        2. External project
      2. Project roles and responsibilities
        1. Central roles and responsibilities
        2. Partner roles and responsibilities
        3. Customer roles and responsibilities
    6. Understanding project phases
      1. The preparation phase
        1. Identifying demand
        2. Studying feasibility
        3. Specifying the budget
        4. Seeking approval
        5. Issuing a Request for Information (RFI)
        6. Issuing an RFP/RFQ/RFT
        7. Discovery
        8. Negotiations
        9. Contract
      2. The project execution phase
        1. Project preparation
        2. Project initiation
        3. Initial analysis
        4. Iterative execution
        5. Final testing
        6. Solution deployment
      3. The operation phase
        1. Support transition
        2. Operation
        3. Decommission
    7. Contoso Inc. starting the implementation project
      1. Bidding process
      2. Project setup and methodology
      3. Project plan, tools, and documentation
      4. Project setup
    8. Summary
  11. Microsoft Power Platform Security
    1. Contoso Inc. designing Power Platform solution security
    2. Getting an overview of IT security
      1. Authentication versus authorization
      2. Microsoft cloud authentication and authorization fundamentals
        1. Provisioning user identity
        2. Assigning licenses
        3. Granting authorization
    3. Understanding authentication
      1. Identity and authentication solutions for internal users
        1. Cloud identity approach
        2. Password hash synchronization approach
        3. Pass-through authentication approach
        4. Federation approach
        5. Conclusion
      2. Authentication features for internal users
        1. Conditional access
        2. ADFS claim rules
        3. Multi-factor authentication
        4. Single sign-on options
        5. Cross-tenant inbound and outbound restrictions
      3. Service authentication for internal users
        1. Dataverse authentication
        2. Power BI authentication
      4. Authentication governance for internal users
        1. Dataverse user accounts provisioning governance
        2. Dataverse session governance
      5. Azure Active Directory guest users
      6. Authenticating external users
    4. Understanding authorization
      1. Authorization in Power Platform
      2. Authorization in Dataverse and model-driven apps
        1. Fundamentals of Dataverse authorization
        2. Setting up basic authorization
        3. Standard role-based security
        4. Modernized Business Units
        5. Group teams
        6. Authorizing model-driven app access
        7. Hierarchy security
        8. Record sharing
        9. Access teams
        10. Column-level security
        11. User interface security
      3. Authorization in canvas apps
        1. Authorization of apps
        2. Authorization of connections
      4. Authorization in Power Automate
        1. Authorization of background flows
        2. Authorization of interactive flows
        3. Authorization of desktop flows
      5. Authorization in Power BI
      6. Authorization in Power Pages
    5. Understanding compliance, privacy, and data protection
    6. Presenting security best practices
      1. Dataverse security roles
        1. Modifying security roles
        2. Layering of security roles
      2. Dataverse content-based security
        1. Using business units
        2. Using table form switching
        3. Using client-side scripting or business rules
        4. Using server-side event handlers
      3. Integrate security across solution components
        1. Dataverse-SharePoint integrated security
        2. Dataverse-Power BI integrated security
      4. Using identity and access management automation
      5. Establishing the Power Platform mature security model
    7. Contoso Inc. security architecture
      1. Active Directory integration
      2. Data Loss Prevention policies
      3. Dataverse
      4. Other security decisions
    8. Summary
  12. Microsoft Power Platform Extensibility
    1. Contoso Inc. – designing the Power Platform solution
    2. Getting an overview of extensibility
    3. Presenting Dataverse and model-driven app extensibility
      1. Dataverse standard customization
        1. Dataverse data modeling
        2. Dataverse user interface design
        3. Designing model-driven applications
        4. Designing mobile apps
      2. Dataverse automation
        1. Dataverse business rules
        2. Classic Dataverse workflows
        3. Dataverse custom actions
        4. Dataverse custom APIs
        5. Dataverse business process flows
      3. Dataverse client-side extensibility
        1. Standard custom controls
        2. Power Apps Component Framework
        3. Web resources
        4. Embedding canvas apps
      4. Dataverse server-side extensibility
        1. Dataverse API interface types
        2. Plug-in event handlers
        3. Custom workflow actions
        4. Azure Service Bus integration
        5. Azure Event Hub integration
        6. Webhook integration
        7. Building external applications
      5. Unified Service Desk extensibility
    4. Presenting Power Pages extensibility
    5. Presenting Power Automate flows
      1. Cloud flows
      2. Desktop flows
      3. Process advisor
    6. Presenting canvas apps and Power Automate extensibility
      1. Canvas apps and Power Automate customization
      2. Power Fx
      3. Building custom connectors
    7. Presenting Power BI extensibility
    8. Power Platform extensibility best practices
      1. Dataverse client-side interface extensibility
      2. Dataverse server-side extensibility
        1. Dataverse API selection
        2. Extensibility and automation options
        3. Performance impact
    9. Contoso Inc. Power Platform solution design
      1. Model-driven apps
      2. Automations
      3. Client-side extensibility
      4. Server-side extensibility and integrations
      5. Other design decisions
    10. Summary
    11. Further reading
  13. Microsoft Power Platform Integration
    1. Contoso Inc. designing the Power Platform integration
    2. Getting an overview of Power Platform integration
    3. Integrating with Microsoft 365 and Microsoft Azure
      1. Introducing implicit Dynamics 365 integrations
      2. Integrations with Microsoft 365 services
        1. Integrating with Exchange
        2. Integrating with SharePoint
        3. Integrating with OneDrive
        4. Integrating with Microsoft Teams
        5. Integrating with Microsoft OneNote
        6. Integrating with Skype/Skype for Business
      3. Integrations with Microsoft Azure services
        1. Integrating with Azure Blob Storage
        2. Integrating with Azure Data Lake/Synapse Analytics
        3. Advanced integration scenarios with the Azure Synapse Link for Dataverse
        4. Integrating with Azure Logic Apps
        5. Integrating with Azure API Management
    4. Frontend integration patterns and solution approaches
      1. Embedding third-party content into Dataverse
      2. Embedding Dataverse content into third-party containers
      3. Event-driven and on-demand frontend integration
      4. Using Unified Service Desk
    5. Backend integration patterns and solution approaches
      1. The remote procedure call pattern
      2. The relay pattern
      3. The publish-subscribe pattern
      4. The request-callback pattern
      5. Data integration
        1. Virtual tables
        2. Standard Azure data integrations
        3. Integration between Dynamics 365 CRM and ERP
      6. Custom backend integrations
    6. Other Power Platform integrations
      1. Power Virtual Agent and AI Builder
      2. Power BI
    7. Learning about Power Platform integration best practices
      1. Frontend integration
      2. Backend integration
    8. Contoso Inc. Power Platform integration design
      1. Integration with Microsoft 365 and Microsoft Azure
      2. Frontend integration
      3. Backend integration
    9. Summary
  14. Microsoft Power Platform Data Migration
    1. Contoso Inc. planning the data migration
    2. Getting an overview of data migration
      1. Migration as part of integration
      2. Migrating consolidated data
      3. Advanced migration
    3. Understanding the data migration tools and techniques
      1. Entering data manually
      2. Using Excel files
      3. Using the Dataverse data import wizard
      4. The Configuration Migration Tool
      5. Dataflows with Power Query
      6. SQL Server Integration Services
        1. Extracting data
        2. Transforming data
        3. Loading data
      7. Azure Data Factory
      8. Data migration using code
    4. Data migration challenges and best practices
      1. Planning and effort estimation
      2. Scoping the migration
      3. Understanding the impact on storage
      4. Compliance considerations
      5. Understanding access issues
      6. Coping with a lack of knowledge
      7. Dealing with a lack of documentation
      8. Poor-quality source data
      9. Understanding encoding issues
      10. Understanding record ownership issues
      11. Understanding mapping issues
      12. Understanding record relationship issues
      13. Understanding business process flow issues
      14. Understanding record status issues
      15. Setting certain system fields
      16. Migrating documents
      17. Understanding the importance of the order of migration steps
      18. Understanding migration automation
      19. Understanding migration performance
      20. Resolving API limits
      21. Time for migration execution
      22. Verifying the data by the customer
    5. Contoso Inc. data migration design
    6. Summary
  15. Appendix
  16. Best Practices for Solution Architecture
    1. Architectural best practices
      1. When to use multiple tenants
        1. Separate development and testing environments
        2. Unsupported integration topology
      2. Environment strategies for an enterprise-scale project
        1. The shared test and production environment strategy
        2. The dedicated environments strategy
        3. The complex testing strategy
        4. The multiple release strategy
        5. The product upgrades strategy
      3. Environment regions
      4. Administration and monitoring
    2. Application lifecycle management best practices
      1. Create a specific solution package
      2. When to use unmanaged or managed solutions
      3. When to use a single solution
      4. When to use multiple solutions
      5. Component sharing and component libraries
        1. Using segmentation
        2. Using source control
      6. Use one single publisher for all solutions within a project
      7. Power BI best practices
    3. Security best practices
      1. Dataverse security roles
      2. Create new custom roles instead of modifying default roles
        1. Layer security roles instead of configuring individual roles
      3. Dataverse content-based security
        1. Using a business unit hierarchy
        2. Using table form switching
        3. Using server-side event handlers
      4. Integrate security across solution components
        1. Dataverse-SharePoint integrated security
        2. Dataverse-Power BI integrated security
      5. How to use identity and access management automation
      6. Establishing a Power Platform mature security model
    4. Extensibility best practices
      1. Optimizing the performance of client-side extensibility
      2. Dataverse server-side extensibility
        1. When to use which Dataverse API
        2. Recapping extensibility and automation options
        3. Avoid synchronous workflows and plug-ins
    5. Integration best practices
      1. Frontend integration
      2. Backend integration
    6. Data migration best practices
      1. Don’t underestimate the project duration
      2. Determine the scope of the migration
      3. Understand the impact on storage
      4. Compliance considerations
      5. Start getting physical access to all required systems and solutions early
      6. Expect a lack of knowledge about legacy IT systems
      7. Include contractual responsibility for the quality of source data
      8. Legacy IT systems might have encoding issues
      9. Attempt to resolve record ownership issues in the data transformation phase
      10. Understanding mapping issues
      11. Exclude records with record relationship issues
      12. Understanding business process flow issues
      13. Understanding record status issues
      14. Ascertain whether you need to set certain system fields
      15. Migrating documents
      16. Follow the order of migration steps
      17. Understanding migration automation
      18. Understanding migration performance
      19. Request the lifting of API limits for large projects
      20. Arrange time for the migration execution
      21. The customer should verify the quality of all migrated data before the final migration
  17. Other Books You May Enjoy
  18. Index

Product information

  • Title: Microsoft Power Platform Enterprise Architecture - Second Edition
  • Author(s): Robert Rybaric
  • Release date: January 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781804612637