Microsoft Dataverse: A Complete Guide

What is Microsoft Dataverse?

Microsoft Dataverse is a cloud-based, low-code data platform that comes as part of the Microsoft Power Platform. It allows users to securely store and manage data that’s used by business applications. Dataverse enables the creation of a scalable data schema that is used by Power Apps, Power Automate, Power Virtual Agents, and Power BI, as well as supporting integration with Dynamics 365 and other applications.

Microsoft Dataverse is designed to act as the underlying data platform for the Power Platform products, but it can also be used independently to create custom applications and automate workflows. It leverages Microsoft Azure’s global infrastructure, providing reliability, scalability, and compliance with regulations.

Fun Fact: Did you know that Microsoft Dataverse was previously known as Common Data Service? It underwent a rebranding to better reflect its expanded capabilities and role within the Microsoft Power Platform.

What Versions of Microsoft Dataverse Are There?

Microsoft Common Data Service (CDS) was rebranded as Microsoft Dataverse in late 2020. The platform is available in Microsoft 365 in two editions:

  • Dataverse for Teams, which is a free version of Dataverse that provides a subset of the full features, and with a limited capacity.
  • Dataverse, Microsoft’s full, premium version of Dataverse intended for developers and more advanced data processing tasks.

What Is Dataverse for Teams?

Dataverse for Teams is a limited edition of Dataverse that provides businesses with basic data storage and management capabilities. It includes support for custom applications, bots, and workflows within Microsoft Teams.

You don’t need to purchase any additional licenses to use Dataverse for Teams; it’s included in all Microsoft 365 subscriptions. Each team is allocated 2GB of storage space, which can store up to one million rows of data.

Team members have access to the data to build no-code apps, websites, and workflow automations. However, apps are only accessible via the Teams app, and there is no API access for advanced development.

Core Features of Microsoft Dataverse

Microsoft Dataverse provides a set of core features that make it a powerful and flexible data platform. Here are some of the main features:

  1. Data Modeling: Dataverse allows you to create a data schema by defining tables, columns, relationships, and metadata. This helps in organizing the data for different business applications, without needing deep technical knowledge.
  2. Data Storage: It provides secure and cloud-based storage for your business data. You can store data from various applications and sources, ensuring it is accessible when needed.
  3. Business Logic: Dataverse includes capabilities for adding business logic to your data model. You can create and run workflows, business process flows, and business rules to automate processes and ensure data integrity.
  4. Rich Data Types: Support for a variety of data types, including text, numbers, dates, and more complex types like lookups and choice, allows for detailed data modelling.
  5. Security: Data security is a core feature, with robust access controls that help manage who can access the data and what they can do with it. Role-based security, row-level security, and field-level security allow fine-grained control over access.
  6. Integration: Dataverse integrates easily with other Microsoft products such as Power Apps, Power Automate, Power BI, and Dynamics 365, as well as with external systems through a variety of APIs and connectors.
  7. Global Relevance: It supports multiple languages and currencies, which is essential for global businesses. This allows users to work with the data in their local context.
  8. Data Logic and Validation: Dataverse can automatically enforce data integrity and validation without the need for additional coding. For example, you can define required fields, data formats, and uniqueness constraints.
  9. Rich Querying Capabilities: With its advanced filtering and querying capabilities, users can easily retrieve and analyze data. It supports a wide range of query capabilities like complex filters, full-text search, and aggregation.
  10. Productive Environment: It has a user-friendly interface and tools designed to make app makers and developers more productive. This includes easy data import and export, a graphical query designer, and model-driven forms.
  11. AI and Analytics: Dataverse supports AI-driven insights and analytics, enabling users to make informed decisions with predictive modelling and reporting tools.
  12. Application Lifecycle Management: It supports ALM with solutions that package and manage the application lifecycle across different environments, from development and testing to production.

These features, when combined, provide a comprehensive and robust platform for storing and managing the data needed for modern business applications, while also allowing for extensive customization and scalability.

