July 17, 2026

AI, Power Platform & Developer Experience: The Next Frontier with Reza Niroomand [MVP]

AI, Power Platform & Developer Experience: The Next Frontier with Reza Niroomand [MVP]
AI, Power Platform & Developer Experience: The Next Frontier with Reza Niroomand [MVP]
M365 FM Podcast
AI, Power Platform & Developer Experience: The Next Frontier with Reza Niroomand [MVP]

Artificial intelligence is fundamentally changing how developers build solutions on Microsoft Power Platform. In this episode of M365.FM, Mirko Peters is joined by Reza Niroomand to explore how AI-powered development is transforming the developer experience and why the next generation of Power Platform builders will work very differently from today.

The conversation explores how tools such as Microsoft Copilot, AI-assisted coding, intelligent automation, and modern development practices are reducing repetitive work while enabling developers to focus on solving business problems. Reza shares practical insights into how professional developers and citizen developers can collaborate more effectively as AI becomes a core part of the software development lifecycle.

You'll learn how the Power Platform ecosystem is evolving beyond traditional low-code development, with stronger integration into professional development workflows, source control, testing, governance, and enterprise architecture. The episode also discusses the importance of balancing AI-generated code with solid engineering principles, security, maintainability, and scalable solution design as organizations adopt AI-first development strategies.

Whether you're a Power Platform developer, solution architect, IT professional, or Microsoft consultant, this episode provides valuable insights into the future of application development in the AI era. By the end, you'll better understand how AI is reshaping developer productivity, how the boundaries between low-code and pro-code continue to disappear, and which skills will matter most as Microsoft Power Platform enters its next frontier.

The integration of AI into the Power Platform marks a significant transformation in the developer experience. You will find that AI tools enhance productivity and streamline workflows, allowing developers to focus on higher-level tasks. For instance, organizations have seen a 33.8% reduction in development cycle time, showcasing how AI can optimize processes. As you navigate this evolving landscape, adapting to new roles becomes crucial. Embrace the shift from traditional development to roles that blend creativity with technology, ensuring you remain relevant in an AI-driven environment.

Key Takeaways

  • AI tools in the Power Platform boost productivity and streamline workflows, allowing developers to focus on important tasks.
  • The role of developers is changing. Professionals now need to become AI architects who blend creativity with technology.
  • Citizen developers empower non-technical users to create applications, speeding up project timelines and fostering innovation.
  • Collaboration between professional developers and citizen developers leads to better project outcomes and improved efficiency.
  • Low-code development with AI allows for quick app creation, making it accessible even for those without coding skills.
  • Understanding AI and machine learning is essential for success in an AI-driven environment; consider taking relevant courses.
  • Soft skills like communication and adaptability are crucial for working effectively in teams and adjusting to new technologies.
  • Investing in your skills and staying informed about AI advancements will prepare you for future opportunities in technology.

Developer Role Evolution

From Power Users to AI Architects

Defining New Roles

The rise of AI in the Power Platform has led to a significant shift in developer roles. You now see a transition from traditional power users to specialized AI architects. This change reflects the growing need for professionals who can harness AI capabilities effectively.

Aspect Traditional Developer Roles AI-Enhanced Roles
Team Structure Separate product engineering and AI teams Integrated product and AI engineering teams
Skill Requirements Focus on traditional programming skills Requires hybrid skills in product and ML engineering
Nature of Products Development of standard software products Development of AI-enhanced features and products
Communication Overhead Generally lower due to clear role separation Moderate due to collaboration between teams
Engineer Count Fewer engineers with combined skills More engineers with combined product and ML skills

Responsibilities of AI Architects

As you transition into AI architect roles, your responsibilities evolve significantly. You move from executing tasks to focusing on governance and security. Understanding the broader technology landscape becomes essential. You must effectively utilize AI tools like Copilot Studio and AI Builder. Here are some key responsibilities you will take on:

  1. Design and deploy intelligent solutions using Copilot Studio and AI Builder.
  2. Work with data pipelines and analytics to centralize reporting.
  3. Serve as an integration and application development expert across multiple business areas.

Citizen Developers' Impact

Empowering Non-Technical Users

Citizen developers play a crucial role in the Power Platform ecosystem. They empower non-technical users to create applications that meet immediate business needs. This democratization of development fosters innovation and accelerates project timelines. For example, Deutsche Bahn's case study illustrates how empowering employees to create low-code applications enhances operational efficiency.

Bridging Gaps with AI

The collaboration between professional developers and citizen developers leads to improved project outcomes. Citizen developers bring a deep understanding of business processes, while professional developers contribute technical expertise. This partnership fosters innovation and streamlines development.

Aspect Contribution of Citizen Developers Contribution of Professional Developers
Understanding of Processes Deep understanding of business processes Technical expertise and adherence to industry standards
Solution Creation Quickly create solutions for specific needs Ensure applications meet compliance and technical standards
Innovation Foster innovation through unique perspectives Enhance innovation with technical insights and best practices
Development Time Reduce development time through rapid prototyping Streamline processes and ensure quality control
Overall Efficiency Improve efficiency by addressing immediate business needs Optimize solutions for scalability and maintainability

The integration of AI tools in the Power Platform not only enhances the capabilities of developers but also encourages collaboration across teams. This evolution in roles and responsibilities positions you to thrive in an increasingly AI-driven landscape.

AI Tools in Power Platform

AI Tools in Power Platform

Enhancing Development with AI

Overview of AI Features

The Power Platform integrates various AI capabilities that significantly enhance your development experience. These features streamline processes and improve efficiency. Here are some key AI capabilities available in the Power Platform:

  • Low-Code Development: This feature allows you to build applications quickly without extensive coding knowledge.
  • Power Apps AI Features: Pre-built AI models assist with tasks like text recognition and sentiment analysis, making it easier to create intelligent applications.
  • Power Automate AI Features: Robotic process automation (RPA) simplifies business processes, reducing manual effort.
  • AI-Powered Features in Power BI: These features help you uncover trends and make data-driven decisions effortlessly.
  • Personalized User Experiences: AI capabilities in Power Virtual Agents create tailored interactions for users, enhancing engagement.

Key Benefits for Developers

Integrating AI tools into your development workflow offers numerous benefits. Here are some measurable advantages you can expect:

Benefit Type Description
Productivity Improvement AI features like Copilot streamline complex tasks, significantly reducing development time.
Operational Efficiency Automating repetitive tasks allows you to focus on high-value activities, reducing manual errors.
Enhanced Decision-Making AI-driven analytics in Power BI provide predictive insights and anomaly detection for proactive strategies.
Personalized User Experience Power Virtual Agents create intelligent chatbots that improve customer satisfaction through tailored responses.
Scalability and Flexibility AI-driven solutions adapt seamlessly to evolving business needs without significant redevelopment.

Low-Code Development with AI

Streamlining App Creation

Low-code development with AI transforms how you create applications. You can leverage visual development tools and pre-configured components to build apps faster than traditional methods. This approach allows you to focus on innovation rather than getting bogged down in coding details. For instance, you can use Copilot in Power Apps to instruct the system in natural language, making app creation accessible even for those without coding skills.

Real-World Applications

Many organizations have successfully implemented low-code AI-powered applications using the Power Platform. Here are a couple of examples:

  • Vehicle Inspection App: Users can create an app to manage vehicle inspections simply by instructing Copilot, showcasing the ease of app creation without coding skills.
  • Power Virtual Agents: These intelligent chatbots can be quickly constructed by citizen developers to respond to inquiries, demonstrating the integration of AI in customer service applications.

The combination of low-code technology and AI capabilities empowers you to build robust applications that meet business needs efficiently. By embracing these tools, you can enhance your productivity and drive innovation within your organization.

Skills for an AI-Driven Future

Skills for an AI-Driven Future

Technical Skills Required

Understanding AI and Machine Learning

To thrive in an AI-driven environment, you must grasp the fundamentals of AI and machine learning. This knowledge allows you to leverage next-gen AI capabilities effectively. Familiarity with concepts such as algorithms, data processing, and model training is essential. You can enhance your skills through various courses focused on AI. Here are some recommended courses:

Course Title Focus Area
Azure AI Fundamentals Foundational AI skills
Extend Microsoft 365 Copilot AI integration with Microsoft tools
Build AI Apps with Azure Developing AI applications
Transform Business Workflows with Generative AI Workflow automation using AI
Multi-Agent Programming with n8n Creating agent-based systems
Agentic Programming with LangChain Designing intelligent systems
Using Hugging Face for Specialized Models and Fine-Tuning Customizing AI models for enterprise needs

Proficiency in Power Platform Tools

You should also develop proficiency in Power Platform tools, such as Power Apps, Power Automate, and AI Builder. Mastering these tools enables you to create customized solutions that meet specific business needs. Continuous learning through certifications can help you stay updated. Consider pursuing the following certifications:

Certification/Program Link
Power Platform Courses Link
Microsoft Certifications Link
Data Insights & Visualization Certificate Program Link
Python-Powered Data Science and AI Productivity Pathway Link
Copilot AI Productivity Pathway Link
ChatGPT AI Productivity Pathway Link
Gemini AI Productivity Pathway Link
AI for Project Managers Productivity Pathway Link
Microsoft Certified: Azure AI Engineer Associate (Exam AI-102) Link
Microsoft Certified: Azure Data Scientist Associate (Exam DP-100) Link
Microsoft Certified: Fabric Analytics Engineer Associate (Exam DP-600) Link

Soft Skills for Collaboration

Communication and Teamwork

In addition to technical skills, soft skills play a vital role in your success. Effective communication and teamwork are essential when collaborating on AI projects. You must articulate ideas clearly and listen actively to others. Strong communication fosters a collaborative environment, leading to improved customer engagement and project outcomes.

Adaptability in a Changing Environment

Adaptability is crucial in the rapidly evolving landscape of AI development. You must be willing to learn and adjust to new technologies and methodologies. Here are some ways adaptability contributes to success:

  • Adaptive AI helps financial institutions adjust to market changes and customer behavior.
  • In retail, AI adapts to demand and user behavior, improving personalized recommendations.
  • Healthcare organizations utilize adaptive AI for clinical data analysis and patient engagement.
  • Insurance operations benefit from learning models that enhance claims processing.
  • Automotive operations leverage predictive maintenance to improve efficiency.

By embracing both technical and soft skills, you position yourself for success in an AI-driven future.


Embracing AI in the Power Platform is essential for your success in the evolving tech landscape. The integration of AI tools enhances productivity and streamlines workflows, allowing you to focus on higher-level tasks. As you adapt to new roles, consider these key insights:

  1. AI Maturity: Many organizations show room for improvement in AI integration, with Fortune 500 companies averaging a score of 21/100.
  2. Generative AI Growth: The generative AI market is projected to reach $66.6 billion by 2024, highlighting its increasing importance.
  3. Future Preparation: Evaluate your readiness for AI adoption by assessing data management and setting clear development guardrails.

Invest in your skills and stay informed about AI advancements. This proactive approach will position you for success in an AI-driven future.

FAQ

What is the Power Platform?

The Power Platform is a suite of tools from Microsoft that enables users to build applications, automate workflows, and analyze data without extensive coding knowledge. It integrates AI capabilities to enhance development processes.

How does AI enhance the Power Platform?

AI enhances the Power Platform by automating repetitive tasks, providing intelligent insights, and streamlining app development. This allows you to focus on higher-level responsibilities and improve overall productivity.

Who are citizen developers?

Citizen developers are non-technical users who create applications using low-code tools within the Power Platform. They leverage their understanding of business processes to address immediate needs without relying solely on professional developers.

What skills do I need to become an AI architect?

To become an AI architect, you need a strong understanding of AI and machine learning, proficiency in Power Platform tools, and skills in governance and security. Continuous learning and adaptability are also essential.

How can I learn more about AI and the Power Platform?

You can explore various online courses and certifications focused on AI and the Power Platform. Microsoft offers resources and training programs to help you enhance your skills and stay updated on industry trends.

What are the benefits of low-code development?

Low-code development allows you to create applications quickly and efficiently without extensive coding knowledge. It reduces development time, fosters innovation, and empowers non-technical users to contribute to app creation.

How does collaboration between developers and citizen developers work?

Collaboration occurs when professional developers and citizen developers work together on projects. Citizen developers provide insights into business needs, while professional developers ensure technical compliance and best practices, leading to improved project outcomes.

What is the future of AI in software development?

The future of AI in software development looks promising. As AI technologies evolve, they will continue to enhance productivity, streamline workflows, and enable developers to focus on strategic tasks, driving innovation across industries.

🚀 Want to be part of m365.fm?

Then stop just listening… and start showing up.

👉 Connect with me on LinkedIn and let’s make something happen:

  • 🎙️ Be a podcast guest and share your story
  • 🎧 Host your own episode (yes, seriously)
  • 💡 Pitch topics the community actually wants to hear
  • 🌍 Build your personal brand in the Microsoft 365 space

This isn’t just a podcast — it’s a platform for people who take action.

🔥 Most people wait. The best ones don’t.

👉 Connect with me on LinkedIn and send me a message:
"I want in"

Let’s build something awesome 👊

