SlideShare a Scribd company logo
Azure Update, July
Kanio Dimitrov
Main Azure Updates
• VM - General availability of IaaS migration from classic to Resource
Manager
• Storage - General availability: Azure cool blob storage in Canada
• Azure Redis Cache: Preview of new administration options in
Premium tier
• Reboot
• Schedule updates
Main Azure Updates
• Azure Automation : Time zone support and daylight savings
• General availability: Always Encrypted for Azure SQL Database
• Public preview: New version of Azure Active Directory PowerShell
cmdlets
• General availability: Azure ExpressRoute in additional locations
• Paris, Newport/Wales, and Quebec City
Main Azure Updates
• General availability: Two new Azure regions (West US 2 and West
Central US)
• General availability: SQL Server Stretch Database
• General availability: Microsoft Power BI Embedded
• General availability: Microsoft R Server for Linux virtual machines
Main Azure Updates
• Microsoft introduces AppSource for SaaS business apps
• Public preview: Cortana Intelligence Suite with Bing Predicts
• General availability: Microsoft Azure IoT Hub S3 edition
• 300 million messages per day
• General availability: Bing APIs in Microsoft Cognitive Services
• Autosuggestion API, Spell Check API, Search API
Main Azure Updates
• Preview: Microsoft R Client
• G-Series instances for Azure Virtual Machines available in Australia
East
• General availability: Azure SQL Data Warehouse
• Azure App Service Authentication and Azure AD domain hints
Main Azure Updates
• General availability: Service Bus Premium Messaging released to
general availability
• Azure DevTest Labs: Attach additional data disk to your lab VM
• General availability: Azure portal updates for Azure Stream Analytics:
• Power BI Output
• Data Lake Output
• Simple Input
Introduction to Serverless Architecture
Kanio Dimitrov
About Me
Azure MVP, Architect & Advisor
Tokyo Azure Meetup Host
twitter: @azurekanio
blog: https://azurekan.wordpress.com/
Serverless Computing
Serverless computing refers to a model where the existence of servers
is simply hidden from developers.
• Major shift in Cloud Computing
• Application Code Focus
• Cost Effectiveness
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure Functions, July 2016
Microservices
Small Autonomous services that model business domain and have
single responsibility
Recommendations
Inventory
Orders
Shopping Cart
Shipping
Monolithic System
Serverless Microservices
Order
Microservice
GET Order
Create Order
Update Order
Remove Order
API
Gateway
Mobile
Client
Serverless Principles
• Abstract completely underlying infrastructure
• Break business logic to functions
• Focus only on application code
• True auto scaling in seconds
• Integrate with external systems
Current State
• AWS Lambda – market leader
• Google Cloud Functions
• Azure Functions – in Preview
• Auth0 Webtasks
• IBM OpenWhisk
Modern Ops Requirements
• Engineers are responsible for the operational quality
• Software Engineers have to value operational excellence
• Software Engineers on call for their own services
• Ops skills are not optional for software engineers in 2016
• Software engineers own their systems from end to end
Modern Ops Requirements
• The other side of DevOps - Software engineers need to level up at
operations
• Outsource as many ops responsibility as possible
• Build operational excellence for core business differentiators
• Aggregate metrics and graph them
DevOps requires time
• Biggest obstacle to
innovation is that
development times
are too long
• DevOps adds to the
development time
• Application builders
need to manage
their server
infrastructure
Serverless Advantages
• Rapid Development
• Truly Polyglot
• Event Driven
• Minimal Maintenance
• Very Scalable
• Pay Per Use
Serverless Disadvantages
• Limited transparency
• Immature tooling (debugging and troubleshooting)
• Required security review and penetration testing guidance
• More and better documentation and best practices
• Vendor Lock-in (Huge dependency on cloud provider)
• Limits not well defined
Azure Functions
Input Code Output
• Trigger - specify what conditions cause the function to be
called
• Binder - specify how to get information into and out of method
parameters
Azure Functions vs Web Jobs
• Web Jobs:
• + Extendable. Can run whatever you we want. Full control
• - HTTP functionality requires more effort to be configured
• Functions:
• + Many languages supported
• + Completely managed with dynamic scaling
• + Portal experience simplifies a lot development
• - Host can’t be customized yet
• - We are using dedicated "app" which requires additional configuration, but in long
term is advantage
• - Better tooling required
Binding Integration
Time Based Processing
Azure service event processing
SaaS event processing
Serverless web application architectures
Serverless mobile backends
Real-time stream processing
Real-time bot messaging
Supported Platforms
• C#
• F#
• JavaScript
• Python
• PHP
• Bash
• Batch
• PowerShell
Demo – Hello World!
Let’s focus on C#
• .csx file – focus on writing business logic function
• Do not design classes and namespace, just Run method
• POCO classes inside the same file for data processing
Async & Cancellation Token
• async keyword
• Task return type
public async static Task ProcessBlobEvent(Stream blobInput, Stream
blobOutput, CancellationToken token)
{
await blobInput.CopyToAsync(blobOutput, 4096, token);
}
Namespaces
• Use using
• Automatically imported:
• System
• System.Collections.Generic
• System.IO
• System.Linq
• System.Net.Http
• System.Threading.Tasks
• Microsoft.Azure.WebJobs
• Microsoft.Azure.WebJobs.Host
Framework Assemblies
• Use #r "AssemblyName“
• Automatically added:
• mscorlib
• System
• System.Core
• System.Xml
• System.Net.Http
• Microsoft.Azure.WebJobs
• Microsoft.Azure.WebJobs.Host
• Microsoft.Azure.WebJobs.Extensions
• System.Web.Http
• System.Net.Http.Formatting
Special Case
• Use only #r "AssemblyName“
• Newtonsoft.Json
• Microsoft.WindowsAzure.Storage
• Microsoft.ServiceBus
• Microsoft.AspNet.WebHooks.Receivers
• Microsoft.AspNEt.WebHooks.Common
Custom Assemblies
• Upload them to bin folder for the function:
• Azure Portal
• Kudu
• FTP
• Reference using the file name - #r "MyAssembly.dll"
Packages
• Upload project.json file to the function’s folder
• Specify NuGet packages
{ "frameworks": {
"net46": {
"dependencies": {
"Microsoft.ProjectOxford.Face": "1.1.0"
}
}
}
}
Configuration
• Via Environment variables
• Set on App Service Level
• Use System.Environment.GetEnvironmentVariable:
• GetEnvironmentVariable(“FacialRecognitionApiKey”);
Code Reuse
• Use classes and methods defined in other .csx files in your
run.csx file
• To do that, use #load directives in your run.csx file:
• #load “logger.csx”
Logging
• Include a TraceWriter typed argument
• Recommended to name it log
• Don’t use Console.Write
Hosting Options
• App Service Plan
• Dynamic Service Plan
• Dynamically allocated resources
• Functions will run in parallel
• Memory from 128 MB to 1536 MB
• Limited support for App Service features
Development, Debugging & Testing
• Local Development is coming
• Live debugging with Visual Studio
• Azure Storage Explorer
• HTTP Endpoints testing:
• Postman, Fiddler, Browser
Scaling
• Classic App Serivce Plan scales based on set rules
• Dynamic Service plan scales independently based on traffic
• Major criteria is memory size of the execution environment
Pricing – “pay-per-user”
• Price = Memory size (in GB) x Total amount of execution
time (in secs)
• Execution time – active time for all functions running inside
that function app
• Unit of consumption will be GB-s (Gigabyte Seconds)
Demo – Azure Functions Scenarios
Next Tokyo Azure Meetup
• Date – August, 29-th
• Time – 19:30 – 21:00
• Location – Microsoft Office
• Topic: DevOps / Azure Functions Deep Dive / Bot Framework or
another topic. What is the most interesting one for you?