How Dataverse Works

Microsoft Dataverse operates as a unified and scalable data service platform designed to securely store and manage data used by business applications. It simplifies the process of leveraging complex data across applications, offering an integrated environment where data can be easily modelled, stored, and managed. Here’s a breakdown of how Dataverse works:

1. Data Structure and Management

  • Tables and Columns: At its core, Dataverse organizes data into tables. These tables contain columns and rows, much like a traditional database, but are designed to be more user-friendly for application developers and builders. You can define custom tables specific to your business needs or use standard tables that cover common scenarios.
  • Relationships: Dataverse supports defining relationships between tables. This can include one-to-many and many-to-many relationships, which help in creating complex and relational data models that reflect real-world scenarios.
  • Data Types: It supports a variety of data types for columns in the tables, including basic types (such as text and numbers), more complex types (like choices and image data), and relational types (like lookups).

2. Security

  • Dataverse uses a robust security model that includes authentication, authorization, and data access controls. It leverages Azure Active Directory for user authentication, ensuring that only authenticated users can access the system.
  • The platform allows for granular access control at the level of tables, columns, and even rows. This means you can define precisely who can access what data and what operations they can perform on it.

3. Business Logic and Processes

  • Rules and Workflows: To ensure data integrity and automate business processes, Dataverse allows for the definition of business rules, workflows, and process flows. These can automatically validate data, create or update data according to specific logic, or automate tasks across applications.
  • Plugins and Virtual Entities: For more complex logic, developers can write custom plugins in C# or create virtual entities to integrate data from external systems as if it were stored within Dataverse itself.

4. Integration and Connectivity

  • A key feature of Dataverse is its ability to integrate seamlessly with other Microsoft applications and services (like Power Apps, Power Automate, Power BI, and Dynamics 365) and external systems.
  • It provides a rich set of APIs, including OData APIs for CRUD operations, service hooks for events, and a powerful Data API that makes it easier to interact with the data programmatically.

5. User Interface and Development Tools

  • Dataverse is accessible via the Power Apps portal, where users can manage data, model applications, and define business processes. It offers a low-code environment, making it accessible for non-developers while also providing powerful tools for pro developers.
  • Application lifecycle management (ALM) tools and environments support the development, testing, and deployment phases of the applications using Dataverse.

6. Reporting and Analysis

  • Integration with Power BI allows for the creation of rich, interactive reports and dashboards directly from Dataverse data, providing insights and analytics capabilities to support decision-making.

In essence, Microsoft Dataverse is an adaptable data backbone that integrates various Microsoft services under one roof, streamlining the way businesses manage and interact with their data across applications. Its design enables both technical and non-technical users to model, manage, and interact with data in a highly secure and efficient manner, empowering the development of sophisticated business applications with minimal coding.

Microsoft Dataverse Pricing

Microsoft Dataverse pricing can vary depending on several factors, including the type of license you have, the amount of data storage required, and any additional features or capabilities you may need. Microsoft typically structures Dataverse pricing around two main components: storage capacity and user access. Here’s a breakdown of these aspects to give you a better understanding:

Storage Capacity

Dataverse storage is divided into three types:

  • Database Storage: This is used for storing entity records.
  • File Storage: Used for storing files associated with entities, such as attachments in emails.
  • Log Storage: Stores system logs including plugin trace logs and audit data.

Each Power Apps or Dynamics 365 subscription comes with a base amount of storage, and additional storage can be purchased as needed. For example, organizations may start with a certain amount of database storage and can purchase additional storage in gigabyte (GB) increments.

User Access License (UAL)

Pricing for accessing Dataverse can also depend on the type of user license:

  • Power Apps per user plan: This plan typically allows a user to run unlimited applications for a monthly fee per user.
  • Power Apps per app plan: This more granular plan permits running one application per user for a lower monthly fee, suitable for users who only need access to one or a few apps.
  • Dynamics 365 Licenses: Users with Dynamics 365 licenses can access Dataverse as part of their Dynamics 365 apps without additional Dataverse-specific licensing fees.
