SlideShare uma empresa Scribd logo
1 de 15
Azure Functions
Serverless in the Microsoft world
ServerlessApplication Architectures
• Refers to applications with architectures that depend significantly
on third-party services
• Backend as a Service (BaaS) - eliminates repeated stack development
• User management, social integration, push messaging
• Mobile integration, data sync, application storage
• Opinionated approach to serverless
• Follow provider’s API
• Functions as a Service (FaaS) offerings such as AWS Lambda, Cloud
Functions for Firebase, Azure Functions
Backend as a Service
var user = new User(username, password);
await app.Users().CreateAsync(user);
var product = await app.Data<Item>().GetById(10);
var pages = await app.Search(“Pages”,
SearchType.Contains, searchTerm);
Function as a Service
• Triggered by events such as a schedule, an HTTP trigger, manual
calls, among others
• Ephemeral – short lived. Function executes, function exits.
• Completely custom code
• Integrate with any 3rd party dependency, even BaaS
• Stateless – each execution should be designed independent from
each other
A non-serverless architecture
Most of the logic lives on the server application
Client / Browser
(Razor Views)
Server Application
(ASP.NET MVC)
Database
(SQL / NoSQL)
3rd
Party API
3rd
Party API
Moving to a serverless architecture
#1
Authentication
service moved to a
Backend-as-a-Service
such as Auth0
Client calls BaaS
directly via Auth0 JS
SDK
Client / Browser
(Single Page App)
Configuration Store
(SQL / NoSQL)
Authentication Service
Auth0
#1
Blog Database
AWS DynamoDB
#2
Admin/Maintenance
Azure Functions
Page Editing
Azure Functions
#3
#4
#4
Moving to a serverless architecture
#2
Allow client direct
access to a subset of
our data, with a read-
only security profile
on public data
In this case, client
directly queries AWS
DynamoDB
Client / Browser
(Single Page App)
Configuration Store
(SQL / NoSQL)
Authentication Service
Auth0
#1
Blog Database
AWS DynamoDB
#2
Admin/Maintenance
Azure Functions
Page Editing
Azure Functions
#3
#4
#4
Moving to a serverless architecture
#3
Call different Azure
Functions for
maintenance and
page editing
Azure Functions write
to their respective
data stores
Client / Browser
(Single Page App)
Configuration Store
(SQL / NoSQL)
Authentication Service
Auth0
#1
Blog Database
AWS DynamoDB
#2
Admin/Maintenance
Azure Functions
Page Editing
Azure Functions
#3
#4
#4
Azure Functions
What it’s really like
Use C# syntax (or node.js among others)
• Non-opinionated code – no coding to a framework vs BaaS
• Depending on function, just a slight change to ‘main’ / ‘startup
code’ is necessary
• A lot of input and output triggers and bindings available
• Manual, timer
• Blob, tables, queues, service bus, event hubs
• HTTP, Webhooks
• Output to SMS, another queue, blob, push notification
Pros and Cons
• Based on App Services / Web Jobs
• Code can be written/uploaded on the portal, continuous
deployment via VSTS is available (Git/TFS/etc.)
• Logging and real-time streams available in dashboard
• Debug using VS Tools for Azure Functions (Preview on VS 2015)
• Still under heavy development, still evolving and changing
• Incomplete intellisense for Dynamic C#
• Missing fine-grained controls/settings
Demo Time!
…and some notes afterwards
Notes
• Dynamic C#/ScriptCs - dynamically compiled on execution
• You can also run pre-compiled code
• You can load external dlls and other .csx files via #load
• You can load pre-included libraries via #r
• You can include NuGet packages via project.json and #r
• You can contribute – bug reports, pull requests – fast response
Thank you!
marc@clinkitsolutions.com

Mais conteúdo relacionado

Mais procurados

Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
SharePointInstitute
 

Mais procurados (20)

Single page application
Single page applicationSingle page application
Single page application
 
Code First with Serverless Azure Functions
Code First with Serverless Azure FunctionsCode First with Serverless Azure Functions
Code First with Serverless Azure Functions
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
Single page application
Single page applicationSingle page application
Single page application
 
Web Development Competency Building
Web Development Competency Building Web Development Competency Building
Web Development Competency Building
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo
 
Going serverless
Going serverlessGoing serverless
Going serverless
 
sell idea
sell ideasell idea
sell idea
 
AngularJs
AngularJsAngularJs
AngularJs
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Spring In Practice
Spring In PracticeSpring In Practice
Spring In Practice
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutes
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 
MVC-3 Vs Webform
MVC-3 Vs WebformMVC-3 Vs Webform
MVC-3 Vs Webform
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Anypoint connector basics
Anypoint connector basicsAnypoint connector basics
Anypoint connector basics
 
