Power Platform governance, especially for low-code solutions, can sometimes seem abstract, even to seasoned IT professionals. The challenges and standards of traditional enterprise IT diverge significantly from what low-code platforms offer today. To provide a better understanding of this, let's delve into a real-world scenario and the implications of an unmanaged low-code application in a business setting. It also highlights the pressing need for guardrails within tools such as Power Apps and Power Automate.
Take for instance, an application that was developed and peddled prior to defining a Power Platform governance model for its corresponding organization. To meet specified business requirements, it was managed by an external partner. It's noteworthy that inexperienced developers pose significant risks in low-code app development, the issues at hand were birthed from a solution created by proficient developers.
Upon analysis, we noticed one particular application to be a popular and advanced low-code solution. put to use by this organization. Despite seemingly functional from an outer perspective, there were some identified issues that could potentially disrupt crucial business operations. Such issues once accumulated over time, requires a lengthy period to rectify.
The areas with identified issues include: Architecture, Environment Strategy, Security and Access Management, Identity Management, Licensing, and Documentation. Let's discuss these areas briefly.
Low-code platform tools like Power Apps are often picked up quickly by professional developers. However, they might overlook other available services. In the examined scenario, the canvas app was storing all its data in an Azure SQL database, with other services like Azure Blob storage, Azure Data Factory, and Azure Key Vault aiding its performance.
Problem is, when Azure is used to replace versus augment Power Platform services, you lose the benefit of utilizing the complete platform potential. This rigidifies the moving of Power Platform components from one environment to another and necessitates maintenance of double artifacts.
Furthermore, developers also need to contemplate about their Application Lifecycle Management (ALM) early on. High-level guidance to initiate looming consequences during the designing process is crucial. In terms of resources, governance processes should make it clear for potential app-makers what IT resources can be acquired and through what process to avoid any further complications.
Power Platform environments are containers for all resources utilized in low-code solutions. It is pivotal that elements are built in the correct environment to avoid accruing technical debt. In this scenario, the app was running in the tenant’s default environment, an ill-advised practice for high usage business processes. This was attributed to the absence of a developer-friendly process to request Power Platform environments for solutions.
The need for proper Power Platform governance lies not just in ensuring sufficient version control and implementing the appropriate environment for production and non-production, it also involves limiting data access. This is especially relevant when data is stored in default environments because it's accessible by licensed users. Thus, Data Loss Prevention (DLP) policies must be designed and deployed to exclude the creation of implicitly shared connections in the Default environment.
Last but not least, identity management plays a key role in enterprise low-code application platforms. It should be set for all resources in order to avoid dependencies on a single user account. Ownership should be assigned for all related apps, flows, connections right from the beginning to avoid future complications.
Understanding and explaining Microsoft’s licensing model, a notoriously difficult topic, is essential for all developers. Any misinterpretation or lack of compliance can lead to uncomfortable situations.
In an increasingly digital world, the Power Platform has shown great potential for organizations, particularly when it comes to handling low-code solutions. Here, we would delve into an example from the real world, exploring the issues your low-code governance policies should aim to address.
Interestingly, let's take a look at a potential scenario - a problem involving an ungoverned app. It was built before a governance model was established in the organization and unfortunately, it resulted in a negative impact both for the business users and IT. Let’s take this as a lesson in understanding the necessity of setting up proper guidelines for utilizing tools like Power Apps and Power Automate.
Typically, the scenario presents an application developed by an external partner to meet specific business process requirements. Despite being created by professional developers, a myriad of problems were discovered. Let's highlight some of them.
Architecture: While professional developers can utilize the Microsoft Power Platform efficiently, challenges arise when they do not fully understand or utilize all the services offered by the platform. In the scenario given, all data of the canvas app was stored in an Azure SQL database. The solution packages, which are meant to facilitate the transition of the Power Platform's components from one environment to another in your deployment process, couldn't include any resources from Azure. Consequently, an efficient governance model should consider Application Lifecycle Management (ALM).
Environment Strategy: This is another major area that needs major consideration. The Power Platform environments play host to all resources used in low-code solutions. If the environments are not correctly selected from the onset, the breach may lead to technical debt. The governance model should clarify the necessary actions for apps that extend beyond personal productivity, including the use of production and non-production environments.
Security and Access Management: The data security and user access management roles within the Power Platform are immense. In the given scenario, the authorization for SQL data access was carried out using credentials stored in the app's connection. This practice may expose potential security risks, so your governance model needs to technically block any scenario like this.
Identity Management: The Power Platform’s integration with the existing identities of the users offers huge advantages like conditional access policies for more control. Nonetheless, it is essential to properly handle the lifecycle of application and automation development ids, to avoid disruptions when employees change roles or leave the organization.
Licensing: The licensing model, especially with the Power content, must be properly understood by all the makers to prevent unpleasant surprises. Licensing details need to be checked well in advance and constantly monitored to ensure continual compliance with the terms of licensing.
Documentation: This is often regarded as a tedious task by developers. However, proper solution documentation is essential to ensure ease of understanding how various components of the solution interact with each other.
In conclusion, the Power Platform, with technical policy enforcement and monitoring, requires elements like process building and effective communication channels for various stakeholders to function effectively. Therefore, it is essential for every organization that wants to take full ownership of their digital tools to create robust strategies for low-code application platform governance.
Power Platform governance, app control, mitigate risks, low-code solutions, app security, governance strategy, application governance, risk management, Microsoft Power Platform, Power Apps management