Plan/Category Price (USD) Price (CAD)* Approx. Capacity Details
Power Apps per app plan $5 ~$6.78 Per app Access to one Power Apps app
Power Apps per user plan $20 $27.1 Unlimited Access to unlimited Power Apps and Power Pages, 500 AI Builder credits, 250 MB database, and 2 GB file capacity
Power Apps Premium $20 per user/month $27.1 per user/month Unlimited Run custom applications, build and run custom applications, run custom websites, 250 MB database capacity, 2 GB file capacity
Power Automate use rights $20 per user/month $27.1 per user/month Unlimited Managed environments, infuse AI, AI Builder service credits
Dataverse API calls/requests $50 per month ~$67.75 per month 10,000 daily API requests

* The approximations are based on official pricing as of February 14, 2024. For the most up-to-date pricing, always check the official pricing pages for your country and currency.

Additional Considerations

  • Applications: Building and deploying custom applications on Dataverse can incur costs depending on the complexity and scale of the application, though these costs are more about the development and operational resources rather than additional fees from Microsoft.
  • API Requests: There are limits to the number of API requests that can be made within a given time period, depending on the type of license. Exceeding these limits can require purchasing additional capacity.

How to Check Current Pricing and Quotas

Given the variability and frequent updates to pricing and licensing structures, it’s essential to consult the official Microsoft websites for the most current information:

  • Microsoft Power Apps Pricing Page: This page offers detailed information on the pricing for Power Apps, which includes access to Dataverse.
  • Microsoft Dynamics 365 Pricing: Since Dataverse is closely integrated with Dynamics 365, understanding the pricing for these apps can also be relevant.
  • Microsoft 365 Admin Center: If your organization already uses Microsoft products, the Microsoft 365 Admin Center might provide specifics on your current subscriptions and available add-ons, including Dataverse storage.

Remember, pricing strategies and offerings can change, so it’s always a good idea to engage with Microsoft sales representatives or authorized partners for tailored advice and the latest deals that might apply to your organization.

Implementing Microsoft Dataverse

Planning Your Implementation

Implementing Microsoft Dataverse effectively within your organization involves careful planning to ensure that it meets your business requirements, enhances your data management capabilities, and integrates smoothly with your existing systems and workflows. Here’s a structured approach to planning your Microsoft Dataverse implementation:

1. Define Business Objectives and Requirements

  • Identify Key Goals: Understand and document what your organization aims to achieve with Dataverse. This could range from improving data management and collaboration to streamlining business processes with automation.
  • Gather Requirements: Work with stakeholders across departments to gather detailed requirements. This includes data types, volume, relationships, business rules, and any specific security or compliance needs.

2. Assess Current Infrastructure and Systems

  • Inventory Current Systems: Map out existing applications and data sources that will interact with Dataverse. This helps in identifying integration points and any potential challenges.
  • Evaluate IT Infrastructure: Ensure your IT infrastructure is capable of supporting Dataverse, taking into consideration factors like internet bandwidth, Azure Active Directory for authentication, and any necessary changes to network configurations.

3. Plan Data Architecture and Security

  • Design Data Model: Based on the business requirements, design your data model in Dataverse. This involves planning the tables, columns, data types, and relationships that will organize and store your data efficiently.
  • Security and Compliance Planning: Define your security model within Dataverse, including roles, access controls, and any data encryption needs. Ensure compliance with internal policies and relevant regulations (GDPR, HIPAA, etc.).

4. Integration and Migration Strategy

  • Identify Integration Points: Determine how Dataverse will integrate with other Microsoft applications (e.g., Power Apps, Power BI) and third-party systems. Plan for the use of APIs, connectors, or custom interfaces as needed.
  • Data Migration Plan: Develop a strategy for migrating existing data into Dataverse. This includes data cleaning, mapping, transforming, and validation processes to ensure data integrity and minimal disruption to operations.

