Preface
Microsoft Power Platform is a very popular collection of cloud services for building business applications quickly, efficiently and using the low-code/no-code approach. You can use Power Apps to build business applications for PC and mobile devices, as well as to build publicly available portals. With Power Automate, you can create cross-application automation and integration solutions. Power BI is a well-established and flexible enterprise analytical and reporting tool.
In this book, you will learn about the various components of Power Platform from an architect's point of view. You will learn how to architect and design complex Power Platform solutions for large and global organizations. You will dive deep into Power Platform security, extensibility, integration, and data migration. You will also learn what it means to set up an enterprise implementation project to successfully implement a Power Platform solution for a large organization.
While reading the book, you will accompany a fictitious global corporation, Contoso Inc., on their journey into the Power Platform cloud. You will see how they are adopting the products, preparing the implementation project, learning all the aspects of such a complex solution, and taking decisions in order to reap the largest possible rewards, all while following internal policies and rules.
After reading this book, you should have a clear understanding of the Power Platform technology and know how to use it to deliver a robust, scalable, and user-friendly solution to your customers.
Who this book is for
This book is primarily intended for solution and technical architects who would like to understand all aspects of a successful Power Platform project implementation. But, of course, every technical specialist on the project implementation side, as well as on the customer side, who wants to learn about Power Platform will benefit from reading this book.
This is not a beginner's book. Certain basic knowledge of Microsoft technology in general, as well as Power Platform in particular, is required to understand the concepts presented. It is expected that the reader has basic knowledge of concepts such as PowerShell and programming languages such as C# or JavaScript, and understands principles such as data modeling, web services, and user interface design.
What this book covers
Chapter 1, Microsoft Power Platform and Microsoft Dynamics 365 Overview, gives you an overview of the components of Microsoft Power Platform. You will establish a firm understanding of Microsoft Dynamics 365 modules for building CRM and ERP solutions, the other modules for leveraging artificial intelligence and using HoloLens. At the end of the chapter, you will learn the basics of Power Platform and Dynamics 365 licensing.
Chapter 2, Microsoft 365 and Microsoft Azure Overview, provides an overview of the two other Microsoft cloud services, Microsoft 365 and Microsoft Azure, in the context of a Power Platform solution. You will learn about all the components used in the context of a Power Platform solution, and how the solution can benefit when integrating them. You will also get an overview of how those cloud components are licensed.
Chapter 3, Understanding Microsoft Power Platform Architecture, dives deep into the world of the Power Platform architecture. You will learn about the infrastructure, architecture, and structure of the Power Platform cloud components. You will see what client components are available for the various devices used today. You will also focus on the administration and monitoring possibilities, and finally, you will learn about various architectural best practices that are proven for Power Platform implementations in large organizations.
Chapter 4, Tools and Techniques, covers the tools and techniques used to configure and customize Power Platform solutions. You will also learn about the tools and techniques that need to be used when configuration and customization do not cover advanced customer requirements, and custom development is necessary. Finally, you will learn about some of the tools supporting the application lifecycle of Power Platform solutions.
Chapter 5, Application Lifecycle Management, explains how to adopt Application Lifecycle Management (ALM) principles to implement Power Platform solutions. You will learn about solution management as the main ALM approach for all parts of a solution except for Power BI. You will look at the potential application of ALM in Power BI. You will also learn how Microsoft Azure DevOps can help you make the ALM processes smooth, easy, and fully automated. At the end of the chapter, you will be presented with a collection of ALM-related best practices.
Chapter 6, Implementation Approach and Methodologies, covers a lot of the practical details about how to understand your customer's enterprise architecture. You will see what project implementation methodologies are available, which ones are used for Power Platform projects, and how to prepare an implementation project. Finally, you will see what a typical project setup in terms of roles and responsibilities can be, and what an enterprise project lifecycle, from the beginning until the solution is brought into production, can look like.
Chapter 7, Microsoft Power Platform Security, focuses on all aspects of Power Platform solutions security. You will learn all the details of authentication within Microsoft cloud solutions, and you will look at the details in relation to Power Platform. You will also see how authorization in the various Power Platform components can be implemented. At the end of the chapter, you will learn a number of security-related best practices.
Chapter 8, Microsoft Power Platform Extensibility, dives deep into the extensibility possibilities of the various Power Platform components. You will learn what can be achieved by configuration and customization and what types of requirements need to be developed with code. The main part of this chapter is dedicated to Common Data Service applications, but you will also gain an understanding of the extensibility capabilities of canvas apps, Power Automate, and Power BI. At the end of the chapter, various extensibility best practices will be presented.
Chapter 9, Microsoft Power Platform Integration, explains that every complex Power Platform solution is always heavily integrated with other Microsoft cloud services, but also with the customer's own IT ecosystem. That's why it is crucial to understand the integration possibilities of Power Platform. In this chapter, you will learn about all those Microsoft 365 and Microsoft Azure integration options, and how lot things can be achieved by using a simple configuration. You will also see how a custom frontend and backend integration can be implemented and explore the typical integration patterns and solution approaches. Additionally, we will explore several integration capabilities of Power Virtual Agent, AI Build, and Power BI.
Chapter 10, Microsoft Power Platform Data Migration, is dedicated to data migration. In most cases, the implementation of a Power Platform solution must be accompanied by a data migration effort to bring all the useful data from the customer's various legacy IT systems and solutions into Power Platform. In this chapter, you will learn what the usual data migration strategies are and what tools and solutions can be used for this purpose. At the end of the chapter, you will be presented with best practices to mitigate the different challenges of a complex data migration.
To get the most out of this book
This book is dedicated to Microsoft Power Platform, so a permanent or temporary (trial) license of the Power Platform cloud components is required. Also, a number of tools are required to perform configuration, customization, and custom development on Power Platform. These tools are described in detail in Chapter 4, Tools and Techniques.
The best environment to successfully use the concepts presented in this book is a Windows-based PC with a fast internet connection and any of the major internet browsers.
If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to copying and pasting of code.
Download the example code files
You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
- Log in or register at www.packt.com.
- Select the Support tab.
- Click on Code Downloads.
- Enter the name of the book in the Search box and follow the onscreen instructions.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
- WinRAR/7-Zip for Windows
- Zipeg/iZip/UnRarX for Mac
- 7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Microsoft-Power-Platform-Enterprise-Architecture. In case there's an update to the code, it will be updated on the existing GitHub repository.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
Download the color images
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://static.packt-cdn.com/downloads/9781800204577_ColorImages.pdf.
Conventions used
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The workspaces module, which is used for workspace management (module name: MicrosoftPowerBIMgmt.Workspaces)."
A block of code is set as follows:
using System;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Tooling.Connector;
static void Main(string[] args)
{
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/common" + tenantid, false);
ClientCredential credential = new ClientCredential(clientId, clientsecret);
Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "The second option, Stage for Upgrade, provides an additional possibility to temporarily keep both the original and the updated solution in the environment."
Tips or important notes
Appear like this.
Get in touch
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at customercare@packtpub.com.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Reviews
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packt.com.