1
00:00:00,000 --> 00:00:03,640
Yeah, welcome back to the Ampest 65 podcast.

2
00:00:03,640 --> 00:00:07,140
Today we are diving into one of the most interesting shifting

3
00:00:07,140 --> 00:00:09,360
happening in the Microsoft ecosystem.

4
00:00:09,360 --> 00:00:13,200
While everybody is talking about a I co-pilot,

5
00:00:13,200 --> 00:00:15,360
low-code development, there's another movement

6
00:00:15,360 --> 00:00:18,520
gaining momentum bringing software engineering principles

7
00:00:18,520 --> 00:00:20,200
back into power platform.

8
00:00:20,200 --> 00:00:21,960
Our guest today is Riza Nimor,

9
00:00:21,960 --> 00:00:24,920
but solution architect software engineer,

10
00:00:24,920 --> 00:00:28,640
creator of XMR truodes and PS data

11
00:00:28,640 --> 00:00:31,480
and servers and someone who spend years

12
00:00:31,480 --> 00:00:33,640
helping the developer's building better,

13
00:00:33,640 --> 00:00:36,160
more reliable, Microsoft solution.

14
00:00:36,160 --> 00:00:38,640
We'll explore why code thruers development

15
00:00:38,640 --> 00:00:39,960
matters more than ever,

16
00:00:39,960 --> 00:00:43,320
how AI is changing in way of developing solutions,

17
00:00:43,320 --> 00:00:47,400
why everything as code is being essential

18
00:00:47,400 --> 00:00:50,800
and what the future of power platform development looks like.

19
00:00:50,800 --> 00:00:52,800
Wherever you are a power platform maker,

20
00:00:52,800 --> 00:00:55,280
professional developer solution architect

21
00:00:55,280 --> 00:00:58,200
or simply curious about where Microsoft development

22
00:00:58,200 --> 00:01:00,560
ecosystem is heading, this conversation

23
00:01:00,560 --> 00:01:02,080
is practically inside.

24
00:01:02,080 --> 00:01:03,440
So let's start.

25
00:01:03,440 --> 00:01:05,200
Welcome Riza to the show.

26
00:01:05,200 --> 00:01:08,840
- Hello, thank you for having me.

27
00:01:08,840 --> 00:01:09,880
- Yeah.

28
00:01:09,880 --> 00:01:12,680
Can you tell us before we start

29
00:01:12,680 --> 00:01:14,880
with these interesting topics a little bit

30
00:01:14,880 --> 00:01:18,120
about yourself and what you are organically

31
00:01:18,120 --> 00:01:22,120
attract you to the Microsoft ecosystem?

32
00:01:22,120 --> 00:01:24,080
- Right.

33
00:01:24,080 --> 00:01:25,960
In fact, I had a very long journey.

34
00:01:25,960 --> 00:01:30,960
I started since I was a kid, started writing codes.

35
00:01:30,960 --> 00:01:35,280
I mean, the goal was to create a game probably for myself.

36
00:01:35,280 --> 00:01:38,360
I don't know how I ended up building business applications

37
00:01:38,360 --> 00:01:41,000
and enterprise solutions.

38
00:01:41,000 --> 00:01:46,000
But yeah, it was, it all starts with coding normally.

39
00:01:46,000 --> 00:01:48,320
- Yeah, awesome.

40
00:01:48,320 --> 00:01:50,760
Yeah, I think there is one guy that have made

41
00:01:50,760 --> 00:01:53,160
some games in the power platform.

42
00:01:53,160 --> 00:01:55,720
But I forgot who boiled it.

43
00:01:55,720 --> 00:02:00,040
Yeah, I'm as half, I've seen those.

44
00:02:00,040 --> 00:02:05,040
Yeah, and also Sandra Kiel, she makes sessions

45
00:02:05,040 --> 00:02:08,280
about gamification in power apps.

46
00:02:08,280 --> 00:02:10,040
It's also really interesting.

47
00:02:10,040 --> 00:02:12,840
But yeah, you have work across.net, SharePoint,

48
00:02:12,840 --> 00:02:14,600
Adrien Power Platform.

49
00:02:14,600 --> 00:02:18,880
How has your journey shaped your architectural thinking?

50
00:02:18,880 --> 00:02:22,480
- Yeah, in fact, I started with the hard one.

51
00:02:22,480 --> 00:02:27,480
I started with SMD language because at the time,

52
00:02:27,480 --> 00:02:31,760
that was the only way to have fluid graphic.

53
00:02:31,760 --> 00:02:34,760
I think I started with mouse.

54
00:02:34,760 --> 00:02:37,320
I wanted to have a pointer.

55
00:02:37,320 --> 00:02:41,080
That was when Microsoft Windows was not really

56
00:02:41,080 --> 00:02:42,760
an operating system.

57
00:02:42,760 --> 00:02:45,040
So I had to deal with the pointer

58
00:02:45,040 --> 00:02:48,200
and detect when mouse moves and stuff like that.

59
00:02:48,200 --> 00:02:53,200
So you realize very quickly that with those low level languages,

60
00:02:53,200 --> 00:02:57,600
you cannot do a lot.

61
00:02:57,600 --> 00:02:59,680
You can have very focused things.

62
00:02:59,680 --> 00:03:03,080
So you start learning a higher level language like C.

63
00:03:03,080 --> 00:03:06,760
And then you go and see, okay, even that is not enough.

64
00:03:06,760 --> 00:03:08,080
You go to something higher.

65
00:03:08,080 --> 00:03:10,000
Like at the time, it was visual basic.

66
00:03:10,000 --> 00:03:15,000
So we had a nice marriage of visual basic and C++.

67
00:03:15,080 --> 00:03:19,440
So if something needs to be done in really high quality

68
00:03:19,440 --> 00:03:22,120
or extreme good performance,

69
00:03:22,120 --> 00:03:25,160
that would have been C++ or special components.

70
00:03:25,160 --> 00:03:27,800
So the low code of the time was visual basic.

71
00:03:27,800 --> 00:03:31,080
I think before that, the low code was a cobalt.

72
00:03:31,080 --> 00:03:34,120
So it was supposed to revolutionize the world, you know?

73
00:03:34,120 --> 00:03:36,720
You just write no code and everything is done.

74
00:03:36,720 --> 00:03:38,200
It never happened.

75
00:03:38,200 --> 00:03:42,600
So you met, they kept trying and trying the low code,

76
00:03:42,600 --> 00:03:47,480
the train and then here we are.

77
00:03:47,480 --> 00:03:51,800
You know, we have the low code which looks more like Excel

78
00:03:51,800 --> 00:03:53,760
for Mulas, for example.

79
00:03:53,760 --> 00:03:56,640
So I went along with the industry everywhere.

80
00:03:56,640 --> 00:04:01,640
So I came from that area to .NET and then .NET tried to bridge

81
00:04:01,640 --> 00:04:05,920
that gap of productivity like within language,

82
00:04:05,920 --> 00:04:09,960
that set of languages, in fact, that tried to be everything.

83
00:04:09,960 --> 00:04:14,520
Low level, high level, mid level, maybe not too low,

84
00:04:14,520 --> 00:04:16,480
but somewhere there.

85
00:04:16,480 --> 00:04:19,960
So you don't have to learn a lot of languages in your remaining

86
00:04:19,960 --> 00:04:23,360
one language and you can pretty much do all the stuff.

87
00:04:23,360 --> 00:04:25,360
There was several light, if you remember.

88
00:04:25,360 --> 00:04:30,120
You could use the same language even in the browser.

89
00:04:30,120 --> 00:04:31,840
Didn't last long, though.

90
00:04:31,840 --> 00:04:37,520
And that's for good because the technology came along.

91
00:04:37,520 --> 00:04:39,480
So I went with it.

92
00:04:39,480 --> 00:04:43,920
So normally in enterprise application developments,

93
00:04:43,920 --> 00:04:48,800
you ask yourself, okay, we are using really professional tools

94
00:04:48,800 --> 00:04:54,000
like we are writing code, we start from scratch these applications,

95
00:04:54,000 --> 00:04:56,600
but the security model of the big enterprise

96
00:04:56,600 --> 00:05:00,360
doesn't shift overnight, right?

97
00:05:00,360 --> 00:05:01,280
It remains stable.

98
00:05:01,280 --> 00:05:03,640
There are certain things that remain stable

99
00:05:03,640 --> 00:05:08,640
and they are kind of accepted unofficially across the enterprises.

100
00:05:09,480 --> 00:05:11,920
So it kind of feels boring.

101
00:05:11,920 --> 00:05:15,080
You want something that you can do it a lot faster.

102
00:05:15,080 --> 00:05:18,320
At the time, it was SharePoint and SharePoint had something

103
00:05:18,320 --> 00:05:19,960
called InfoPath.

104
00:05:19,960 --> 00:05:22,440
With that it would be like mini applications,

105
00:05:22,440 --> 00:05:26,400
like large data entry forms, things like that.

106
00:05:26,400 --> 00:05:29,880
And you could have public facing applications.

107
00:05:29,880 --> 00:05:32,080
So you can't see I'm still doing the same.

108
00:05:32,080 --> 00:05:35,080
It's the technology that changes around me.

109
00:05:35,080 --> 00:05:36,560
I still continue doing the same.

110
00:05:36,560 --> 00:05:41,560
So then SharePoint stopped trying to be everything

111
00:05:41,560 --> 00:05:47,080
because Power Platform came along and it was basically

112
00:05:47,080 --> 00:05:52,320
defined as the low-cut platform

113
00:05:52,320 --> 00:05:54,560
before the AI era, right?

114
00:05:54,560 --> 00:05:59,320
It's still accurate, but it's no longer sufficient

115
00:05:59,320 --> 00:06:01,680
because Power Platform is becoming something

116
00:06:01,680 --> 00:06:05,800
broader in an enterprise application and agent platform

117
00:06:05,800 --> 00:06:09,880
for humans and low-code makers and products.

118
00:06:09,880 --> 00:06:12,960
And AI agents can all participate in building

119
00:06:12,960 --> 00:06:15,560
and operating business solution.

120
00:06:15,560 --> 00:06:16,400
Yeah.

121
00:06:16,400 --> 00:06:18,320
Here I am again doing the same thing

122
00:06:18,320 --> 00:06:20,400
in a totally different way.

123
00:06:20,400 --> 00:06:21,240
Yeah.

124
00:06:21,240 --> 00:06:24,240
When Power Platform first appeared,

125
00:06:24,240 --> 00:06:26,080
what did you think about it?

126
00:06:26,080 --> 00:06:32,480
Right, well, I didn't go exactly the first,

127
00:06:32,480 --> 00:06:34,440
I mean head on to it.

128
00:06:34,440 --> 00:06:39,440
I usually stay cool and relax and wait until something

129
00:06:39,440 --> 00:06:43,720
mature enough, right?

130
00:06:43,720 --> 00:06:46,920
So a lot of people are normally go head first

131
00:06:46,920 --> 00:06:51,920
and try, thanks to them, we learn the pitfalls and everything.

132
00:06:51,920 --> 00:06:55,040
The platforms are not something that I embrace

133
00:06:55,040 --> 00:06:56,480
since the beginning.

134
00:06:56,480 --> 00:07:01,320
So software development itself, yeah, I go fast

135
00:07:01,320 --> 00:07:06,320
and I try to learn before, everything becomes revolutionary,

136
00:07:06,320 --> 00:07:09,840
but the platforms I wait.

137
00:07:09,840 --> 00:07:11,400
So at the beginning, yeah.

138
00:07:11,400 --> 00:07:17,640
I was working for one of the biggest insurance companies

139
00:07:17,640 --> 00:07:19,240
in the world, I think.

140
00:07:19,240 --> 00:07:23,480
And then, so we have probably,

141
00:07:23,480 --> 00:07:25,040
I remember from one of the architects

142
00:07:25,040 --> 00:07:28,360
we were using more than 300 technologies in the enterprise.

143
00:07:28,360 --> 00:07:33,360
And, but, you know, we did all sorts of things.

144
00:07:33,360 --> 00:07:35,880
I could see that whatever we do,

145
00:07:35,880 --> 00:07:40,280
we are wasting a lot of time and resources.

146
00:07:40,280 --> 00:07:42,800
I'm to a platform like Power Platform,

147
00:07:42,800 --> 00:07:46,400
you have a lot of things that you take for granted,

148
00:07:46,400 --> 00:07:48,080
but for an outsider like me,

149
00:07:48,080 --> 00:07:50,320
just watching the platform shape, I could see,

150
00:07:50,320 --> 00:07:54,880
okay, there is a very, very mature security model.

151
00:07:54,880 --> 00:07:57,160
There is deployment in place.

152
00:07:57,160 --> 00:07:59,320
It might not be the best in the world,

153
00:07:59,320 --> 00:08:01,200
but it's there and it's maintainable

154
00:08:01,200 --> 00:08:03,600
and you're not responsible for all of it.

155
00:08:03,600 --> 00:08:08,600
You can be more focused on the business problem at hand.

156
00:08:08,600 --> 00:08:11,280
And if ever you build something

157
00:08:11,280 --> 00:08:15,000
like a pro-devil kind of component, it's for good

