Functions

from A to Z

0
Β Advanced issue found
β–²
Β 

Azure

by Wassim Chegham β€” @manekinekko

ONCE UPON A TIME...

NOW, TELL ME...

Serverless architectures are application designs that incorporate third-party β€œBackend as a Service” (BaaS) services, and/or that include custom code run in managed, ephemeral containers on a β€œFunctions as a Service” (FaaS) platform.

β€” Martin Fowler

Microsoft

Sr. Developer Advocate (JavaScript)

WassimChegham

https://wassim.dev

OpenSource creator

More at wassim.dev

Community Contrib.

Angular GDE (core team alumni.)

Bazel Web Team contributor

GDE for the Google Assistant

Angular Universal (original core team alumni.)

GDE for GCP (alumni.)

Auth0 Ambassador

Member of the Node.js org. (OpenJS Foundation)

NestJS contributor

Compodoc core team

what is cloud computing?

Cloud Computing is...

The on-demand availability of computer system resources, without direct active management by the user.

 – Wikipedia

Network

Storage

Servers

Virtualization

OS

Middleware

Runtime

Database

Application

Network

Storage

Servers

Virtualization

OS

Middleware

Runtime

Database

Application

Network

Storage

Servers

Virtualization

OS

Middleware

Runtime

Database

Application

Network

Storage

Servers

Virtualization

OS

Middleware

Runtime

Database

Application

On Premise

IAAS

PAAS

SAAS

Cloud Computing Service Models

Network

Storage

Servers

Virtualization

OS

Middleware

Runtime

Database

Application

FAAS

Managed by you

Managed by the Cloud Provider

Functions

Functions

Functions

Functions

Benefits of Serverless.

shorter time to market.

Efficiency,

Variable costs.

Less waste (green computing).

Better service stability.

Easier pivoting.

Flexibility,

Easier experimentation.

microservices.

Scale at your own pace.

Focus on code.

No infrastructure.

Auto-scale.

pay AS YOU GO.

FOR SHORT,

Serverless on Azure.

IDE Support

Integrated DevOps

Local Development

Monitoring

Visual Debug History

Event Grid

Functions

Logic Apps

Manage all events that can trigger code of logic

Database

Storage

Execute your code based on events you specify

Analytics

Intelligence

Design workflows and orchestrate processes

Security

IoT

Let's talk about Azure Functions.

Fully Managed

Event Oriented

Scalable

sandboxed

choose your runtime

generally available

** More Runtimes will be supported

experimental

Β 
Β 

SUPPORTED Triggers

Type Trigger Input Output
Blob Storage βœ” βœ” βœ”
Cosmos DB βœ” βœ” βœ”
Event Grid βœ”
Event Hubs βœ” βœ”
HTTP & Webhooks βœ” βœ”
Microsoft Graph Excel tables βœ” βœ”
Microsoft Graph OneDrive files βœ” βœ”
Microsoft Graph Outlook email βœ”
Microsoft Graph Events βœ” βœ” βœ”
Microsoft Graph Auth tokens βœ”
Mobile Apps βœ” βœ”
Notification Hubs βœ”
Queue storage βœ” βœ”
SendGrid βœ”
Service Bus βœ” βœ”
SignalR βœ” βœ”
Table storage βœ” βœ”
Timer βœ”
Twilio βœ”

SUPPORTED BINDINGS

developer experience

Create Your 1st Function: VS Code

Create Your 1st Function: VS Code

Create Your 1st Function: AZURE CLI

func init myFunProject
func new --name myfun \
         --template "HttpTrigger" \
         --language javascript
func host start
curl http://localhost:7071/api/myfun

Example: "httpTrigger" Function

module.exports = async (context, req) => {
    context.done(null, {
        res: 'Hello World :)'
    });
};
{
  "bindings": [{
      "type": "httpTrigger",
      "direction": "in", "name": "req"
    }, {
      "type": "http", 
      "direction": "out", "name": "$return"
  }]
}

Deploy Your Function: You Choose.

External package URL

Zip deploy

docker container

web deploy

source control

local git

cloud sync

ftp

portal

$ npm install -g ngrok
$ ngrok http 7071


$ npm install -g localtunnel 
$ lt --port 7071

TIP: Expose Your Local Function.

** Remember to stop the tunnel when you're done!!

$ npm install -g artillery


$ artillery quick -d 300 -r 30 \
    https://<app_name>.azurewebsites.net/api/myfun

TIP: Harness Your Function.

LOGGING STRATEGY.

DNS OPTIMISATIONS.

RUNTIME VERSIONS.

ROLLBACK STRATEGIES.

gotchas!!

demo time

1. Request Auth link (Angular)

2. Generate Auth link (Function)

3. Connect to Philips HUE account

4. Register account (Function)

5. Store session (Cosmos BD)

6. Trigger action (Function)

7. Revoke account (Function)

Control PHILIPS HUE Lights (hueaction.dev).

1. Capture image (Angular)

2. Upload the image (Storage)

3. Extract text (Vision API)

4. Translate it (Translate API)

5. Store result (Table)

6. Read the result (Queue)

7. Send SMS (TWILIO)

Extract and Translate text + send SMS.

resources & links

@manekinekko

Β 
Β 

STAY HOME = SAVE LIVES

Azure Functions from A to Z

By Wassim Chegham

Azure Functions from A to Z

Azure Functions is a serverless compute service that enables you to run code on-demand without having to explicitly provision or manage infrastructure. Use Azure Functions to run a script or piece of code in response to a variety of events. Learn how to use Azure Functions with our quickstarts, tutorials, and samples πŸ‘‰http://bit.ly/2NJHRIW

  • 3,766
Loading comments...

More from Wassim Chegham