PowerApps, Canvas Apps, Model Driven Apps, Common Data Service and Dynamics 365 Explained

1 Comment

Microsoft has made several exciting new releases and updates to its PowerApps and Dynamics 365 platforms. In this post, we will explain what the different types of PowerApps are and the differences between Canvas Apps vs Model-Driven Apps. We will also discuss the Common Data Model and the Common Data Service, and what the new Common Data Service for Apps exactly is. We will then show how Dynamics 365 ties this all together, so you can understand and make a better decision as to which technologies to implement in your organization.


Firstly, PowerApps is Microsoft’s service for building “apps” that can run on mobile and web platforms, especially those targeting businesses and enterprises. In PowerApps, there are 2 different types of apps that we can create – “canvas apps” and “model-driven apps”. Both are managed from the PowerApps web page, and each has a different design mode that is selected from the bottom left of the screen.

Canvas Apps

With canvas apps, which we created here, you can control the design and layout of the app with a WYSIWYG design tool, connect it to different data sources (including the Common Data Service, SQL, SharePoint, Salesforce, Dropbox etc), and add Excel-type formula code. With canvas apps, you can access the app through both a web user interface, or as a mobile app. The mobile app is accessed through the PowerApps app – you simply install this app and you can then access your canvas PowerApps.

Canvas apps have a dark color theme in the app designer:

Common Data Model and Common Data Service

Before we discuss Model-Driven Apps, we need to understand the Common Data Model and Service. The Common Data Model is a secure business database implemented by Microsoft as a service as the Common Data Service. The model holds typical business entities such as Accounts, Contacts, Opportunities, Products, etc, and those entities hold typical fields such as addresses, phone numbers etc. A business can then take this model and extend it as needed – you can add fields, create your own entities etc. The idea is that having a common data model as a service allows for out of the box integrations to many other products and services, such as PowerApps, Flow etc.

The Common Data Service was previously implemented as a database/schema service separated from Dynamics 365, but is now tightly coupled with Dynamics 365 as discussed below.

Model-Driven Apps and Common Data Service for Apps

The Common Data Service for Applications, shortened to Common Data Service for Apps, is the framework that allows you to build applications on the Common Data Model. However, it’s not just building apps on the Common Data Model, it’s the whole platform that comes with it – the D365 platform. These apps are built as Model-Driven apps in PowerApps, and are called so because when you provision a new app, you are provisioning a Dynamics 365 instance where everything revolves around the model, or entities, and driven by business processes.

Check out this post on creating a model-driven app.

There is less control over the layout as you would get with canvas-driven apps, as it is pre-generated for you. However, in losing that flexibility you also gain not having to build the layout yourself, and the pre-defined layout is designed to work across different devices. When using model-driven apps on mobile devices, you can either use the Dynamics 365 mobile app to access the new app (which is different from using the PowerApps app for Canvas) or a web browser.

Model-driven apps have a light color theme in the app designer:

How Dynamics 365 Fits In

As of version 9.0, Dynamics 365 Customer Engagement now runs in Microsoft Azure. The various modules such as Marketing, Sales, etc as well as 3rd party apps leverage and/or are built on top of the Common Data Service for Apps. The D365 Customer Engagement platform has always been a powerful foundation for creating enterprise apps, and now what was Customer Engagement is Common Data Service for Apps, with the platforms merged.

When you build a model-driven app, you get to take advantage of the great features of the Dynamics 365 platform, which includes building entities, forms, business rules, business process flows, workflows, plugins, API, ALM, etc.

Also, if you use Dynamics 365 as an organization already and open your instance in PowerApps, you will see all your D365 entities and be able to take advantage of those to build apps:

Common Data Service for Analytics

The Common Data Service for Analytics, also called CDS-A (CDS-T is the transactional component of the CDS database in Azure), is a schematized data lake. It involves bringing data from different systems, through connectors, into the Common Data Model, which is encrypted and secure. Once in the model, you will have access to Power BI dashboards and analytics out of the box.

In Conclusion

As you can imagine, having your business data in the Common Data Service/PowerApps means taking advantage of multiple no code or low code integrations, analytics and anything else Microsoft will build into the platform in the future, with mobile PowerApps in a highly secure, manageable and scalable environment.


Carl de Souza is a developer and architect focusing on Microsoft Dynamics 365, Power BI, Azure, and AI.

carldesouza.comLinkedIn Twitter | YouTube


One Response to PowerApps, Canvas Apps, Model Driven Apps, Common Data Service and Dynamics 365 Explained

Leave a Reply

Your email address will not be published. Required fields are marked *