158
00:08:15,000 --> 00:08:17,600
because you're building it since the beginning

159
00:08:17,600 --> 00:08:19,800
to be reusable, even better, you,

160
00:08:19,800 --> 00:08:23,240
well, preferably you are going to share it

161
00:08:23,240 --> 00:08:25,200
with the rest of the community as well.

162
00:08:25,200 --> 00:08:27,600
So that caught my eyes.

163
00:08:27,600 --> 00:08:30,680
Okay, I said, okay, this is the one thing

164
00:08:30,680 --> 00:08:32,400
that I need to jump into.

165
00:08:32,400 --> 00:08:34,840
Yeah.

166
00:08:34,840 --> 00:08:40,760
Yeah, what defines a great Power Platform architecture

167
00:08:40,760 --> 00:08:42,080
from real-perfectors?

168
00:08:42,080 --> 00:08:45,960
Yeah, well, that's also shifting, you know,

169
00:08:45,960 --> 00:08:49,000
it's shifting a lot because, you know,

170
00:08:49,000 --> 00:08:51,200
the Power Platform itself is shifting.

171
00:08:51,200 --> 00:08:56,200
So maybe a good way to see it,

172
00:08:56,200 --> 00:08:58,520
I don't know if you will agree with me or not.

173
00:08:58,520 --> 00:09:04,480
But I would see it like three generations.

174
00:09:04,480 --> 00:09:08,640
So I have my generational perspective.

175
00:09:08,640 --> 00:09:12,120
So the first generation was the low-code productivity.

176
00:09:12,120 --> 00:09:18,360
So Gen 1, let's call it Gen 1, the low-code productivity.

177
00:09:19,560 --> 00:09:22,240
So that first generation was focused

178
00:09:22,240 --> 00:09:26,600
on democratizing software creation, right?

179
00:09:26,600 --> 00:09:30,280
So Power Apps gave organizations a faster way

180
00:09:30,280 --> 00:09:34,480
to create internal business applications.

181
00:09:34,480 --> 00:09:36,440
That was a title for SharePoint, I guess,

182
00:09:36,440 --> 00:09:38,600
but it was stolen by Power Platform.

183
00:09:38,600 --> 00:09:41,480
Mates?

184
00:09:41,480 --> 00:09:45,200
Allow to automate repetitive tasks, nobody likes.

185
00:09:46,520 --> 00:09:51,520
Power BI and made analytics more accessible.

186
00:09:51,520 --> 00:09:56,840
Dataverse offered and managed business data platform.

187
00:09:56,840 --> 00:09:59,120
I don't think we have that anywhere else.

188
00:09:59,120 --> 00:10:04,800
Dataverse is the business data platform,

189
00:10:04,800 --> 00:10:07,840
with security and metadata and relationship

190
00:10:07,840 --> 00:10:11,080
and all the things and the business logic in one place, right?

191
00:10:12,200 --> 00:10:17,200
The central value proposition was, I think, speed, right?

192
00:10:17,200 --> 00:10:21,720
Instead of waiting months for development team,

193
00:10:21,720 --> 00:10:24,520
a default could build a useful app

194
00:10:24,520 --> 00:10:27,400
in a matter of days or weeks, done right?

195
00:10:27,400 --> 00:10:30,360
This was a major step forward, right?

196
00:10:30,360 --> 00:10:35,360
That's what I was sold on, right?

197
00:10:35,360 --> 00:10:38,800
The professional developers sometimes sell this low-code

198
00:10:38,800 --> 00:10:42,480
as too restrictive or insufficiently disciplined,

199
00:10:42,480 --> 00:10:46,960
measures found the traditional software development,

200
00:10:46,960 --> 00:10:48,400
too complex, I think.

201
00:10:48,400 --> 00:10:52,360
And the department worried about uncontrolled application

202
00:10:52,360 --> 00:10:55,720
growth and weak lifecycle management

203
00:10:55,720 --> 00:10:58,280
and duplicate data and stuff like that.

204
00:10:58,280 --> 00:11:02,400
Then you had Gen2, which is the fusion development,

205
00:11:02,400 --> 00:11:03,240
my favorite.

206
00:11:03,240 --> 00:11:07,320
That was the second generation, until recently.

207
00:11:07,320 --> 00:11:11,600
So you had the idea was that you have a fusion team

208
00:11:11,600 --> 00:11:14,080
that combines business experts,

209
00:11:14,080 --> 00:11:17,680
low-code makers, IT professionals, architects,

210
00:11:17,680 --> 00:11:21,400
and software developers and each participant

211
00:11:21,400 --> 00:11:26,400
had to contribute to an appropriate abstraction level, right?

212
00:11:26,400 --> 00:11:30,840
Then a business expert may define the process,

213
00:11:30,840 --> 00:11:34,360
the maker built the initial app, a prototype,

214
00:11:34,360 --> 00:11:36,520
creates the custom connector, plugins,

215
00:11:36,520 --> 00:11:40,520
components, API, and then the administrator

216
00:11:40,520 --> 00:11:42,760
establishes the security and governance.

217
00:11:42,760 --> 00:11:46,000
Now the architect, in that era,

218
00:11:46,000 --> 00:11:49,080
ensured the overall system remains coherent

219
00:11:49,080 --> 00:11:50,880
among all of them, right?

220
00:11:50,880 --> 00:11:54,840
This model recognized an important reality.

221
00:11:54,840 --> 00:11:58,840
So the person who understands the business problem,

222
00:11:58,840 --> 00:12:01,880
best or better than everyone is not always the person

223
00:12:01,880 --> 00:12:05,240
who should implement every technical component, right?

224
00:12:06,160 --> 00:12:09,320
So Power Platform became the shared environment

225
00:12:09,320 --> 00:12:12,800
in which these rows could collaborate.

226
00:12:12,800 --> 00:12:16,880
Now we are starting the third gem,

227
00:12:16,880 --> 00:12:20,760
which is the AI native fusion, right?

228
00:12:20,760 --> 00:12:23,040
So we are still fusion-deving,

229
00:12:23,040 --> 00:12:29,280
in lack of a better word, but it's AI native.

230
00:12:29,280 --> 00:12:31,800
So we are now entering a third generation

231
00:12:31,800 --> 00:12:34,520
where AI joins that fusion team.

232
00:12:34,520 --> 00:12:38,400
So AI can help, so it's in every layer, you know?

233
00:12:38,400 --> 00:12:39,240
- Uh-huh.

234
00:12:39,240 --> 00:12:42,280
- Help describe the requirement, generate the data model,

235
00:12:42,280 --> 00:12:46,000
create the app, formulate a power-effect somewhere,

236
00:12:46,000 --> 00:12:49,360
an expression, build a cloud flow, generate code,

237
00:12:49,360 --> 00:12:53,120
document it, inspect metadata, query the data,

238
00:12:53,120 --> 00:12:55,000
operate even the business process.

239
00:12:55,000 --> 00:12:58,240
So this does not eliminate the existing roles.

240
00:12:58,240 --> 00:12:59,880
You still have the same roles.

241
00:12:59,880 --> 00:13:03,440
Instead it changes how they spend their time, basically.

242
00:13:03,440 --> 00:13:07,160
So the maker moves from manually placing every control

243
00:13:07,160 --> 00:13:10,960
on the canvas to describe the outcome

244
00:13:10,960 --> 00:13:13,000
and check the results, basically.

245
00:13:13,000 --> 00:13:16,280
The developer spends less time writing repetitive

246
00:13:16,280 --> 00:13:19,600
plumbing and more time on the architecture.

247
00:13:19,600 --> 00:13:23,440
So somebody is entering that area, right?

248
00:13:23,440 --> 00:13:27,360
And the domain logic, the integration, quality,

249
00:13:27,360 --> 00:13:29,400
and the performance, so they have more time

250
00:13:29,400 --> 00:13:31,280
for these things now.

251
00:13:31,280 --> 00:13:36,280
The architect now, Purgayk, must find not only the application

252
00:13:36,280 --> 00:13:40,360
and integrations, but also the boundaries within which

253
00:13:40,360 --> 00:13:42,680
these agents can reason and act.

254
00:13:42,680 --> 00:13:45,800
The administrator as well.

255
00:13:45,800 --> 00:13:49,320
So they must govern both human-created solutions

256
00:13:49,320 --> 00:13:53,800
and autonomous or semi-autonomous agents, right?

257
00:13:53,800 --> 00:13:55,240
They reason as well.

258
00:13:55,240 --> 00:13:58,120
So this is the emerging model now.

259
00:13:58,120 --> 00:14:00,920
Business users express the intent.

260
00:14:00,920 --> 00:14:02,880
AI accelerates the implementation.

261
00:14:02,880 --> 00:14:06,320
Developers add precision and extensibility,

262
00:14:06,320 --> 00:14:09,400
the quality and the platform provides

263
00:14:09,400 --> 00:14:12,600
again, security, governance, data.

264
00:14:12,600 --> 00:14:16,200
So if you look at it with AI, we can do more,

265
00:14:16,200 --> 00:14:20,680
but there is more for everybody to do as well.

266
00:14:20,680 --> 00:14:23,800
- Let's more to govern, more to handle.

267
00:14:27,000 --> 00:14:32,000
What mistakes do you see actually in this power platform?

268
00:14:32,000 --> 00:14:36,920
The company work with, is there, yeah,

269
00:14:36,920 --> 00:14:38,200
rapidly mistakes?

270
00:14:38,200 --> 00:14:42,200
- Well, each company is in a different,

271
00:14:42,200 --> 00:14:44,600
because it moves fast.

272
00:14:44,600 --> 00:14:48,560
And companies are still the same companies.

273
00:14:48,560 --> 00:14:51,800
They didn't change their speed, right?

274
00:14:51,800 --> 00:14:56,720
So the adoption, depending on the complexity of an enterprise,

275
00:14:56,720 --> 00:14:58,320
is different.

276
00:14:58,320 --> 00:15:02,040
And also the risk level they can accept, right?

277
00:15:02,040 --> 00:15:06,680
Some enterprises are even built in a more modern way

278
00:15:06,680 --> 00:15:09,320
that they can absorb the risk.

279
00:15:09,320 --> 00:15:11,080
So they can allow mistakes to happen.

280
00:15:11,080 --> 00:15:14,400
That's the best enterprise to work with, right?

281
00:15:14,400 --> 00:15:17,320
They, even if they cannot take the risk,

282
00:15:17,320 --> 00:15:20,680
they have some way to allow the risk to happen

283
00:15:20,680 --> 00:15:21,840
to learn from it.

284
00:15:21,840 --> 00:15:22,880
That would be the best.

285
00:15:22,880 --> 00:15:24,560
But some enterprises, like, for example,

286
00:15:24,560 --> 00:15:27,560
if you look at banks, they are very,

287
00:15:27,560 --> 00:15:31,320
they are very, and they're competitive.

288
00:15:31,320 --> 00:15:34,640
They don't want to be the first for good reason.

289
00:15:34,640 --> 00:15:39,720
So, if you ask a company that is where, like a bank,

290
00:15:39,720 --> 00:15:43,360
for example, they are probably a little bit behind.

291
00:15:43,360 --> 00:15:47,800
But if you look at a company with repetitive tasks,

292
00:15:47,800 --> 00:15:51,280
like customer facing scenarios,

293
00:15:51,280 --> 00:15:54,520
even if it's an interest, because insurance is a little bit,

294
00:15:54,520 --> 00:15:56,800
less risk, ever standing bank,

295
00:15:56,800 --> 00:16:00,920
they understand this proposition better

296
00:16:00,920 --> 00:16:04,680
and they are able to absorb the risk in some departments.

297
00:16:04,680 --> 00:16:06,920
So they are going ahead with it.

298
00:16:06,920 --> 00:16:10,720
But the governance is creating the biggest problem.

299
00:16:10,720 --> 00:16:13,080
So we are making everybody faster,

300
00:16:13,080 --> 00:16:16,080
but we need some kind of oversight

301
00:16:16,080 --> 00:16:19,680
and we are realizing that agents are not exactly humans

302
00:16:19,680 --> 00:16:23,960
and they are not going to be very similar to human.

303
00:16:24,960 --> 00:16:27,280
Kind of anytime soon.

304
00:16:27,280 --> 00:16:29,560
So everybody is seeing that.

305
00:16:29,560 --> 00:16:34,320
So Microsoft is changing their approach a little bit.

306
00:16:34,320 --> 00:16:36,520
So they are giving us more tools.

307
00:16:36,520 --> 00:16:41,040
We understand more that these agents are behaving differently

308
00:16:41,040 --> 00:16:42,480
and how different they are.

309
00:16:42,480 --> 00:16:46,720
There are mistakes happening again in every layer.

310
00:16:46,720 --> 00:16:49,720
So because AI itself is in every layer,

311
00:16:49,720 --> 00:16:52,960
it's in the interface helping the business users

312
00:16:53,760 --> 00:16:55,520
of filling the forms.

313
00:16:55,520 --> 00:16:57,160
It's automating the task,

314
00:16:57,160 --> 00:17:01,640
it's helping the developers to move faster,

