You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refer to these GitHub repositories for a comparison between [AWS Lambda code](https://github.com/MadhuraBharadwaj-MSFT/TestLambda), and its corresponding [Azure Functions code](https://github.com/MadhuraBharadwaj-MSFT/TestAzureFunction). For starter samples, infrastructure as code, and end to end samples for Azure Functions refer to this repository.
107
+
See the following GitHub repositories to compare AWS Lambda code and Azure Functions code.
- Ensure your function's timeout and [memory](/azure/azure-functions/flex-consumption-how-to#configure-instance-memory) settings are compatible with Azure Functions. Configurable settings such as function timeouts are detailed in the [Azure Functions host.json configuration](/azure/azure-functions/functions-host-json).
112
-
- Follow recommended best practices for configuring permissions, access, networking and deployment.
- This repository also includes starter samples, infrastructure as code, and end-to-end samples for Azure Functions.
114
+
115
+
### Adjust configuration settings
116
+
117
+
Ensure that your function's time-out and [memory](/azure/azure-functions/flex-consumption-how-to#configure-instance-memory) settings are compatible with Azure Functions. For more information about configurable settings, see [host.json reference for Azure Functions](/azure/azure-functions/functions-host-json).
115
118
116
-
Follow best practices recommended in this document when setting up Permissions on your Function Apps. Refer to section 'Configure your Function app and storage account with managed identity’ in the document: [How to create a new secretless Function App using managed identity](https://eng.ms/docs/cloud-ai-platform/devdiv/serverless-paas-balam/serverless-paas-vikr/app-service-web-apps/app-service-team-documents/functionteamdocs/faqs/tutorial-secretless-mi)
119
+
Follow the recommended best practices for permissions, access, networking, and deployment configurations.
120
+
121
+
#### Configure permissions
117
122
123
+
Follow best practices when you set up permissions on your function apps. For more information, see [Configure your function app and storage account with managed identity](https://eng.ms/docs/cloud-ai-platform/devdiv/serverless-paas-balam/serverless-paas-vikr/app-service-web-apps/app-service-team-documents/functionteamdocs/faqs/tutorial-secretless-mi#configure-your-function-app-and-storage-account-with-managed-identity).
118
124
119
125
**main.bicep**
120
126
121
127
```
122
-
// Userassigned managed identity to be used by the Function App to reach storage and service bus
128
+
// User-assigned managed identity that the function app uses to reach Storage and Service Bus
See [userAssignedIdentity.bicep](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/core/identity/userAssignedIdentity.bicep)
140
+
For more information, see [userAssignedIdentity.bicep](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/core/identity/userAssignedIdentity.bicep).
135
141
136
-
#### Configuring Network access
142
+
#### Configure network access
137
143
138
-
Functions has support for [Virtual Network Integration](/azure/azure-functions/functions-networking-options#virtual-network-integration) which gives your function app access to resources in your virtual network. Once integrated, your app routes outbound traffic through the virtual network. This allows your app to access private endpoints or resources with rules allowing traffic from only select subnets. When the destination is an IP address outside of the virtual network, the source IP will still be sent from the one of the addresses listed in your app's properties, unless you've configured a NAT Gateway.
144
+
Azure Functions supports [virtual network integration](/azure/azure-functions/functions-networking-options#virtual-network-integration), which gives your function app access to resources in your virtual network. After integration, your app routes outbound traffic through the virtual network. Then your app can access private endpoints or resources by using rules that only allow traffic from specific subnets. When the destination is an IP address outside of the virtual network, the source IP address sends from one of the addresses listed in your app's properties, unless you configured a NAT gateway.
139
145
140
-
When enabling [virtual network](/azure/azure-functions/flex-consumption-how-to#enable-virtual-network-integration) integration for your Function Apps,
141
-
follow best practices recommended in this document [[KPI CODE] TSG for VNet Integration for Web Apps and Function Apps | App Service Team Documents](https://eng.ms/docs/cloud-ai-platform/devdiv/serverless-paas-balam/serverless-paas-vikr/app-service-web-apps/app-service-team-documents/functionteamdocs/faqs/tsg-vnet-integration)
146
+
When you enable [virtual network integration](/azure/azure-functions/flex-consumption-how-to#enable-virtual-network-integration) for your function apps,
147
+
follow the best practices in [TSG for virtual network integration for web apps and function apps](https://eng.ms/docs/cloud-ai-platform/devdiv/serverless-paas-balam/serverless-paas-vikr/app-service-web-apps/app-service-team-documents/functionteamdocs/faqs/tsg-vnet-integration).
See [VNet.bicep](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/app/vnet.bicep)
171
-
See [Storage-PrivateEndpoint](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/app/storage-PrivateEndpoint.bicep)
176
+
For more information, see [VNet.bicep](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/app/vnet.bicep) and [storage-PrivateEndpoint.bicep](https://github.com/Azure-Samples/functions-quickstart-javascript-azd/blob/main/infra/app/storage-PrivateEndpoint.bicep)
172
177
173
-
#### Configuring Deployment Settings
178
+
#### Configure deployment settings
174
179
175
-
Deployments follow a single path. After your project code is built and zipped into an application package, it is deployed to a blob storage container. On startup, your app gets the package and runs your function code from this package. By default, the same storage account used to store internal host metadata (AzureWebJobsStorage) is also used as the deployment container. However, you can use an alternative storage account or choose your preferred authentication method by configuring your app's deployment settings. [Learn](/azure/azure-functions/functions-deployment-technologies#one-deploy) how deployment works in Functions, and [configure deployment settings](/azure/azure-functions/flex-consumption-how-to#configure-deployment-settings).
180
+
Deployments follow a single path. After you build your project code and zip it into an application package, deploy it to a blob storage container. When it starts, your app gets the package and runs your function code from it. By default, the same storage account that stores internal host metadata (AzureWebJobsStorage) also serves as the deployment container. However, you can use an alternative storage account or choose your preferred authentication method by configuring your app's deployment settings. For more information, see [Deployment technology details](/azure/azure-functions/functions-deployment-technologies#deployment-technology-details) and [Configure deployment settings](/azure/azure-functions/flex-consumption-how-to#configure-deployment-settings).
176
181
177
-
### Generate Infrastructure as Code (IaC) files
182
+
### Generate IaC files
178
183
179
-
- Use tools like Bicep, Azure Resource Manager (ARM) templates, or Terraform to create IaC files for deploying Azure resources.
184
+
- Use tools like Bicep, Azure Resource Manager templates, or Terraform to create IaC files to deploy Azure resources.
180
185
- Define resources such as Azure Functions, storage accounts, and networking components in your IaC files.
181
-
- Use [this repository](https://github.com/Azure-Samples/azure-functions-flex-consumption-samples/tree/main/IaC) for IaC samples that use Azure Functions recommendations and best practices.
186
+
- Use this [IaC samples repository](https://github.com/Azure-Samples/azure-functions-flex-consumption-samples/tree/main/IaC) for samples that use Azure Functions recommendations and best practices.
187
+
188
+
### Use tools for refactoring
189
+
190
+
Use tools like GitHub Copilot in Visual Studio Code for help with code refactoring, manual refactoring for specific changes, or other migration aids.
191
+
192
+
For more information about each of these steps, see:
182
193
183
-
### Use Tools for Refactoring
194
+
- [Azure for AWS professionals](/azure/architecture/aws-professional)
184
195
185
-
- Employ tools like GitHub Copilot in VSCode for assistance in refactoring code, manual refactoring for specific changes, or other migration aids.
196
+
- [Code and test Azure Functions locally](/azure/azure-functions/functions-develop-local)
186
197
187
-
If you need more detailed information on each of these steps, please visit the following resources:
188
-
- [Compare AWS and Azure compute services](/azure/architecture/aws-professional)
- [Develop Azure Functions locally by using Core Tools](/azure/azure-functions/functions-run-local)
191
199
192
200
These resources provide specific examples and detailed steps to facilitate the migration process.
193
201
194
-
## Deploy and Test
202
+
## Deploy and test the application
195
203
196
204
### Deploy to Azure
197
205
@@ -208,7 +216,7 @@ Deploy with the [Visual Studio Code](/azure/azure-functions/functions-develop-vs
208
216
209
217
- Validate Functionality
210
218
- Test each function thoroughly to ensure it works as expected. This includes verifying input/output, event triggers, and bindings.
211
-
- Use tools like curl or [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) extension on VSCode to send HTTP requests for HTTP-triggered functions.
219
+
- Use tools like curl or [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) extension on VS Code to send HTTP requests for HTTP-triggered functions.
212
220
- For other triggers, such as timers or queues, ensure the triggers fire correctly and the functions execute as expected.
0 commit comments