5. Application Development and Customization

  • Identify Custom Applications: Determine if there are specific applications that need to be developed using Power Apps or other tools that leverage Dataverse. Plan for the necessary development resources and timelines.
  • Customization Needs: Identify any specific customizations or extensions, like custom plugins or workflow automation, to meet unique business processes.

6. Training and Change Management

  • Stakeholder Engagement: Keep stakeholders informed and engaged throughout the planning and implementation process. Address any concerns and ensure alignment with business goals.
  • Training Plan: Develop a training plan for end-users, developers, and administrators. This should cover how to use Dataverse, manage data, develop applications, and adhere to security policies.

7. Testing and Quality Assurance

  • Develop Test Plans: Outline testing scenarios that cover data integrity, application functionality, security, and performance. This helps in identifying and addressing issues before widespread deployment.
  • Pilot Phase: Consider running a pilot implementation with a limited scope or department. This allows you to gather feedback and make adjustments before a full rollout.

8. Implementation and Monitoring

  • Rollout Plan: Create a detailed implementation schedule, including any necessary downtime, data migration windows, and training sessions.
  • Monitoring and Support: Establish monitoring for system performance and user feedback mechanisms. Set up a support structure for addressing any issues or questions that arise.

9. Continuous Improvement

  • Review and Optimize: Regularly review the Dataverse implementation against business objectives. Look for opportunities to optimize performance, enhance security, or improve user experiences.

Planning your Microsoft Dataverse implementation with a thorough and structured approach will help ensure a successful deployment that aligns with your organization’s needs and objectives. Remember, the flexibility of Dataverse means your implementation can be tailored and scaled over time to meet evolving business requirements.

Fun Fact: Microsoft Dataverse is part of the larger Microsoft Power Platform, which also includes Power BI, Power Apps, and Power Automate, offering an integrated suite of tools to transform business operations.

Step-by-Step Guide to Setup

Setting up Microsoft Dataverse can be an exciting process as it opens up a wide range of possibilities for data management, application development, and business process automation within the Microsoft ecosystem. Below is a step-by-step guide to help you get started:

Step 1: Access Microsoft Power Platform Admin Center

  1. Sign in to the Microsoft Power Platform Admin Center with an administrator account. You’ll need suitable permissions to set up Dataverse. If your organization already uses Microsoft 365 or Dynamics 365, you likely have access to this platform.

Step 2: Create an Environment

  1. Navigate to the Environments section and click on + New to create a new environment.
  2. Provide a Name for the environment and select a Region where your data should be stored.
  3. Choose the Type of environment: select “Trial” for experimental purposes and “Production” for a live environment.
  4. Depending on your plan, choose whether to create a Database for this environment immediately. Select “Create a database” and proceed.
  5. Click Save to create the environment.

Step 3: Configure the Database

  1. After selecting to create a database, you’ll be guided to a new screen. Here, you can configure the initial settings for your Dataverse database.
  2. CurrencyLanguage, and Purpose of the database need to be specified.
  3. You have the option to enable Dynamics 365 apps, which will populate your database with the common data model standard tables used by Dynamics 365. This is useful if you plan to integrate with Dynamics 365.
  4. Click Save to create the database.

Step 4: Security Configuration

  1. After your environment and database are ready, you need to configure access and security settings.
  2. Navigate to Settings > Users + permissions in the Power Platform Admin Center.
  3. Users: Add users by their email addresses and assign roles (Admin, Customizer, User, etc.) based on what access they need.
  4. Teams: Optionally, you can create teams to simplify the management of access rights for groups of users.
  5. Security Roles: Review and adjust the security roles as needed to align with your organization’s security policy.