315
00:17:01,640 --> 00:17:05,240
but you have this concept of shadow IT,

316
00:17:05,240 --> 00:17:06,800
which has returned in the,

317
00:17:06,800 --> 00:17:11,360
still in the town, making problems for everybody,

318
00:17:11,360 --> 00:17:14,960
administrators, an architects, everyone.

319
00:17:14,960 --> 00:17:19,720
So we need to build tools that better keep us

320
00:17:19,720 --> 00:17:23,200
against these problems popping up everywhere.

321
00:17:24,040 --> 00:17:26,320
Yeah, I have a direct two questions,

322
00:17:26,320 --> 00:17:30,080
but the first one is we have,

323
00:17:30,080 --> 00:17:33,040
the old problem was in scalability was,

324
00:17:33,040 --> 00:17:36,640
I need more developers to get my project faster.

325
00:17:36,640 --> 00:17:39,320
Now I think scalability has a little bit changed

326
00:17:39,320 --> 00:17:43,600
because everyone can do an app, I don't know, in a few minutes.

327
00:17:43,600 --> 00:17:47,440
So how has scalability changed

328
00:17:47,440 --> 00:17:52,440
and what must companies or IT

329
00:17:52,440 --> 00:17:55,880
under IT guys understand when they're new,

330
00:17:55,880 --> 00:17:56,880
a lot of scalability?

331
00:17:56,880 --> 00:18:00,760
Very good question, because all of us been watching.

332
00:18:00,760 --> 00:18:05,760
So I think one of the catchphrases or the marketing

333
00:18:05,760 --> 00:18:11,720
was that, okay, the AI is going to democratize app building,

334
00:18:11,720 --> 00:18:14,680
but app is just a small piece of it.

335
00:18:14,680 --> 00:18:16,720
So if you look around now,

336
00:18:16,720 --> 00:18:19,480
if the AI has been around for a while,

337
00:18:19,480 --> 00:18:22,920
you have even all these platforms like Lovable

338
00:18:22,920 --> 00:18:27,240
and everything else that allow you to build apps,

339
00:18:27,240 --> 00:18:30,560
but now the industry is full with these apps

340
00:18:30,560 --> 00:18:33,840
that are kind of grickets did,

341
00:18:33,840 --> 00:18:37,640
because creating app was not the biggest problem.

342
00:18:37,640 --> 00:18:41,280
You could build apps fast, right?

343
00:18:41,280 --> 00:18:43,040
It's a lot faster now, of course,

344
00:18:43,040 --> 00:18:46,080
but there is a discipline to it.

345
00:18:46,080 --> 00:18:49,080
Like how are you going to maintain it?

346
00:18:49,080 --> 00:18:51,200
How are you going to secure it?

347
00:18:51,200 --> 00:18:52,720
What is your target audience?

348
00:18:52,720 --> 00:18:54,600
What is the architecture?

349
00:18:54,600 --> 00:18:59,840
Where do you want your app to do your app to be like in five years?

350
00:18:59,840 --> 00:19:02,640
Which arts are going to change?

351
00:19:02,640 --> 00:19:05,360
So you see, all those concepts are still there,

352
00:19:05,360 --> 00:19:08,040
and AI cannot help you with those.

353
00:19:08,040 --> 00:19:12,200
So you have a lot of apps now that are a bit overnight

354
00:19:12,200 --> 00:19:13,760
and forgotten over a week.

355
00:19:13,760 --> 00:19:16,800
Or there were security issues

356
00:19:16,800 --> 00:19:20,200
and even a good guy who was behind it,

357
00:19:20,200 --> 00:19:23,360
he's over there now with the number of problems

358
00:19:23,360 --> 00:19:25,960
that he has received, starts from scratch,

359
00:19:25,960 --> 00:19:27,800
doing another app again.

360
00:19:27,800 --> 00:19:29,400
So I see them everywhere,

361
00:19:29,400 --> 00:19:34,560
but still those teams that are already equipped

362
00:19:34,560 --> 00:19:37,120
with like a LEM in place,

363
00:19:37,120 --> 00:19:40,560
with good vision, with discipline,

364
00:19:40,560 --> 00:19:43,800
they are the ones moving faster than before.

365
00:19:43,800 --> 00:19:47,760
So you can't see the teams that are benefiting more,

366
00:19:47,760 --> 00:19:52,160
like 60% of their job is done by AI,

367
00:19:52,160 --> 00:19:55,400
they claim, are doing the discipline teams.

368
00:19:55,400 --> 00:20:00,560
Because they have this control and everything in place.

369
00:20:00,560 --> 00:20:02,400
They know how to scale their app

370
00:20:02,400 --> 00:20:04,480
because they were prepared for it,

371
00:20:04,480 --> 00:20:07,560
and AI is just making them much more productive.

372
00:20:07,560 --> 00:20:08,560
Yeah.

373
00:20:09,760 --> 00:20:14,440
And the second question is, yeah, I,

374
00:20:14,440 --> 00:20:20,440
or how looks a clean architecture in the power platform

375
00:20:20,440 --> 00:20:23,760
and for this new time of revenue development.

376
00:20:23,760 --> 00:20:28,400
- It's one of those hard questions.

377
00:20:28,400 --> 00:20:33,640
It all depends on the enterprise that you're dealing with.

378
00:20:33,640 --> 00:20:38,640
So because the picture for a small company

379
00:20:39,320 --> 00:20:43,200
is a bit different than the picture for a big enterprise

380
00:20:43,200 --> 00:20:47,560
because of complexity that you will have to deal with.

381
00:20:47,560 --> 00:20:50,320
I mean, even the estimations,

382
00:20:50,320 --> 00:20:52,400
probably the most important factor

383
00:20:52,400 --> 00:20:57,400
that can affect your estimation for building a solution

384
00:20:57,400 --> 00:21:00,400
is the complexity of the enterprise.

385
00:21:00,400 --> 00:21:05,920
- So you still, the old concepts are still there.

386
00:21:05,920 --> 00:21:10,920
You have to answer questions of how you are going to build an app

387
00:21:10,920 --> 00:21:16,760
and you should prepare as an architect to answer why.

388
00:21:16,760 --> 00:21:21,680
So every piece of the architecture that somebody looks at,

389
00:21:21,680 --> 00:21:25,800
you should be able to answer the why question in every layer,

390
00:21:25,800 --> 00:21:28,120
why you are building it that way.

391
00:21:28,120 --> 00:21:30,760
And most of the time,

392
00:21:30,760 --> 00:21:33,320
the answer is not because this is the best way.

393
00:21:34,280 --> 00:21:38,080
The answer is the right answer is that because it fits better.

394
00:21:38,080 --> 00:21:40,160
Because some pieces of your solution

395
00:21:40,160 --> 00:21:42,640
you are building maybe as a throw away

396
00:21:42,640 --> 00:21:45,440
because the maturity of the business is not there,

397
00:21:45,440 --> 00:21:46,480
for example, to sit.

398
00:21:46,480 --> 00:21:48,720
So you invest less time on that.

399
00:21:48,720 --> 00:21:53,720
You don't waste the time of your developers and your customer.

400
00:21:53,720 --> 00:21:57,080
Some of them are like mature pieces,

401
00:21:57,080 --> 00:21:59,840
for example, for performance, you will have to deal

402
00:21:59,840 --> 00:22:03,160
with more complexity because the performance of that part

403
00:22:03,160 --> 00:22:04,000
was critical.

404
00:22:04,000 --> 00:22:06,000
I'm just throwing some examples.

405
00:22:06,000 --> 00:22:11,000
So still need to answer questions like why in every layer,

406
00:22:11,000 --> 00:22:16,600
you still need to have a good, organized, disciplined way

407
00:22:16,600 --> 00:22:17,320
of ALM.

408
00:22:17,320 --> 00:22:20,600
There is no customer where you don't need ALM, for example.

409
00:22:20,600 --> 00:22:26,160
You need some sort of ALM because if you cannot package a software

410
00:22:26,160 --> 00:22:30,200
and deliver it, it's like that software doesn't exist.

411
00:22:30,200 --> 00:22:34,240
You should be able to do it in a repetitive way.

412
00:22:34,240 --> 00:22:39,280
Developers should not spend time on figuring out how to deliver.

413
00:22:39,280 --> 00:22:41,720
They should always spend time on building

414
00:22:41,720 --> 00:22:44,200
because this is their happy moment.

415
00:22:44,200 --> 00:22:48,400
If you ask a developer to not develop and do something else,

416
00:22:48,400 --> 00:22:50,920
you're asking him to change his job, right?

417
00:22:50,920 --> 00:22:55,440
You still need to answer the same old questions.

418
00:22:55,440 --> 00:22:56,280
- Monty.

419
00:22:58,720 --> 00:23:03,720
- I think a little bit, we have also talked about the business logic,

420
00:23:03,720 --> 00:23:07,240
especially in this time.

421
00:23:07,240 --> 00:23:09,760
Where should the business logic live?

422
00:23:09,760 --> 00:23:16,040
How can we handle the business logic for these times?

423
00:23:16,040 --> 00:23:19,600
- Yeah, that's a very good question.

424
00:23:19,600 --> 00:23:25,880
So in a traditional approach, some people might not like the choice

425
00:23:25,880 --> 00:23:28,040
of word, but you have the classical

426
00:23:28,040 --> 00:23:31,040
or you can call it traditional way,

427
00:23:31,040 --> 00:23:33,800
where you start from scratch on application

428
00:23:33,800 --> 00:23:35,400
or a software solution.

429
00:23:35,400 --> 00:23:41,840
You would normally try to complete the separate business side

430
00:23:41,840 --> 00:23:45,280
of the things from the technical side of things

431
00:23:45,280 --> 00:23:48,320
because they change differently.

432
00:23:48,320 --> 00:23:51,760
Their lifespan is different than the rest of your solution.

433
00:23:51,760 --> 00:23:53,720
So I'm talking about, for example,

434
00:23:53,720 --> 00:23:57,520
you have the cross cutting concerns like security,

435
00:23:57,520 --> 00:23:59,560
scalability and so on.

436
00:23:59,560 --> 00:24:02,400
And then you have like the specific business areas

437
00:24:02,400 --> 00:24:07,360
of your application like the, it could be domains,

438
00:24:07,360 --> 00:24:09,080
for example, and within those domains,

439
00:24:09,080 --> 00:24:13,800
you have business pieces that you would try to separate them.

440
00:24:13,800 --> 00:24:17,200
But when you are building in a platform,

441
00:24:17,200 --> 00:24:19,480
like for example, an empower platform,

442
00:24:19,480 --> 00:24:23,200
the first thing you need to respect is how that platform

443
00:24:23,200 --> 00:24:26,040
is already architected, right?

444
00:24:26,040 --> 00:24:29,840
You cannot start as if you're starting from scratch.

445
00:24:29,840 --> 00:24:32,200
You should see how the security works.

446
00:24:32,200 --> 00:24:35,720
So your architecture should fit that one.

447
00:24:35,720 --> 00:24:40,600
So the place is that Microsoft sees for your business logic

448
00:24:40,600 --> 00:24:45,280
in multiple layers.

449
00:24:45,280 --> 00:24:50,280
So you have the plugins that is basically the native place

450
00:24:50,280 --> 00:24:54,040
for your business, logic.

451
00:24:54,040 --> 00:24:56,200
And if it's a process oriented,

452
00:24:56,200 --> 00:24:59,520
you have the power automate or cloud flows.

453
00:24:59,520 --> 00:25:05,360
So you have these normally two major areas,

454
00:25:05,360 --> 00:25:10,360
the plugins and business process flows,

455
00:25:10,360 --> 00:25:13,560
probably a little bit different,

456
00:25:13,560 --> 00:25:15,760
so I will not bring that to the picture.

457
00:25:15,760 --> 00:25:18,200
You have the plugins and power,

458
00:25:18,200 --> 00:25:20,920
but some parts of your business logic

459
00:25:20,920 --> 00:25:23,240
would always leak to other layers

460
00:25:23,240 --> 00:25:28,160
because of an end user experience thing.

461
00:25:28,160 --> 00:25:30,240
For example, you have rules that might say,

462
00:25:30,240 --> 00:25:33,800
okay, this number should be between x and y

463
00:25:33,800 --> 00:25:37,880
or if, for example, another number is between something else,

464
00:25:37,880 --> 00:25:43,960
that would live in your plugin, somewhere in the back end.

465
00:25:43,960 --> 00:25:49,000
But you would still want that to be on your presentation layer.

466
00:25:49,000 --> 00:25:56,000
Why? Because it's easier to stop the end user entering a wrong number

467
00:25:56,000 --> 00:25:59,400
than to allow him to enter it and later on,

468
00:25:59,400 --> 00:26:04,480
show him a pop-up that complains about it.

469
00:26:04,480 --> 00:26:09,480
So for several reasons, like for enhancing the user experience,

470
00:26:09,480 --> 00:26:13,880
that business logic might leak up to other layers,

471
00:26:13,880 --> 00:26:18,480
but the primary area that it lives in is in the back end,

472
00:26:18,480 --> 00:26:20,720
if you're asking the discussion more specifically

473
00:26:20,720 --> 00:26:24,840
about Power Platform in your plugins and Power Automate.

