Serverless Architecture with Azure-Functions...© Noser Engineering AG 2017, Alle Rechte...

Preview:

Citation preview

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Serverless Architecture with Azure-Functions

Mark Allibone@mallibone

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 3

Mark Allibone, Head of Mobile

@mallibone

Noser Engineering AG

Ambassador

https://mallibone.com

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 4

Serverless Architecture

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 5

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 6

Service Oriented Architecture

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 7

Service Oriented Architecture

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 9

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

A Monolith

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Monolith at scale

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 13

Microservices

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 14

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Microservices

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Scaling Microservices

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 17

Microservices: “SOA done right”

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

In a world without Azure…

Web App

Webserver

Server

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

In a world without Azure…

Web App

Webserver

Server

IIS

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Web App

Azure App Service (PaaS)

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 22

No Infrastructure setup

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 23

Minimal configuration

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 24

Which service do we have to scale?

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 25

Developing and Scaling at Method Level

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 27

Azure Functions allows building scalable reactive systems without the setup hassle.

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Demo

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

HTTPS

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

C#

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 31

Easy setup

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 32

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 33

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 34

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 35

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 36

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 37

Sharing functionality between functions

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Demo

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

HTTPS

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 40

What about NuGet?

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 41

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 42

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 43

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 44

Building a processing pipeline

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

HTTPS

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Demo

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

HTTPS

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

HTTPS

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 49

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 50

Developing in VS Code

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 51

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 52

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 53

Create locally

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 56

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 58

Edit

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 59

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 60

Config

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 61

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 62

Run

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 63

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 64

Visual Studio 2017 15.3 or later

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 65Origin Azure Function Docs

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 66

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 67

Local Development

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 68

Local Testing

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 69

Local Debugging

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 71

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 72

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 73

Deployment via Ctrl-C & Ctrl-V?

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 74

Push from Dev machine to Production?

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 75

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 76

Deploying Code

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 77

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 78

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 79

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 80

Publish via Git

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 81

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 82

Manage Deployments

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 83

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 84

Coding on a live environment…

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 85

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 86

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 87

Deploy from Code Repository

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Takeaways

Azure Functions are awesome

© Noser Engineering AG 2017, Alle Rechte vorbehalten.

Takeaways

• Easy setup, minimal configuration, great scalability for simple and complex pipelines

• Develop locally in Visual Studio Code or Visual Studio

• Deploy from Git Repository Branch and Roll Back if needed

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 90

Make yourUsers Happy bycreatingresponsive appsthat scale

© Noser Engineering AG 2017, Alle Rechte vorbehalten. 91

Thank you for coming and happy coding!

@mallibone

Vielen Dankfür Ihre Aufmerksamkeit!

Mark Allibone

mark.allibone@noser.com

Recommended