More Related Content

What's hot (19)

PDF
Azure search
azurekanio
 
PPTX
Azure functions
EducationTamil
 
PDF
Java & Microservices in Azure
CodeOps Technologies LLP
 
PPTX
Intro to Azure Static Web Apps
Moaid Hathot
 
PDF
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
NCCOMMS
 
PPTX
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
European Collaboration Summit
 
PPTX
Serverless with Azure Functions
Andreas Willich
 
PPTX
Serverless Application Development with Azure
Callon Campbell
 
PPTX
Going Serverless with Azure Functions
Christos Matskas
 
PPTX
Azure Functions - Introduction
Venkatesh Narayanan
 
PPTX
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
CodeOps Technologies LLP
 
PPTX
Firebase - cloud based real time database
Glenn Bech
 
PPTX
Azure functions serverless
Udaiappa Ramachandran
 
PPTX
Azure cloud for the web frontend developers
Maxim Salnikov
 
PDF
Azure Functions
AxEdge Consulting
 
PDF
Go Serverless with Java and Azure Functions
CodeOps Technologies LLP
 
PPTX
Serverless on Azure with Functions
Christos Matskas
 
PPTX
Using Azure Functions for Integration
BizTalk360
 
PPTX
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CodeOps Technologies LLP
 
Azure search
azurekanio
 