474
00:26:24,840 --> 00:26:29,560
- Yeah, and I think,

475
00:26:29,560 --> 00:26:32,920
topic, zero topic, I think,

476
00:26:32,920 --> 00:26:35,240
let's talk about the code first.

477
00:26:35,240 --> 00:26:40,920
It was that actually mean and how would this Power Platform

478
00:26:40,920 --> 00:26:44,080
and especially how clean code

479
00:26:44,080 --> 00:26:47,040
into the code from AI?

480
00:26:47,880 --> 00:26:49,000
- Yeah, yeah.

481
00:26:49,000 --> 00:26:55,000
So, in the past, which is not long ago,

482
00:26:55,000 --> 00:27:00,600
you had this divide between Pro Code and Low Code.

483
00:27:00,600 --> 00:27:04,720
So, most of the people called it now, Code and Low Code.

484
00:27:04,720 --> 00:27:10,560
But now it's more about that fusion model.

485
00:27:10,560 --> 00:27:12,880
So there is no divide anymore.

486
00:27:12,880 --> 00:27:17,760
So it's more about a platform where code and low code

487
00:27:17,760 --> 00:27:23,840
and AI can basically contribute to one another.

488
00:27:23,840 --> 00:27:27,760
So they are basically reinforcing one another.

489
00:27:27,760 --> 00:27:33,320
So you have the low code, which is basically designed

490
00:27:33,320 --> 00:27:38,320
based on the pieces are built using Pro Code developer.

491
00:27:38,320 --> 00:27:42,400
A Pro Code sits there and creates those components

492
00:27:42,400 --> 00:27:46,120
like Lego pieces that you put them together and build enough.

493
00:27:47,000 --> 00:27:52,000
AI is actually another contributor within that fusion team.

494
00:27:52,000 --> 00:27:57,080
So I see it more like that, but what happened with AI is that

495
00:27:57,080 --> 00:28:03,080
code is becoming easier to produce, right?

496
00:28:03,080 --> 00:28:06,920
And you can produce a lot more code, a lot faster.

497
00:28:06,920 --> 00:28:10,040
So it's now more about reviewing the code

498
00:28:10,040 --> 00:28:13,000
and understanding the code faster, right?

499
00:28:13,000 --> 00:28:16,440
And we are sometimes losing that oversight.

500
00:28:16,440 --> 00:28:21,440
So I see more and more that people, I mean, you don't even,

501
00:28:21,440 --> 00:28:25,480
you know, you're trusting it more, you allow it to produce more.

502
00:28:25,480 --> 00:28:29,200
And now you have, you're entering another area

503
00:28:29,200 --> 00:28:33,760
where basically you have multiple agents running in parallel

504
00:28:33,760 --> 00:28:36,440
in Luke generating the code.

505
00:28:36,440 --> 00:28:40,160
So you have to basically review a lot of code.

506
00:28:40,160 --> 00:28:45,480
You have to make sure you're not introducing security issues

507
00:28:45,480 --> 00:28:48,960
and you know, you're not going against best practices.

508
00:28:48,960 --> 00:28:52,080
Like the hard problems are still hard.

509
00:28:52,080 --> 00:28:57,240
Like race conditions that can be only happening in

510
00:28:57,240 --> 00:29:02,080
the scenarios that you have a lot of load on your systems.

511
00:29:02,080 --> 00:29:06,160
Exactly the moment that it's too late to catch them.

512
00:29:06,160 --> 00:29:11,160
So you still have those problems, but you know, with AI,

513
00:29:11,160 --> 00:29:15,240
producing the code itself is becoming easier for everyone.

514
00:29:15,640 --> 00:29:20,360
So you can see like the makers in pairing that area,

515
00:29:20,360 --> 00:29:23,440
the same way that developers are also entering

516
00:29:23,440 --> 00:29:26,200
the architecture area more and more.

517
00:29:26,200 --> 00:29:30,080
It's becoming more shared responsibility than before.

518
00:29:30,080 --> 00:29:34,080
But I'm not expecting everybody to become interested

519
00:29:34,080 --> 00:29:38,120
in, you know, the entire business of building software.

520
00:29:38,120 --> 00:29:42,680
So that gives more responsibility to people like architects

521
00:29:42,680 --> 00:29:47,080
and the products to have better oversight, to be better

522
00:29:47,080 --> 00:29:49,800
to review those produced codes.

523
00:29:49,800 --> 00:29:54,240
But the tooling also coming to help, you know,

524
00:29:54,240 --> 00:29:57,760
every day I see more and more tooling coming to help us

525
00:29:57,760 --> 00:30:01,840
go through a lot of code, a lot faster as well.

526
00:30:01,840 --> 00:30:03,600
Again, AI is helping there too.

527
00:30:03,600 --> 00:30:10,080
And I think we have also topics we have developed

528
00:30:10,080 --> 00:30:13,480
how we have think about it's, I say the first one

529
00:30:13,480 --> 00:30:16,760
is what I think is this versioning,

530
00:30:16,760 --> 00:30:18,680
how have this just changed?

531
00:30:18,680 --> 00:30:25,160
Yeah, but the thing is you have AI, I think,

532
00:30:25,160 --> 00:30:29,440
in two areas, I mean, coming from our perspective.

533
00:30:29,440 --> 00:30:34,440
So you have the AI that is basically for the bin there,

534
00:30:34,440 --> 00:30:38,520
let's call it, that is the kind of AI

535
00:30:38,520 --> 00:30:42,640
that you are using to create the app using natural language

536
00:30:42,640 --> 00:30:46,440
descriptions or generate or explain a power fix formula

537
00:30:46,440 --> 00:30:50,520
or creating like a power ultimate flow conversationally.

538
00:30:50,520 --> 00:30:53,920
Or for example, suggesting user interface,

539
00:30:53,920 --> 00:30:58,800
helping developers understand the data model, for example, right?

540
00:30:58,800 --> 00:31:02,720
So power apps, co-pilot, for example, can generate an app

541
00:31:02,720 --> 00:31:06,160
and its data model from the description

542
00:31:06,160 --> 00:31:08,080
of the business require.

543
00:31:08,080 --> 00:31:10,400
What power ultimate co-pilot allows a maker

544
00:31:10,400 --> 00:31:13,320
to describe a workflow through natural language

545
00:31:13,320 --> 00:31:16,000
and then these experiences are intended

546
00:31:16,000 --> 00:31:18,880
to reduce the distance between the idea

547
00:31:18,880 --> 00:31:22,200
and that working, let's say, working first version.

548
00:31:22,200 --> 00:31:25,480
So the goal is not necessarily to produce

549
00:31:25,480 --> 00:31:29,600
a perfect production system from a single product, right?

550
00:31:29,600 --> 00:31:30,880
But to see the value there.

551
00:31:30,880 --> 00:31:35,360
Then you have, in this area, so without AI,

552
00:31:35,360 --> 00:31:39,080
the developer or the maker begins with a blank sheet

553
00:31:39,080 --> 00:31:42,800
but with the idea begin with a draft, which is better.

554
00:31:42,800 --> 00:31:46,360
Then you have the AI that is inside your solution,

555
00:31:46,360 --> 00:31:48,920
which is a second category.

556
00:31:48,920 --> 00:31:53,680
So the example is like, for example, summarizing a customer record

557
00:31:53,680 --> 00:31:55,920
or extracting information from a document

558
00:31:55,920 --> 00:31:58,000
or classifying an email, I don't know,

559
00:31:58,000 --> 00:32:01,880
or commenting the next action or monitoring an event

560
00:32:01,880 --> 00:32:06,040
and producing actions after it.

561
00:32:06,040 --> 00:32:08,000
So this is a different area.

562
00:32:08,000 --> 00:32:13,320
Like a user, for example, expecting to do things like,

563
00:32:13,320 --> 00:32:16,680
okay, summarize this current state of the customer

564
00:32:16,680 --> 00:32:20,440
or show me the open cases that requires escalation

565
00:32:20,440 --> 00:32:24,000
or prepare like a response that I want to send

566
00:32:24,000 --> 00:32:25,360
about this account information.

567
00:32:25,360 --> 00:32:28,680
I have to explain why this application was rejected, you know?

568
00:32:28,680 --> 00:32:30,000
Things like that.

569
00:32:30,000 --> 00:32:35,000
But these are two different AI's that we are dealing with,

570
00:32:35,000 --> 00:32:37,080
which is totally different.

571
00:32:37,080 --> 00:32:39,040
You should not mix them.

572
00:32:39,040 --> 00:32:44,040
Each has its own problems and tooling and everything else, right?

573
00:32:44,040 --> 00:32:52,040
- And what roles do the ICD pipelines play in improvement

574
00:32:52,040 --> 00:32:54,840
or improve our platform projects?

575
00:32:54,840 --> 00:32:56,800
- Right.

576
00:32:56,800 --> 00:33:01,800
If you see more and more with the platform itself,

577
00:33:01,800 --> 00:33:07,680
we are coming closer within the shared platform.

578
00:33:07,680 --> 00:33:11,560
Like you have now the pipelines within power platform

579
00:33:11,560 --> 00:33:14,840
that makers can also use.

580
00:33:14,840 --> 00:33:19,840
So I am hoping at some point, everything comes to Git,

581
00:33:19,840 --> 00:33:25,160
basically, so everybody only uses Git as a backend

582
00:33:25,160 --> 00:33:30,160
because what I have learned is that you cannot,

583
00:33:30,160 --> 00:33:34,720
you know, meet developers halfway to meet developers

584
00:33:34,720 --> 00:33:36,040
exactly where they are.

585
00:33:36,040 --> 00:33:40,040
So a lot of tools fail because they didn't realize this.

586
00:33:40,040 --> 00:33:42,400
So we have to bring everything to Git.

587
00:33:42,400 --> 00:33:46,920
But we should make it so easy for the makers to work with it.

588
00:33:46,920 --> 00:33:50,080
I see a lot of activities happening in power platform for that.

589
00:33:50,080 --> 00:33:53,080
You can now integrate it with Git, but there are limitations.

590
00:33:54,080 --> 00:33:59,080
But it's the fact that everybody is recognizing,

591
00:33:59,080 --> 00:34:03,600
okay, we need CI/CD for everybody,

592
00:34:03,600 --> 00:34:06,280
the LM concept is the same.

593
00:34:06,280 --> 00:34:09,480
It's just a user interface that needs to be suitable

594
00:34:09,480 --> 00:34:11,640
for this target audience.

595
00:34:11,640 --> 00:34:16,400
And you still need to be able to develop,

596
00:34:16,400 --> 00:34:19,000
test maybe within a sandbox environment, whatever,

597
00:34:19,960 --> 00:34:24,960
build and ship it to the environment that the end user is using it.

598
00:34:24,960 --> 00:34:29,800
It doesn't matter if you are a pro dev or a simple maker,

599
00:34:29,800 --> 00:34:34,800
well, it's just the same thing, the same concepts apply.

600
00:34:34,800 --> 00:34:40,680
You need reliability and productivity to be able to ship fast

601
00:34:40,680 --> 00:34:43,160
and with peace of mind.

602
00:34:43,160 --> 00:34:45,720
So if you are in a situation,

603
00:34:45,720 --> 00:34:49,400
when everybody is scared of pressing the release button,

604
00:34:50,240 --> 00:34:52,440
you have a problem within your LM.

605
00:34:52,440 --> 00:34:55,840
So everybody should be able to happily press that button

606
00:34:55,840 --> 00:34:58,640
because they have the confidence, okay, at this,

607
00:34:58,640 --> 00:35:02,080
we have done it before and it always works.

608
00:35:02,080 --> 00:35:05,160
There is no reason to worry and we have tested it.

609
00:35:05,160 --> 00:35:07,320
You don't have that confidence,

610
00:35:07,320 --> 00:35:11,000
there is room for improvement in your LM process.

611
00:35:11,000 --> 00:35:16,840
- Yeah, I don't like it.

612
00:35:16,840 --> 00:35:18,320
I'm more dev-optic guy.

613
00:35:19,320 --> 00:35:23,320
But yeah, yeah, okay.

614
00:35:23,320 --> 00:35:26,320
The developer house,

615
00:35:26,320 --> 00:35:30,320
yeah, they have front-assetting against me

616
00:35:30,320 --> 00:35:32,160
and we have a good integration.

617
00:35:32,160 --> 00:35:36,120
- We can process sometimes, I see, for example,

618
00:35:36,120 --> 00:35:40,080
you have too much segregation of responsibility

619
00:35:40,080 --> 00:35:43,080
that might be that the guy that presses that button

620
00:35:43,080 --> 00:35:47,920
doesn't even know the responsibility behind me.

621
00:35:47,920 --> 00:35:49,840
So he presses the button,

622
00:35:49,840 --> 00:35:52,280
but things get growing after and it's the developer

623
00:35:52,280 --> 00:35:54,920
who will be called, right?

624
00:35:54,920 --> 00:35:58,160
- You don't want to be in that situation.

625
00:35:58,160 --> 00:35:59,000
- Yeah.

626
00:35:59,000 --> 00:36:02,560
- What would you say,

