Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless and Azure Functions Introduction

Daron Yondem
December 19, 2017

Serverless and Azure Functions Introduction

This is part of a full day Serverless training I hosted for Microsoft Turkey in Istanbul introducing Azure Functions as a Serverless Platform.

Daron Yondem

December 19, 2017
Tweet

More Decks by Daron Yondem

Other Decks in Technology

Transcript

  1. Serverless architectures refer to applications that significantly depend on third-party

    services (knows as Backend as a Service or "BaaS") or on custom code that's run in ephemeral containers (Function as a Service or "FaaS")
  2. What is Serverless? • The real dream of PAAS •

    No Infrastructure, No Containers • Scalable as hell! • Granular Billing (GB/s) • No commitment, no hardware provisioning (really?)
  3. What’s wrong with containers? • Containers are the new VMs!

    • Server Patching > Container Image Batching • Container Orchestration is hard.
  4. Serverless != Microservices • You can have a fleet of

    EC2 instances, running containers, orchestrating and still worry about infrastructure. • You can have dozens of functions tightly coupled and delivered as a behemoth.
  5. Azure Functions 101 • Javascript, C#, C# Script, Python, PHP,

    Batch, Powershell • Timer-based processing • SaaS Event Processing • Full Serverless Architecture • Real-Time Stream Processing • Real-Time Bot Messaging • Serverless mobile back-ends
  6. Anatomy of a Function • A “Run” file that containing

    the function code • A “Function” file containing all service and trigger bindings and parameters • A “Project” file containing project assembly and NuGet package references • App Service settings, such as connection strings and API keys
  7. Running Functions Locally V1 Only on Windows npm install -g

    azure-functions-core-tools V2 with .NET Core on all platforms npm install -g azure-functions-core-tools@core Initialize your first function func init MyFunctionProj
  8. Application Settings • local.settings.json will have all your local settings

    on the dev machine. • C# can also be read in your code as environment variables. Use System.Environment.GetEnvironmentVariable or ConfigurationManager.AppSettings. • In JavaScript, use process.env
  9. Where can I deploy my Functions? • Extend the existing

    Azure App Service platform • Go with “Consumption Plan” and be pure Serverless • Deploy Functions Runtime on an on-prem location in your Private Cloud.
  10. Links worth sharing Documentation • https://goo.gl/TqGtMr Azure Functions Runtime (Run

    on-prem) • https://goo.gl/hV7KgJ Documentation for the host.json file • https://goo.gl/W6kcV7 More CLI commands to run functions locally • https://goo.gl/PSkqet