Tag: Azure

  • Year 2021 in Power Platform

    Year 2021 in Power Platform

    Time to start wrapping up another eventful year in the Microsoft Power Platform ecosystem. Here are the highlights that came to my mind when reflecting on 2021, looking at my own articles and social media posts.

    Power Fx: a programming language for low-code

    This is an announcement from 2021 that will grow up to be a much bigger deal in the years to come. When Microsoft launched Power Fx in March, the only thing we initially had was a new name for the formulas that Canvas app makers had already been working with for years.

    The more impactful side of Power Fx is the grand vision of an open source language built specifically for the low-code app makers and solution developers. Power Fx is a sign of things to come: a world where the concept of code is democratized and any unnecessary barriers for people to act as developers are actively torn down by the platform providers.

    Building Power Fx based command bar buttons was the most fun topic I had to blog about in 2021 (see posts one, two and three). Much of the functionality in modern commanding is still way too early for production use, yet the progress that’s going to happen on this front is inevitable. This is how the business logic that goes beyond the options available via a GUI will largely be written in the near-ish future.

    CoE Starter Kit: the admin product on top of the platform

    It never ceases to amaze me how something like the Center of Excellence Starter Kit can be built purely on top of the Power Platform – to administer and govern that very same platform. In 2021 CoE was updated to be compatible with Dataverse for Teams, which is a small miracle on its own. All you now need is one premium license to unlock the vast feature set of The Kit.

    Officially it of course still isn’t a Microsoft product, rather the CoE Starter Kit is delivered as a template on GitHub that is actively maintained by the Power CAT team. Yet in many ways this is a much better model than what “real” Microsoft software products have. There’s a public backlog of potential and upcoming features, you can get notified of the monthly releases, plus the team is incredibly responsive on triaging the reported issues. This level of transparency gained via working through open source tools and methods is something you can only dream of having for the commercial MS products for Power Platform or Dynamics 365.

    Teams as an application platform

    Dataverse for Teams was launched in late 2020, so 2021 was its first year for us to see the impact from empowering every Microsoft Teams user to build Power Apps with a Dataverse back-end.

    Today there are 10 sample apps from Microsoft that any team member can easily provision from the Teams app store. They’ll end up creating a new Dataverse for Teams environment in that process, which is certainly going to put some governance pressure on your Power Platform environments in general.

    I don’t think we’ve yet seen a huge explosion in more advanced apps being built on top of Dataverse for Teams. However, due to its attractive price point (“free!!!”), it has definitely become an option we always need to evaluate before deciding on full Dataverse or (*gasp*) SharePoint Microsoft Lists.

    With Microsoft Teams being the hub for teamwork in most organizations using MS tools, there’s growing pressure for all business app developers to understand how their solutions should exist and operate within the Teams context. The very least you should do is to consider how Teams can be leveraged for publishing your apps to end users.

    As for the Teams + Power Platform story on a commercial level, we didn’t yet reach a point in 2021 where partners could distribute their Power Apps based products via the public Teams app store. In fact, it is explicitly called out that you shouldn’t submit any such apps to the Teams team to evaluate. Let’s keep an eye on this in 2022 and see how the Teams app store will align with the traditional AppSource channel (that didn’t receive much love in 2021).

    Pay-as-you-go licensing

    You asked for it – you got it! There have been constant demands coming especially from people working on Azure based app development that we should have a way to pay for Power Platform resources on the same Azure bill. The announcement of PAYG for Power Apps app passes and Power Platform capacity was therefore the biggest news that came from November 2021 Ignite event.

    Is the PAYG model going to replace the earlier prepaid licensing options in real life, though? Probably not on a wider scale, since committing to a certain number of Power Apps seats upfront is naturally going to give you a better price point in your Microsoft licensing negotiations. The 100% premium in the Per App price when using PAYG highlights that this model is aimed at serving those app scenarios where the actual consumption volume isn’t well known yet. Great for new experiments, maybe not so great for established app usage patterns.

    With the 30 day minimum duration for the once activated Per App passes, PAYG as it stands today isn’t yet very close to a pure consumption based pricing model like raw Azure services are using. Still, it may be flexible enough to convince customers that the licensing risks in building Power Platform based apps aren’t that high anymore, compared to the more rigid MS Business Apps based model that used to be the only option.

    50% price cut for Power Apps

    As if the PAYG model wasn’t enough, in 2021 we also saw a rare moment when Microsoft slashed the price of Power Apps Per User and Per App licenses in half. In that process, the latter was also redefined to mean “Per 1 App” and not “1+1+1 Apps”, but that just made perfect sense in order to clarify the terminology. You could say in most scenarios the list price for running premium apps got reduced by 50%.

    Those of us who’ve worked with Power Platform on a daily basis have always known the crazy value for money that you could get from the platform, already before this price cut. When it comes to convincing the customers in large organizations that they should license every user with Power Apps premium, in the same way they’ve bought Microsoft 365 licenses, there’s probably been a need to move the price point a little lower still to make such deals happen.

    Looking at the global playing field of low-code application platform vendors, customers’ concerns over pricing and licensing are a common issue listed for all leading vendors in Gartner’s Magic Quadrant. MS may not be able to completely alleviate these concerns, yet it certainly helps to have a list price that isn’t an obstacle for starting the talks with anyone.

    Hello Azure Synapse, bye Data Export Service

    OK, so this doesn’t actually affect pure Power Apps environments but rather Dynamics 365 customers. However, since DES has been so widely utilized as the mechanism to gain SQL style access to the Dataverse tables for building reports, the announcement of its deprecation has to be considered one major event for the year 2021.

    This deprecation will mean many customers need to re-architect their reporting solutions, even when existing reports are happily running in production and possibly meeting all the current business requirements already. Thankfully you can still push the Dataverse data into the same SQL database. Using three Azure products (Synapse, Data Lake, Data Factory) instead of one DES can feel like more complexity to achieve the same results, though.

    There’s a bright side to this change, though. The old DES was always just a stop-gap solution that MS had to put in place, to address (primarily) the reporting concerns that CRM customers had when moving to the cloud. The new Azure Synapse Link, on the other hand, is a critical element for Microsoft’s vision of how customers will make better use of their business data via a multitude of new and future services in Azure. The incentives for maintaining and expanding such a service are obviously much higher. This should lead to positive outcomes for both customers and solution developers in the long term.

    Fusion Teams story

    The term “Fusion Team” in itself doesn’t tell very much at all, but in the context of Power Platform I would categorize pretty much all the integrations between Azure developer tools and Power Platform app maker tools under this umbrella. Much like the PAYG licensing model, this movement is crucial in evolving low-code development techniques beyond the citizen developer domain. People with an XRM background already know the enterprise level capabilities within the platform, but Microsoft needs to convince everyone that also pure Power Apps are credible in this territory.

    In 2021 we saw a Microsoft make a big push in promoting the techy side of Power Platform to the traditional software developer audience. Not only did we get the Power Fx programming language in isolation, there were also plenty of examples shown on how this will support source code versioning and manipulation inside VS Code. Screenshots of command-line interfaces became a regular part of product team blog posts. Supporting the pro-dev workflow via CI/CD pipelines in Azure DevOps remained a high priority, with still no signs of any citizen-friendly ALM story.

    The role where Microsoft seems to want the professional developers to focus on at the start of their Power Platform journey is in connecting to new data sources and custom APIs. This is what their Fusion Development e-book emphasized at least, which ended up becoming my tweet with most impressions in 2021:

    Inevitable complexity of low-code

    This leads us into the last topic I wanted to mention, which is more of a top-of-the-mind phenomenon rather than any individual event that happened in 2021. When we put together all these different growth directions of Power Platform (from Teams to Azure) and its expanding capabilities (from governance to software development), one can rightfully ask: at which point will all this spiral out of control?

    We have a broad variety of audiences that this platform wants to cater to. In one corner we have those heroic citizen app makers who’ve been empowered by the Power Apps & Automate icons found under the Office 365 menu, allowing them to solve business problems via new digital tools that no one expected them to deliver. In another corner we have the folks actually tasked with delivering enterprise wide software solutions – now looking for ways to keep the amount of custom code somehow manageable, by leveraging low-code alternatives where they’re a good enough replacement. More and more corners of this arena will get populated as ISVs and other players will join Microsoft’s low-code game.

    Creating your first apps and flows will remain an easy task. The problem is that the boundaries for what you can’t do and what isn’t supported with Power Platform keep moving further and further out. The rising complexity of apps built on low-code can already be seen everywhere and it will just keep growing in 2022. We need to stop endorsing the misconception that these would be “easy tools for creating simple solutions”. While low-code apps are easy to approach and can delivery quick results, in the end we’ll be faced with the same key task as with any business application landscape – managing the inevitable complexity.

    Could we expect to see some new innovation come along to help us address this growing pool of low-code complexity? Following the familiar People-Process-Technology framework, the biggest requirement I see out there in the real world is establishing the right kind of organization structure around low-code. Once we have people with dedicated roles in place, planning the delivery, admin and governance processes will then become possible. Finally, this will allow the new advancements in technological innovation – to bring better visibility into our growing app portfolio, reduce manual/duplicate configuration work, automate the recurring process and alert humans when their attention is required to address new exceptional events.

    As an example, by turning the low-code of Power Apps canvas apps into actual source code managed in GitHub repos, Microsoft has a chance to feed all this data to their machine learning algorithms. Things like GPT-3 from OpenAI may one day become smart enough to analyze what on earth all these millions of apps are trying to achieve and then offer suggestions to us mere mortals on what modifications and updates we should apply.

  • Power Platform licensing, November 2021 updates

    Power Platform licensing, November 2021 updates

    The second Microsoft Ignite event of 2021 included several important updates on a topic that I cover regularly on this blog: Microsoft Business Applications licensing. The biggest announcement of course was the pay-as-you-go licensing model (PAYG) for Power Apps:

    Here’s a few thoughts and observations on what was announced & updated on the licensing front.

    PAYG and Azure

    Despite of its name, the biggest impact from the Power Apps pay-as-you-go plans isn’t necessarily the pricing model. Rather it’s the currency in which you pay for it: Azure money. This is something that most larger organizations will already have in their virtual cash reserves, which makes it considerably easier to spend on services.

    Licensing agreements are both an enabler and a blocker for Microsoft cloud services, especially on enterprise level. Getting something new like Power Apps premium licenses included into the IT portfolio available to the business users can take a lot of time and effort. Once it’s included, though, there’s plenty of practical benefits for using these as opposed to some fancy new cloud service that might come along.

    Having an official “exchange rate” that converts these new low-code tools managed on the Microsoft 365 side into tools and terminology compatible with the pro-dev work already done in Azure is key step in selling the Fusion Teams story to organizations. Even if the PAYG model wouldn’t be cheaper in practice, having Power Apps license costs show up in existing reports on Azure Cost Management side will make it less of an unfamiliar beast to IT and developers. Also the discounts customers may have negotiated based on their Azure spend will presumably apply to Power Apps, too.

    PAYG and apps

    PAYG is specified on environment level, by defining a billing policy and selecting which environments are included in it. However, you can exclude specific apps from the model and require their users to have a Power Apps Per User license instead. Mixing PAYG with Per App subscription plan isn’t allowed, though.

    I believe that underneath the covers the PAYG Per App plan and the regular Per App plan are mostly identical. The major difference is that at the end of the month, the PAYG pass is removed from the user until he/she opens the app again. With the regular Per App subscription plan, the pass allocated upon the initial app sharing to the user and isn’t revoked until the app is explicitly unshared.

    So, which one should you go for then with your Power Apps that use premium features? Subscription model or PAYG? First we must keep in mind that the recent 50% price drop in Power Apps subscription plans took the price of a Per App license down from $10 to $5. At the same time the Per App entitlements were updated to cover a single app, rather than up to 3 different apps (existing customers have been compensated with 3x passes). Now with the new options, you can either pay $5 per user per app per month in the subscription model, or pay $10 for the exact same features but only for those months when a user opens the app.

    If there was a quick & easy way to assign, unassign and report on the Per App subscription licenses, it would clearly be tempting to save 50% and pay with the old model rather than PAYG. In practice, Per App licensing management remains a nightmare that has surely cost customers (and partners) lots of money in time spent figuring out who’s got access to apps, why someone doesn’t, and how much licenses are actually being used. It’s been over 2 years since the Per App plan was launched and we still don’t have a report in Power Platform Admin Center that would give customers the information needed for managing this process.

    If the PAYG mechanism can both automate the assignment and removal of licenses, as well as provide detailed reporting in Azure Cost Management, then it could well be worth the price premium for process efficiency and cost visibility. For any smaller app experiments that you’re not yet entirely sure on how widely they will be used, starting with the Azure subscription based billing makes a lot of sense. You’ll be able to cut down on the initial admin hassle and get real data on the app usage to base your future licensing decisions on, whether to use PAYG or committed subscription passes/seats in the long term.

    PAYG and capacity

    It’s important to understand that the PAYG model doesn’t completely transform Power Platform into a pure consumption based model like Azure. After all, a single app launch during a calendar month will cost you the same as 1000 launches by the same user, and using 2 different apps will double the cost regardless of how much load you generate to the cloud services. Think of it more like buying a monthly pass for public transportation in your local area vs. taking an Uber and paying in proportion to the actual duration and length of your rides. If you travel to another city not covered by your current pass, you’ll need to purchase another pass. In the case of Power Apps, there aren’t any per hour or per day tickets sold, so the monthly pass is the minimum charge for the Power Apps per app meter billing rules.

    Having said that, there is also the concept of pay-as-you-go capacity when it comes to Power Platform licensing. API capacity is something that Microsoft says a normal user shouldn’t have to worry about, since there is bundled capacity included with the app/user licenses. At Ignite an announcement was made that increased the request limits for both licensed users and non-licensed users (check out Gustaf’s blog for details). If you do run out of requests, though, there will soon be a PAYG Power Platform request meter that can be used to pay for the overage.

    Something that does already exist today and is a much easier concept to approach than API consumption is the storage capacity. Unlike the traditional subscription licenses that are paid upfront, the PAYG model doesn’t have any storage capacity accrued per each user or app pass. This makes sense, since those numbers are only known as-you-go by the end of the month, whereas data storage is something a lot more persistent.

    Whenever you activate PAYG for an environment, it means it no longer draws from the tenant’s common capacity pool. The environment does get 1 GB of “free” Dataverse database capacity + 1 GB file storage capacity, but after that you’ll pay for everything based on what the Dataverse capacity meter shows. These rats are slightly higher than subscription based capacity prices, at $48 and $2.4 per GB respectively (note that log capacity is always paid for at $12/GB). If you’re used to leveraging the tenant level capacity accrued from user subscription licenses for your storage needs (coming from Dynamics 365 users, for example), then this can be a surprising additional cost when activating the Azure based billing policy for your environment.

    There’s one gotcha in the current way how PAYG storage capacity can be used. You see, in order for you to assign a PAYG billing policy to an environment, the environment must first be provisioned. What this means is that the tenant will need to have a minimum of 1 GB database capacity available for the environment creation to succeed. So, you’ll need non-PAYG capacity from elsewhere (such as a paid Power Apps or Dynamics 365 plan) before you can use an Azure subscription to start paying for the capacity instead. Presumably Microsoft will fix this issue in the near future, since it’s in no one’s interest to block PAYG as the sole billing method.

    While storage capacity has been reported and technically enforced for a while already, Power Platform requests are still something that exist on paper but cannot be reported on nor paid via actually assignable licenses. In the FAQ section of their documentation page, there is now a new answer to the following question: What are the timelines for Power Platform Request limits?

    The concept of limits was first introduced in late 2019 and documented limits were substantially increased in late 2021. Generally available reporting for Power Platform Requests is expected in the first quarter of calendar 2022. Any potential high usage enforcement wouldn’t start until six months after reports have been made available. Assignment of add-on capacity packs should be aligned to high usage enforcement.

    Let’s assume that the reports would be launched in March 2022, after which there will be a 6 month grace period before the technical enforcement kicks in. This would mean that the October 2019 licensing changes that started all this confusion around what the platform can & cannot be used for will have taken full 3 years to truly come into effect. That’s a long, long time. Yet I do think it’s encouraging that Microsoft haven’t rushed into enforcing a rule that might have caused way too much collateral damage if not thought out well enough.

    Power Automate licensing updates

    There isn’t a PAYG model available for Power Automate. Sure, you can use premium connector cloud flows within the context of a Per App licensed app (although I’ve found this to be difficult/impossible in practice). The nature of a background process automation is fairly different from the interactive usage of an app UI, so it kinda makes sense why new options haven’t been introduced. Besides, if the Power Automate licensing model doesn’t work for your scenarios, then moving to the consumption based Azure Logic Apps is already a good option to consider.

    While there weren’t any major Power Automate specific licensing changes announced at Ignite, there was a wealth of new documentation released on the topic during the event. The flow licensing FAQ contains some interesting answers when it comes to what we would have traditionally considered to be multiplexing. I’m one of the few people who have ever dared to blog about multiplexing, yet it seems that there are things I haven’t fully grasped about the topic either. This infromation in the FAQ caught me by surprise:

    A common question is, “If a flow is triggered when a SharePoint list item is updated, and many users interact with that list, will there be a cost for each user?” The answer is if the flow does not use a premium connector such as calling Dataverse in the full production environment (not the Microsoft Teams environment), having an Office 365 license is enough. If the flow uses premium connectors, since the trigger is an automated trigger, only the owner needs a premium license.

    Having a web form that any user could submit to create a lead record in Dynamics 365 used to be the scenario where I’d say “sorry, you’re violating the licensing terms”. Now, Microsoft explicitly calls out that if a user enters data into a SharePoint list and that in turn triggers an automated flow that uses a premium connector to push the data into Dataverse, it’s enough for the flow owner to have the premium license.

    This little change opens up many scenarios where recording entries into Dataverse / Dynamics 365 may have previously been considered too expensive. Using a SharePoint / Microsoft List as the intermediate data storage is now officially a supported method to reduce the need for Power Automate premium licenses when using automated flows. I personally find it hard to understand how this statement wouldn’t contradict Microsoft’s core definition of multiplexing, but what can I say? Other than: welcome to Business Apps licensing!😂

    AI Buider

    One more small but significant change: there will now be AI Builder capacity included with Power Apps Per App plan (250 credits) and Power Apps Per User plan (500 credits).

    How much AI that will actually give you depends on the usage scenarios, which you can try and estimate with the AI Builder calculator.

    Why is this a big deal? Well, for some mysterious reason, Microsoft had earlier decided that the starting price for buying AI Builder capacity was $500/month for 1 million credits. Need just a few runs for your little cloud flow every month? “Sorry, we can’t be bothered to support anything below 1M.

    This was a prime example of how not to price cloud services for citizen developers, as they should be given the chance to focus on building apps instead of building business cases for software licenses. The starter capacity will now make it possible for app makers to leverage AI models in small solutions and experiments beyond just a 30 day trial.

  • First impressions on Power Platform 2020 Release Wave 2

    First impressions on Power Platform 2020 Release Wave 2

    At the start of this year, we made the decision to go all-in on Microsoft Power Platform and founded a company that focuses on helping organizations on their journey to take ownership of this low-code business application platform. You could therefore say that it’s pretty darn important for us that there is compelling roadmap for the products that represent the technical foundation of our services.

    Luckily Microsoft doesn’t show any signs of slowing down the investments into Power Apps, Power Automate, Power BI, Power Virtual Agents and all the underlying elements of the platform. Our MVP team at Forward Forever already did a “Top 3 x 3” highlights article on what each of us found to be the most exciting feature announcements in the 2020 Release Wave 2 release plans that Microsoft published yesterday. I wanted to expand a bit on that top list and reflect on how I see Power Platform evolving based on this new roadmap information.

    But first: what happened to Wave 1?

    Ah, true. We’re actually only halfway through the April-September period that 2020 Release Wave 1 represents. This means that many of the features I highlighted in my earlier first impressions posts have not yet shipped. Just because there’s a virtual launch event every six months doesn’t mean that it would be the exact time when a big box full of new software is made available. There are no version numbers in the cloud, it’s a continuous release train that runs on its endless route.

    It’s important to keep in mind that these are release plans, not release notes. The thing with plans is that they tend to change, and such is also the fate of some items in 2020 Wave 1 that I picked as the higlights in my post back in January. If we look at the change history page in the release plan, for Power Apps alone we see that 15 items had their release schedule changed and 7 were removed from Wave 1. And remember we’re only a bit over 50% through the April-September period, so more changes are bound to still occur.

    Changes do happen for the better, too. 8 new features have been added for Power Apps already after the initial release plan. In total there are one hunderd new features added to 2020 Release Wave 1 after January 27th. Wow! I can’t recall how many items in total there were originally, but this really highlights two things:

    1. The Release Plan is not a static document, rather it’s an evolving backlog of planned features.
    2. Microsoft has been very actively maintaining the online version of the Release Plan over on docs.microsoft.com.

    This is what the product roadmaps for clour services are like today. You can’t simply have a look every 6 months and then forget about them, rather you should always refer to the latest information online. Also, you can be 100% sure that there will be a lot more coming for Power Platform between October 2020 and March 2021 than this first Release Plan version reveals. Just look at Wave 1: we would not have seen from the plan that MS would acquire an RPA vendor like Softomotive, or that they would announce T-SQL support for CDS during MS Build. Get ready to be taken by surprise during Wave 2 as well!

    Wave 2 features to keep an eye on

    Portals Web API with CRUD support was big news in Wave 1, but the GA date for the feature isn’t until February 2021. It’s all part of the story where Portals is being made more compatible with the two other app types in the family. Wave 2 now promises a preview of PCF control support for Portals in December 2020, which should certainly be a nicely wrapped Xmas present for pro devs if that schedule will hold.

    If Portals is getting closer to the mainstream Power Apps types, then the unification of Canvas and Model-driven apps into “Run One UI” is also moving along. By the time the custom pages feature hits public preview in December 2020 it will have been 18 months since we saw the roadmap, but I’m not actually that surprised it’s taking a while for making these 2 very different client technologies work in harmony. It’ll surely be worth the wait from an UX perspective, as the Canvas app embed story has been somewhat limited in its impact so far.

    To gain something new means you often must let go of something old, in this case the legacy web client. Transition to Unified Interface has been delayed a bit due to COVID-19, but it is definitely happening. While it will bring a more stict licensing enforcement on app module level, the benefits from features like improved global search experience and improved app header, sitemap and app switching should make it easier for anyone familiar with Microsoft tools to be productive when using CRM “Model-driven apps in Dynamics 365”.

    Once Canvas apps can be natively placed on pages that appear inside the app navigation, they’ll be ever more likely to become an integral part of more complex enterprise applications. This means that also Canvas development practices need to become more mature, which is exactly what the reusable components for business logic are aiming for. PCF components for Canvas apps are also critical to allow the pro dev audience to contribute into low-code app development projects. Code components have already been in preview for a while and GA is expected in March 2021, so obviously injecting custom code into what was originally designed as a “PowerPoint + Excel” experience for citizen developers is a big investment that takes time to polish.

    Power Automate has grown into an all-encompassing process automation service that covers both API and non-API (meaning RPA) scenarios. I have to say that for me personally it’s one of the scariest parts of this “low-code” platform due to how much secret formula knowledge one must posses to achieve something where XRM workflows offered a full GUI experience. I’m glad to see that MS is investing not only in the UI flows territory from their Softomotive acquisition but also in making Power Automate work more seamlessly with Power Apps. Simplifying things even further, the coming “diet designer” and templates desined for Microsoft Teams users is an example of how broadly the PaaS foundation of Azure Logic Apps is being productized via its Power Automate UI experiences across the whole MS stack.

    From the Data Platform side, we will finally be seeing the ability to use Power BI on system dashboards for Model-driven apps. It’s one of those things that the vast majority of customers probably would have assumed to be possible for ages already. Getting proper support for parameters like environment variables has been a prerequisite to make these components play well together in the Power Platform ALM story. Now, this still doesn’t mean PBI would replace the built-in visualizations from CRM 2011 era, rather we see that MS is actually only working on catching up with the year 2011 when it comes to Unified Interface charts customization (i.e. supporting ASP.Net chart XML based features with the new Highcharts).

    Come to think of it, there isn’t a single mention of the TDS endpoint / T-SQL support in either 2020 Wave 1 or 2020 Wave 2 release plans. It’s a good reminder to everyone that despite of the huge volume of information in the release plans, they don’t reveal the complete story of what’s happening with Business Applications beyond the immediately visible end user and app maker features. You’ll still need to do a bit of 1+1 yourself to figure out how things like DirectQuery support enabled by the TDS endpoint might have a dependency on unlocking more modern visualizations on top of CDS data in Power Apps.

    While creating charts on a sales pipeline etc. could be seen as just doing old stuff with new tech, what’s really net new in terms of data analysis capabilties is all the goodies coming into CDS integration with Azure Data Lake. Time series data: get the full historical values of business record in a format that you can actually report on (i.e. not audit logs). Soft delete support: instead of keeping all historical data in that fairly expensive CDS database storage, delete the transactional record but still keep the data in the analytical system. Support for entities with attachments: if you’d like to get some value out of the annotation data clogging up your CRM system, push it into the Data Lake where AI can crunch it and generate new insights from it. All in all, this built-in continuous replication of data from the Power Apps / Dynamics 365 app database into Azure Data Lake seems to be truly delivering on the vision of The Real Common Data Service that goes far beyond the boundaries XRM used to have.

    If getting data out of CDS is evolving, so are the mechanisms for getting data in. Power Platform dataflows have a lot of potential for sure, yet just like with Power Automate, it’s been difficult for these new generic cloud services to complete with the built-in XRM tools when it comes to feature completeness for CRM customers to achieve their common business goals (use a GUI to automate a process, run a Wizard to import relational data). Power Automate already has the path to “upgrade” the business logic into Azure Logic Apps and now also Power Platform dataflows can grow up to Azure Data Factory, once the March 2021 preview arrives. In the big picture, this ability to start from citizen developer tools and then transition to pro dev methods and systems is a very powerful value proposition from Microsoft to all their customer organizations who are looking to empower their subject matter experts to take steps forward in the day-to-day digital transformation. App creation & automation is where this Maker revolution has started, and I bet we’ll see more and more data driven features in the next phase of Power Platform evolution.

    Finally, as the number of apps grows and they become an irreplaceable part of critical business processes, there’s a growing demand for tools to ensure the digital machine is well oiled. As we know, data is the new oil and in this context that means organizations need broader access to telemetry data on how their business apps are working. The 2020 Wave 2 feature that promises to deliver CDS errors, performance data, and diagnostics data in customer’s own Azure Application Insights should do exactly this, by complemeting the built-in metrics available in PPAC with a way for customers to build their own alert systems for both proactive and reactive maintenance. Yet another “grow up to Azure” path that illustrates how closely the low-code application platform-as-a-service will be intertwined with Microsoft’s PaaS offering.

  • Highlights from TechDays Finland 2020

    Highlights from TechDays Finland 2020

    March 5-6 marked the annual conference for Microsoft geeks in Finland to gather in Messukeskus Convention Center and enjoy two days full of expert sessions on the latest MS technologies and real life stories on how all this tech is making an impact out there. In this blog post I’ll reflect on the sessions that I attended at TechDays this year and share some thoughts on what I think are topics worth exploring more. You’ll also find links to slides and a few social media posts from the event.

    Let’s get one thing straight first: Power Platform is everywhere these days. Even a Microsoft IT & Dev conference like TechDays 2020 was opened with a keynote presentation that stared with the 4 pillars we’ve come to know from the Digital Feedback Loop, familiar to all Dynamics 365 professionals by now. Engage customers. Empower employees. Transform products. Optimize operations. The goal of digitally transforming organizations has become the overarching theme of Microsoft’s product offering, supported by global cloud infrastructure, enabled by Azure services, integrated with Office 365 productivity tools and ultimately unlocked by the apps created on top of Power Platform.

    For many of the attendees, the journey of how exactly we’ve reached this tipping point of low-code applications isn’t necessarily familiar yet. For us at Forward Forever, a new technology agency focused 100% on Power Platform, being able to participate in discussions with MS tech professionals around this theme was of course of highest importance. Our whole team was present for the 2 days of the event, to ensure we’ve got a thorough understanding of the state of the ecosystem. Thanks to everyone we had a chance to meet at TechDays! Lots of great dialogue and awesome feedback to encourage us to push forward with the vision that we have for our new company.

    Our very own Power Platform guru Timo Pertilä had two sessions at this year’s event. The first one was aimed at the broader audience of non-PP professionals, to help them get started on creating Power Apps Canvas apps. Timo gave us the kind of tips he wished he had been given back in 2016 when starting to explore these tools. When it comes to Canvas apps, the most important step is to A) decide on an app that you would actually want to use yourself and then B) just creating it! Following along the lines of a simple IT asset management app built on top of a SharePoint list, Timo’s session went through all the common areas that an app maker should be aware of. I encourage everyone to pick a training lab from one of the many Power Apps learning resources and just follow through a scenario, to understand how these new tools can really democratize the creation of simple business apps on top of existing data sources.

    [Slides]

    The second session by Timo was about exploring the capabilities of the new UI Flows in Power Automate. RPA, Robotic Process Automation, is a smoking hot topic and the addition of such capabilities into Microsoft Power Platform has gotten even cool-headed Finns like Timo excited about the new opportunities. Yes, while integrating software properly via API based automation remains the core of what Power Automate excels at, the option to connect to systems that for one reason or another can’t be accessed via APIs can close the final gaps and turning manual processes fully digital. In the TechDays session we saw a demo story of an employee onboarding process for HR deparments. Using UI Flows to create user accounts in a non-API enabled legacy system such as Microsoft Access is now possible with these graphical tools that record the steps in the UI and then execute them by using variables like employee name as inputs from other parts of the Power Automate flow.

    [Slides]

    Although the use of a “proper” relational data management system like CDS would be preferable in building apps for enterprise wide use, the fact is that SharePoint remains both a commonly used as well as easily accessible data store for many citizen developers. The session by Mikko Koskinen showed us how you can leverage tools from the Power Platform to improve the user experience and also auditability of actions that users take on SP list and document data. Custom forms built as Canvas apps and process automation implemented as Flows can do wonders to your SharePoint based business apps, and of course they also open up the connectivity to many other Microsoft services to further extend the feature set as the demands of enterprise customers evolve beyond Office. Having a common set of low-code customization tools across the whole MS stack is where the real Power of the Platform lies.

    Microsoft Teams is becoming ubiquitous in the business world as pretty much all organizations on Office 365 are moving away from Skype for Business. The end result of this mass exodus towards Teams may not always be the automatic improvement of teamwork and employee productivity, if all you do is enable the licenses and activate the new services. The Teams MVP duo Vesa Nopanen and Karoliina Kettukari delivered an entertaining story of the rogue cowboys (end users) vs. the central command center (IT department) and how their perspectives on how Microsoft Teams should be implemented and managed can differ wildly. There are plenty of smart settings that the IT guys could automate behind the scenes for a more productive workday experience, but at the end of the day, a lot of the everyday usage of Teams relies on the real life teams to agree on common practices and expectations on how everyone will use the software tools. Educating and encouraging both parties to do their part is therefore essential for achieving success with MS Teams adoption.

    [Slides]

    Teams is not just a communication tool, though. It is quickly becoming a platform, which from my perspective is the most exciting aspect in its rise to popularity, since this paves way for a wealth of scenarios to better leverage Power Platform tools for a broad information worker audience. MVP Christina Wheeler presented us to path on how to get started with developing Apps for Microsoft Teams. It’s worth exploring the wealth of Teams App Templates that MS has published on GitHub, as these will give you many ideas on how to link various Azure services into the UI that your people are spending a growing part of their days working in. From a low-code development perspective, though, the options for bringing in Power Apps into the Teams navigation experience is the low-hanging fruit that you’ll also want to explore.

    Another super hot MS technology alongside the low-code Power Platform and ubiquitous Teams is Azure Synapse Analytics. In the TechDays 2020 keynote, Data Platform MVP Vesa Tikkanen and Anne Komscha from Stora Enso presented what opportunities this brand new cloud analytics offering from Microsoft opens up for organizations to rethink their data architecture. Vesa demonstrated the unique capabilities that Synapse brings to the table by connecting to and from a SQL Server 2000 virtual machine to the modern data cloud. It’s therefore not a “rip & replace all the things!!1!” type of a scenario where Microsoft is aiming at here, rather they are playing on the compatibility card here and ensuring that your complete data estate can connect with Synapse. Thinking about the Customer Data Platform scenarios where this same underlying technology will be leveraged to identify customer profiles from various sources, it’s easy to understand why MS is so bullish on their position in the emerging CDP market.

    As your data and your apps are all either moving to or at least being connected with Azure, it’s no wonder that questions on how should we secure all of this are bound to surface more and more. Azure MVP Karl Ots explained the role of security in the cloud adoption journey to a packed room full of MS tech professionals that probably have all done hands-on experimentation with many Azure services yet not necessarily paid attention to how to limit access instead of enabling it for their own super admin accounts. Role-based Access Control (RBAC) gives you a comprehensive toolkit to configure the permissions in alignment with the identified parties who need to access resources in your subscription, but it may still come as a surprise how much rights can be inherited from the top down to the individual resources if your model isn’t well planned out.

    [Slides]

    Rob Kuehfus from Microsoft presented a possible solution for approaching the wider journey to the cloud: Cloud Adoption Framework for Azure. This represents MS efforts to consolidate their earlier fragmented whitepapers and information sources (up to 40 earlier, based on what Rob told) into a single source of guidance and best practices on what to do on each step towards the cloud. From planning the organizational roles needed on the journey to building focused “landing zones” where the first customer workloads can be dropped on, this framework should become the go-to resource for establishing common understanding between customers and partners on what’s actually needed when adopting Azure at scale inside an enterprise organization.

    [Docs: Microsoft Cloud Adoption Framework for Azure]

    As an example of one customer organization that has taken the steps recently, the Azure adoption story of Terveystalo was presented by Development Director Ilari Richardt and Polar Squad’s Azure Lead Masi Malmi. Terveystalo is one of the two private healthcare giants in Finland and their history is full of consolidation projects, which makes it all the more impressive how throughout history they have aimed at having a single patient information system in place. The decision to choose Dynamics 365 as their CRM and ERP systems actually ended up driving also the custom software development investments towards Azure and now building modern DevOps practices in the MS cloud are a key focus area. Bridging the cloud and on-prem wolds in healthcare naturally involved building a lot of APIs and Masi’s exploration of the capabilities of Azure API Management has produced some interesting findings on what the challenges are on this front.

    Last and probably least… OK, definitely not the least. Mr. Järjestelmänvalvoja a.k.a. firsname.lastname, also referred to as Sami Laiho, wrapped up TechDays 2020 with his packed session on the main arena. Even though I myself have very little to do with managing endpoint security on a professional level, it’s always interesting to hear what the world of securing the Windows laptops and the Azure resources accessed via the credentials used on those laptops actually looks like out there in the enterprise space. It doesn’t make much sense to aim for 100% security, but you just need to be better secured than your neighbor. Considering that just by enabling multi-factor authentication you’re already more secure than 99.9% of the compromised accounts out there, this isn’t always rocket science but rather behavioral science. Sami’s examples of the extent to which people (employees and CIOs alike) go to in their effort to remove inconveniences that could actually put them into near 100% safety is a welcome reminder to all of us that any new innovations we come up with in the information technology space will need to pass the “but what would humans do with it” test before achieving real, tangible results.

    [Slides]

  • My agenda for TechDays Finland 2020

    My agenda for TechDays Finland 2020

    One of the reasons why I changed my blog from “Surviving CRM” to “Thinking Forward” was to give me more space to cover topics that don’t necessarily fit under the umbrella of Dynamics 365. Yes, Power Platform is naturally one of the big drivers for this broadening of the scope, but I see a whole range of technologies in the Microsoft Cloud that are becoming more & more relevant for anyone who’s designing and delivering business solutions to customers. Broad awareness of the stack combined with deep expertise in specific fields is what I believe is needed to survive and thrive in my line of work. You could call this the path of the specialized generalist, or “T-shaped people who run the world”.

    How does one go about building up this awareness of Microsoft Cloud technologies? All the required information is of course out there in the great wide Internet, but the big questions are A) what would be the most relevant topics right now for me to search guidance on, and B) how could I make this new knowledge stick? In order to create a memory footprint that will still remain after I’ve moved on from one browser tab to the next, sometimes it helps when you can associate things with something tangible from the physical world. People, places, events, moments.

    The big event of the year for the Microsoft minded crowd of IT professionals in Finland is TechDays, which is on March 5-6 this year. I’ve got fond memories of the first time I attended this conference in 2011, when Dynamics CRM 2011 & CRM Online had just been launched and there was a dedicated track for this exciting new version & cloud service (which I naturally covered in my Finnish CRM blog at the time). Now, I have to admit that level of exposure to MS BizApps didn’t exactly become the norm for the event, because for a long time the MBS unit and its Dynamics products remained on the fringe of the mainstream Microsoft product portfolio.

    Today things are different. No, you still wouldn’t find a CRM session from the TechDays 2020 agenda, but you wouldn’t find one in Microsoft’s list of products sold, either. What you will find instead is Power Platform being promoted as the common customization layer for both Office and Dynamics products. You’ll encounter a growing number of Azure services being turned into Insights products in the Dynamics 365 portfolio. You’ll see Microsoft promoting a platform for every developer, from professionals to citizens. You’ll hear Satya being bullish in MSFT earnings calls about their Customer Data Platform, powered by Dynamics 365 + Data Platform.

    That’s how the story has evolved and this is the new reality in which the customer solutions must be designed: making use of all we have, not just what we’re familiar with. So, let’s look at the TechDays 2020 Finland session list with this in mind. Here are my top 3 sessions picked from the domains that I consider highly relevant for business applications professionals that want to understand the bigger picture of MS Cloud: Power Platform, Data Platform, Azure, Microsoft 365. I will also try to do a post event summary of the sessions I managed to attend and share the key takeways.

    Power Platform

    “Power Apps – Miten pääsen alkuun ja vielä pidemmälle?” by MVP Timo Pertilä. “Encrypted in Finnish” yet consisting 100% of demos, this session is going to help you kickstart your Power Apps (Canvas) app building journey for sure.

    “How to build RPA solutions with UI Flows” by Timo once again. Robotic Process Automation is one of the hottest areas in business software and MS has only very recently entered the game with Power Automate’s new UI Flows that are aiming for GA in June. How far are they already? We’re about to find out!

    “Developing enterprise-ready solutions with Power Platform and SharePoint” by Mikko Koskinen. Even if there is native support for CDS in Power Platform, the Connectors to SharePoint are bound to be the most common data source/target for apps today. Understanding how to leverage these in scenarios that go beyond citizen developed apps is therefore quite important.

    Data Platform

    “Azure Synapse: The day when relational and unrelational folks became friends forever!” by MVP Vesa Tikkanen. For us XRM folks who’ve had a fixation for building a relational data model for everything we do, it’s time to dip our toes into the lakes of non-relational business data that is needed in so many scenarios (like the CDP example).

    “Building an Empire – Implementing Power BI Step by Step” by MVP Alexander Arvidsson. I’ll be the first to admit that of all the key pillars in Power Platform, Power BI is where I have the least hands-on experience so far. Therefore the promise of crafting the PBI solution from the absolute beginning and working our way towards Power BI dataflows sounds like just the thing for me!

    “Introduction to Azure Databricks” by MVP Oskari Heikkinen. Going big in the data field requires courage to explore technologies like the Apache Spark based Databricks and understand how they relate to MS developed services in Azure.

    Azure

    “Selecting the right Azure products for your Azure PaaS project” by MVP Sakari Nahi. Just because I know how to sprinkle some #azure hashtags on my social media posts, that doesn’t mean I would have the capacity to keep an eye on all the products that are being launched there. I’m convinced that Sakke from Zure can give a Power Platform “aPaaS” guy like me a nice crash course on what the “PaaS with no training wheels” consists of.

    “Need to know Azure services as a Microsoft 365 developer” by MVP Laura Kokkarinen. I bet there are similar mental barriers in reaching into raw Azure, no matter if you’re extending Dynamics 365 or Office 365 based solutions. It’ always interesting to hear how the professionals from the cloud next door are tapping into “The World’s Computer” when delivering customer specific solutions.

    “Case Terveystalo: Terveydenhuollon digitaalisen palveluiden iteratiivinen kehitys Azuressa” by Ilari Richardt and Masi Malmi. The most interesting stories are from the real world projects, so I’m looking forward to learning what a large healthcare company like Terveystalo has encountered on their Azure journey.

    Microsoft 365

    “Lisenssit löytyy, #mitäsitten – ota Teams hallitusti haltuun!” by MVPs Karoliina Kettukari & Vesa Nopanen. User adoption has always been a hot topic / grave concern in CRM projects. Even though Microsoft Teams is now the fastest growing product in the software giant’s 45 year history, that hardly means users will just discover all the benefits on their own and live happily ever after. Tips for how to gracefully pull off the launch new technology affecting such a large crowd of information workers are always useful, even when developing and rolling out more targeted business apps.

    “Getting Started with Developing Apps for Microsoft Teams” by MVP Christina Wheeler. Speaking of business apps, it’s pretty clear that Microsoft is envisioning Teams to become the hub for teamwork, not just via common productivity tools but also unique applications made available through its UI. Understanding the options available and contrasting them with what Power Platform can offer is going to be key in building a solid app strategy for customer organizations.

    “Customizing Microsoft Teams Provisioning and Governance” by MVP Olli Jääskeläinen. Collaboration practices should be backed up by a smart system that can bring some structure into the otherwise so unstructured world of conversations and documents. Learning how to more tightly connect Microsoft Teams provisioning with the processes and data structures managed in systems of record like CRM is what I’m eager to see.

  • Top 3 Themes for Dynamics 365 in 2017

    Top 3 Themes for Dynamics 365 in 2017

    The first day of the new year is a good moment to reflect on what 2017 gave us (or didn’t give) in the Dynamics 365 business. Here are the top 3 themes that came to my mind when I looked backed at the last 12 months of news, releases and overall directions coming from Microsoft.

    Business Applications

    A major theme that emerged this year and found its way into most of the communication coming from Redmond was Business Applications. Those two words on their own of course don’t mean anything very revolutionary, but it’s rather the way in which they were used to broaden the context of Microsoft’s business software beyond just Dynamics that’s of greater significance. If 2016 was the year when CRM and ERP were commercially bundled into Dynamics 365, then in 2017 the scope began to reach further beyond that. At the start of the year the XRM platform was given the Customer Engagement name, with the absolute minimum fanfare allotted for the occasion, so the true focus for product marketing was obviously somewhere else.

    Looking around at what specific software products sit alongside Dynamics 365 in the high level MS technology stack illustrations, it’s quite logical that we’re now seeing the “Power Suite” tied into pretty much every commercial narrative around Microsoft’s business cloud. More precisely, the technology grouped under this suite with no official name is very central to the story being told to both business and technical decision makers for one reason: its purpose is to connect the big three MS clouds. Office 365, Dynamics 365 and Azure are all equal beneficiaries from the toolkit that is provided by PowerApps, Flow, Power BI, CDS and their numerous connectors.

    On an everyday level it may still not be all that common for the real life CRM solutions to heavily rely on the Power Suite technology, like using MS Flow instead of D365 workflows. Because it was first rolled out as a power user focused set of tools for an individual information worker rather than something you’d deploy across a large organization, the practical as well as perceived maturity of this technology has formed a barrier of sort for full-on adoption. The long term outlook for it does look bright in my opinion, however. There’s only so much that Dynamics 365 as a platform can do on its own (be it the XRM, AX or NAV flavor), but if you can connect it with the outside world of MS and non-MS services without the traditional integration development effort, that opens up the door to a world of possibilities. I’m pretty sure customers will be interested in taking a step through that doorway and having a look around during 2018.

    App/Plat Separation

    Taking a few steps down from the higher level clouds and diving into the platform formerly known as XRM, 2017 was a busy year. This didn’t really come as a surprise to me, since I had a wonderful opportunity to get a peak at what the product team had planned for this calendar year already in the last MVP Summit in November 2016. My initial reaction to it was “are you guys SERIOUSLY going to push all of this out in the next release?” Well, a clear majority of the planned features and changes was indeed shipped during 2017 eventually, although the naming of V9 as the “July 2017 Update” didn’t turn out to be such a great idea.

    There were massive changes introduced to XRM (which I’ll continue to call for what it is), both above and beneath the surface. Rolling out Unified Interface initially to the mobile devices and eventually to every UI is going to change the client side of XRM in ways that are even greater than the previous user experience overhaul in CRM 2013. Opening up the client UI to custom extensions with the Custom Control Framework (CCF) sometime later (hopefully in 2018) is a major step in enabling and encouraging the reuse of configurable UI controls for data visualization. Finally, the App/Plat Separation that has moved the previously built-in application features of Sales, Service etc. into optional solution packages is now turning XRM into the type of generic application platform that it has earlier often been depicted as – in the technical decision maker slide decks from MS, at least.

    The combined effect of this transformation which materialized largely in V9 is that XRM should now be a lot more future proof. Having the individual applications as their own packages is a bit like how at one point in the late Windows Phone operating system’s lifecycle the Office apps needed to be separated from the OS, so that they could be serviced and updated without having to ship a new WP build. (Naturally I hope that the fate of D365 will be considerably more glorious than that of WP.) The new UI controls in CCF that now aren’t tied to a single app feature but can rather consume any data coming from XRM database or from external sources via Virtual Entities are bound (pardon the pub) to be more useful in delivering solutions to varying customer needs. Sharing the same client framework across different devices and embedded apps is going to reduce the amount of effort needed to get these solution features in the hands of different user groups.

    Licensing Model

    Sometimes the planned features take a little longer to ship than was originally estimated, which certainly is no surprise to anyone working in the business of software. Other times it turns our that what you initially promised to deliver isn’t actually going to meet the needs of the outside world after all. The delays experienced in getting V9 out to the customers represent the former scenario, while what happened to the Business Edition is an example of the latter.

    There’s no denying that with the growth of the platform and all the new cloud services attached to it, Dynamics CRM had grown from humble beginnings to enterprise scale in the recent years. Therefore the idea of labeling the suite as a true enterprise product and building a different lightweight offering for the needs of smaller CRM environments probably made a lot of commercial sense when MS announced the Dynamics 365 branding with the Enterprise and Business licensing plans to the world in WPC 2016. Only the practical problem remained of how to actually mold a new offering out of the big suite – at least without taking several shots at one’s own foot while setting up constraints for customization and expansion for those customers who’d initially start their exercise from the lower end of the license pool.

    Those 14 months from announcement to eventual cancellation of a separate Business Edition were filled with confusion on all sides – from partners to customers, and probably within Microsoft, too. Although this did leave an unfortunate stain on the year 2017 for Dynamics 365, the long term outcome from the decision to NOT roll out an artificially separated lower tier may turn out to be a better choice after all. It’s all still wide open on how the promised “lower price point” licenses and apps will be packaged, but at least it sounds to me like MS has acknowledged they need to build bridges instead of walls around the growing set of applications in Dynamics 365. For instance: just take a look at the documentation of the upcoming Dynamics 365 for Marketing application and tell me if it looks like an SMB only -product that no existing (Enterprise) customers would have any use for? Exactly. Sanity must prevail and customers be given a chance to license the technology that best fits their needs.

    Hello 2018

    What can we expect to see from Dynamics 365 in this new year then? There are no definite product roadmaps from Microsoft that would publicly disclose what’s planned for be released in which year, since the software business no longer operates on the type of schedule that we saw when products were shipped in shrink wrap every 2-3 years. It now looks more like a mesh of forever updating cloud applications and web services that move along according to their own backlogs and team velocity. Given that the real business applications that customer organizations deploy are a combination of several products that in turn use a variety of back end services, who can actually tell when a certain feature will be “ready”? For example, Dynamics 365 for Marketing utilizes Customer Insights, which in turn relies on the following Azure services:

    • Azure Data Lake Store
    • Azure Data Lake Analytics
    • Azure HDInsight (Spark, Phoenix, HBase)
    • Azure SQL Database
    • Azure Key Vault
    • Azure Secret Store
    • Azure Event Hub
    • Azure Stream Analytics
    • Azure Redis Cache
    • Azure Service Fabric
    • Azure Active Directory
    • Azure Monitoring
    • Azure Metrics
    • Azure Websites
    • Azure Service Bus
    • Azure Storage

    That’s what the future is made of, and that’s why it is so unevenly distributed. We may well see MS announce the next Dynamics 365 Customer Engagement capabilities before existing customers are even able to update their instances to V9. The specific points in time where a particular capability is 1) announced, 2) in private preview, 3) in public preview, 4) available for new environments and 5) deployed for live customer environments may therefore be spread out over a time period that makes even assigning a proper year to it challenging at times – let alone a calendar month like “July 2017”. In this light, I’m personally mainly expecting to see how the above three themes from 2017 will play out as they get closer to impacting the real life scenarios of customer organizations all over the globe that get to put it all into action in their digital business processes.

  • XRM Rebooted with Dynamics 365 Embedded?

    XRM Rebooted with Dynamics 365 Embedded?

    The next major release of Microsoft Dynamics 365 Customer Engagement, the July 2017 Update, has been called “the biggest release to date” by the product team. If you look at the number of features that a single release now touches, with the product offering being further divided into Enterprise Edition and Business Edition, the number of work streams sure is massive. It’s amazing to think how much wider the scope of Dynamics 365 is today compared to “just” five years ago when it was still Dynamics CRM and the primary target seemed to be making the traditional sales-service-marketing CRM package to work with modern browsers (non-IE), devices (mobile) and infrastructure (cloud). Here’s the roadmap presented in WPC 2012:

    Times change and even the Worldwide Partner Conference has evolved into Microsoft Inspire now – which I think is far too close to Microsoft Ignite as a name, since I’ve found myself mixing #MSInspire with #MSIgnite all the time. Anyway, this annual MS partner conference launched on July 10th with a keynote led by Satya Nadella. The recording of this is naturally already available, but you could also check out my Storify collection of the most interesting tweets from the event:

    One of the announcements that didn’t get much space on the big stage but certainly has big potential implications for the Dynamics ecosystem was the announcement of a new ISV Cloud Embed program for partners. With a reference to their earlier success with offering Azure IaaS and PaaS services as the foundation for ISV applications, Microsoft now states that it will offer also higher level services available as building blocks for ISV apps. The list shown below includes “Dynamics 365 Embedded”.

    Yes, it shows a number of other embeddable products too, like PowerApps and Flow, but c’mon – those are newcomers to the Microsoft product portfolio. Dynamics as in CRM and later Customer Engagement has been around for a decade and a half now! One does not simply rip the CRM roots out of the platform (assuming that it even is the CRM part and not AX/NAV) and then use the remaining parts as a building block for an ISV app. Except that it might just be happening soon.

    This is not a brand new concept of course. Since I have a tendency of documenting the platform evolution of Dynamics CRM/XRM/365/CE/etc. onto my blog posts, all I have to do is search and reference my earlier writings these days. Back in 2010 when Office 365 was launched, I posted the first reference to the concept of “Dynamics CRM Services”. This is turned out to be pure slideware in the end, as the early illustrations of what the high level Azure services architecture was planned to be never quite materialized in that format. Read this post from Simon Hutson for a great overview of the buzz and confusion around CRM Services.

    The statement in 2008 was:

    “In the future, developers will have access to SharePoint & CRM functionality for collaboration and building stronger customer relationships. With the flexibility to use familiar developer tools like Visual Studio, developers will be able to rapidly build applications that utilize SharePoint and CRM capabilities as developer services for their own applications. Developers can expect a breadth of SharePoint & CRM capabilities across the spectrum of on-premises, online & the Azure Services Platform.”

    With this week’s statement on Dynamics 365 Embedded, could the “future” referenced in the original text actually arrive ten years later? We don’t know for sure yet, but there are a lot of signs pointing towards that direction. If you followed the V9 Preview Executive Briefing or skimmed through my collected tweets from it, then you might already be aware of the concept of App/Plat Separation that’s taking place right this very moment. The earlier built-in application functionality of sales, marketing and services that you always got preinstalled with a CRM instance are now being moved into solutions like the newer Field Service etc. already are. Not only that, but also the built-in ASPX controls for data presentation components like grids and dialogs are now being rewritten with the new Custom Control Framework.

    And what about Azure? Well, it’s everywhere you look now with the new features built for Dynamics 365. Then there’s also… something that will become more clear as the GA of V9 approaches. With all of this technical architecture being lined up for the next generation XRM, it looks like the only thing missing really is a commercial model for selling Dynamics 365 without the CRM. Now that we have the ISV Cloud Embed program announced at Inspire 2017, I would say the time has come to give the people what they want:

    That Twitter poll ain’t open anymore, but please feel free to place your bets in the comments section of this post! What might the Embedded future of Dynamics 365 be and what still needs to happen in your opinion?

  • Dynamics 365: The Next Chapter of MS Cloud Business Apps

    Dynamics 365: The Next Chapter of MS Cloud Business Apps

    Have you heard about this brand new thing called “Dynamics 365” yet? If you attended or followed the WPC 2016 conference, I bet you have, since it was the big headline news for Microsoft’s partners and corporate customers that kicked off their FY17. Satya Nadella spent a significant part of the WPC keynote explaining how Dynamics 365 is the service through which his vision of reinventing business processes comes to life. So, obviously there’s got to be some big things packaged into this new offering. But putting the visions aside for a moment, what exactly does this service contain in practice?

    WPC16_keynote_Dynamics_365

    In short, Microsoft Dynamics 365 is both the same old and brand new when it comes to the underlying components. As presented by many of the tech news sites, essentially Dynamics 365 is about taking the previous Dynamics CRM & ERP products and bundling them into a single cloud service. Comparing it to “the other 365”, meaning Office, it’s not an entirely different approach than taking established server applications like SharePoint & Exchange and making them easier to purchase via a single Office 365 plan. While the name is different and the tools to administer the applications are specific to the subscription service, beneath the portal there are many of the same bits as you could have on your own servers, too. In the case of Dynamics 365, you’ll be mostly getting the latest versions of CRM and AX/NAV from the Microsoft cloud.

    “Ok, so we’ll have a new SKU to purchase Dynamics products from the cloud. A bit like the earlier bundles for Sales Productivity then, where you bought CRM, Office 365 and Power BI for a discounted price. Got it, can I now go back to chasing nearby Pokémons with my phone ’cause I’d really want to catch them all?” Well, if you ask me, I think you should look a bit deeper into the Dynamics 365 story to understand how it really will impact CRM as a product as well as the ecosystem around it. I too was initially a bit skeptical about this whole thing when reading the first press release from Microsoft, but the more I’ve investigated the pieces of information available at this early stage, the more I’ve started to believe that what we have here isn’t a mere product marketing stunt but rather the next major chapter in the story of Microsoft Dynamics applications.

    Satya’s Masterplan

    One year ago when Microsoft announced that they were going to tear down the silo of MBS (Microsoft Business Solutions) and merge Dynamics product teams into C+E (Cloud and Enterprise), Nadella said he wanted to “enable the company to accelerate ERP and CRM work and bring it into the mainstream C+E engineering and innovation efforts.” It took a while before saw what this “mainstreaming” really means, but I believe Dynamics 365 is the major output from this process that started with the restructuring. It is elevating the Dynamics product offering from being just an app you can order via the Office 365 portal and turning it into a proper destination of its own.

    Back when I was starting my first gig as a Dynamics CRM consultant in 2010, I distinctly remember the day after I had returned home from the Convergence conference in Prague. I was about to sign the contract with my new employer and was riding in a cab with my boss to be, catching up on the latest tweets (with my Windows Mobile 6.0 device and whatever apps we had back then). I came across Microsoft’s announcement of Office 365 and said to him “have you heard about this already, might be kind of a big deal for the business”. Well, the business of my upcoming employer was largely about hosted MS business applications and it turned out to a big deal indeed, as the rationale for offering local CRM or Exchange instances eroded much faster than most service providers were willing to understand – let alone for them to adapt to this new reality.

    Connecting_your_solutions_small

    How I see this relate to the recent Dynamics 365 announcement is that when you stop to think about the tools we work with these days, it’s not just about the cloud as a delivery channel. If it were enough for the customer organizations to just use their business applications via a browser, from a server environment managed by someone other than your own IT department, then we’d still probably be happily working in the BPOS era of application servers hosted by “someone out there”. In reality, it rarely is about the servers or even the server application bits. It’s about services: how they can be consumed and how information flows between them. Sure, someone of course needs to set up the services, but once that problem has been solved (e.g. Dynamics CRM Online removing the need for manually installing customer specific CRM instances) it’s time to start solving problems higher up in the value chain. This, I believe, is what Microsoft is aiming to achieve with Dynamics 365. Making it more than just the sum of its parts, by lowering the barriers between the apps and encouraging customers to build solutions that consist of a network of apps – from MS and ISVs. The new AppSource portal is therefore a very important part of the Dynamics 365 story (even though at launch time it’s not yet that much better than the infamous Dynamics Marketplace).

    Front to the Back with Dynamics 365

    Once launched later this year, Dynamics 365 will be available as two editions. The Enterprise Edition will be made up of Dynamics CRM modules and Dynamics AX, whereas the Business Edition is being built on top of Project Madeira (brand new cloud version of Dynamics NAV, from what I know). Details about the pricing haven’t yet been disclosed, but at WPC there were slides shown that outline the different plans that the Enterprise Edition will offer. Since the Business Edition is clearly a lot more “work in progress” at this stage, and because it might not even contain any of the Dynamics CRM functionality (if I read the WPC materials correctly), it’s best for us to focus on analyzing the Enterprise Edition.

    Dynamics_365_vs_current_SKUs

    Looking at it from a CRM perspective, the platform formerly known as Dynamics CRM is being broken down into smaller modules that can be purchased separately. We’ve already seen how the recent CRM Online enhancements like Project Service and Field Service have been introduced as separately licensed modules (and their trials are now distributed via AppSource), but with Dynamics 365 this will be taken even further. A sales user can be assigned only a license to the “Sales app”, rather than needing a “CRM Online Professional” license to manage their opportunity pipeline. Even without knowing the price points for per app licenses in Dynamics 365, it’s easy to see that the barrier for consuming application features from the cloud will be lower when you can only select what you want. In the on-premises world the traditional “all you can eat” model of Dynamics CRM licensing probably made sense, but if Microsoft now has the option to make their cloud service available in various different shapes and sizes, why wouldn’t they?

    Even though there will be more individual apps to choose from, the main value proposition of Dynamics 365 is in the possibility of making the whole end to end business process visible to the users. Traditional licensing silos between the front office CRM system and the back office ERP system have often led to scenarios where employees need to ask another employee to check information from a system they can’t access – or needing to work with limited snapshots or static reports rather than the real-time dynamic data from the business application. Microsoft surely recognizes this as a great opportunity to move customers gradually away from using legacy ERP systems by offering a cloud platform where the licensing model is no longer determined by the server application barriers but rather the workloads of the users. The Enterprise Edition contains a “Dynamics 365 for Team Members” plan that covers read rights to each and every application, from marketing to operations (the ERP part), which specifically addresses the information silo issue.

    How Can It Actually Work?

    Knowing that all the CRM and ERP applications under the Microsoft Dynamics umbrella have been completely separate products with little in common when it comes to architecture, how is Microsoft going to turn these into a single business application platform all of a sudden? Well, that is the billion $ question to which we don’t yet have an exact answer, but let’s speculate a bit while we await for it.

    Microsoft has announced that underneath the Dynamics 365 apps there will be a platform layer called Common Data Model. On the official Microsoft Dynamics blog this CDM is described with the following words:

    The common data model is a cloud-resident business database, built on years of experience with our enterprise customers. It will come with hundreds of standard business entities spanning both business process (Dynamics 365) and productivity (Office 365). The standardization and consistency of schema enables partners to build innovative applications and to automate business processes spanning the entire business process spectrum with confidence their solutions can be easily deployed and used across Microsoft’s entire customer base.

    Hmm, okay, so there’s at least going to be a new database in addition to the application specific databases of CRM and AX, as we can see from the Dynamics 365 architecture image below. The promise of a “standardized, consistent schema”  also implies that at least the OoB entities will be connected across CRM and AX without any additional configuration effort required. Now, how exactly the integration of custom entities can be configured, or how the platform will handle the business logic involved in each connected app is something that isn’t very clear at this point.

    Dynamics_365_architecture

    Surprisingly enough, the most detailed information about CDM was first released not via the Dynamics product blogs but on the Power Apps blog. The post PowerApps and the Microsoft Common Data Model gives us the first practical view into what functionality the CDM part of the platform is expected to deliver. Some examples:

    • CDM will encompass not only CRM and AX but also the data model of productivity apps like Outlook.
    • CDM will include complex data types like address and auto-numbering.
    • CDM will contain features familiar to CRM admins, like field level security and auditing.

    Dynamics_365_Common_Data_Model

    Once the CDM Preview arrives in August we’ll hopefully get to explore the contents and functionality of this data model via the PowerApps Studio at least, even though Dynamics 365 itself will probably arrive a bit later. On another PowerApps blog post, it was announced that there will be a Dynamics 365 specific SDK, which should be launched in preview mode before the year ends.

    Why does the PowerApps team work so actively in bringing this information available? There’s a simple explanation: PowerApps, Power BI and Flow are a fundamental part of the Dynamics 365 product offering. They are included in the Enterprise Edition plans and they form the new business application platform that supports the 365 apps on top of them – to the extent that there is now even a dedicated site to describe the capabilities of these three products.

    Business_process_orchestration_small

    Since business process orchestration is fundamentally a cross-application domain, it makes a lot of sense that you don’t only rely on the workflow process engines found inside applications like CRM. Also, if you’ve tried to leverage these three tools with current Dynamics CRM Online application, it soon becomes obvious that working with the relational data and specific data types of CRM is not where Power BI, PowerApps or Flow currently excel. Therefore what CDM as part of Dynamics 365 can offer for the business process orchestration tools to make the interaction easier is surely very welcome.

    Farewell to On-prem

    All of this you see coming available for Dynamics 365 is exclusive to the Microsoft cloud. Period. While you could of course take many of the individual technologies like Dynamics CRM and build custom integrations to your own servers, a single commercial offering licensed and managed by Microsoft will not become available for that environment.

    In the past Microsoft has been using the “power of choice” as an argument on why investing in Dynamics CRM technology is a safer choice than going with a cloud-only platform like Salesforce. Six years ago when CRM Online was launched that certainly was an important benefit of the MS stack. Even though the business world is a lot more “cloud ready” today, there still are many scenarios where a service hosted outside the borders of the customer’s country is not a valid option. Nevertheless, the power of choice isn’t such a clear differentiator anymore if pretty much everyone is making the same choice. For those organizations who are able to move ahead at the speed of cloud, there just has to be a fast track available. Sure, CRM Online has already been developing at a faster release cadence than CRM on-prem, but with Dynamics 365 the ties are officially cut now.

    AX_cloud_firstIt isn’t a completely new situation, even within the Dynamics product family. From what I know about Dynamics AX, the latest “AX 7” version has been designed not only as a “cloud first” but pretty much “cloud only” approach. The application architecture has been heavily redesigned and now relies on services from Azure, so it’s not something you could ever install on a Windows Server. The strategy for on-premises support is based on the Azure Stack product, which will allow customers to run a version of the same services on their very own servers. (In related news, the Azure Stack release plans have recently been revised: it won’t arrive for another year yet and it will require specific hardware when it finally does.)

    Does the announcement of Dynamics 365 mean that no investment will be made to on-premises Dynamics products anymore? No, at least according to the official statement from Microsoft. CRM, AX and NAV, meaning the in-house application layer of Dynamics 365, will continue to be developed, sold and supported. For example, AX 2012 will be supported until 2021 which gives some indication about the expectations Microsoft has on when existing on-prem ERP customers would really be able to adopt the new cloud offering of Dynamics 365. I bet that the hybrid scenarios will be taken into consideration as well when driving the adoption of the 365 cloud service.

    Still, if you’re looking for the latest Microsoft product innovations and integrating your business applications with the coolest new services, it’s hard for me to see how remaining in the on-prem land would be a viable option anymore. While new server versions will still keep on coming, having a new product feature that doesn’t require you to be running Dynamics 365 is probably going to become an exception rather than a rule. Already many of the latest CRM Online features have been built on Azure based services (offline sync for mobile, Relevance Search, machine learning in product recommendations) and the 365 cloud platform is going to make it even easier for MS to hook these things up to their business apps. The gap is just going to grow wider and wider.

    What Will Happen to XRM?

    Looking at the Dynamics CRM application specifically, there’s been a reasonably good parity between the Online and on-premises editions when it comes to the core XRM platform features. With all of these new integration points and platform layers now being developed for weaving together the complete Dynamics 365 service, it raises the question of whether the “core” really is inside XRM anymore or is it being actively replaced by something completely different?

    While I don’t think Dynamics 365 signals the death of XRM, it certainly does give a clear indication about how it is positioned in Microsoft’s new business application platform architecture. It’s what the individual apps are still built on (sales, project service, field service, portals, Voice of the Customer and so on) but it may not deliver the full user experience anymore. The users may interact with data through a purpose built PowerApp rather than the standard CRM client apps. The business process automation may jump across different apps via Flow, with CRM workflows handling only a part of it. The process metrics will frequently be monitored and analyzed with Power BI charts and not the CRM dashboards. I don’t think the 365 platform will overnight replace too many of the traditional XRM features, but it will undoubtedly set a boundary for feature development at Microsoft’s end if the new capabilities could be leveraged also outside the XRM apps.

    The arrival of a Dynamics 365 SDK means that the wider ecosystem of partners and service providers who wish to connect with customer organizations using Dynamics 365 may well choose to integrate their apps via this new API and not the XRM specific Web API, as modern and RESTful as it might be. Without knowing the exact services available in 365 it’s of course impossible to say yet what functionality would move to the CDM part of the platform, but since the whole point of CDM is to make it easier to connect cloud apps together, that’s where much of the development effort will naturally gravitate towards. Extending a specific 365 app like Sales with new UI level functionality will surely still require XRM developer skills, similarly as modifying the Operations app’s logic requires knowledge of X++ (the programming language for AX). Now, if you’re an XRM developer with no experience of AX, imagine being tasked with building a custom feature that needs to talk with both the Sales and Operations apps. Would you rather dive right in to learning X++ or start by exploring the common 365 platform SDK instead? Exactly. That’s how our solution design practices get disrupted: first gradually, then suddenly.

    XRM_cow_managementHonestly, the direction that Microsoft appears to be taking with Dynamics 365 makes perfect sense to me, and I see it as a brighter future for Dynamics CRM to be a part of this cross-application business platform – rather than a self-sustained “any relationship management” toolkit. No matter how awesome it is, XRM can’t do it all. It could certainly use a lil’ help in certain areas where Microsoft has more advanced tools available. If the new platform gives a wider set of options for me when designing solutions for customers then sign me up for it! Even if the administration experience or depth of functionality may not be on quite the same level when working with a set of connected applications sitting on top of CDM rather than a single XRM solution, it’s probably a price worth paying in the long run.

    Dynamics 365 explains a lot of the shortcomings with the current pieces of the MS cloud puzzle. Like: why must Power BI try and consume the CRM Online data via the slow OData endpoint when Microsoft could surely open up a shortcut between their two clouds? Well, here you go! The answer is that instead of taking the easy way out, a brand new Azure based architecture has been designed to support the current and future needs of CRM and other cloud business apps. It’s impossible for us outsiders to know all the different dependencies that the Dynamics 365 product strategy has had on the CRM feature roadmap, but it’s easy to imagine quite a few of them. I’m not expecting the floodgates to open with the initial release of Dynamics 365 this fall (more likely it’s a preview than a fully baked V2 platform), but I do expect the pace to pick up as the new strategy is executed on the commercial delivery side.

    How we’ll be able to transition an existing organization from Dynamics CRM Online to Dynamics 365 and connect to the Common Data Model is going to be a big question. I’m not worried about the application functionality really, as it might well be just a simple CDU experience of upgrading to the latest version. On the data model side, If there are some “best practices” implemented in CDM that don’t align with the customer specific entity model and attributes, then some refactoring of the existing CRM solutions may well be needed. While there may not be an immediate need to switch over, in the long run I expect there to be a number of services that target CDM specifically which cannot be used with a “legacy” CRM Online environment. As funny as it sounds, we may have indeed reached a point in the Dynamics CRM lifecycle where even the cloud based environments need a bit of a “reboot” to reach the next generation business application platform compatibility.

    It’s Always a Journey

    If we look at the history of Microsoft’s CRM software starting from 13 years back and analyze how the platform has evolved over time, we can see that up until the past couple of years, the progress made has been fairly product focused. Setting aside the app vs. platform debate on what the product is really about, the core package of what a Dynamics CRM server does has remained the same on a high level since the start, and I’d assume the story on the ERP side isn’t radically different either. It’s the world around it that has transformed into something quite different, and it’s this interface with the outside world of other apps and services where the most exciting stuff is happening.

    On the product code base level, Microsoft tried to merge their in-house CRM with the four acquired ERP products already over a decade ago with Project Green. As we now know, this never resulted in any “One Microsoft Dynamics” type of a platform nor new products being brought to market. When Satya Nadella (CVP of MBS at that time) was asked about why the ambitious initiative appeared to have stalled in 2007, his response was “we don’t have the goal of just convergence for convergence’s sake”. I can believe that while technically not an impossible task, there just wasn’t a clear enough business benefit for the customers to make them want to move into a single code base product merged from five existing applications, knowing how disruptive the migration could have been for their day to day operations. Fast forward ten years to the Dynamics 365 announcement and the business case now looks a lot more solid in this cloud era. Although the initial release of Dynamics 365 this fall is likely to be more of a preview than a fully functioning business application platform, it will already be a lot further in terms of visible platform harmonization than what Project Green achieved.

    While it’s easy to label almost anything in the IT business these days as “digital transformation”, there are quite a few signs that Microsoft is serious about aligning their set of different cloud products into a comprehensive toolkit for companies wanting to build and operate those digital business processes. How transformative will the end results be is something that we’ll see in time as the Dynamics 365 platform materializes. Whatever happens, Surviving CRM will be there to report on the progress of this journey!

    For a summary of what other community members have shared around the Dynamics 365 announcement and sessions from WPC, please have a look at this Sway presentation I’ve compiled from the #Dynamics365 tweets:

  • The State of Dynamics in 2015

    The State of Dynamics in 2015

    There’s been a lot going on in the world of Microsoft Dynamics during the past few months. As the summer vacation period is now here for many of us (hopefully), this feels like a good moment to reflect back a bit, discuss how the world has turned and share some thoughts on what I think it potentially means for people working with Dynamics CRM. The topics I’ll explore in this post are:

    • Practical impact of the cloud for Dynamics CRM customers
    • Dynamics as a business for Microsoft
    • The intersection of CRM and Azure
    • The platform aspects in the Dynamics CRM product

    CRM at The Speed of Cloud

    For a long time Microsoft had to work hard in convincing customers that their CRM Online cloud offering was functionally on par with the on-premises version, instead of it being a “Lite Edition”. After all, how could a public cloud service ever offer the same level of customer specific customization as the application bits sitting on your very own server’s hard drive? “The power of choice” as a unique selling point for the Dynamics CRM platform has certainly played a central role in reducing the perceived risk of choosing Microsoft over some other cloud-only vendors or traditional enterprise software rooted heavily in the isolated server environments. While this still remains an advantage, it’s less strategic these days when the cloud is the clear default in the minds of most customers.

    During the past couple of years MS has been applying a policy where many of the new CRM features become available first in the cloud. Not only does this make logistic sense for MS as they can control the application delivery more tightly and reduce the time it takes to get a feature from design to deployment stage. It also caters for the kind of audience that is likely to be more receptive to application updates in general, meaning the organizations who have already made their leap to the cloud – or who have never known any other way. This crowd won’t get so easily paralyzed with changes that affect how their tools work and they’re also more likely to adopt new services and features. This in turn helps Microsoft gather user feedback much faster, collect telemetry data from application usage, author case studies highlighting the business benefits from latest product releases, and so on.

    Now, since the cloud has become the default deployment option, it does still mean that not everyone who’s “up there” will want to immediately deploy the latest version once it becomes available. Luckily Microsoft has made some great improvements on how CRM Online customers can manage their environments, effectively building the capabilities for the next generation “power of choice”. For starters, the latest update policy now states that “in Spring of 2015, customers will have the choice to take the two updates as they become available, or take only one update per year.” Thanks to the features available for non-production (sandbox) instance management it’s also easy for customers to create copies of the CRM Online production org and test the upgrades as many times as needed before go-live. What used to be a scary leap of faith into a cloud platform where MS decides what happens to your precious CRM is changing more and more into the “on demand” type of service that you’d expect from the cloud, also in the deployment administration side of things.

    CRM2015U1_Groups

    The latest CRM Online 2015 Update 1 (a.k.a. Spring ’15 Release, codename “Carina”, version 7.1) has made it very clear how the cloud accelerates also interoperability between different applications. Being an Online only release, v7.1 has allowed MS to introduce a great number of new features that don’t live purely within Dynamics CRM but rather Office 365. OneNote integration leverages the SharePoint Online server-side sync, similarly as Folder-based Email Tracking relies on Exchange Online sync. The new CRM App for Outlook is also delivered via Exchange Online into OWA and Outlook 2013. The ability to open views in Excel Online for editing right inside the browser window and submit back the changes is naturally all thanks to Office Online. The brand new Office 365 Groups collaboration feature is, you guessed it, all orchestrated by the O365 platform. So, even though there are many important enhancements in CRM v7.1 application itself, this release really does highlight the fact that if you’re using CRM Online but not taking advantage of other Office 365 applications yet, then… Well, perhaps you should consider if your strategy with productivity tools is giving the best return on your investment.

    Another thing that has also become more apparent is that it’s not just a single batch of CRM application bits that gets delivered in a release. The dependencies to related systems have meant that some of the new features announced for Spring ’15 have rolled out only after the CRM v7.1 application and DB updates became available. Certain features like the CRM App for Outlook or the new CRM for Phones still aren’t available, even though we’re in CY15 (calendar year) H2 already. As the cloud service starts to consist of a growing number of separate components and each product has rapid release cadence instead of a 3 year plan, we’re bound to see more of a continuous stream of updated functionality instead of big bang launches.

    MS Business Applications Reorganized

    This leads us conveniently to the hot topics related to the organization around Microsoft Dynamics. As many of you must have noticed, Satya Nadella announced a major reorganization of MSFT leadership team in mid-June. For the Dynamics folks, here’s a quote of the most relevant part of the press release:

    “Executive Vice President Scott Guthrie will continue to lead the Cloud and Enterprise (C+E) team focused on building the intelligent cloud platform that powers any application on any device. The C+E team will also focus on building high-value infrastructure and business services that are key to managing business processes, especially in the areas of data and analytics, security and management, and development tools. As a part of this announcement, the company will move the Dynamics development teams to the C+E team, enabling the company to accelerate ERP and CRM work and bring it into the mainstream C+E engineering and innovation efforts.”

    In short, MBS is no more and its leader Kirill Tatarinov will “explore what’s next for him”. Microsoft Business Solutions unit was always a bit of an island at MS when observed from the outside, and I’m sure people inside will have run into plenty of invisible walls that haven’t exactly helped in delivering the very finest business applications that seamlessly connect with everything else Microsoft builds. Now the engineering, sales and marketing functions for Dynamics CRM and ERP products will be consolidated into the broader MS organization, with Scott Guthrie (C+E leader), Kevin Turner (COO) and Chris Capossela (CMO) taking care of the Dynamics business. There’s an excellent piece written on the reorg from Dynamics perspective by Frank Scavo, which I encourage you to read for further details: Microsoft Unbundles Its Dynamics Business Unit.

    Guthrie_Azure

    Throughout the history of Microsoft’s ERP and CRM product lines, there’s pretty much always been speculation about whether MS would spin off the MBS business if the right amount of money was offered for it. Being an island of its own certainly helped in envisioning how such a transaction could take place, since the bidder would have gotten not just a piece of source code but the whole organization and partner network around the products. When you put your Dynamics CRM glasses on (hey, even I don’t wear them all the time!) such idea never seemed like a very happy path for neither MS nor the potential buyer. There’s hardly any other product in the MS portfolio that pulls in such a broad range of the Microsoft technology stack when deployed for a customer organization, so trying to untangle it from these roots would be potentially disastrous for the product, in addition to causing MS to lose far more revenue than direct CRM license sales. I can’t speculate much about the Dynamics ERP products due to lack of hands-on experience in deploying them, but spinning off Dynamics CRM after the most recent move seems even less likely than it was to begin with.

    Nadella_BenioffThen again, we should keep in mind that just a while ago Nadella was seriously considering to acquire its nr. 1 competitor, Salesforce, if we are to believe the reports about the $55 billion offer made. If the results of these talks would have been different, we might have been now talking about Microsoft with not just 1 CRM and 4 ERP products but with two huge CRM platforms in its pocket. Not to mention all the underlying infrastructure and technology with which Salesforce competes with Azure, the world’s largest developer conference Dreamforce etc. This would have surely been a very different “State of Dynamics” post in that alternate reality. So, it’s good for us to keep in mind that at the end of the day it’s really just business, not software, and strange things can happen when the big boys are competing with one another.

    The Dynamics of Azure

    Back to the present day, what we now know for sure to be the near term agenda for Microsoft is to move the Dynamics CRM and ERP engineering teams to the Cloud + Enterprise group. So, what do they actually build there in C+E? Well, obviously anything to do with Azure, for starters. Then there’s the server & tools side of things, like SQL Server and Visual Studio. Power BI and BizTalk must also be familiar names for anyone who’s worked in Dynamics CRM projects. What doesn’t fall under C+E is all things Office, meaning products like SharePoint, Exchange, Skype, OneDrive and other productivity tools commonly found from Office 365 subscriptions – and naturally used alongside Dynamics CRM. So why is Dynamics being grouped together with the platform tech and not the productivity apps?

    Nadella_IntelligentCloudC+E is actually the group that Nadella used to run before being appointed as MSFT CEO. In case you’ve forgotten, Nadella was also leading MBS up until spring 2007 (at which point Kirill Tatarinov was appointed as his successor). For old times sake, here’s a snippet from his farewell post on the “Frontiers of Business Applications” blog:

    “We made tremendous progress with Dynamics ERP, CRM and Office Small Business product lines. Six years ago we were not a player in biz apps… the acquisitions in ERP got us to leadership position in mid market and now we are contender in Enterprise. CRM has helped us grow the fastest server product line in Microsoft’s history and now poised to offer “choice” of LIVE service.”

    I think it’s safe to say that Nadella understand a fair bit about not just the Dynamics of Microsoft’s CRM & ERP but also the general market dynamics behind how organizations today are deploying, extending and integrating their business applications. If we look at all the shiny new things that C+E has been launching into their cloud back-end portfolio, like Azure App Services or the Azure IoT (Internet of Things) Suite, then it’s not so difficult to envision that technology like this will also need front-end services for organizations to adopt them as part of their core business processes. If these processes happen to be managed with Dynamics applications today, then hey, perhaps Microsoft could do something on this front to speed up the adoption, right? Reading this blog post from C+E Chief Strategist James Staten sure seems to indicate that Redmond is well aware of the business opportunity.

    How soon will we see concrete evidence from Scott Guthrie and his team that being part of the C+E organization means Dynamics “C&E” (as in CRM & ERP) customers will gain new some next generation capabilities into their own business applications? Knowing the current release cadence with MS products, I hope this reorg would have already started to show up as new priorities being reflected in the backlogs of various product teams in C+E. The thing is, we don’t even need any brand new product features for Dynamics specifically, but we sure could use some higher visibility for Dynamics as the go-to solution for demonstrating how the MS cloud stack can be put into use in practical terms.

    For example, the Power BI story has been unraveling far too slowly for any Dynamics CRM Online customer that would have been interested in leveraging MS products for some cloud based data analytics. Commercial offerings like the Sales Productivity license promotion have been bundling these products for a long time, yet there’s been very little you’ve actually been able to do with the two together, due to lack of support for CRM Online as an automatically refreshable data source. Another example could be Azure Logic Apps, which were announced back in March, but as of today Dynamics CRM or ERP connectors are still unavailable for anyone wanting to configure these workflows to connect with their cloud business applications. Fine, you can support Salesforce and other partner solutions at launch time by all means, but punishing customers for choosing Microsoft is something I hope the new C+E family will put an end to.

    Azure_Logic_Apps_Dynamics

    Platforms and Products

    Back in the early days of XRM a.k.a. “Any Relationship Management” the concept of having Dynamics CRM serve as the foundation on top of which organizations could build their own relational business applications and potentially replace legacy LoB systems sounded perfectly valid. The XRM idea was conceived in the on-premises days, though, where the business owners couldn’t just go and subscribe to a cloud app of their choice to solve their problem with a bit of shadow IT. Sure, they could have also requested an XRM org to be customized for this purpose, but 99% of them probably weren’t familiar with the concept. Oh well. The capability is nevertheless there in the platform that all Dynamics CRM applications run on today, and MS even hinted at more emphasis being put onto the XRM toolkit during Convergence 2015 presentations.

    These days when we think of business application platforms, the image in our minds isn’t probably limited to just a relational database with a few entities and forms for data entry. Thanks to the aforementioned explosion of cloud apps and our many mobile devices, the modern platform concept is, in my humble opinion, a network of connected services that allow you to get your job done, no matter where you are or in which particular app you are. So, rather than looking at how the business application itself is implemented on a technical level (as an XRM solution package deployed to your company’s CRM Online org, for example), in practice more important questions are how does it relate to the other apps the business is using, how it communicates with the outside world and how it fits with the workflow of the end-to-end business process? When observed from this perspective, some might argue that Office 365 with its growing collection of integrated apps is actually more of a business application platform than CRM is.

    Office_365_app_launcher

    Do I see CRM turning into just another icon in the O365 app launcher then – becoming a packaged, ready-to-use product like OneNote or Sway? No, and I think the new organization structure at Microsoft also highlights the fundamental difference between such products. Sure, MS is investing more and more resources in making Dynamics CRM more easily approachable as a “mainstream” product, by creating sites like the new Microsoft Dynamics CRM Online Onboarding Success Center​​ (for comparison, check out the Office 365 Onboarding Center).  We’ll surely see increasing effort put into lowering the entry barrier for especially SMB customers as MS tries to become less reliant on their Dynamics partner network to acquire and retain customers for CRM. The way I see it, turning Dynamics CRM into a packaged application that you can just sign up for and start using for common tasks that businesses tend to perform with their customer and sales data sounds both like a low hanging fruit and mission impossible at the same time. Sure, in terms of application features Dynamics CRM is ready to cater for a whole variety of different types of guests, but just like people do not prefer dining with a Swiss knife, I think there will remain the need for experts to plan the correct eating utensils for the meals, present them on the table and if needed, instruct how to operate them in the most elegant manner. Anyway, making the whole process of attending this grand CRM dinner more straightforward and educating the guests on what they can expect to find on the menu will surely benefit all the parties, so hopefully this type of mainstreaming will be done for Dynamics CRM.

    If we accept the fact that Dynamics CRM is still very much a platform in itself (although delivered under the broader O365 platform), then we must also acknowledge that the platform part doesn’t means just building customer specific XRM deployments. Strategically an even more important factor for Microsoft is the number of partners that develop solutions for connecting Dynamics CRM with their services and apps. Although there are a number of established ISV’s operating in the Dynamics ecosystem that offer the kind of add-ons and integrations that are essential ingredients in today’s CRM implementations, I think it’s safe to say that when it comes to the amount of apps available for Dynamics CRM customers to buy, we’re nowhere near the level that could have been expected back in 2011 when the current solution framework and the Dynamics Marketplace were introduced. It’s also far too common to see vendors develop a v.1 app and then not invest sufficiently in maintaining it as the CRM platform evolves (at an ever growing speed, thanks to the cloud era).

    crmwatchlist_eliteBroadening Microsoft’s own offering to marketing automation, social channels, customer service and other recent additions in the Dynamics product family has surely helped in improving the credibility of Dynamics CRM as an enterprise level player (that has a distinct Enterprise licensing tier now, compared to many years of “all you can eat” pricing model). We’ve also seen announcements from the Dynamics team about partnerships formed with established players like Adobe and Lithium, with the promise of more announcements to follow in the near future. I’m sure these are all beneficial moves for Microsoft in their broader strategy for CRM, validated by evidence like the CRM Watchlist 2015 Elite award from Paul Greenberg (a.k.a. Mr. CRM himself) where he’s confident in stating that “Microsoft gets ecosystems”. This just isn’t quite enough, in my humble opinion, if MS isn’t able to attract and grow the kinds of ISVs that will help the Dynamics CRM customers to connect with the latest services that the “cool kids” out there are using, or affordably bridge the smaller functional gaps that aren’t strategic for MS in terms of the Dynamics CRM product roadmap. As Greenberg also states in his Watchlist results analysis:

    “Microsoft has to be much more cognizant, consistent and proactive about seeing their Dynamics product portfolio as an end to end platform – which will make them competitive in the 21st century.”

    This is the area where I place my biggest expectations from the new MS organization structure to make some visible changes. If we observe what Scott Guthrie and the numerous product teams under Cloud + Enterprise have managed to do to Microsoft’s image in the eyes of the broader developer community in the past couple of years, by open-sourcing their work as well as embracing existing standards rather than inventing their own, then that’s certainly the kind of whole new appeal and earned good will the Dynamics ecosystem could use, too. Making Dynamics CRM more accessible for new vendors to connect with and build their IP on, while at the same time increasing its financial attractiveness by better driving customers to explore the add-on market offering is the kind of virtuous cycle that a thriving business application platform truly needs. If the new “mainstream” position of Dynamics in MS’s portfolio means that the CRM & ERP products would be considered as the de facto tools for solving the business agility challenges that MS talks about when pitching its Azure technologies, this would also help a lot in solidifying Dynamics as the premier platform to build your business processes on.

  • Setting up a Microsoft Dynamics CRM 2013 development server on Windows Azure

    Setting up a Microsoft Dynamics CRM 2013 development server on Windows Azure

    First the great news: Microsoft Dynamics CRM 2013 has been officially released today, on October 8th 2013! Not only can you sign up for a brand new Fall ’13 trial environment in CRM Online but you can also download the on-premises bits for the RTM release (build number 06.00.0000.0809). Here are the download links:

    Microsoft Dynamics CRM Server 2013
    http://www.microsoft.com/en-us/download/details.aspx?id=40341

    Microsoft Dynamics CRM 2013 Language Packs
    http://www.microsoft.com/en-us/download/details.aspx?id=40340

    Microsoft Dynamics CRM 2013 Email Router
    http://www.microsoft.com/en-us/download/details.aspx?id=40342

    Microsoft Dynamics CRM 2013 Report Authoring Extension (with SQL Server Data Tools support)
    http://www.microsoft.com/en-us/download/details.aspx?id=40343

    Microsoft Dynamics CRM 2013 for Microsoft Office Outlook (Outlook Client)
    http://www.microsoft.com/en-us/download/details.aspx?id=40344

    Microsoft Dynamics CRM 2013 List Component for Microsoft SharePoint Server 2010 and Microsoft SharePoint Server 2013 (for multiple browsers)
    http://www.microsoft.com/en-us/download/details.aspx?id=40345

    Servers in the cloud

    Now then, what should we do with these shiny new CRM 2013 bits? If you haven’t got any spare hardware lying around but you do have an active MSDN subscription, then why not leverage the subscriber benefits and set up a development/test server in Windows Azure? It’s easy, it’s fast, and if you have the MSDN credits, it’s also FREE!

    Azure_MSDN_benefit

    The discounted rates for MSDN subscribers make it up to 97% cheaper to run a virtual machine on Azure compared to the standard rates, leaving the cost at only $0.06 per hour for a VM (small instance). Combine this with the fact that Azure VM’s are nowadays charged by the minute and they incur no charges when the VM is stopped, you can stretch a few $ worth of Azure credits for quite a long period of testing. If you haven’t yet looked into the MSDN benefits, go and read this article on Scott Guthrie’s blog for all the details.

    Not only does MSDN provide you with free credits to spend on your favorite Azure service, you can also leverage the MSDN usage rights for software running on a Windows Azure virtual machine. For a great review of the licensing options for setting up Dynamics CRM development and test environments by using MSDN, look no further than this recent blog post by Leon Tribe.

    Preparing a development server for CRM 2013

    While you can’t just directly provision an Azure VM image pre-configured with CRM 2013 (at least not yet), you can skip a few steps by starting with an image from the Azure VM Gallery that comes with SQL Server 2012. You will need to setup Active Directory and IIS before starting the CRM 2013 server installation, which requires a set of clicks and a couple of reboots.

    To make this process faster, I decided to take notes of the steps needed in installing the required components for CRM 2013 and share them with anyone who’s interested in doing the same. So, here’s a 50 slide presentation with screenshots of the configuration tasks and options to install a working CRM 2013 dev/test/demo server on a Windows Azure VM:

    Do take note of this fact before proceeding any further: this is NOT the “how to” of deploying a live CRM 2013 server. These are the minimum steps needed to get the Dynamics CRM server installation process to complete without errors – nothing more. When considering setting up a proper test and production environment, the first thing you need to do is read the Microsoft Dynamics CRM 2013 Implementation Guide.

    For taking CRM 2013 on a casual test drive and seeing what your current CRM 2011 organization looks like when imported into the latest server version, the steps outlined in the presentation are all you need to get started. I’ve timed the process and the last time it took around 1.5 hours from provisioning a new VM from the Azure Gallery to having a fully working test instance of CRM 2013 in the cloud. Not quite the couple of minutes that spinning up a new CRM Online organization takes, but short enough to set up an ad-hoc test environment for development and configuration tasks that are more easily accomplished with full CRM server and SQL database access.