627
00:36:02,560 --> 00:36:05,400
what should always be stored in the source control?

628
00:36:05,400 --> 00:36:10,560
- Well, the source control should be the source of truth.

629
00:36:10,560 --> 00:36:15,560
So I have seen over years that

630
00:36:15,560 --> 00:36:18,400
Bore platform has come a long way, right?

631
00:36:18,400 --> 00:36:23,400
We have gone from the time that nothing was in the source control

632
00:36:23,400 --> 00:36:29,080
to the area that, okay, we realized that,

633
00:36:29,080 --> 00:36:30,960
okay, things should be in the source control

634
00:36:30,960 --> 00:36:33,560
because of the traceability.

635
00:36:33,560 --> 00:36:38,000
But now we have fully realized that Bore platform

636
00:36:38,000 --> 00:36:39,680
is not an exception.

637
00:36:39,680 --> 00:36:43,480
So just for the same reasons that every other technology

638
00:36:43,480 --> 00:36:45,360
needs a virgin control,

639
00:36:45,360 --> 00:36:47,640
not just for traceability,

640
00:36:47,640 --> 00:36:51,120
for many other things,

641
00:36:51,120 --> 00:36:55,640
powerful platforms should also use Git as the source of truth

642
00:36:55,640 --> 00:36:56,480
for everything.

643
00:36:56,480 --> 00:37:00,040
So the things that are built and designed,

644
00:37:00,040 --> 00:37:01,800
they should go to Git.

645
00:37:01,800 --> 00:37:02,640
- Go.

646
00:37:02,640 --> 00:37:05,640
- But you normally take that source code

647
00:37:05,640 --> 00:37:10,440
or metadata and configuration and you build something, right?

648
00:37:10,440 --> 00:37:15,200
That build is supposed to be repeatable.

649
00:37:15,200 --> 00:37:18,200
So if you, for example, you have the build server

650
00:37:18,200 --> 00:37:20,120
or the build process,

651
00:37:20,120 --> 00:37:22,280
if you feed in the same source,

652
00:37:22,280 --> 00:37:25,600
it should give you back the same binaries

653
00:37:25,600 --> 00:37:27,760
that you can deploy, right?

654
00:37:27,760 --> 00:37:30,680
But those binaries should not end up in your Git

655
00:37:30,680 --> 00:37:35,200
because a moment you have two places that things leave

656
00:37:35,200 --> 00:37:40,200
like in your artifactory or in whatever area that you store

657
00:37:41,080 --> 00:37:45,160
and ship the binaries to the end user.

658
00:37:45,160 --> 00:37:49,040
If you have that same binaries in the source control,

659
00:37:49,040 --> 00:37:52,920
that's not good because then you have the question of,

660
00:37:52,920 --> 00:37:54,720
which one is the latest?

661
00:37:54,720 --> 00:37:59,720
Or which one is pointing to this virgin in the source control?

662
00:37:59,720 --> 00:38:04,040
So we always try to, when we build the CI/CD,

663
00:38:04,040 --> 00:38:07,840
pipeline or the ALM, a gear picture,

664
00:38:07,840 --> 00:38:09,920
we always try to make sure

665
00:38:09,920 --> 00:38:13,600
what is buildable should not end up in Git.

666
00:38:13,600 --> 00:38:15,280
Like for example, in Power Platform,

667
00:38:15,280 --> 00:38:20,040
we have the DLLs of the plugins, the assemblies,

668
00:38:20,040 --> 00:38:22,120
or we have the new Git packages

669
00:38:22,120 --> 00:38:26,160
or we have these JavaScripts or PCF components.

670
00:38:26,160 --> 00:38:30,480
So these things that are built, build is the output.

671
00:38:30,480 --> 00:38:33,200
They should not end up in the repository

672
00:38:33,200 --> 00:38:37,240
because the traditional way to look at Git for Power Platform,

673
00:38:37,240 --> 00:38:38,360
the developers was like,

674
00:38:38,360 --> 00:38:41,080
okay, this is just for traceability

675
00:38:41,080 --> 00:38:42,640
so we can go back and see the code.

676
00:38:42,640 --> 00:38:47,800
No, you should be able to take the Git repository

677
00:38:47,800 --> 00:38:51,240
and using only that, be able to spin up quickly

678
00:38:51,240 --> 00:38:54,880
an environment and deploy everything

679
00:38:54,880 --> 00:38:58,320
and have a development environment very quickly.

680
00:38:58,320 --> 00:39:03,200
So it's not the idea to have just the history in there.

681
00:39:03,200 --> 00:39:04,680
Everything becomes traceable,

682
00:39:04,680 --> 00:39:07,120
you should be able to go back and roll back

683
00:39:07,120 --> 00:39:09,320
to your changes, correct things,

684
00:39:09,320 --> 00:39:13,880
you should be able to reason why something has changed.

685
00:39:13,880 --> 00:39:18,560
So that means that even things that are coming

686
00:39:18,560 --> 00:39:20,360
from your Power Platform environment,

687
00:39:20,360 --> 00:39:23,240
you create a form, great view,

688
00:39:23,240 --> 00:39:27,720
then you should take that view and form whatever you build,

689
00:39:27,720 --> 00:39:30,560
push it to Git and describe what you did.

690
00:39:30,560 --> 00:39:34,000
So it means that 10 years from now,

691
00:39:34,000 --> 00:39:36,920
but 10 years is a long time, maybe two years from now,

692
00:39:36,920 --> 00:39:38,920
you should be able to come back to that project

693
00:39:38,920 --> 00:39:40,960
and but just looking at your Git,

694
00:39:40,960 --> 00:39:44,560
be able to know what happened in these two years

695
00:39:44,560 --> 00:39:46,800
that you were not around, right?

696
00:39:46,800 --> 00:39:48,840
And then with confidence,

697
00:39:48,840 --> 00:39:51,560
you should be able to create a development environment

698
00:39:51,560 --> 00:39:53,640
and simply your Git to spin it up.

699
00:39:53,640 --> 00:40:00,840
- I think for other guys,

700
00:40:00,840 --> 00:40:03,640
we have this infrastructure as a code topic,

701
00:40:03,640 --> 00:40:05,120
PowerShell, and the graphic,

702
00:40:05,120 --> 00:40:10,120
and so on, is that a similar idea for the Power Platform?

703
00:40:10,120 --> 00:40:13,760
- Yes, yes.

704
00:40:13,760 --> 00:40:18,040
Oh, you have provided for a Terraform,

705
00:40:18,040 --> 00:40:21,480
normally the most popular one,

706
00:40:21,480 --> 00:40:23,360
'cause there are different options.

707
00:40:23,360 --> 00:40:24,200
- My sub-sign.

708
00:40:24,200 --> 00:40:26,360
(laughing)

709
00:40:26,360 --> 00:40:32,200
- I haven't seen in big enterprises where like the ones

710
00:40:32,680 --> 00:40:35,920
that have several technologies because this Terraform,

711
00:40:35,920 --> 00:40:39,400
for example, is more open, supports more technologies

712
00:40:39,400 --> 00:40:42,760
like it can go from Azure to AWS to Google,

713
00:40:42,760 --> 00:40:44,720
and now in Power Platform.

714
00:40:44,720 --> 00:40:46,600
The problem is that,

715
00:40:46,600 --> 00:40:48,600
well, it's open source, right?

716
00:40:48,600 --> 00:40:51,880
But it doesn't cover everything.

717
00:40:51,880 --> 00:40:53,800
So if you see something missing,

718
00:40:53,800 --> 00:40:55,760
you are welcome to contribute to that.

719
00:40:55,760 --> 00:41:02,240
And it's always nice to have more contributors,

720
00:41:02,240 --> 00:41:05,600
one of the problems is that Power Platform itself

721
00:41:05,600 --> 00:41:06,440
is moving fast.

722
00:41:06,440 --> 00:41:08,480
So you have DLPs.

723
00:41:08,480 --> 00:41:12,120
For example, now you have an easier way,

724
00:41:12,120 --> 00:41:15,040
but that easier way needs API behind it.

725
00:41:15,040 --> 00:41:19,000
So it needs to become accessible to Power Platform API.

726
00:41:19,000 --> 00:41:24,000
Then we can have it in the Terraform provider one day,

727
00:41:24,000 --> 00:41:27,560
it doesn't cover everything now,

728
00:41:28,480 --> 00:41:32,840
but it's the nature of the business.

729
00:41:32,840 --> 00:41:37,160
So it moves fast, takes time to get there as well.

730
00:41:37,160 --> 00:41:42,160
I like this idea of having a way of just defining

731
00:41:42,160 --> 00:41:47,200
the environment to be, and it becomes like that,

732
00:41:47,200 --> 00:41:51,680
rather than writing the description of what to do

733
00:41:51,680 --> 00:41:56,160
in PowerShell Scripts to build that environment.

734
00:41:56,160 --> 00:41:57,880
But it's not that difficult.

735
00:41:57,880 --> 00:42:02,880
For now, because Power Platform is not like Azure either,

736
00:42:02,880 --> 00:42:07,280
in Azure you have to do a lot more than Power Platform.

737
00:42:07,280 --> 00:42:09,160
Power Platform building the environment

738
00:42:09,160 --> 00:42:11,080
or configuring it is not that difficult.

739
00:42:11,080 --> 00:42:14,400
You have the environment groups now, that makes it easier.

740
00:42:14,400 --> 00:42:17,520
And you have this blueprints that you can apply,

741
00:42:17,520 --> 00:42:20,880
and there is more than before,

742
00:42:20,880 --> 00:42:23,360
and it's easier to manage now.

743
00:42:23,360 --> 00:42:26,080
But Terraform is always welcome,

744
00:42:26,080 --> 00:42:28,800
because in a big solution,

745
00:42:28,800 --> 00:42:32,440
you most likely have a lot of Azure components as well.

746
00:42:32,440 --> 00:42:35,280
You have Event Home, you have Azure Service Boss,

747
00:42:35,280 --> 00:42:39,000
you have Functions that and other pieces.

748
00:42:39,000 --> 00:42:43,240
So having Terraform also for your Power Platform

749
00:42:43,240 --> 00:42:47,760
would make it more coherent and easier for the Devob Go is

750
00:42:47,760 --> 00:42:51,600
who are used to your Terraform approach

751
00:42:51,600 --> 00:42:53,760
to also deal with Power Platform.

752
00:42:53,760 --> 00:42:55,200
But it's not far from that.

753
00:42:55,200 --> 00:42:58,800
You have, I don't know if you are familiar with the CDS approach,

754
00:42:58,800 --> 00:43:01,000
which is basically,

755
00:43:01,000 --> 00:43:04,520
so previously you had the code components,

756
00:43:04,520 --> 00:43:08,560
which were totally isolated from artifacts

757
00:43:08,560 --> 00:43:11,440
that you would build visually in Power Platform,

758
00:43:11,440 --> 00:43:14,640
but they are basically closing the gap.

759
00:43:14,640 --> 00:43:17,960
So all the things that you build in a Power Platform

760
00:43:17,960 --> 00:43:20,760
and the environment can live under a project

761
00:43:20,760 --> 00:43:24,240
that you basically can build.

762
00:43:24,240 --> 00:43:29,120
So you just queue a build operation,

763
00:43:29,120 --> 00:43:32,160
and it can produce your Power Platform solution,

764
00:43:32,160 --> 00:43:34,400
which is ready to deploy.

765
00:43:34,400 --> 00:43:37,480
I'm not trying to say, okay, it's perfect,

766
00:43:37,480 --> 00:43:39,920
and you install it and everything is done.

767
00:43:39,920 --> 00:43:42,960
There is still more work to be done after your deployment.

768
00:43:42,960 --> 00:43:46,040
And Terraform is a very good glue

769
00:43:46,040 --> 00:43:48,560
that can fill that gap.

770
00:43:48,560 --> 00:43:54,160
- Yeah, that's what was really fantastic,

771
00:43:54,160 --> 00:43:59,160
but I also will take the chance to talk about your tools,

772
00:43:59,160 --> 00:44:01,560
or your tools.

773
00:44:01,560 --> 00:44:04,400
You have built XM-Arch rules.

774
00:44:04,400 --> 00:44:06,360
What is it?

775
00:44:06,360 --> 00:44:10,160
What inspired you and what problem are you trying to solve?

776
00:44:10,160 --> 00:44:15,960
- All right, it actually started with an experiment.

777
00:44:15,960 --> 00:44:20,960
So I saw the way that we are developing a Power Platform

778
00:44:22,880 --> 00:44:25,320
solutions in the past.

779
00:44:25,320 --> 00:44:30,320
And coming from, because I transition from different technologies,

780
00:44:30,320 --> 00:44:34,080
I normally move horizontally.

781
00:44:34,080 --> 00:44:36,920
When I get bored, I start with another technology.

782
00:44:36,920 --> 00:44:38,760
So when I arrived at Power Platform,

783
00:44:38,760 --> 00:44:43,760
I was expecting better tooling, let's say.

784
00:44:43,760 --> 00:44:47,320
For example, in SharePoint, you had better tooling,

785
00:44:47,320 --> 00:44:52,320
so you would always build everything in Visual Studio.

