Category: Microsoft
Category Archives: Microsoft
Client Analyzer Page – Release notes
It would be helpful if the client analyzer page had release notes to go along with new version releases and update, and also a subscription notification for when the page has been updated.
(https://learn.microsoft.com/en-us/defender-endpoint/run-analyzer-macos-linux?view=o365-worldwide)
Currently the best guess is check last page edited date, but this has not been reliable in the past as the page has been edited without Client Analyzer updates or the ClientAnalyzer has been updated without page edits.
It would be helpful if the client analyzer page had release notes to go along with new version releases and update, and also a subscription notification for when the page has been updated. (https://learn.microsoft.com/en-us/defender-endpoint/run-analyzer-macos-linux?view=o365-worldwide) Currently the best guess is check last page edited date, but this has not been reliable in the past as the page has been edited without Client Analyzer updates or the ClientAnalyzer has been updated without page edits. Read More
How do I submit app with api on azure, I am new to azure and struggling to submit or host.
Hi there,
I am trying for the first time on Microsoft azure I am new developer and have very few knowledge about the azure I am trying to create a web app like. AI to human text converter https://aitohumanizetextconverter.com this website is a sample but my app is similar to this. How do I submit or host my app on azure. I really appreciate if i get any sort of guidance.
Thank you
Hi there,I am trying for the first time on Microsoft azure I am new developer and have very few knowledge about the azure I am trying to create a web app like. AI to human text converter https://aitohumanizetextconverter.com this website is a sample but my app is similar to this. How do I submit or host my app on azure. I really appreciate if i get any sort of guidance. Thank you Read More
Issues with Oracle Database Classification in Microsoft Purview
Hello,I’m testing the registration of an Oracle on-prem database with Microsoft Purview. The scan is running successfully and ingesting metadata, but it is not identifying any classifications.although this dataset is used with SQL Server and works properly, showing all the classifications, there is a section discussing this saying that If the user is not the owner of the table, the scan will run successfully and ingest metadata, but will not identify any classifications. https://learn.microsoft.com/en-us/purview/register-scan-oracle-source#required-permissions-for-scanBut it’s already done and the user have all the select roles and system roles.Could anyone help i don’t know where is the problem Thanks in advance Read More
Issues with Hybrid Azure AD Join During Autopilot Enrollment
Hello Community,
I am seeking advice on an issue we’re experiencing with Microsoft Intune and Autopilot in our environment. We have set up an enrollment profile intended to enroll devices as Hybrid Azure AD joined during the Autopilot process. However, we’re encountering a problem where some devices are enrolling as Azure AD joined (cloud-only) instead of Hybrid.
Has anyone else experienced this issue? Any suggestions on what might be causing this inconsistency or how to troubleshoot it further would be greatly appreciated!
Hello Community,I am seeking advice on an issue we’re experiencing with Microsoft Intune and Autopilot in our environment. We have set up an enrollment profile intended to enroll devices as Hybrid Azure AD joined during the Autopilot process. However, we’re encountering a problem where some devices are enrolling as Azure AD joined (cloud-only) instead of Hybrid.Has anyone else experienced this issue? Any suggestions on what might be causing this inconsistency or how to troubleshoot it further would be greatly appreciated! Read More
The ability to add photos / images to Microsoft Authenticator accounts
Hi,
First post in this forum (hello to all !).
Can we have the ability to add photos / images to each account listed on our Microsoft Authenticator accounts ? This would allow me to quickly identify which account code I need on the long list of accounts I have connected to my Authenticator app.
Many thanks
Jay
Hi, First post in this forum (hello to all !). Can we have the ability to add photos / images to each account listed on our Microsoft Authenticator accounts ? This would allow me to quickly identify which account code I need on the long list of accounts I have connected to my Authenticator app. Many thanksJay Read More
Days Earned Calculator
Good Day!
I have a set of guidelines for earning bonus days off. (eg. between 251-450hrs earns 2 holiday days) As you can see in the attached pic. I would like to build a calculator that will allow me to enter a number of hours and it tells me how many bonus days I qualify for. The guidelines and rough calculator are in the pic, can you please help?
(Please note: these are not actual numbers, only made up values. Please don’t call the labor board LOL)
Good Day! I have a set of guidelines for earning bonus days off. (eg. between 251-450hrs earns 2 holiday days) As you can see in the attached pic. I would like to build a calculator that will allow me to enter a number of hours and it tells me how many bonus days I qualify for. The guidelines and rough calculator are in the pic, can you please help? (Please note: these are not actual numbers, only made up values. Please don’t call the labor board LOL) Read More
Viva Training Inquiry
Hi,
Our company is looking to implement online training programs and I have a few questions. I have not been able to get in touch with a microsoft sales representative.
1. We would like to create quizzes and have them embedded to the training modules. Is this possible?
2. Is this private so it is only visible to people within the company?
3. Organizaiton is key factor for us. These training documents will be auditied How does it keep records?
4. Is there any type of integration possibilies with our in house crm(customer relationship management system)?
5. Company of around 50 people what is the cost? What is the main differences in price tiers
6. Any metrics available to show the impact of the viva system?
Hi, Our company is looking to implement online training programs and I have a few questions. I have not been able to get in touch with a microsoft sales representative. 1. We would like to create quizzes and have them embedded to the training modules. Is this possible?2. Is this private so it is only visible to people within the company?3. Organizaiton is key factor for us. These training documents will be auditied How does it keep records?4. Is there any type of integration possibilies with our in house crm(customer relationship management system)?5. Company of around 50 people what is the cost? What is the main differences in price tiers6. Any metrics available to show the impact of the viva system? Read More
Visual Basic/Macros
I have uninstalled office, reinstalled office. I have even updated the office apps and then I have ran quick repair. I have checked for any add ins that can cause this issue. For some reason my selection options for the VBA and the Macros are all greyed out on Word app. I cannot use the VBA as all the options to make changes and personalization are all greyed out.
I have uninstalled office, reinstalled office. I have even updated the office apps and then I have ran quick repair. I have checked for any add ins that can cause this issue. For some reason my selection options for the VBA and the Macros are all greyed out on Word app. I cannot use the VBA as all the options to make changes and personalization are all greyed out. Read More
Purview Governance – New Portal Not Ready for GA Use (noted in Preview)
It feels like the New Portal for Purview, Governance in particular is partially ready for release. I am getting many errors and inconsistencies. I havent received support yet. Anyone else experienceing these issues?
1. Unable to test my REGEX for pattern accuracy (though used same file to create pattern)
2. Unable to set a Data Quality Connection for SQL
3. Missing Data Products within Data Access
4. Inconsistent use of Tech metadata to Business Glossary terms
5. Missing Glossary terms in Data Search function
6. Missing Data Products in Data Products Search
7. Unable to bulk upload Business Glossary terms
I am surprised their are not more community postings for the issues.
It feels like the New Portal for Purview, Governance in particular is partially ready for release. I am getting many errors and inconsistencies. I havent received support yet. Anyone else experienceing these issues?1. Unable to test my REGEX for pattern accuracy (though used same file to create pattern)2. Unable to set a Data Quality Connection for SQL3. Missing Data Products within Data Access4. Inconsistent use of Tech metadata to Business Glossary terms5. Missing Glossary terms in Data Search function6. Missing Data Products in Data Products Search7. Unable to bulk upload Business Glossary termsI am surprised their are not more community postings for the issues. Read More
Internal Quick Link opening in a new tab
I have a quick links web part at the top of my SharePoint page that is used as quick navigation. There are currently 5 quick links that, when clicked, take the user to the appropriate section on the page. However, when I try to add a new one following the same steps (copy and paste the section link into the quick link web part), I’m not getting the same result; it will open in a new tab. All of the links are internal and from the SharePoint page. What am I missing?
I have a quick links web part at the top of my SharePoint page that is used as quick navigation. There are currently 5 quick links that, when clicked, take the user to the appropriate section on the page. However, when I try to add a new one following the same steps (copy and paste the section link into the quick link web part), I’m not getting the same result; it will open in a new tab. All of the links are internal and from the SharePoint page. What am I missing? Read More
Maximize Your Cloud Efficiency: Embrace VM Hibernation
In the ever-evolving landscape of cloud computing, cost management remains a top priority for businesses. One innovative feature that stands out for its ability to drive down costs without compromising performance is VM Hibernation. This powerful tool allows you to pause your Virtual Machines (VMs) when they’re not in active use, leading to significant savings on compute costs.
Ideal Use Cases for VM Hibernation.
VM Hibernation shines in several scenarios:
Virtual Desktops and Dev/Test Servers: These environments often don’t require round-the-clock operation, making hibernation an excellent choice for reducing expenses.Memory-Intensive Applications: Systems that take considerable time to boot up due to such applications can benefit immensely. By initializing these applications on VMs and then hibernating them, you can have “prewarmed” VMs ready to spring into action swiftly, with all applications already in the desired state.
Understanding the Hibernation Process
When you opt to hibernate a VM, Azure orchestrates a seamless suspend-to-disk action. It securely stores the VM’s memory contents on the OS disk and then deallocates the VM. Upon reactivation, these contents are promptly restored to memory, allowing your applications and processes to pick up exactly where they left off.
Cost Implications of Hibernating Your VM
A hibernated VM incurs no charges for VM usage. Instead, you’re only billed for the storage (OS and data disks) and networking resources (like IPs) that remain attached to the VM.
Key Points When Hibernating a VM:
Trigger hibernation through various means like the Azure portal, CLI, PowerShell, SDKs, or APIs.The memory contents are preserved on the OS disk while the VM is deallocated and powered off.Temporary disk data is not retained.The OS disk, data disks, and NICs stay attached, and any static IPs remain unchanged.Enjoy freedom from VM usage billing during hibernation.Storage and networking resource billing continues as usual.
Embracing VM Hibernation is a smart move for any cloud-centric organization looking to optimize operations and reduce costs. It’s not just about saving money; it’s about smart resource management that aligns with your business needs.
Hibernation support is limited to certain VM sizes and OS versions. Make sure you have a supported configuration before using hibernation.
The following Windows operating systems support hibernation:
Windows Server 2022Windows Server 2019Windows 11 ProWindows 11 EnterpriseWindows 11 Enterprise multi-sessionWindows 10 ProWindows 10 EnterpriseWindows 10 Enterprise multi-session
The following Linux operating systems support hibernation:
Ubuntu 22.04 LTSUbuntu 20.04 LTSUbuntu 18.04 LTSDebian 11Debian 10 (with backports kernel)RHEL 9.0 and higher (with minimum kernel version 5.14.0-70)RHEL 8.3 and higher (with minimum kernel version 4.18.0.240)
VM sizes with up to 64-GB RAM from the following General Purpose VM series support hibernation.
Dasv5-seriesDadsv5-seriesDsv5-seriesDdsv5-seriesEasv5-seriesEadsv5-seriesEsv5-seriesEdsv5-series
VM sizes with up to 112-GB RAM from the following GPU VM series support hibernation.
NVv4-series (in preview)NVadsA10v5-series (in preview)
To enable hibernation on an existing VM, you can use Azure CLI, PowerShell, or REST API.
Enabling hibernation on an existing Windows/ Linux VM using PowerShell
1. To use Azure PowerShell to enable hibernation on an already-running virtual machine, stop the machine first using Stop-Az vm deallocate. Update the VM and OS disk after the VM has been deallocated.
Stop-AzVM -ResourceGroupName ‘TestResourceGroup’ -Name ‘TestVMName’
2. Update the OS disk to change SupportsHibernation to true after the virtual machine has been halted. You can skip this step and go on to the next if SupportsHibernation is already set to true.
$disk = Get-AzDisk -ResourceGroupName “TestResourceGroup” -DiskName “myOSDisk”
$disk.SupportsHibernation = $True
Update-AzDisk -ResourceGroupName ‘myResourceGroup’ -DiskName ‘myOSDisk’ -Disk $disk
3. Enable hibernation on the VM.
$vm= Get-AzVM -ResourceGroupName “TestResourceGroup” -Name “TestVM”
Update-AzVM -ResourceGroupName “TestResourceGroup” -VM $vm -HibernationEnabled
4. After launching the virtual machine, configure the guest operating system for hibernation.
Start-AzVM -ResourceGroupName ‘TestResourceGroup’ -Name ‘TestVM’
General limitations
When hibernation is activated on a virtual machine, you can resize it; when hibernation is disabled, you cannot. It should be either Running or Stopped for the virtual machine.Nested Virtualization only supports hibernation if Trusted Launch is turned on in the virtual machine.You are unable to attach, detach, or alter any disks or NICs connected to a hibernated virtual machine. Rather, a Stop-Deallocated state must be applied to the VM.There is no capacity guarantee when a virtual machine (VM) is hibernated, hence there may not be enough capacity to restart the VM at a later time. You can attempt starting the virtual machine (VM) later if, in the extremely unlikely event that capacity problems arise. Hibernated VM capacity is not guaranteed by capacity reservations.Using the Azure portal, CLI, PowerShell, SDKs, and API is the sole way to hibernate a virtual machine. The virtual machine (VM) is still billed even when it is put into hibernation by guest OS activities.
If you want step-by-step guidance to enable hibernation for existing Windows VM, you can check the below YouTube video.
https://www.youtube.com/watch?v=cLs6DI8cz_w
In the ever-evolving landscape of cloud computing, cost management remains a top priority for businesses. One innovative feature that stands out for its ability to drive down costs without compromising performance is VM Hibernation. This powerful tool allows you to pause your Virtual Machines (VMs) when they’re not in active use, leading to significant savings on compute costs.Ideal Use Cases for VM Hibernation. VM Hibernation shines in several scenarios: Virtual Desktops and Dev/Test Servers: These environments often don’t require round-the-clock operation, making hibernation an excellent choice for reducing expenses.Memory-Intensive Applications: Systems that take considerable time to boot up due to such applications can benefit immensely. By initializing these applications on VMs and then hibernating them, you can have “prewarmed” VMs ready to spring into action swiftly, with all applications already in the desired state.Understanding the Hibernation Process When you opt to hibernate a VM, Azure orchestrates a seamless suspend-to-disk action. It securely stores the VM’s memory contents on the OS disk and then deallocates the VM. Upon reactivation, these contents are promptly restored to memory, allowing your applications and processes to pick up exactly where they left off. Cost Implications of Hibernating Your VM A hibernated VM incurs no charges for VM usage. Instead, you’re only billed for the storage (OS and data disks) and networking resources (like IPs) that remain attached to the VM. Key Points When Hibernating a VM: Trigger hibernation through various means like the Azure portal, CLI, PowerShell, SDKs, or APIs.The memory contents are preserved on the OS disk while the VM is deallocated and powered off.Temporary disk data is not retained.The OS disk, data disks, and NICs stay attached, and any static IPs remain unchanged.Enjoy freedom from VM usage billing during hibernation.Storage and networking resource billing continues as usual. Embracing VM Hibernation is a smart move for any cloud-centric organization looking to optimize operations and reduce costs. It’s not just about saving money; it’s about smart resource management that aligns with your business needs. Hibernation support is limited to certain VM sizes and OS versions. Make sure you have a supported configuration before using hibernation. The following Windows operating systems support hibernation: Windows Server 2022Windows Server 2019Windows 11 ProWindows 11 EnterpriseWindows 11 Enterprise multi-sessionWindows 10 ProWindows 10 EnterpriseWindows 10 Enterprise multi-sessionThe following Linux operating systems support hibernation: Ubuntu 22.04 LTSUbuntu 20.04 LTSUbuntu 18.04 LTSDebian 11Debian 10 (with backports kernel)RHEL 9.0 and higher (with minimum kernel version 5.14.0-70)RHEL 8.3 and higher (with minimum kernel version 4.18.0.240)VM sizes with up to 64-GB RAM from the following General Purpose VM series support hibernation. Dasv5-seriesDadsv5-seriesDsv5-seriesDdsv5-seriesEasv5-seriesEadsv5-seriesEsv5-seriesEdsv5-seriesVM sizes with up to 112-GB RAM from the following GPU VM series support hibernation. NVv4-series (in preview)NVadsA10v5-series (in preview) To enable hibernation on an existing VM, you can use Azure CLI, PowerShell, or REST API. Enabling hibernation on an existing Windows/ Linux VM using PowerShell1. To use Azure PowerShell to enable hibernation on an already-running virtual machine, stop the machine first using Stop-Az vm deallocate. Update the VM and OS disk after the VM has been deallocated. Stop-AzVM -ResourceGroupName ‘TestResourceGroup’ -Name ‘TestVMName’ 2. Update the OS disk to change SupportsHibernation to true after the virtual machine has been halted. You can skip this step and go on to the next if SupportsHibernation is already set to true. $disk = Get-AzDisk -ResourceGroupName “TestResourceGroup” -DiskName “myOSDisk”
$disk.SupportsHibernation = $True
Update-AzDisk -ResourceGroupName ‘myResourceGroup’ -DiskName ‘myOSDisk’ -Disk $disk 3. Enable hibernation on the VM. $vm= Get-AzVM -ResourceGroupName “TestResourceGroup” -Name “TestVM”
Update-AzVM -ResourceGroupName “TestResourceGroup” -VM $vm -HibernationEnabled 4. After launching the virtual machine, configure the guest operating system for hibernation. Start-AzVM -ResourceGroupName ‘TestResourceGroup’ -Name ‘TestVM’ General limitationsWhen hibernation is activated on a virtual machine, you can resize it; when hibernation is disabled, you cannot. It should be either Running or Stopped for the virtual machine.Nested Virtualization only supports hibernation if Trusted Launch is turned on in the virtual machine.You are unable to attach, detach, or alter any disks or NICs connected to a hibernated virtual machine. Rather, a Stop-Deallocated state must be applied to the VM.There is no capacity guarantee when a virtual machine (VM) is hibernated, hence there may not be enough capacity to restart the VM at a later time. You can attempt starting the virtual machine (VM) later if, in the extremely unlikely event that capacity problems arise. Hibernated VM capacity is not guaranteed by capacity reservations.Using the Azure portal, CLI, PowerShell, SDKs, and API is the sole way to hibernate a virtual machine. The virtual machine (VM) is still billed even when it is put into hibernation by guest OS activities. If you want step-by-step guidance to enable hibernation for existing Windows VM, you can check the below YouTube video. https://www.youtube.com/watch?v=cLs6DI8cz_w Read More
any recent change on MDC classic view?
Is there any recent change on MDC classic view? about 2 weeks ago, we saw some high severity recommendations, such as “All network ports should be restricted on network security groups associated to your virtual machine” for a VM because the source for an inbound port rule of the NSG is any, today, we no longer see the high severity recommendation for the VM, even the rule remains the same.
Is there any recent change on MDC classic view? about 2 weeks ago, we saw some high severity recommendations, such as “All network ports should be restricted on network security groups associated to your virtual machine” for a VM because the source for an inbound port rule of the NSG is any, today, we no longer see the high severity recommendation for the VM, even the rule remains the same. Read More
Unable to create a new object on my list
Hello,
I created a new object on my list (grid view), but he doesn’t appear on my main page (yellow circle). I don’t understand whats the problem.
Grid view
Main view
Thank you
Hello, I created a new object on my list (grid view), but he doesn’t appear on my main page (yellow circle). I don’t understand whats the problem. Grid view Main view Thank you Read More
I cant see my own lists
So, I created one list on my sharepoint page but after that I can’t find it on “my lists”.
I can find it using the search bar and I can put information in it.
Also I can’t add the list on my favorite.
So, I created one list on my sharepoint page but after that I can’t find it on “my lists”.I can find it using the search bar and I can put information in it.Also I can’t add the list on my favorite. Read More
.BAK file restore in SSMS
hi, All. I am trying to restore database using .Bak file in (using ssms). But When I am restoring it shows me error of memory. I have attach the pic below. Even my C drive have 132 gb free space. What should I do in this ? Please help
hi, All. I am trying to restore database using .Bak file in (using ssms). But When I am restoring it shows me error of memory. I have attach the pic below. Even my C drive have 132 gb free space. What should I do in this ? Please help Read More
Azure enterprise application access to all user
Hi
I was hoping someone can shed some light on this. I added an SSO Enterprise application. We are not auto=provisioning and don’t want to restrict the Azure connectivity to a small group. How can I manage this?
Hi I was hoping someone can shed some light on this. I added an SSO Enterprise application. We are not auto=provisioning and don’t want to restrict the Azure connectivity to a small group. How can I manage this? Read More
Process Monitor v4.0 and Sysmon 1.3.3 for Linux
The new column, Process Start, can be used to filter processes by their start times – for example to hide all processes that were running when this Process Monitor session started, or to only show those processes. In the Process Monitor Filter dialog, this column will have the timestamp of the current time as a pre-filled value in the drop-down. Copying and pasting a value from any of the timestamp columns in the main event list also works.
The user interface improvements in this version include a more native look to the dark theme, new interface icons, more consistent behaviors for the summary dialogs accessible through the Tools menu, better mouse and keyboard navigation, and template values autofilled to some of the filter columns. The summary dialogs now have the “Edit Filter” option, and the main event list supports a per-column “Count Occurrences” action.
We have fixed two Boot Logging bugs: one that incorrectly stopped the log after 428 seconds with profiling events enabled and one that incompletely initialized module symbol information with the /ConvertBootLog command line option.
Copying items to the clipboard from the main event list is faster and also displays the interruptible progress dialog visible with other time consuming operations throughout Procmon.
There are also a series of UI element alignment fixes, we updated the online search from the event properties dialog, the dialogs’ geometry, we enabled runtime checks, and made a series of security improvements.
Microsoft Tech Community – Latest Blogs –Read More
How to achieve high HTTP scale with Azure Functions Flex Consumption
Taking Azure Functions from 0 to 32,000 RPS in 7 seconds
Consider a connected car platform that processes data from millions of cars. Or a national retailer running pop-up campaign that processes pre-orders. Or a healthcare provider calculating big data analytics. All of these can have variable load requirements — from zero to tens of thousands of requests per second (RPS). The serverless model has grown rapidly as developers increasingly run event-triggered code as a service, pushing platform limits, and Azure Functions customers now want to orchestrate complex serverless solutions and expect high throughput.
This feedback led us to revamp the Azure Functions platform architecture to help ensure that it meets our customers’ most demanding performance requirements. As this article describes:
We have introduced the new Azure Functions Flex Consumption plan that you can use to achieve high-volume HTTP RPS while optimizing costs.
You can customize the per instance concurrency of HTTP-triggered functions and choose between instance memory sizes to fit your throughput and cost requirements.
We demonstrate achieving 32,000 RPS in 7 seconds with a sample retail customer flash sale case study, with a .NET HTTP triggered function app sending to Event Hubs through a VNet.
We demonstrate achieving 40,000 RPS with 1,000 instances in less than a minute with a Python app with per-instance concurrency of 1.
Understanding concurrency driven scaling
Per-instance concurrency is the number of parallel requests that each instance of your app can handle. In Azure Functions Flex Consumption, we’ve introduced deterministic concurrency for HTTP. All HTTP-triggered functions in your Flex Consumption app are grouped and scaled together in the same instances, and new instances are allocated based on the HTTP concurrency configured for your app. Per-instance concurrency is vital to great performance and it’s important to configure the maximum number of concurrent workloads that can be processed at the same time by a given instance. With higher concurrency, you can push more executions through and potentially pay less.
To show how this works using an example, imagine that 10 customers select the shopping cart at the same time on an e-commerce website, sending 10 requests to a function app. If concurrency is set to 1 and the app is scaled down to zero, the platform will scale the app to 10 instances and run 1 request on each instance. If you change concurrency to 2, the platform scales out to five instances, and each handles two requests.
In general, you can trust the default values to work for most cases and let Azure Functions scale dynamically based on the number of incoming events. I.e., Flex Consumption already provides default values that make the best of each language’s capabilities. For Python apps, the default concurrency is 1 for all instance sizes. For other languages, the 2,048 MB instance size uses a default concurrency of 16 and the 4,096 MB uses 32. In any case, you have the flexibility to choose the right per-instance settings for your workload.
You can change the HTTP concurrency using the Azure CLI’s trigger-type and perInstanceConcurrency parameters:
az functionapp scale config set -g <RESOURCE_GROUP> -n <FUNCTION_APP_NAME> –trigger-type http –trigger-settings perInstanceConcurrency=<CONCURRENCY>
This is also possible from the Azure Portal on the new Scale and Concurrency settings for Flex Consumption apps in the Concurrency per instance section:
Concurrency and instance memory sizes
Currently, Flex Consumption supports two instance memory sizes: 2,048 MB, and 4,096 MB, with more instance sizes to be added in the future. The default is 2,048 MB. Depending on your workload you can benefit from a larger instance size, which can potentially handle more concurrency or heavier workloads as well. To create your app with a different instance memory size, simply include the instance-memory parameter:
az functionapp create -g <RESOURCE_GROUP> -n <FUNCTION_APP_NAME> -s <STORAGE_ACCOUNT_NAME> –runtime <RUNTIME> –runtime-version <RUNTIME_VERSION> –flexconsumption-location “<AZURE_REGION>” –instance-memory <INSTANCE_MEMORY>
You can also change the instance memory size in the Azure Portal when creating the app, or from the same Scale and Concurrency settings mentioned above after the app is created.
Not all hosting providers support per-instance concurrency higher than 1, even if some workloads would benefit from it. If your function app doesn’t have compute-intensive operations, per-instance concurrency control may be very helpful. I.e., running four operations concurrently while paying the same is better than paying for one operation at a time.
Cold Start
It’s worth noting that when you set concurrency to a value higher than 1, you also reduce the cold start penalty for those concurrent executions. We recently wrote about the improvements in Azure Functions overall to reduce cold starts (Azure Functions cold start improvement). In Flex Consumption you can also help ensure that a minimum number of instances are always running and available. The new always ready feature keeps a select number of instances warm for your functions.
Protecting downstream components
In addition to concurrency and instance size, you need to consider whether a downstream component has limited throughput capacity, like a database or an API that your function calls. You can change the maximum number of instances that your Flex Consumption app scales to by modifying the maximum instance count setting. You can set it to a valid value between 40 (the lowest value for maximum instance count) and 1,000 (the maximum). For example, in Azure CLI:
az functionapp scale config set -g <RESOURCE_GROUP> -n <FUNCTION_APP_NAME> –maximum-instance-count <SCALE_LIMIT>
You can also change this in the Azure Portal from the same Scale and Concurrency settings mentioned above.
Case study: HTTP endpoint writing to Azure Event Hubs
A retail customer asked us to help with a project to handle a flash online promotion projected to receive a peak of 2 million HTTP requests per minute (approximately 35,000 RPS). A function app was used for the ingestion of contact information from interested buyers. The web component of this solution was hosted by a third party that could only forward a buyer’s contact information via HTTP. Our customer wanted to protect the incoming data using Azure managed identities and to forward it for downstream processing to Azure Event Hubs secured behind a virtual network.
We developed a sample that implements the basics of this scenario and ran it through a suite of performance tests. You can deploy and test the High scale HTTP function app to Event Hubs via VNet sample yourself.
Initial test setup
The application was deployed into Flex Consumption with the following settings:
Instance memory size set to 2,048 MB
Maximum instance count set to 100
HTTP concurrency set to the system assigned default of 16 concurrent requests per instance
1,000 concurrent clients, calling the HTTPS endpoint with a HTTP post, using Azure Load Testing, for three minutes
Results
The application achieved an average throughput of 15,630 requests per second.
The application handled almost 3 million requests in total during this three-minute test. Azure Load Testing reports the following latency distribution.
Request count
Latency P50
Latency P90
Latency P99
Latency P99.9
2969090
50 ms
96 ms
166 ms
2188 ms
We can analyze the scale-out behavior by looking at our logs in Application Insights. This query counts how many different instances emitted a log for each second of the test—the application was successfully executing across 80 instances within 10 seconds of the workload starting.
requests
| where timestamp >= datetime(2024-05-06T01:15:00.0000000Z) and timestamp <= datetime(2024-05-06T01:25:00.0000000Z)
| summarize dcount(cloud_RoleInstance) by bin(timestamp, 1s)
| render columnchart
Test variations
We then made some modifications to the setup to push the application performance higher, with a tradeoff on cost. We ran the same client load but with the following server configuration changes:
Updated maximum instance count to 500 (and regional subscription memory quota raised accordingly)
Separate test runs with HTTP per-instance concurrency set to 8 and 4
With Azure Load Testing, you can compare your runs, so we compared the concurrency values of 16, 8, and 4 directly.
As the chart shows, dropping the concurrency to 4 really made a difference for this workload, pushing the throughput well above 32,000 RPS. This result correlates to the reduced latency numbers—just under 6.6 million requests in three minutes with a P50 latency of 23 milliseconds.
Latency profile with HTTP Concurrency = 4
Here are the latency percentiles breakdown of the HTTP concurrency = 4 run:
Request count
Latency P50
Latency P90
Latency P99
Latency P99.9
6,596,600
23ms
39ms
88ms
172ms
With each instance handling fewer requests, we see a corresponding increase in the instance count with HTTP Concurrency of 4. This also translates into faster scaling, with the system scaling out to 250 instances within 7 seconds.
requests
| where timestamp >= datetime(2024-05-06T02:30:00.0000000Z) and timestamp <= datetime(2024-05-06T02:40:00.0000000Z)
| summarize dcount(cloud_RoleInstance) by bin(timestamp, 1s)
| render columnchart
Tuning for performance versus cost
The following table compares the overall performance and cost of these runs. Learn more about Flex Consumption billing meters.
Concurrency
configuration
Request count
RPS
GB seconds
Cost in USD
GB-sec cost per
1 million requests
16 (default)
2,969,090
15,630
28,679
$0.4588
$0.1545
8
3,888,524
20,358
40,279
$0.6444
$0.16573
4
6,596,600
32,980
93,443
$1.4951
$0.2266
The total cost of these runs went up as we lowered the concurrency because it reduced the latency, allowing Azure Load Testing to send more requests during the three-minute interval. The last column shows the normalized cost per 1 million requests, indicating that the better performance from a lower concurrency value comes at a higher cost.
We recommend performing this type of analysis on your own workload to determine which configuration best suits your needs. As the results for higher concurrency demonstrate, using per-instance concurrency in Azure Functions workloads can really help you reduce costs. A great way to accomplish this is by taking advantage of the integration between Azure Functions and Azure Load Testing.
Scale to 1000 instances in less than a minute
The Event Hub case study above demonstrates the cost savings you can unlock if your workload can take advantage of concurrency – but what about workloads that cannot? We have made heavy investments in optimizing the system to work well when the per-instance concurrency is set to 1.
Test Setup
Python function app with concurrency set to 1, instance size set to 2,048 MB
Workload is a mix of IO and CPU – an http triggered function that receives a 73 KB HTML document and then parses it
Updated maximum instance count to 1,000 and regional subscription memory quota raised accordingly
1,000 concurrent clients, calling the HTTPS endpoint with an HTTP post, using Azure Load Testing, for five minutes
Results
The system stabilizes at 40K RPS in less than a minute. The following chart shows our 4 most recent runs at time of writing:
Latency profile
Here are the latency percentiles breakdown of this HTTP concurrency = 1 run:
Request count
Latency P50
Latency P90
Latency P99
Latency P99.9
12,567,955
20ms
34ms
59ms
251ms
The system achieves this performance by scaling up to ~975 instances within 1 minute. The only reason it did not reach exactly 1000 is that slightly more than 1000 concurrent clients are needed to push it that far, due to network travel time. Here is the first minute of scaling activity:
requests
| where timestamp between (todatetime(‘2024-06-06T00:57:00Z’) .. 1m)
| summarize dcount(cloud_RoleInstance) by bin(timestamp, 1s)
| render columnchart
You will notice that the scaling is not linear – the system added instances much more rapidly during the first 10 seconds and then gradually de-accelerated. This behavior is by design – we believe this approach hits a sweet spot of delivering great burst scale performance while reducing the degree of unnecessary over-scaling. If you find that this scaling pattern does not work well for your workload, please let us know.
Compute injected into your virtual network, in milliseconds
We’ve introduced improved virtual network features to Azure Functions Flex Consumption. Your function app can reach services secured behind a virtual network (VNet) and can also be secured to your virtual network with service or private endpoints. But more importantly, your function apps can reach services that are restricted to a virtual network without sacrificing scale-out speed and with scale-to-zero.
Our customer scenario used a VNet to allow the function app to write to an event hub that had no public endpoint. You might be wondering whether this VNet injection comes at a performance cost in terms of startup latency. This latency matters not only when your application is fully idle and scaled to zero (cold start) but also when the application needs to scale out quickly.
To best answer the question for our customer, we ran a series of benchmarks on the simplest possible workload—an application with an HTTP endpoint that returns a static 200 response. We compared the startup performance with and without VNet integration and ran these tests with the following configurations in mind:
Significant load to force scaling out too many instances
Coverage across multiple language stacks (Python 3.11, Java 17, .NET 8, Node.js 20)
Coverage across six different regions
Thirty-two unique test pairs with the exact same configuration, except whether VNet injection was enabled
We collected just under 30,000 data points across a five-day period and measured the time taken to get the first response from each allocated instance:
Configuration
Sample count
Latency P50 (ms)
Latency P90 (ms)
Latency P99 (ms)
No VNet
15,048
435
1,217
2,007
VNet integrated
14,408
472
1,357
3,307
Our test findings demonstrate that enabling VNet injection has a very low impact on your scale-out performance. We observe that 37ms at the 50th percentile is a reasonable cost to pay for the added security benefits of using virtual networks with Flex Consumption. These performance numbers for VNet injection are due to the deep investment we have made into the networking stack of Project Legion, which is the compute substrate for Flex Consumption.
Troubleshooting
We’ve touched on a few different configuration settings you need to keep in mind when running high throughput workloads on Flex Consumption, so here’s a checklist we suggest working through if you’re struggling to reach your performance goals:
Max instance count – verify that you’ve raised the maximum instance count to an appropriate value.
Regional subscription memory quota – if you have multiple Function Apps on the same subscription running in the same region, they share this quota. This means that one app might not scale out to the desired size if another app is already running at significant scale. If you need it raised, file a support ticket.
Monitor application insights for signs of downstream bottlenecks – during earlier iterations of the Event Hub case study we did not have the Event Hub scaled out sufficiently, and so we were encountering transient “the request was terminated because the entity is being throttled” errors, which were visible in the traces table in Application Insights.
Final thoughts
We’re proud of the performance enhancements in Azure Functions Flex Consumption. As one participant of our preview program said, “I’ve never seen any Azure service scaling like this! This is what we’ve been missing for a long time.”
To learn more and share feedback:
Learn more about Azure Functions Flex Consumption.
Deploy and run your own workloads to Flex Consumption, or try one of our samples.
Share your feedback about Azure Functions Flex Consumption scale. Your feedback and insights will be crucial in refining and enhancing this feature.
Microsoft Tech Community – Latest Blogs –Read More
Formula for calculating data in a drop down menu
I have a spreadsheet with a column that has a dropdown list in each row to assign a project to a person’s name. (each row is a new project) I need a formula to calculate how many projects each person is assigned.
I have a spreadsheet with a column that has a dropdown list in each row to assign a project to a person’s name. (each row is a new project) I need a formula to calculate how many projects each person is assigned. Read More
% Complete and % Work Complete do not update with Actual Start change.
Changing the date in Actual Start does not update the values in % Complete and % Work Complete columns, they stay at 0. If the Actual Finish date has any date at all, the percentages go to 100%.
Is Project supposed to be automatically calculating those % complete columns or am I missing steps?
Windows 11
Project Online Desktop Client v2405
Changing the date in Actual Start does not update the values in % Complete and % Work Complete columns, they stay at 0. If the Actual Finish date has any date at all, the percentages go to 100%. Is Project supposed to be automatically calculating those % complete columns or am I missing steps? Windows 11Project Online Desktop Client v2405 Read More