So it’s #LowCodeFebruary and your chance to learn about Power Platform fundamentals, Fusion Teams, Cloud Integration and many more. You can learn about and sign-up for it here. This event + interactive content that is going to be shared can´t be missed – here´s why: I was recently part of yet another CIO-led customer workshop. The CIO invited his leadership team to learn more and discuss about optimizing and modernizing the „app“ landscape by a #DoMoreWithLess principle, asking how they could improve their investments made in Microsoft technology and beyond.
Coming together to further discuss the potential of generating cost savings when activating through enablers. The team members have had several conversations up-front around legacy software modernization, migrating more services to the cloud and drive digital transformation. They all have been studying content, I shared earlier in my blog series about app and process modernization, which you can find here as well as them studying learning content avaiable from Microsoft.
Prior to meeting with the team, I came across this Microsoft Mechanics series around development of secured cloud-native apps, following the zero-trust principles and of course shared it with them as well.
But before going into this in more specific, let me first call out, that for interested folks, there´s a lot of content that already can be found when modernizing apps and processes using Azure tools. But when it comes to the combo of using Azure and Power Platform, still there´s room for improvements and making it easier to find content via a centralized hub experience.
Interested developers as example, could easily find things like https://learn.microsoft.com/en-us/azure/architecture/guide/ and start their journey from here. Or they could find the Azure Cloud Adoption Framework and using the 6 R´s to consider their cloud migration and app modernization journey and up-skill themselves. I´ve already walked through a couple of reusable aspects that also remain true when considering to use low-code as addition to your developers toolbelt, modernizing apps and/or processes.
To kick-off our workshop, we therefore used above shared visual that I´ve composed to outline the existing architectural guidance on app modernization – a series of steps, from the architecture and design to implementation. This is shown on the left side of the visual and steps down in stages. So the obvious question is:
What are the typical Power Platform architecture fundamentals and where to find more information around them?Member of IT Leadership, Customer
Therefore, I´ve started to collect and compose the Power Platform part to the right based on information I could find with some reasearch ongoing in above visual to help outline the status of it, but also layer it with the results from the Azure side to find similarities or differences. But let´s drill into the steps.
Using Power Platform as a SaaS offering, there´re certain points a developer doesn´t need to take care about. For instance the auto-scale of Power Platform when apps, bots or flows being consumed by end-users and the platform (compute & workload) behind the scenes automatically grows as demand grows by using more backend services through load balancers.
Up-next to the Microservices from the Azure world and the „brother“ from the low-code side – The Connectors Framework to connect to APIs, allowing a composable, stackable approach of either using Microsoft pre-built connectors to more than 800+ services as I am writing this article. Or, in addition using either an Independent Publisher connector or building your own API wrapper and publish it as Custom Connector inside your environment.
As Power Platform is build with and on top of Azure Services, you shouldn´t be suprised that Event-driven style is also true on the Power Platform side, though we tend to call them Triggers.
In terms of Big Data, in Power Platform we tend to talk about using Dataverse and it´s elastic capabilities to scale-out, but also using features, such as virtual connectors and virtual tables to access any data from within your app, process or bot-conversation as it would be physically stored in Dataverse database services, though it´s not. This „Data injection“ is a lot more flexible as you can read about it from Charles Lamanna, Corporate Vice President, Business Applications & Platform. Next.
Due to the nature of Power Platform being a SaaS offering, containing multiple tools, instead of thinking about compute it´s more about considering – Which tool to be used for offering a solution to a specific scenario? For instance: Creating an application using Power Apps, Designing an end-to-end process with the help of Power Automate, Optimizing a conversation by using a chatbot including intelligent AI. Or of course, using Robotic Process Automation with Power Automate to get rid of repetitive tasks done manually by employees. And let´s also not forget about desiging a public web front end for sharing information with customers, partners or for internal employees only.
In terms of Data stores, while there´s tons of data sources you can connect to from a Power Platform perspective, you´ll mainly find Microsoft referring to use Dataverse and it´s flexibility to store and control access to data easily. Nevertheless, with the Connectors Framework you also have tons of options to connect to other Data stores and make them available for your app and process modernization.
And in terms of Messaging, you typically find everything being asynchronously per default, except a couple of synchronous parts you could use when using Dataverse and server-side plug-ins. So I´ve added Notification as an addition on the Power Platform side, as it is more about worrying on the best notification methods to be used in case of when there´s a specific event and results should get communicated and shared. Next.
The most similarities you might find on this level, due to both Azure & Power Platform being designed to accelerate developer velocity. Though you might argue, that for Power Platform finding Design principles or -patterns, might be a challenge. Over the course of the last month, there have been many initiatives from both Microsoft and Community members or MVPs who came up with references and recommendations from whitepapers to also public documentation that can be found.
In addition to it, you can find a lot of templates being out there for Power Platform already, as due to it´s nature, templates can be easily and broadly shared inside Power Platform Developers community. From PCF gallery to templatized app samples to even video tutorials and many more. Next.
Both Azure and Power Platform aiming to drive developer velocity as said previously. Both designed to empower anyone for creating solutions to known and unknown issues and challenges of tomorrow and help creating collaborative user experiences that simplify work. No surprise, them therefore sharing common goals. But I also like to cross-reference here to words written and shared by Andrew Welch
„Point solutions are about solving for a specific number of known things; platform is about solving for an infinite number of unknown things.“Andrew Welch, via LinkedIn
Well, that being said you can find a lot of similarities when comparing Azure „app“ and Power Platform modernization guidance. So why shouldn´t developers start to learn more about low-code and make use of the benefits? The #30DaysOfLowCode is a perfect starting point to upskill and learn more. But I´ve promised yours to talk about the learnings from the Mechanics video shared in terms of Power Platform tools being used. So let´s advance to this.
Wait, you may ask where this can be found in above visual, right? Well, let me add the visual that was shared by Microsoft Mechanics series for your references here, before jumping into the steps.
When using Power Platform to modernize applications or processed, you can be ensured automatically following the principles outlined in above visual. From Identity to Data – From Data back to Identity. For those never using Power Apps or any other development tools inside Power Platform before:
You can´t start running an application, flow or chatbot without providing your identity first. There´s a strong relationship between Azure Active Directory and Power Platform. In terms of Endpoints there´re Power Platform Admin API and Dataverse API as examples. In terms of Applications I don´t think I need to mention the five main models that makes the Power Platform, but also not forgetting the additions, such as AI Builder which more and more simplifies work of both developers and end-users.
You´re acting in a secured network setup when using Power Platform components and can further extend individual settings with vNET as and example. The Infrastructure you´re using is on auto-scale, due to the nature of SaaS. And last but not least, access to data consumption is made easy through either the Connectors Framework (which now has an official icon) and/or Dataverse the elastic data service that hosts your data, manages controlled access or allows for ALM capabilities with a solution framework to compose and manage developer assets easily.
As you can imagine it has been an interesting conversation around both Azure and Power Platform architecture guidance fundamentals. A lot of „Ah-ha“ moments and fruitful discussions and learnings around how powerful the low-code stack became over the course of the last years. So let me wrap-up by sharing a last visual which is talking about the enablers. I´ve seen many posts on blockers, concerns and caveats recently.
As you can see on above visual there´re some great improvements made – yes percentages may vary in your situation – but it is important to take care of the enablers constantly. Which means just implementing a CoE for monitoring and governing Power Platform isn´t enough. You need to measure and monitor the enablers, make adjustments and continuously improve. So let me share the top 3 enablers for App modernization and Process automation.
Enablers App modernization
In terms of driving and increasing developer velocity:
- Bring together Business and IT by living a Fusion Teams development culture where business technologists and pro developers find their home for consolidated work on creating the next generation of collaborative apps
- Automate deployment where possible
- Reduce the depencency on IT department for driving digital transformation only
In case of optimizing development:
- Prebuilt templates and connectors for core use cases
- Common Data Model
- DevOps integration
In terms of security, governance & compliance:
- Centralize „app“ management via CoE Teams
- Built-in information protection capabilities
- Secure & control data and provide guidance, not only governance
Enablers process automation
In terms of faster time to value:
- Prioritize mission critical use-cases and implement RPA CoE team in addition to general CoE team
- 800+ out of the box connectors
- Empower Fusion development teams
In case of identifying process bottlenecks and automate:
- Identify company-wide bottlenecks and prioritize (Process Advisor and Minit are your friends)
- Automate task mining
- Integrate with legacy apps
In terms of infused AI:
- Leverage prebuilt AI models
- Build and train your own models
- Make more sense of your data with AI
As uncertain economic times put pressure on software development projects to adjust project costs, timelines or include new recently changed goals, it´s more important than ever to know about a robust developer toolkit and framework. It´s a cultural shift which is ongoing around using AI to simplify work and creating new user experiences that allow for flexible changes. A cultural shift causes changes – some may be fear it, others will see opportunities in it. It´s important to have everyone onboarded and no one gets left behind. Until then,…