web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Answered

Relation between Dynamics 365 Server, IIS and Iaas VMs

(0) ShareShare
ReportReport
Posted on by 678

Hi All,

According to one of important points about the changes in the server architecture, it is written as follows:

"The server, including the application code base, is deployed to an Internet Information Services (IIS) web application. In the cloud, it's deployed to Microsoft Azure infrastructure as a service (IaaS) virtual machines (VMs)"

Does this mean that the AOS is hosted in the IIS web application? Also I see that the IIS web application is already installed on the local VM I am currently using. Does this imply that the AOS is deployed to Azure Iaas VMs by deploying the AOS to the IIS web application on the local VM I am using? 

please explain a bit more in detail or provide me with links where I can understand this sentence better. 

Thank you. 

I have the same question (0)
  • Verified answer
    Martin Dráb Profile Picture
    237,970 Most Valuable Professional on at

    D365FO is a web application and therefore it runs on a web server, such as IIS. For development, IISExpress is usually used instead of IIS.

    It's true for all environments, including your local VM.

    You can open IIS Manager and check that there indeed is a site called "AOSService".

  • ShawnDEV Profile Picture
    678 on at

    Hi Martin,

    I just opened the IIS manager. 

    I see demo-1 with the server icon. I guess this is a main server of the local VM itself, not the AOS. Am I right?

    Also, If I understood correctly, can we see like

    " Each time a client computer makes a request to the IIS, a web server via  D365FO, a web application which is hosted by IIS, IIS responds to the client computer using the AOS service which is also hoisted by IIS." 

    Could you amend this in a more accurate way, please? 

    pastedimage1599733672992v1.png

    Thank you.

  • Verified answer
    Martin Dráb Profile Picture
    237,970 Most Valuable Professional on at

    Yes, 'demo-1' is the whole computer, not an individual application. The AOS is the site called AOSService.

  • ShawnDEV Profile Picture
    678 on at

    Hi Martin,

    Based on what we discussed,

    can we say that the development VM uses a combined web server and application server where  the D365FO runs on the IIS web server for the static content and the AOS, which is an application server for the business logic?

    Also, I read about ASP.NET Core which is one of features of IIS. How does this feature work in relation to IIS and/or AOS? 

    Thank you.

  • Verified answer
    Martin Dráb Profile Picture
    237,970 Most Valuable Professional on at

    No, such a statement isn't correct. There is no separate AOS service anymore. F&O is a web application and web applications run on web servers (IIS or IISExpress in this case).

    ASP.NET Core is a framework for developing web applications on .NET Core. But F&O doesn't run on .NET Core, therefore it's not related to it at all. F&O is based on .NET Framework, which sounds similar to .NET Core, but they're two different things.

  • ShawnDEV Profile Picture
    678 on at

    Hi Martin,

    I have checked that the .Net Framework is indeed installed on IIS server at my local VM. I guess then we can say that the F&O is an web application targeting .Net Framework and it can also be called a .Net application. Is it correct?

    Also, according to the architecture of the D365FO Development environment, a local runtime is described as a separate box. I guess it is a CLR, which is an environment in which we can run .Net applications that have been developed via tools like Visual studio and complied to CIL. Could you confirm that it is also correct?

    Lastly, going back to the communication between a Client computer and IIS, can we say "Each time a client computer makes a request to IIS via the F&O web application, the CLR turns the request-related CIL code into machine code using AOS service hosted by IIS and then IIS responds to the client computer" ?

    Thank you. 

  • Verified answer
    Martin Dráb Profile Picture
    237,970 Most Valuable Professional on at

    Of course the .NET Framework it already installed there. The VM already has F&O and all its prerequisites installed.

    Yes, it's a web application targeting .NET Framework, as discussed above.

    Yes, CLR is the runtime environments for .NET applications.

    The last statement isn't correct. First of all the compiler to native code is deep inside CLR, it's not depending on F&O in any way. F&O is using CLR, not the other way around. Also, the compilation from CIL to native code happens just for the first time, not on every request. Note that the whole compilation to native code is an implementation details that you can safely ignore.

  • ShawnDEV Profile Picture
    678 on at

    Hi Martin,

    Okay. so for example, if the request from the client is like "creating a new record in a form, like customer group", it will be sent to IIS and the AOS service hosted by IIS will be responsible for this request as it is dealing with a dynamic content. Then the server will execute the business logic like a custom code in response to the incoming request and  return the response to the client computer... How does it sound, now?

    Also, if I understood correctly, when the serve executes the custom code within the business logic, there is no compilation needed at all as the whole compilation to native code was done at the beginning of the build. Does that mean that the processor in the server just uses the native code compiled to response to the request after the whole compilation was done?

    Thank you again.

  • Verified answer
    Martin Dráb Profile Picture
    237,970 Most Valuable Professional on at

    Yes, your description of web applications is correct.

    As I said, you can ignore the whole thing about native code - it's an implementation detail that doesn't impact your work in any way. Learning how CLR works under the hood may be beneficial, of course, but it's not something that belongs to a Dynamics 365 Finance forum. Note that you can find a plenty of resources on the internet, including Wikipedia.

    To give you at least a brief overview here, it works roughly in this way:

    1. You write X++ code and build it. Building a model means compiling X++ to CIL.
    2. You deploy CIL (in .DLL files) to an environment.
    3. When a piece of code its called at runtime, CLR will check if it has it compiled to native code. If not, CLR uses JIT compiler to compile CIL to the native code. If it already has native code, it'll simply call it. The extra step of compiling CIL to native code is there for performance reasons.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 456 Super User 2025 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 429 Most Valuable Professional

#3
BillurSamdancioglu Profile Picture

BillurSamdancioglu 239 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans