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.

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 delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. 

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.

Scale at your own pace.

Focus on code.

No infrastructure.

Auto-scale.

pay AS YOU GO.

FOR SHORT,

Serverless on Azure.

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

Serverless messaging

Serverless compute

Serverless workflow

Also: CI/CD for serverless, Serverless Kubernetes, Cognitive computing, SQL Database...

Let's talk about Azure Functions.

Fully Managed

Event Oriented

Scalable

sandboxed

choose your runtime

** More Runtimes will be supported

 
 

SUPPORTED Triggers

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 --javascript
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!!

cold start!

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

STAY HOME = SAVE LIVES