Step 5: Data Modeling

  1. Go to powerapps.com and select your environment from the top right dropdown.
  2. Navigate to Data > Tables to start creating your data schema. You can create new tables, define columns (fields), and establish relationships between tables.
  3. Use the Power Apps Studio for more advanced modelling features, like forms, views, and dashboards associated with your tables.

Step 6: Integration and Logic

  1. If needed, integrate with other Microsoft applications or external systems. Use Connectors for Power Platform apps, or the Data API for programmatic access.
  2. Define business rules, workflows, or plugins to automate processes and ensure data integrity within Solutions in Power Apps.

Step 7: Testing

  1. Test your setup extensively. This includes verifying data model integrity, user access permissions, application behaviour, and integration points.
  2. Provide training sessions or documentation to users as necessary.

Step 8: Monitoring and Maintenance

  1. Utilize the built-in analytics and monitoring tools to keep track of your environment’s health and usage.
  2. Regularly review user feedback and system performance to make necessary adjustments.

By following these steps, you’ll have a foundational setup of Microsoft Dataverse. Remember, implementation can vary widely based on an organization’s specific needs, so be prepared to adapt and extend this guide to suit your requirements.

Best Practices for Deployment

Deploying solutions that leverage Microsoft Dataverse effectively requires a blend of strategic planning, technical understanding, and adherence to best practices. Whether you’re launching a new app or migrating existing resources to Dataverse, following these best practices can ensure a smooth deployment and operational success.

1. Understand Business Objectives

Before diving into the technicalities, clearly understand the business objectives and how the deployment aligns with these goals. This understanding ensures that the solution meets business needs and delivers value.

2. Plan for Scalability and Performance

  • Design for Scale: Anticipate future growth in user numbers and data volume. Choose architectures and data models that can scale.
  • Performance Testing: Conduct performance testing early and regularly. This helps identify and mitigate potential bottlenecks.

3. Adopt a Modular Approach

Use solutions and environments to segregate development, testing, and production work. This modular approach facilitates easier updates, testing, and rollbacks without impacting the production environment.

4. Implement Security From the Start

  • Role-Based Access Control (RBAC): Employ RBAC to ensure users have access only to the data and functions necessary for their role.
  • Data Policies: Define data policies covering aspects from data entry to storage, ensuring compliance with regulatory requirements.

5. Use ALM Practices

Application Lifecycle Management (ALM) practices are crucial for managing and maintaining the deployment over time. Utilize DevOps tools and strategies for version control, automated testing, and continuous deployment to streamline updates and reduce risks.

6. Leverage Out-of-the-box Features

Before developing custom solutions, explore the out-of-the-box (OOTB) functionalities provided by Dataverse and the broader Power Platform. Reusing OOTB features can significantly reduce development time and cost.

7. Understand Data Modelling Concepts

A well-thought-out data model is the foundation of any Dataverse deployment. Understand relationships, data types, and how to model data effectively to support your applications and ensure data integrity.

8. Optimize Data Integrations

Integrating Dataverse with other systems requires careful planning:

  • Data Synchronization: Identify data that needs to be synchronized between systems and choose the most efficient method for doing so.
  • Use Connectors and APIs: Utilize existing connectors where possible and consider custom APIs for more complex integrations.

9. Monitor and Optimize

Post-deployment, continuously monitor performance and user feedback. Use this data to optimize the solution regularly for better performance, usability, and cost-effectiveness.

10. Educate and Support Users

Ensure users are trained on how to use the new solutions effectively. Provide documentation, training sessions, and ongoing support to help users adapt to the new system and processes.

11. Stay Up-to-Date

The Power Platform and Dataverse are continuously evolving, with new features and improvements being released regularly. Stay informed about these updates and assess how they can benefit your deployment.

Following these best practices for Dataverse deployment can lead to more successful projects, satisfied users, and a higher return on investment. Every deployment is unique, so it’s important to adapt these guidelines to fit the specific context and requirements of your organization.