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
Copy file name to clipboardExpand all lines: docs/standard/serverless-architecture/application-insights.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.date: 05/24/2018
7
7
---
8
8
# Telemetry with Application Insights
9
9
10
-
[Application Insights](/azure/application-insights) is a serverless diagnostics platform that enables developers to detect, triage, and diagnose issues in web apps, mobile apps, desktop apps, and microservices. You can turn on Application Insights for function apps simply by flipping a switch in the portal. Application insights provides all of these capabilities without you having to configure a server or set up your own database. All of Application Insight's capabilities are provided as a service that automatically integrates with your apps.
10
+
[Application Insights](/azure/application-insights) is a serverless diagnostics platform that enables developers to detect, triage, and diagnose issues in web apps, mobile apps, desktop apps, and microservices. You can turn on Application Insights for function apps simply by flipping a switch in the portal. Application Insights provides all of these capabilities without you having to configure a server or set up your own database. All of Application Insights' capabilities are provided as a service that automatically integrates with your apps.
Copy file name to clipboardExpand all lines: docs/standard/serverless-architecture/architecture-approaches.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Many business applications follow a monolith pattern. Legacy applications are of
25
25
26
26
There are several advantages to the monolith approach. It is often easy to pull down a single code base and start working. Ramp up time may be less, and creating test environments is as simple as providing a new copy. The monolith may be designed to include multiple components and applications.
27
27
28
-
Unfortunately, the monolith pattern tends to breakdown at scale. Major disadvantages of the monolith approach include:
28
+
Unfortunately, the monolith pattern tends to break down at scale. Major disadvantages of the monolith approach include:
29
29
30
30
* Difficult to work in parallel in the same code base
31
31
* Any change, no matter how trivial, requires deploying a new version of the entire application
Copy file name to clipboardExpand all lines: docs/standard/serverless-architecture/architecture-deployment-approaches.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ Virtualization of hardware, via "virtual machines" enables Infrastructure-as-a-S
52
52
53
53
For more information, see: [virtual machine N-tier reference architecture](/azure/architecture/reference-architectures/virtual-machines-windows/n-tier).
54
54
55
-
Although virtualization and Infrastructure-as-a-Service (IaaS) address many concerns, it still leaves much responsibility in the hands of the infrastructure team. The team maintains operating system versions, applies security patches, and installs third-party dependencies on the target machines. Apps often behave differently on production machines compared to the test environment. Issues arise due to different dependency versions and/or OS SKU levels. Although to deploy N-Tier applications to these targets, many companies benefit from deploying to a more cloud native model such as Platform-as-a-Service (covered in the next section). Architectures with microservices are more challenging due to the requirements to scale out for elasticity and resiliency.
55
+
Although virtualization and Infrastructure-as-a-Service (IaaS) address many concerns, it still leaves much responsibility in the hands of the infrastructure team. The team maintains operating system versions, applies security patches, and installs third-party dependencies on the target machines. Apps often behave differently on production machines compared to the test environment. Issues arise due to different dependency versions and/or OS SKU levels. Although many organizations deploy N-Tier applications to these targets, many companies benefit from deploying to a more cloud native model such as Platform-as-a-Service (covered in the next section). Architectures with microservices are more challenging due to the requirements to scale out for elasticity and resiliency.
56
56
57
57
For more information, see: [virtual machines](/azure/virtual-machines/).
Copy file name to clipboardExpand all lines: docs/standard/serverless-architecture/azure-functions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ There are two versions of the Azure Functions runtime: 1.x and 2.x. Version 1.x
21
21
22
22
Version 2.x is in preview. It leverages .NET Core and supports cross-platform development on Windows, macOS, and Linux machines. 2.x adds first-class support for Java but does not yet directly support any of the experimental languages. Version 2.x uses a new binding extensibility model that enables third-party extensions to the platform, independent versioning of bindings, and a more streamlined execution environment.
23
23
24
-
> **There is a known issue in 1.x with [binding redirect support](https://github.com/Azure/azure-functions-host/issues/992).** The issue is specific to .NET development. Projects with dependencies on libraries that are a different version from the libraries included in the runtime are impacted. The functions team has committed to make concrete progress on the problem. The team will address binding redirects in 2.x before it goes into general availability. The official team statement with suggested fixes and workarounds is available here: [Assembly resolution in Azure Functions](https://github.com/Azure/azure-functions-host/wiki/Assembly-Resolution-in-Azure-Functions).
24
+
> **There is a known issue in 1.x with [binding redirect support](https://github.com/Azure/azure-functions-host/issues/992).** The issue is specific to .NET development. Projects with dependencies on libraries that are a different version from the libraries included in the runtime are impacted. The functions team has committed to making concrete progress on the problem. The team will address binding redirects in 2.x before it goes into general availability. The official team statement with suggested fixes and workarounds is available here: [Assembly resolution in Azure Functions](https://github.com/Azure/azure-functions-host/wiki/Assembly-Resolution-in-Azure-Functions).
25
25
26
26
For more information, see: [Compare 1.x and 2.x](/azure/azure-functions/functions-versions).
27
27
@@ -169,7 +169,7 @@ The `Domain Redirect` proxy takes a shortened route and maps it to the longer fu
169
169
170
170
The `Root` proxy takes anything sent to the root URL (`https://--shorturl--/`) and redirects it to the documentation site.
171
171
172
-
An example of using proxies is shown in the video [Azure: Bring your app to the cloud with serverless Azure Functions](https://channel9.msdn.com/events/Connect/2017/E102). In real time, an ASP.NET Core application running on local SQL Server is migrated to the Azure Cloud. Proxies are used to help refactor a traditional Web API project to use functions.
172
+
An example of using proxies is shown in the video [Azure: Bring your app to the cloud with serverless Azure Functions](https://channel9.msdn.com/events/Connect/2017/E102). In real time, an ASP.NET Core application running on local SQL Server is migrated to the Azure Cloud. Proxies are used to help refactor a traditional Web API project to use functions.
173
173
174
174
For more information about Proxies, see: [Work with Azure Functions Proxies](/azure/azure-functions/functions-proxies).
Copy file name to clipboardExpand all lines: docs/standard/serverless-architecture/durable-azure-functions.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,21 +7,21 @@ ms.date: 05/24/2017
7
7
---
8
8
# Durable Azure functions
9
9
10
-
When creating serverless applications with Azure Functions, your operations will typically be designed to run in a stateless manner. The reason for this design choice is because as the platform scales, it becomes difficult to know what servers the code is running on. It also becomes difficult to know how many instances are active at any given point. However, there are classes of applications that require the current state of a process to be known. Take into consideration the process of submitting an order via an online store. The checkout operation might be a workflow that is composed of multiple operations that need to know the state of the process. Such information may include the product inventory, if the customer has any credits on their account, and also the results of processing the credit card. These mentioned operations could easily be their own internal workflows or even services from third-party systems.
10
+
When creating serverless applications with Azure Functions, your operations will typically be designed to run in a stateless manner. The reason for this design choice is because as the platform scales, it becomes difficult to know what servers the code is running on. It also becomes difficult to know how many instances are active at any given point. However, there are classes of applications that require the current state of a process to be known. Consider the process of submitting an order to an online store. The checkout operation might be a workflow that is composed of multiple operations that need to know the state of the process. Such information may include the product inventory, if the customer has any credits on their account, and also the results of processing the credit card. These operations could easily be their own internal workflows or even services from third-party systems.
11
11
12
-
Various patterns exist today that assists with the coordination of application state between internal and external systems. It is common to come across solutions that rely on centralized queuing systems, distributed key-value stores, or shared databases to manage that state. However, these are all additional resources that now need to be provisioned and managed. In a serverless environment, your code could become cumbersome trying to coordinate with these resources manually. Azure Functions offers an alternative for creating stateful functions called Durable Functions.
12
+
Various patterns exist today that assist with the coordination of application state between internal and external systems. It is common to come across solutions that rely on centralized queuing systems, distributed key-value stores, or shared databases to manage that state. However, these are all additional resources that now need to be provisioned and managed. In a serverless environment, your code could become cumbersome trying to coordinate with these resources manually. Azure Functions offers an alternative for creating stateful functions called Durable Functions.
13
13
14
-
Durable Functions is an extension to the Azure Functions runtime that enables the definition of stateful workflows in code. By breaking down workflows into activities, the Durable Functions extension is able to manage state, create progress checkpoints, and handle the distribution of function calls across servers. In the background, it makes use of an Azure Storage account to persist execution history, schedule activity functions and retrieve responses. Your serverless code should never interact with persisted information in that storage account, and is typically not something developers need to interact with.
14
+
Durable Functions is an extension to the Azure Functions runtime that enables the definition of stateful workflows in code. By breaking down workflows into activities, the Durable Functions extension is able to manage state, create progress checkpoints, and handle the distribution of function calls across servers. In the background, it makes use of an Azure Storage account to persist execution history, schedule activity functions and retrieve responses. Your serverless code should never interact with persisted information in that storage account, and is typically not something with which developers need to interact.
15
15
16
16
## Triggering a stateful workflow
17
17
18
-
Stateful workflows in Durable Functions can be broken down into two intrinsic components; orchestration and activity triggers. Triggers and bindings are core components used by Azure Functions to enable your serverless functions to notified when to start, receive input and return results.
18
+
Stateful workflows in Durable Functions can be broken down into two intrinsic components; orchestration and activity triggers. Triggers and bindings are core components used by Azure Functions to enable your serverless functions to be notified when to start, receive input, and return results.
19
19
20
20
### Working with the Orchestration client
21
21
22
22
Orchestrations are unique when compared to other styles of triggered operations in Azure Functions. Durable Functions enables the execution of functions that may take hours or even days to complete. That type of behavior comes with the need to able to check the status of a running orchestration, preemptively terminate, or send notifications of external events.
23
23
24
-
For such cases, the Durable Functions extension provides the DurableOrchestrationClient class that allows you to interact with orchestrated functions. You get access to the orchestration client by using the OrchestrationClientAttribute binding. Generally, you would include this attribute with another trigger type, such as a HttpTrigger or ServiceBusTrigger. Once the source function gets trigger, the orchestration client can be used to start an orchestrator function.
24
+
For such cases, the Durable Functions extension provides the DurableOrchestrationClient class that allows you to interact with orchestrated functions. You get access to the orchestration client by using the OrchestrationClientAttribute binding. Generally, you would include this attribute with another trigger type, such as an HttpTrigger or ServiceBusTrigger. Once the source function has been triggered, the orchestration client can be used to start an orchestrator function.
25
25
26
26
```csharp
27
27
[FunctionName("KickOff")]
@@ -71,7 +71,7 @@ The completed Task\<string\> from StartNewAsync should contain the unique ID of
71
71
72
72
Activity functions are the discrete operations that get composed together within an orchestration function to create the workflow. Here is where most of actual work would take place. They represent the business logic, long running processes, and the puzzle pieces to a larger solution.
73
73
74
-
The ActivityTriggerAttribute is used to annotate a function parameter of type DurableActivityContext. Using the annotation let's the runtime know that the function is intended to be used as an activity function. Input values to activity functions have been retrieved by using the GetInput\<T\> method of the DurableActivityContext parameter.
74
+
The ActivityTriggerAttribute is used to annotate a function parameter of type DurableActivityContext. Using the annotation informs the runtime that the function is intended to be used as an activity function. Input values to activity functions are retrieved using the GetInput\<T\> method of the DurableActivityContext parameter.
75
75
76
76
Similar to orchestration functions, the return types of activity functions must be either void, Task, or a JSON serializable value.
Serverless is the evolution of cloud platforms in the direction of pure cloud native code. Serverless brings developers closer to business logic while insulating them from infrastructure concerns. It's a pattern that doesn't imply "no server" but rather, "less server." Serverless code is event-driven. Code may be triggered by anything from a traditional HTTP web request to a timer or the result of uploading a file. The infrastructure behind serverless allows for instant scale to meet elastic demands and offers micro-billing to truly "pay for what you use." Serverless requires a new way of thinking and approach to building applications and is not the right solution for every problem. As a developer, you must decide:
56
58
57
59
* What are the pros and cons of serverless?
58
60
* Why should you consider serverless for your own applications?
59
61
* How can you build, test, deploy, and maintain your serverless code?
60
-
* Where does it make sense to migrate code to serverless in existing applications, and what is the best way to accomplish transformation?
62
+
* Where does it make sense to migrate code to serverless in existing applications, and what is the best way to accomplish this transformation?
61
63
62
64
## About this guide
63
65
@@ -67,14 +69,14 @@ This guide explains the components of the Azure serverless platform and focuses
67
69
68
70
## Evolution of cloud platforms
69
71
70
-
Serverless is the culmination of several iterations of cloud platforms. The evolution began with physical metal in the data center progressed through Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS).
72
+
Serverless is the culmination of several iterations of cloud platforms. The evolution began with physical metal in the data center and progressed through Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS).
71
73
72
74

73
75
74
-
Before the cloud, a discernable boundary existed between development and operations. Deploying an application meant answering myriad questions like:
76
+
Before the cloud, a discernible boundary existed between development and operations. Deploying an application meant answering myriad questions like:
75
77
76
78
* What hardware should be installed?
77
-
* How is physical access secured to the machine?
79
+
* How is physical access to the machine secured?
78
80
* Does the data center require an Uninterruptible Power Supply (UPS)?
79
81
* Where are storage backups sent?
80
82
* Should there be redundant power?
@@ -118,7 +120,7 @@ This guide was written for developers and solution architects who want to build
118
120
119
121
* Understanding the pros and cons of serverless development
120
122
* Learning how to approach serverless architecture
121
-
*Interested in example implementations of serverless apps
123
+
*Example implementations of serverless apps
122
124
123
125
## How to use the guide
124
126
@@ -128,7 +130,7 @@ The first part of this guide examines why serverless is a viable option by compa
128
130
129
131
The guide and related samples are constantly evolving, so your feedback is welcomed! If you have comments about how this guide can be improved, send them to:
130
132
131
-
[link tbd](mailto:)
133
+
[link tbd](mailto:)**Note: Should this link be to create an issue on GitHub?**
The Logic Apps dashboard shows the history of running your workflows and whether or not each run completed successfully or not. You can navigate into any given run and inspect the data used by each step for troubleshooting. Logic Apps also provides existing templates you can edit and are suited for complex enterprise workflows.
26
+
The Logic Apps dashboard shows the history of running your workflows and whether or not each run completed successfully or not. You can navigate into any given run and inspect the data used by each step for troubleshooting. Logic Apps also provides existing templates you can edit and are well suited for complex enterprise workflows.
27
27
28
28
To learn more, see: [Azure Logic Apps](/azure/logic-apps).
0 commit comments