+ All Categories
Home > Documents > Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building...

Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building...

Date post: 03-Sep-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
27
Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry Chad Green DogFoodCon October 5, 2018
Transcript
Page 1: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryChad GreenDogFoodConOctober 5, 2018

Page 2: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

What will be covered

page02

• What is serverless computing?• Why to consider having a serverless API backend?• Example of how to develop a serverless architecture• Potential benefits and pitfalls

Page 3: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Who is Chad Green Data & Solutions Architect at ProgressiveHealth

Community InvolvementCode PaLOUsa Conference ChairLouisville .NET Meetup OrganizerLouisville Tech Leaders Meetup OrganizerLouisville Tech Ladies Co-Organizer

Contact [email protected]@ChadGreenChadwickEGreen

Page 4: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

What is Serverless ComputingBuilding an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Page 5: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• The evolution of application platforms

5

On-Premises

Which packages should be on my server?

How do I deploy new code to my servers?

How can I increase server utilization?

How often should I patch my servers?

What size of serversshould I buy?

Who has physicalaccess to my servers?

It takes how long to provision a new server?

Page 6: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• The evolution of application platforms

6

IaaS What is the right size of servers for my business needs?How can I increase server utilization?

How many servers do I need?How can I scale my application?

How do I deploy new code to my server?

Which Operating System should I use?

Who monitors my application?

How often should I patch my servers?

How often should I backup my server?Which packages should be on my server?

Page 7: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• The evolution of application platforms

7

PaaS What is the right size of servers for my business needs?How can I increase server utilization?

How many servers do I need?How can I scale my application?

Page 8: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• The evolution of application platforms

8

Serverless

The platform for next generation applications

Page 9: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• What is Serverless?

9

Abstraction of Servers Event-Driven/Instant Scale Micro-Billing

Page 10: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• Benefits of Serverless

10

Reduced DevOps Faster Time to MarketManage apps not servers

Page 11: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• Serverless Scale

11

Monolith

Microservice

Microservice

Microservice

Microservice

Function

Function

Function

Function

Function

Function

Function

Function

Function

Function

Function

Nano Services

Page 12: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Azure FunctionsBuilding an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Events + dataCode

Page 13: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• Azure Functions Architecture

13

App Service Dynamic RuntimeHosting, CI, Deployment Slots, Remote Debugging, etc.

WebJobs CoreProgramming model, common abstractions

WebJobs ExtensionsTriggers, input, and output bindings

WebJobs Script RuntimeAzure Functions Host – Dynamic Compilation, Language abstractions, etc.

Language RuntimeC#, Node.js, F#, PHP, etc.

Code Config

Page 14: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much WorryFrom Zero to Serverless

• Features of Azure Functions

14

• Choice of language• Pay-per-use pricing model• Bring your own dependencies• Integrated security• Simplified integration• Flexible development• Open-source

Batch

Page 15: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Why consider having a serverless API backend?Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Page 16: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

What does Scaling Mean?

page016

What does Scaling Mean?Handling more Transactions

per secondHandling more Transactions

per secondMaking more Customers

happy per second

Page 17: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Scalability Basics

page017

Vertical Scaling• Simple way to scale most software is simply run it on a more powerful

machine• Code performance improvements• Many drawbacks

• Costs rarely linear• Does not address redundancy

Horizontal Scaling• Multiple instances of the application• Can scale massively• Introduces redundancy

Page 18: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Basic Principles to Follow

page018

• Stateless• Coarse Grained API• Embrace Failure• Avoid instance specific configuration• Simple automated deployment• Monitoring• KISS– Keep It Small and Simple

Page 19: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Design Goals

page019

• Distribute API Development• Support multiple languages• Minimize latency• Minimize deployment risks

Page 20: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Example ArchitectureBuilding an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Page 21: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Variable Barrier Reach System Needs

page021

• Dynamic Placement• Physical Demand Analysis• Post Offer/Transfer Evaluation• Variable Barrier Reach Evaluation

• Desire to automate collection of reach points

Page 22: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Variable Barrier Reach System Needs

page022

• Track reach capabilities at incremental height differences by plotting the reach paths into X/Y graphical data that can be analyzed accordingly

• Arduino ultrasonic sensors to plot X/Y positions

• Plot data downloaded directly to connected tablet

Page 23: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to
Page 24: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Variable Barrier Reach System Concerns

page024

• Geographically placed locations• Limited WiFi• Large candidate pools

Page 25: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Code Demos

Page 26: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry

Function Naming

page026

AppName-Entity-Version-AzureRegion[-Environment]

PHF-EmployeeType-V1-USE2-DEV

Page 27: Building an Ultra-Scalable API Using Azure Functions Without Too … · 2018. 12. 31. · Building an Ultra-Scalable API Using Azure Functions Without Too Much Worry From Zero to

thank you.


Recommended