Under the skin of Dynamics 365 Business Central

Microsoft invested a lot in the last year and continues to invest in a modernized and streamlined Dynamics 365 Business Central architecture in order to have an ERP cloud service solution that is easy to deploy and upgrade.

At the time of writing, statistics are very encouraging and even exceed expectations.

Basically, a new Dynamics 365 Business Central tenant is created every 180 seconds. 400,000 metrics are emitted per minute, with approximately 8 TB of logs generated per day. These logs are then pre-processed, aggregated, and approximately 4 TB data is uploaded to Cosmos DB for big data analysis via the Azure Data Lake service.

These are just some of the numbers that Dynamics 365 Business Central is producing, and just a few of the Microsoft cloud services that are used to provide the best online ERP experience in the world.

At this pace, in the near future, it might be foreseeable that Artificial Intelligence (AI) could be used to self-trigger microservice tuning at all platform and application levels.

Going a bit deeper, considering that Azure technologies are involved, at the time of writing, there are 20 resources that are orchestrated together in every single microservice collection. This goes to show what a complex environment is provided to users and developers in the simplest way possible.

The Dynamics 365 Business Central development team's main goal is to move the extensibility burden to the partners and the customers. Partners and customers have to completely forget about where and how the data is stored, as well as the technologies that are required to gather, transform, and upgrade it. Instead, they should simply concentrate on extending the application. No platform skills are required; simply hit refresh and repeat "developers, developers, developers..."

Here is a tabular overview of the Azure resources that are used to build each platform service, their purposes, and links to more information about each resource:

Azure resource

General-purpose

Link

Azure Service Fabric

Distributed systems platform that makes it easy to deploy and manage scalable microservices and containers.

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview

Azure Key Vault

To encrypt and decrypt data within the application and several other security-related features.

https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis

Application Gateway

Web traffic load balancer that makes an intelligent load distribution of the application calls.

https://docs.microsoft.com/en-us/azure/application-gateway/overview

SQL Elastic Database Pools

Resource optimizer for Azure SQL databases that's used for customer and application tenants.

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool

Application Insights

Set of tools for gathering log information and sending it as telemetry data.

https://docs.microsoft.com/en-us/azure/application-insights/app-insights-overview

Azure Machine Learning (ML) service

SaaS-based lab for developing and applying machine learning models and their outcomes.

https://docs.microsoft.com/en-us/azure/machine-learning/service/overview-what-is-azure-ml

Azure Search

APIs for advanced search to be implemented inside applications and microservices.

https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search

Azure Storage

Provides the storage layer abstraction to preserve data according to security and privacy. These reflect regional legal models.

https://docs.microsoft.com/en-us/azure/storage/

Azure Active Directory (AD)

Microsoft's cloud-based identity and access management service. Guaranteed secure and solid sign-in and resource access.

https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-whatis

Azure Function

Provides APIs for specific routines/functions in isolated environments. Suggested replacement for Dynamics 365 Business Central and .NET interoperability.

https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview

Traffic Manager

DNS-based traffic load balancer, the main purpose of which is to distribute traffic load optimally to services across global Azure regions, all while providing high availability and responsiveness.

https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview

Azure Load Balancer

Used to guarantee high availability for microservices. Load Balancer supports inbound and outbound scenarios and provides low latency and high throughput. It scales up to millions of flows for all TCP and UDP applications.

https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-overview

Azure SQL Database

A relational database for managing data in and out of cloud storage.

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-technical-overview

Azure Container Registry

Stores base images for all types of container deployments. Typically used to store sandbox images to be downloaded for development purposes.

https://docs.microsoft.com/en-us/azure/container-registry/

Azure Data Lake Storage Gen1

Used to analyze the huge amount of telemetry data that's created.

https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-overview

Azure Service Bus

A message broker solution that's used to decouple applications and services from each other. Data is transferred between different applications and services.

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview

Health Monitoring

Azure Service Fabric introduces a scalable set of analytics tools to monitor system and/or service health.

Alerts can be created with specific rules and sent to on-call operation engineers.

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-overview

Azure Virtual Network

Enables many types of Azure resources, such as Azure virtual machines, to securely communicate with each other and the internet.

https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview

Azure Data Factory

A cloud-based data integration service that allows the creation of data-driven workflows for automating data movement and data transformation.

https://docs.microsoft.com/en-us/azure/data-factory/introduction

Cosmos DB

Used to aggregate telemetry data and further analysis.

https://docs.microsoft.com/en-us/azure/cosmos-db/introduction

 

Global services are just a few services that don't store any data and only perform processing activities. They are just proxies that don't hold any data and are used to redirect requests to the appropriate control and data planes.

Global services are mainly used to redirect requests to the appropriate control planes; in fact, they are simply routing the information when users are logging in. The fixed client endpoint is responsible for routing to the appropriate control and data plane based on credentials. No other extra information is needed.

There are several global services in different world regions with multiple instances, but they are all accessed from within the same endpoint. A traffic manager in front of them redirects the call to the closest instance where the calls come from. This makes the Dynamics 365 Business Central service very efficient and performant. Statistically, 30,000 calls per hour are routed through Dynamics 365 Business Central global services. Next, let's understand where and how these work.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.202.54