Azure functions
EducationTamil
 
Java & Microservices in Azure
CodeOps Technologies LLP
 
Intro to Azure Static Web Apps
Moaid Hathot
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
NCCOMMS
 
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
European Collaboration Summit
 
Serverless with Azure Functions
Andreas Willich
 
Serverless Application Development with Azure
Callon Campbell
 
Going Serverless with Azure Functions
Christos Matskas
 
Azure Functions - Introduction
Venkatesh Narayanan
 
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
CodeOps Technologies LLP
 
Firebase - cloud based real time database
Glenn Bech
 
Azure functions serverless
Udaiappa Ramachandran
 
Azure cloud for the web frontend developers
Maxim Salnikov
 
Azure Functions
AxEdge Consulting
 
Go Serverless with Java and Azure Functions
CodeOps Technologies LLP
 
Serverless on Azure with Functions
Christos Matskas
 
Using Azure Functions for Integration
BizTalk360
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CodeOps Technologies LLP
 

Similar to Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure Functions, July 2016 (20)

PPTX
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
PPTX
Azure Functions 101
Martin Abbott
 
PDF
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
PDF
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
PPTX
CSE2013-cloud computing-L3-L4.pptx
Madhura Arvind
 
PPTX
Designing Microservices
David Chou
 
PPTX
Introduction to Azure Functions
Callon Campbell
 
PDF
Best Practices for couchDB developers on Microsoft Azure
Brian Benz
 
PPTX
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Tony Erwin
 
PPTX
Azure full
Mohit Chhabra
 
PPTX
Grails in the Cloud (2013)
Meni Lubetkin
 
PDF
Windows Azure introduction
Microsoft Iceland
 
PPTX
#SPFestDC #Azure #Functions V2: What's new and getting started
Vincent Biret
 
PPTX
Power of Azure Devops
Azure Riyadh User Group
 
PDF
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
PPTX
Getting sh*t done with Azure Functions (on AKS!)
Rick van den Bosch
 
PPTX
From Zero to Serverless
Chad Green
 
PPT
Sebastien goasguen cloud stack the next year
ShapeBlue
 
PDF
Making Data Scientists Productive in Azure
Valdas Maksimavičius
 
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Azure Functions 101
Martin Abbott
 
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
CSE2013-cloud computing-L3-L4.pptx
Madhura Arvind
 
Designing Microservices
David Chou
 
Introduction to Azure Functions
Callon Campbell
 
Best Practices for couchDB developers on Microsoft Azure
Brian Benz
 
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Tony Erwin
 
Azure full
Mohit Chhabra
 
Grails in the Cloud (2013)
Meni Lubetkin
 
Windows Azure introduction
Microsoft Iceland
 
#SPFestDC #Azure #Functions V2: What's new and getting started
Vincent Biret
 
Power of Azure Devops
Azure Riyadh User Group
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
Getting sh*t done with Azure Functions (on AKS!)
Rick van den Bosch
 
From Zero to Serverless
Chad Green
 
Sebastien goasguen cloud stack the next year
ShapeBlue
 
Making Data Scientists Productive in Azure
Valdas Maksimavičius
 
Ad

More from Tokyo Azure Meetup (12)

PPTX
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #10 azure update, october
Tokyo Azure Meetup
 
PPTX
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
PPTX
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup
 
PPTX
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup
 
PPTX
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #2 big data made easy
Tokyo Azure Meetup
 