Building Modern Web Applications with ASP.NET5
Building Modern Web Applications with ASP.NET5Building Modern Web Applications with ASP.NET5
Building Modern Web Applications with ASP.NET5
 

Semelhante a MSDN Sessions 032817 - Azure Functions

Semelhante a MSDN Sessions 032817 - Azure Functions (20)

Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Azure full
Azure fullAzure full
Azure full
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
Serverless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demoServerless Architecture - introduction + AWS demo
Serverless Architecture - introduction + AWS demo
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Serverless Architectures
Serverless Architectures Serverless Architectures
Serverless Architectures
 
Demistifying serverless on aws
Demistifying serverless on awsDemistifying serverless on aws
Demistifying serverless on aws
 
ServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptxServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptx
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azure
 
Rubix - Serverless architecture
Rubix - Serverless architectureRubix - Serverless architecture
Rubix - Serverless architecture
 
Serverless API with Azure Functions
Serverless API with Azure FunctionsServerless API with Azure Functions
Serverless API with Azure Functions
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Building API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure Functions
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
 
ArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to AzureArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to Azure
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 

Último

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Último (20)

1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 

MSDN Sessions 032817 - Azure Functions

  • 1.
  • 2. Azure Functions Serverless in the Microsoft world
  • 3. ServerlessApplication Architectures • Refers to applications with architectures that depend significantly on third-party services • Backend as a Service (BaaS) - eliminates repeated stack development • User management, social integration, push messaging • Mobile integration, data sync, application storage • Opinionated approach to serverless • Follow provider’s API • Functions as a Service (FaaS) offerings such as AWS Lambda, Cloud Functions for Firebase, Azure Functions
  • 4. Backend as a Service var user = new User(username, password); await app.Users().CreateAsync(user); var product = await app.Data<Item>().GetById(10); var pages = await app.Search(“Pages”, SearchType.Contains, searchTerm);
  • 5. Function as a Service • Triggered by events such as a schedule, an HTTP trigger, manual calls, among others • Ephemeral – short lived. Function executes, function exits. • Completely custom code • Integrate with any 3rd party dependency, even BaaS • Stateless – each execution should be designed independent from each other
  • 6. A non-serverless architecture Most of the logic lives on the server application Client / Browser (Razor Views) Server Application (ASP.NET MVC) Database (SQL / NoSQL) 3rd Party API 3rd Party API
  • 7. Moving to a serverless architecture #1 Authentication service moved to a Backend-as-a-Service such as Auth0 Client calls BaaS directly via Auth0 JS SDK Client / Browser (Single Page App) Configuration Store (SQL / NoSQL) Authentication Service Auth0 #1 Blog Database AWS DynamoDB #2 Admin/Maintenance Azure Functions Page Editing Azure Functions #3 #4 #4
  • 8. Moving to a serverless architecture #2 Allow client direct access to a subset of our data, with a read- only security profile on public data In this case, client directly queries AWS DynamoDB Client / Browser (Single Page App) Configuration Store (SQL / NoSQL) Authentication Service Auth0 #1 Blog Database AWS DynamoDB #2 Admin/Maintenance Azure Functions Page Editing Azure Functions #3 #4 #4
  • 9. Moving to a serverless architecture #3 Call different Azure Functions for maintenance and page editing Azure Functions write to their respective data stores Client / Browser (Single Page App) Configuration Store (SQL / NoSQL) Authentication Service Auth0 #1 Blog Database AWS DynamoDB #2 Admin/Maintenance Azure Functions Page Editing Azure Functions #3 #4 #4
  • 11. Use C# syntax (or node.js among others) • Non-opinionated code – no coding to a framework vs BaaS • Depending on function, just a slight change to ‘main’ / ‘startup code’ is necessary • A lot of input and output triggers and bindings available • Manual, timer • Blob, tables, queues, service bus, event hubs • HTTP, Webhooks • Output to SMS, another queue, blob, push notification
  • 12. Pros and Cons • Based on App Services / Web Jobs • Code can be written/uploaded on the portal, continuous deployment via VSTS is available (Git/TFS/etc.) • Logging and real-time streams available in dashboard • Debug using VS Tools for Azure Functions (Preview on VS 2015) • Still under heavy development, still evolving and changing • Incomplete intellisense for Dynamic C# • Missing fine-grained controls/settings
  • 13. Demo Time! …and some notes afterwards
  • 14. Notes • Dynamic C#/ScriptCs - dynamically compiled on execution • You can also run pre-compiled code • You can load external dlls and other .csx files via #load • You can load pre-included libraries via #r • You can include NuGet packages via project.json and #r • You can contribute – bug reports, pull requests – fast response