786
00:44:52,560 --> 00:44:57,120
It was marketed long ago as the integrated development

787
00:44:57,120 --> 00:45:00,800
environment, so it's more than a coding tool, right?

788
00:45:00,800 --> 00:45:03,400
You should have been able to do everything in Visual Studio.

789
00:45:03,400 --> 00:45:06,120
And you could do everything for SharePoint.

790
00:45:06,120 --> 00:45:08,320
But when I arrived there, I thought, okay,

791
00:45:08,320 --> 00:45:10,520
there is a lot of room for improvement.

792
00:45:10,520 --> 00:45:14,440
So there is like an action, I think,

793
00:45:14,440 --> 00:45:17,040
from Microsoft that you can install on Visual Studio.

794
00:45:17,040 --> 00:45:20,680
So there is a lot of problems in it.

795
00:45:20,680 --> 00:45:24,640
It's clear that it's not maintained as much or

796
00:45:24,640 --> 00:45:27,120
Microsoft is not really invested on that one.

797
00:45:27,120 --> 00:45:29,240
When I asked Darab, who is using it,

798
00:45:29,240 --> 00:45:33,040
I didn't see any hands going out in any company.

799
00:45:33,040 --> 00:45:36,040
Some people tried it, that disappointed.

800
00:45:36,040 --> 00:45:39,520
It's documented how to use it, but it's not doing a lot.

801
00:45:39,520 --> 00:45:44,240
And then the modern approach for software development

802
00:45:44,240 --> 00:45:47,200
is basically defining everything as code.

803
00:45:47,200 --> 00:45:49,680
And we are seeing the benefit a lot more now,

804
00:45:49,680 --> 00:45:54,080
by dates with AI, because whatever that could be defined as code,

805
00:45:54,080 --> 00:45:57,000
can be produced with AI as well, right?

806
00:45:57,000 --> 00:46:00,040
But there is a lot of pieces in Power Platform

807
00:46:00,040 --> 00:46:02,400
that couldn't be defined as code.

808
00:46:02,400 --> 00:46:06,720
Like you write a plugin, but you have to go somewhere else

809
00:46:06,720 --> 00:46:09,320
to define what your plugin does,

810
00:46:09,320 --> 00:46:12,080
and then it should be activated, and what should be sent

811
00:46:12,080 --> 00:46:17,080
to your plugin, so the configuration, the context.

812
00:46:17,800 --> 00:46:21,440
So if you touch your code in your plugin, you have to go back.

813
00:46:21,440 --> 00:46:26,680
And for custom APIs, which is a more sophisticated plugin,

814
00:46:26,680 --> 00:46:29,560
you can have all sorts of inputs and outputs.

815
00:46:29,560 --> 00:46:31,880
It gets even more difficult, because on top of that,

816
00:46:31,880 --> 00:46:34,560
you have the input and output of the API,

817
00:46:34,560 --> 00:46:38,120
and God forbid, if it changes, you have to again,

818
00:46:38,120 --> 00:46:39,160
jump back to the tool.

819
00:46:39,160 --> 00:46:43,320
And there is not one tool, but many to work with.

820
00:46:43,320 --> 00:46:50,200
That means developer is losing their site, well, you know,

821
00:46:50,200 --> 00:46:54,080
they come out of the Zen that they are developing fast.

822
00:46:54,080 --> 00:46:59,680
And after a while, which is basically what is even worse,

823
00:46:59,680 --> 00:47:01,400
they get used to it.

824
00:47:01,400 --> 00:47:04,760
So they just accept it as the nature of the world.

825
00:47:04,760 --> 00:47:10,800
But when I came to that area, I noticed there is a gap to be filled.

826
00:47:10,800 --> 00:47:14,280
I didn't want the developers to go outside to define

827
00:47:14,280 --> 00:47:16,840
what could be already visible in the code.

828
00:47:16,840 --> 00:47:21,120
So I saw there were some attempts at doing it,

829
00:47:21,120 --> 00:47:24,080
but you know, bringing these things to Visual Studio,

830
00:47:24,080 --> 00:47:28,400
Visual Studio is very extendable, but it's very difficult to extend it.

831
00:47:28,400 --> 00:47:30,760
And not everything is documented.

832
00:47:30,760 --> 00:47:34,920
So somebody had to bite the bullet and sit down

833
00:47:34,920 --> 00:47:37,400
and learn how to work with Visual Studio,

834
00:47:37,400 --> 00:47:38,840
and it was difficult.

835
00:47:38,840 --> 00:47:44,080
So I just, I didn't make any promises to anybody, not even to myself.

836
00:47:44,080 --> 00:47:45,680
I said, OK, let's try it.

837
00:47:45,680 --> 00:47:47,520
Could be a fun site project.

838
00:47:47,520 --> 00:47:49,720
That fun project took a year.

839
00:47:49,720 --> 00:47:53,480
I think I spent more than 1,000 hours.

840
00:47:53,480 --> 00:47:54,760
Virgin.

841
00:47:54,760 --> 00:48:01,040
So I was even at that time to be, you know, you just put some attributes.

842
00:48:01,040 --> 00:48:05,600
This is the way that every C# developer works in the world.

843
00:48:05,600 --> 00:48:08,280
You add attribute to your plugin.

844
00:48:08,280 --> 00:48:09,120
Why?

845
00:48:09,120 --> 00:48:11,400
Because that's directly related to the code that you're writing,

846
00:48:11,400 --> 00:48:13,880
but it's about the code that you're writing.

847
00:48:13,880 --> 00:48:14,880
What is the place?

848
00:48:14,880 --> 00:48:18,880
If you ask any C# developer, they will answer C# attributes.

849
00:48:18,880 --> 00:48:22,800
It even exists in other languages, like Go and many other languages,

850
00:48:22,800 --> 00:48:24,360
Java, for example.

851
00:48:24,360 --> 00:48:26,520
So there was no question.

852
00:48:26,520 --> 00:48:27,520
That's the right place.

853
00:48:27,520 --> 00:48:30,800
So you can now be the external tools.

854
00:48:30,800 --> 00:48:32,800
You just add some attributes.

855
00:48:32,800 --> 00:48:34,760
It's a like, this is the step.

856
00:48:34,760 --> 00:48:36,760
This is the image.

857
00:48:36,760 --> 00:48:40,600
And then you just right click on your project and register.

858
00:48:40,600 --> 00:48:45,680
But think is some magic happened at that moment.

859
00:48:45,680 --> 00:48:48,440
Because the moment you put that in your code,

860
00:48:48,440 --> 00:48:55,560
that becomes, first of all, a single source of truth in reality,

861
00:48:55,560 --> 00:48:57,920
not in marketing in the moon.

862
00:48:57,920 --> 00:49:00,600
You define your API input and output.

863
00:49:00,600 --> 00:49:04,240
You define the registration of plugin right beside the business

864
00:49:04,240 --> 00:49:07,040
logic there in a clean way.

865
00:49:07,040 --> 00:49:10,080
And now not only visual studio can understand

866
00:49:10,080 --> 00:49:15,440
what it needs to do to register your plugin in a single click.

867
00:49:15,440 --> 00:49:20,280
And also maybe another advantage is that the entire thing

868
00:49:20,280 --> 00:49:21,360
is a transaction.

869
00:49:21,360 --> 00:49:26,440
So if it faves in any moment, it will road back the entire thing.

870
00:49:26,440 --> 00:49:28,480
It doesn't happen in any other tool.

871
00:49:28,480 --> 00:49:32,560
But then I noticed, wow, the analyzers,

872
00:49:32,560 --> 00:49:35,560
you might be familiar with them in that then.

873
00:49:35,560 --> 00:49:38,280
And code fixtures, they also see it.

874
00:49:38,280 --> 00:49:41,960
So they can complain if you are doing something wrong.

875
00:49:41,960 --> 00:49:45,680
And as your intention becomes clear to visual studio,

876
00:49:45,680 --> 00:49:47,080
it can do a lot more.

877
00:49:47,080 --> 00:49:49,040
So it knows, for example, in your plugin,

878
00:49:49,040 --> 00:49:52,920
you have a dependency on which table and which columns.

879
00:49:52,920 --> 00:49:55,840
So you have a type safe target.

880
00:49:55,840 --> 00:49:59,160
There is no way you can make a human error even if you try.

881
00:49:59,160 --> 00:50:02,480
So your code will not compile anymore.

882
00:50:02,480 --> 00:50:04,840
So it becomes a lot safer.

883
00:50:04,840 --> 00:50:06,720
It becomes a lot faster.

884
00:50:06,720 --> 00:50:10,760
Or like common problems, for example, you're not allowed

885
00:50:10,760 --> 00:50:13,240
to use state within your plugin.

886
00:50:13,240 --> 00:50:13,760
Why?

887
00:50:13,760 --> 00:50:16,800
Because the plugin can run again and again.

888
00:50:16,800 --> 00:50:19,360
And the context will be different each time.

889
00:50:19,360 --> 00:50:22,680
It can be a different user with a different permission

890
00:50:22,680 --> 00:50:23,280
learning event.

891
00:50:23,280 --> 00:50:26,640
So it's even dangerous to keep things in your properties

892
00:50:26,640 --> 00:50:29,520
of your class, which is your state, but not with external tools.

893
00:50:29,520 --> 00:50:32,240
Because we have dependency injections.

894
00:50:32,240 --> 00:50:34,680
So it brings all these concepts that

895
00:50:34,680 --> 00:50:38,080
existed outside of our platform for everybody else.

896
00:50:38,080 --> 00:50:39,720
Now we need power platform.

897
00:50:39,720 --> 00:50:41,080
Your bit becomes safe.

898
00:50:41,080 --> 00:50:43,320
You just right click and register.

899
00:50:43,320 --> 00:50:47,920
It takes care of the build if it's required.

900
00:50:47,920 --> 00:50:51,480
Then I bring all these things that are in power platform

901
00:50:51,480 --> 00:50:53,120
as native services.

902
00:50:53,120 --> 00:50:57,560
You can just open a new fetch file and write a query.

903
00:50:57,560 --> 00:51:00,360
And it compiles and generates code for you.

904
00:51:00,360 --> 00:51:05,080
So whenever I see opportunity that this is a code that is always

905
00:51:05,080 --> 00:51:09,040
looking the same way, the boring stuff, XRM tools

906
00:51:09,040 --> 00:51:10,360
should take care of it.

907
00:51:10,360 --> 00:51:12,160
But there is a lot more coming to it.

908
00:51:12,160 --> 00:51:15,160
I talked about CDS project.

909
00:51:15,160 --> 00:51:19,640
Like CDS project is nice project model.

910
00:51:19,640 --> 00:51:23,720
But you cannot even open it in Visual Studio.

911
00:51:23,720 --> 00:51:28,200
But I'm not going to tell you a lot more than that.

912
00:51:28,200 --> 00:51:31,400
But there is a lot of stuff coming to XRM tools that

913
00:51:31,400 --> 00:51:37,880
makes it also a first class citizen in Visual Studio very soon.

914
00:51:37,880 --> 00:51:38,840
Yeah.

915
00:51:38,840 --> 00:51:43,320
You have spent 1,000 hours on work.

916
00:51:43,320 --> 00:51:44,800
Can you have me be?

917
00:51:44,800 --> 00:51:49,600
And now for the next year, you have a newer product, the PS

918
00:51:49,600 --> 00:51:51,360
data worse.

919
00:51:51,360 --> 00:51:55,920
That's a power shell to the data worse.

920
00:51:55,920 --> 00:51:59,800
So can you a little bit tell us about this?

921
00:51:59,800 --> 00:52:02,240
Different tools with different goals.

922
00:52:02,240 --> 00:52:06,000
So for XRM tools, because it's built for Visual Studio

923
00:52:06,000 --> 00:52:09,280
and for the developer target audience, the expectation

924
00:52:09,280 --> 00:52:13,120
of the quality is extremely high.

925
00:52:13,120 --> 00:52:19,120
For example, in XRM tools, there is no simple way to--

926
00:52:19,120 --> 00:52:21,560
for example, you might look at Visual Studio and say,

927
00:52:21,560 --> 00:52:24,000
OK, everything should have the same theme.

928
00:52:24,000 --> 00:52:25,880
If it's dark, everything should be dark.

929
00:52:25,880 --> 00:52:28,680
But when you create an extension for Visual Studio,

930
00:52:28,680 --> 00:52:30,920
it looks like Windows 95.

931
00:52:30,920 --> 00:52:33,400
It takes the default colors of--

932
00:52:33,400 --> 00:52:35,080
and you have to do a lot of work just

933
00:52:35,080 --> 00:52:39,080
to bring the theme of the Visual Studio to your extension.

934
00:52:39,080 --> 00:52:41,720
And every single piece is important for me

935
00:52:41,720 --> 00:52:46,720
because I don't have a release date that is announced to anybody.

936
00:52:46,720 --> 00:52:50,880
I take a lot of time to make all these little corners

937
00:52:50,880 --> 00:52:53,400
perfect before I release.

938
00:52:53,400 --> 00:52:55,120
The PSDTWR is a different word.

939
00:52:55,120 --> 00:52:59,720
So that's basically there.