PPTX
Toyko azure meetup # 1 azure paa s overview
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #12 service fabric internals
Tokyo Azure Meetup
 
PPTX
Tokyo azure meetup #13 build bots with azure bot services
Tokyo Azure Meetup
 
PDF
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup
 
Tokyo azure meetup #10 azure update, october
Tokyo Azure Meetup
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup
 
Tokyo azure meetup #2 big data made easy
Tokyo Azure Meetup
 
Toyko azure meetup # 1 azure paa s overview
Tokyo Azure Meetup
 
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
Tokyo azure meetup #12 service fabric internals
Tokyo Azure Meetup
 
Tokyo azure meetup #13 build bots with azure bot services
Tokyo Azure Meetup
 
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup
 
Ad

Recently uploaded (20)

PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
July Patch Tuesday
Ivanti
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 

Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure Functions, July 2016

  • 2. Main Azure Updates • VM - General availability of IaaS migration from classic to Resource Manager • Storage - General availability: Azure cool blob storage in Canada • Azure Redis Cache: Preview of new administration options in Premium tier • Reboot • Schedule updates
  • 3. Main Azure Updates • Azure Automation : Time zone support and daylight savings • General availability: Always Encrypted for Azure SQL Database • Public preview: New version of Azure Active Directory PowerShell cmdlets • General availability: Azure ExpressRoute in additional locations • Paris, Newport/Wales, and Quebec City
  • 4. Main Azure Updates • General availability: Two new Azure regions (West US 2 and West Central US) • General availability: SQL Server Stretch Database • General availability: Microsoft Power BI Embedded • General availability: Microsoft R Server for Linux virtual machines
  • 5. Main Azure Updates • Microsoft introduces AppSource for SaaS business apps • Public preview: Cortana Intelligence Suite with Bing Predicts • General availability: Microsoft Azure IoT Hub S3 edition • 300 million messages per day • General availability: Bing APIs in Microsoft Cognitive Services • Autosuggestion API, Spell Check API, Search API
  • 6. Main Azure Updates • Preview: Microsoft R Client • G-Series instances for Azure Virtual Machines available in Australia East • General availability: Azure SQL Data Warehouse • Azure App Service Authentication and Azure AD domain hints
  • 7. Main Azure Updates • General availability: Service Bus Premium Messaging released to general availability • Azure DevTest Labs: Attach additional data disk to your lab VM • General availability: Azure portal updates for Azure Stream Analytics: • Power BI Output • Data Lake Output • Simple Input
  • 8. Introduction to Serverless Architecture Kanio Dimitrov
  • 9. About Me Azure MVP, Architect & Advisor Tokyo Azure Meetup Host twitter: @azurekanio blog: https://azurekan.wordpress.com/
  • 10. Serverless Computing Serverless computing refers to a model where the existence of servers is simply hidden from developers. • Major shift in Cloud Computing • Application Code Focus • Cost Effectiveness
  • 12. Microservices Small Autonomous services that model business domain and have single responsibility Recommendations Inventory Orders Shopping Cart Shipping Monolithic System
  • 13. Serverless Microservices Order Microservice GET Order Create Order Update Order Remove Order API Gateway Mobile Client
  • 14. Serverless Principles • Abstract completely underlying infrastructure • Break business logic to functions • Focus only on application code • True auto scaling in seconds • Integrate with external systems
  • 15. Current State • AWS Lambda – market leader • Google Cloud Functions • Azure Functions – in Preview • Auth0 Webtasks • IBM OpenWhisk
  • 16. Modern Ops Requirements • Engineers are responsible for the operational quality • Software Engineers have to value operational excellence • Software Engineers on call for their own services • Ops skills are not optional for software engineers in 2016 • Software engineers own their systems from end to end
  • 17. Modern Ops Requirements • The other side of DevOps - Software engineers need to level up at operations • Outsource as many ops responsibility as possible • Build operational excellence for core business differentiators • Aggregate metrics and graph them
  • 18. DevOps requires time • Biggest obstacle to innovation is that development times are too long • DevOps adds to the development time • Application builders need to manage their server infrastructure
  • 19. Serverless Advantages • Rapid Development • Truly Polyglot • Event Driven • Minimal Maintenance • Very Scalable • Pay Per Use
  • 20. Serverless Disadvantages • Limited transparency • Immature tooling (debugging and troubleshooting) • Required security review and penetration testing guidance • More and better documentation and best practices • Vendor Lock-in (Huge dependency on cloud provider) • Limits not well defined
  • 21. Azure Functions Input Code Output • Trigger - specify what conditions cause the function to be called • Binder - specify how to get information into and out of method parameters
  • 22. Azure Functions vs Web Jobs • Web Jobs: • + Extendable. Can run whatever you we want. Full control • - HTTP functionality requires more effort to be configured • Functions: • + Many languages supported • + Completely managed with dynamic scaling • + Portal experience simplifies a lot development • - Host can’t be customized yet • - We are using dedicated "app" which requires additional configuration, but in long term is advantage • - Better tooling required
  • 25. Azure service event processing
  • 27. Serverless web application architectures
  • 31. Supported Platforms • C# • F# • JavaScript • Python • PHP • Bash • Batch • PowerShell
  • 32. Demo – Hello World!
  • 33. Let’s focus on C# • .csx file – focus on writing business logic function • Do not design classes and namespace, just Run method • POCO classes inside the same file for data processing
  • 34. Async & Cancellation Token • async keyword • Task return type public async static Task ProcessBlobEvent(Stream blobInput, Stream blobOutput, CancellationToken token) { await blobInput.CopyToAsync(blobOutput, 4096, token); }
  • 35. Namespaces • Use using • Automatically imported: • System • System.Collections.Generic • System.IO • System.Linq • System.Net.Http • System.Threading.Tasks • Microsoft.Azure.WebJobs • Microsoft.Azure.WebJobs.Host
  • 36. Framework Assemblies • Use #r "AssemblyName“ • Automatically added: • mscorlib • System • System.Core • System.Xml • System.Net.Http • Microsoft.Azure.WebJobs • Microsoft.Azure.WebJobs.Host • Microsoft.Azure.WebJobs.Extensions • System.Web.Http • System.Net.Http.Formatting
  • 37. Special Case • Use only #r "AssemblyName“ • Newtonsoft.Json • Microsoft.WindowsAzure.Storage • Microsoft.ServiceBus • Microsoft.AspNet.WebHooks.Receivers • Microsoft.AspNEt.WebHooks.Common
  • 38. Custom Assemblies • Upload them to bin folder for the function: • Azure Portal • Kudu • FTP • Reference using the file name - #r "MyAssembly.dll"
  • 39. Packages • Upload project.json file to the function’s folder • Specify NuGet packages { "frameworks": { "net46": { "dependencies": { "Microsoft.ProjectOxford.Face": "1.1.0" } } } }
  • 40. Configuration • Via Environment variables • Set on App Service Level • Use System.Environment.GetEnvironmentVariable: • GetEnvironmentVariable(“FacialRecognitionApiKey”);
  • 41. Code Reuse • Use classes and methods defined in other .csx files in your run.csx file • To do that, use #load directives in your run.csx file: • #load “logger.csx”
  • 42. Logging • Include a TraceWriter typed argument • Recommended to name it log • Don’t use Console.Write
  • 43. Hosting Options • App Service Plan • Dynamic Service Plan • Dynamically allocated resources • Functions will run in parallel • Memory from 128 MB to 1536 MB • Limited support for App Service features
  • 44. Development, Debugging & Testing • Local Development is coming • Live debugging with Visual Studio • Azure Storage Explorer • HTTP Endpoints testing: • Postman, Fiddler, Browser
  • 45. Scaling • Classic App Serivce Plan scales based on set rules • Dynamic Service plan scales independently based on traffic • Major criteria is memory size of the execution environment
  • 46. Pricing – “pay-per-user” • Price = Memory size (in GB) x Total amount of execution time (in secs) • Execution time – active time for all functions running inside that function app • Unit of consumption will be GB-s (Gigabyte Seconds)
  • 47. Demo – Azure Functions Scenarios
  • 48. Next Tokyo Azure Meetup • Date – August, 29-th • Time – 19:30 – 21:00 • Location – Microsoft Office • Topic: DevOps / Azure Functions Deep Dive / Bot Framework or another topic. What is the most interesting one for you?