940
00:52:59,720 --> 00:53:04,800
You can use PowerShell to create a record or two in Power Platform.

941
00:53:04,800 --> 00:53:07,800
But nobody is using that for data migration.

942
00:53:07,800 --> 00:53:08,040
Why?

943
00:53:08,040 --> 00:53:12,880
Because you might need to move massive amounts of data

944
00:53:12,880 --> 00:53:15,800
in and out of Power Platform.

945
00:53:15,800 --> 00:53:18,800
PSDTWR is for that purpose.

946
00:53:18,800 --> 00:53:23,040
So you basically generate a JSON, which is extremely

947
00:53:23,040 --> 00:53:26,880
easy in PowerShell, probably with one line of code now.

948
00:53:26,880 --> 00:53:34,120
You can connect to any data source, be it Postgres,QL,

949
00:53:34,120 --> 00:53:36,520
or SQL Server, or a KEL whatever.

950
00:53:36,520 --> 00:53:38,840
It's always not more than a line of code.

951
00:53:38,840 --> 00:53:41,160
And probably one more line of code

952
00:53:41,160 --> 00:53:43,120
to read massive amounts of data.

953
00:53:43,120 --> 00:53:45,760
There is always a module for that.

954
00:53:45,760 --> 00:53:48,160
It doesn't matter which data source.

955
00:53:48,160 --> 00:53:51,560
Then the problem is here.

956
00:53:51,560 --> 00:53:54,800
How are you going to move that massive data

957
00:53:54,800 --> 00:53:58,000
into Power Platform reliably?

958
00:53:58,000 --> 00:54:02,240
So PSDTWR fixes that missing piece.

959
00:54:02,240 --> 00:54:05,840
So you are able to load large amounts of data,

960
00:54:05,840 --> 00:54:10,840
give it to PSDTWR and point at the table to move that data.

961
00:54:10,840 --> 00:54:15,120
So with that in place, you can do a lot of magic, basically.

962
00:54:15,120 --> 00:54:17,760
It takes care of connecting to your Power Platform

963
00:54:17,760 --> 00:54:24,240
securely, creating parallel pipelines to your Power Platform

964
00:54:24,240 --> 00:54:29,160
and send massive amounts of data in transactions.

965
00:54:29,160 --> 00:54:33,720
So it's actually matching them and running them in parallel.

966
00:54:33,720 --> 00:54:36,640
And because the runtime is very light,

967
00:54:36,640 --> 00:54:41,120
you are not within a SIS, which is itself very large.

968
00:54:41,120 --> 00:54:43,960
And because it's code-based, you can run it anywhere,

969
00:54:43,960 --> 00:54:49,200
a code can run in the cloud, hosted or within a VM

970
00:54:49,200 --> 00:54:55,480
or from an unprem-service or a VM.

971
00:54:55,480 --> 00:54:57,760
You can just move that amount of data

972
00:54:57,760 --> 00:55:00,760
to the target environment.

973
00:55:00,760 --> 00:55:05,800
I have samples written there that shows you

974
00:55:05,800 --> 00:55:08,120
like real production scenarios.

975
00:55:08,120 --> 00:55:12,440
What happens, for example, if in the middle of the data migration

976
00:55:12,440 --> 00:55:15,840
for some reason network outage, everything is stocks.

977
00:55:15,840 --> 00:55:17,120
You should be able to receive them.

978
00:55:17,120 --> 00:55:18,800
You don't want to start from scratch.

979
00:55:18,800 --> 00:55:21,320
So it addresses all those common problems

980
00:55:21,320 --> 00:55:27,600
and we use it in different teams to do huge data migrations,

981
00:55:27,600 --> 00:55:31,480
to spin up environments, feed pre-existing data.

982
00:55:31,480 --> 00:55:33,920
If it's like 20 records, it's very easy.

983
00:55:33,920 --> 00:55:36,400
You can do it manually or with an extension.

984
00:55:36,400 --> 00:55:40,720
But what if you need like 10,000 records in 50 different tables

985
00:55:40,720 --> 00:55:43,360
with dependencies on each other, right?

986
00:55:43,360 --> 00:55:45,400
With the UI, it will be a nightmare.

987
00:55:45,400 --> 00:55:48,320
But if you can convert it to JSON,

988
00:55:48,320 --> 00:55:52,680
poor PSD-towers can move it to Power Platform.

989
00:55:52,680 --> 00:55:55,960
And vice versa, you can move it outside of Power Platform

990
00:55:55,960 --> 00:55:58,280
in JSON format and storage somewhere.

991
00:55:58,280 --> 00:56:00,640
So you might be immediately thinking about,

992
00:56:00,640 --> 00:56:04,360
wow, we can transfer data between environments reliably.

993
00:56:04,360 --> 00:56:06,800
Because before you had the data flows,

994
00:56:06,800 --> 00:56:11,000
it's going to become obsolete soon.

995
00:56:11,000 --> 00:56:15,000
And they are not able to move reliably data more than 10,000.

996
00:56:15,000 --> 00:56:17,480
And maybe with some tricks, which I have also shared

997
00:56:17,480 --> 00:56:19,840
in some blog posts in the past,

998
00:56:19,840 --> 00:56:22,560
you can go up to 100,000 records.

999
00:56:22,560 --> 00:56:28,200
But more than that's probably not possible in a normal way.

1000
00:56:28,200 --> 00:56:31,680
But with PSD-towers, you can have millions of records

1001
00:56:31,680 --> 00:56:34,840
in different tables and reliably moving them

1002
00:56:34,840 --> 00:56:37,200
to the cloud or back.

1003
00:56:37,200 --> 00:56:38,280
Yeah, awesome.

1004
00:56:38,280 --> 00:56:39,320
Thank you.

1005
00:56:39,320 --> 00:56:42,120
Yeah, we are a little bit running out of time.

1006
00:56:42,120 --> 00:56:44,280
So let's jump in the ref at FireRun.

1007
00:56:44,280 --> 00:56:48,680
That's, I make a short question and you give us a short answer.

1008
00:56:48,680 --> 00:56:51,400
Oh, I know who.

1009
00:56:51,400 --> 00:56:54,040
Dotnet Java, C# or PowerShell.

1010
00:56:54,040 --> 00:56:57,040
Ah, maybe Dotnet.

1011
00:56:57,040 --> 00:57:02,960
Visual Studio or VS Code?

1012
00:57:02,960 --> 00:57:05,840
Wow, that's a different tool for a different job.

1013
00:57:05,840 --> 00:57:09,960
But yeah, I would say Visual Studio.

1014
00:57:09,960 --> 00:57:12,600
Rest or graph QL?

1015
00:57:12,600 --> 00:57:14,120
Ah, nice one.

1016
00:57:14,120 --> 00:57:16,040
Graph QL.

1017
00:57:16,040 --> 00:57:19,640
Can myself some model driven X?

1018
00:57:19,640 --> 00:57:22,080
Modern driven X.

1019
00:57:22,080 --> 00:57:26,680
Power on automated or Azure functions?

1020
00:57:26,680 --> 00:57:29,600
Azure functions?

1021
00:57:29,600 --> 00:57:34,160
To encode or fastcode?

1022
00:57:34,160 --> 00:57:35,720
To encode.

1023
00:57:35,720 --> 00:57:39,840
General or agree?

1024
00:57:39,840 --> 00:57:42,760
Ah, that's a very difficult one.

1025
00:57:42,760 --> 00:57:44,880
agree.

1026
00:57:44,880 --> 00:57:47,640
Text or spaces?

1027
00:57:47,640 --> 00:57:49,160
Spaces?

1028
00:57:49,160 --> 00:57:51,440
That would or light mode.

1029
00:57:51,440 --> 00:57:53,320
Dark mode, certainly.

1030
00:57:53,320 --> 00:57:56,440
The first back you ever fixed?

1031
00:57:56,440 --> 00:57:58,160
The first back I ever fixed.

1032
00:57:58,160 --> 00:58:00,000
Oh my god, that's difficult one.

1033
00:58:00,000 --> 00:58:02,880
I don't really remember that.

1034
00:58:02,880 --> 00:58:08,800
OK, when Microsoft can, you get all the money and resources

1035
00:58:08,800 --> 00:58:10,200
you need.

1036
00:58:10,200 --> 00:58:13,680
What feature ability build?

1037
00:58:13,680 --> 00:58:15,880
In Power Platform, you mean?

1038
00:58:15,880 --> 00:58:20,120
Yeah, you're free in the Microsoft ecosystem.

1039
00:58:20,120 --> 00:58:24,560
You know, one of my favorite technologies

1040
00:58:24,560 --> 00:58:29,840
within Microsoft's large ecosystem is Azure functions.

1041
00:58:29,840 --> 00:58:33,880
Because I cannot imagine in any of the other Microsoft products,

1042
00:58:33,880 --> 00:58:40,840
you don't need a simple to build compute runtime, where

1043
00:58:40,840 --> 00:58:46,240
you can write code and run it easily and ship it easily

1044
00:58:46,240 --> 00:58:50,480
or easier than Azure functions.

1045
00:58:50,480 --> 00:58:53,960
I would have liked to see Azure functions everywhere.

1046
00:58:53,960 --> 00:58:56,640
So within Power Platform, not outside.

1047
00:58:56,640 --> 00:58:59,120
So you could write plugins and deploy them.

1048
00:58:59,120 --> 00:59:02,240
But if you look at Azure functions, you have triggers.

1049
00:59:02,240 --> 00:59:04,040
They could be your plugin engine.

1050
00:59:04,040 --> 00:59:05,960
They could be your API engine.

1051
00:59:05,960 --> 00:59:08,200
They could run within SharePoint.

1052
00:59:08,200 --> 00:59:13,240
They could run within every technology

1053
00:59:13,240 --> 00:59:15,440
in Microsoft ecosystems everywhere.

1054
00:59:15,440 --> 00:59:18,680
Then that would have made it easier for everybody to learn

1055
00:59:18,680 --> 00:59:20,640
because you would learn just Azure functions

1056
00:59:20,640 --> 00:59:23,320
and you are able to develop for every technology in Microsoft

1057
00:59:23,320 --> 00:59:24,320
ecosystem.

1058
00:59:24,320 --> 00:59:26,800
And for Microsoft, it would be easy because you would just

1059
00:59:26,800 --> 00:59:29,920
connect Azure functions to AI, where

1060
00:59:29,920 --> 00:59:33,840
now you are going to connect all these different technologies

1061
00:59:33,840 --> 00:59:35,960
to AI.

1062
00:59:35,960 --> 00:59:37,400
Yeah.

1063
00:59:37,400 --> 00:59:41,320
Then my last question, favorite keyboard, short cut.

1064
00:59:41,320 --> 00:59:48,360
There is a lot of there.

1065
00:59:48,360 --> 00:59:53,040
Or maybe a five for the developers.

1066
00:59:53,040 --> 00:59:54,520
Yeah.

1067
00:59:54,520 --> 00:59:56,680
Hita, thank you so much for joining me today.

1068
00:59:56,680 --> 01:00:00,480
I really enjoyed this conversation because we

1069
01:00:00,480 --> 01:00:03,320
went beyond the usual Power Platform discussions

1070
01:00:03,320 --> 01:00:05,600
and enjoyed how modern engineering

1071
01:00:05,600 --> 01:00:09,320
development productivity, AI solutions are coming together.

1072
01:00:09,320 --> 01:00:13,080
It's really, really cool.

1073
01:00:13,080 --> 01:00:16,400
So I hope we can do another session

1074
01:00:16,400 --> 01:00:19,120
because I have so much more questions, especially

1075
01:00:19,120 --> 01:00:22,440
to the governance stuff.

1076
01:00:22,440 --> 01:00:25,760
We're a little bit short figure.

1077
01:00:25,760 --> 01:00:26,760
Yeah.

1078
01:00:26,760 --> 01:00:29,240
And yeah, thank you so much for being here.

1079
01:00:29,240 --> 01:00:30,400
Thanks for having me.

1080
01:00:30,400 --> 01:00:31,400
I really enjoyed it, too.

1081
01:00:31,400 --> 01:00:38,400
.

Mirko Peters Profile Photo

Founder of m365.fm, m365.show and m365con.net

Mirko Peters is a Microsoft 365 expert, content creator, and founder of m365.fm, a platform dedicated to sharing practical insights on modern workplace technologies. His work focuses on Microsoft 365 governance, security, collaboration, and real-world implementation strategies.

Through his podcast and written content, Mirko provides hands-on guidance for IT professionals, architects, and business leaders navigating the complexities of Microsoft 365. He is known for translating complex topics into clear, actionable advice, often highlighting common mistakes and overlooked risks in real-world environments.

With a strong emphasis on community contribution and knowledge sharing, Mirko is actively building a platform that connects experts, shares experiences, and helps organizations get the most out of their Microsoft 365 investments.

Solution Architect

I'm a solution architect and software engineer with a long background in .NET, SharePoint, Power Platform, and cloud technologies. I am the creator of tools such as XRM Tools and PSDataverse, focused on improving developer productivity, enabling code-first Power Platform development, and making modern development workflows more AI-friendly and reliable.