Serverless and Azure Functions Introduction

017286889e25c87cb44b20ceca2d1d79?s=47 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.

017286889e25c87cb44b20ceca2d1d79?s=128

Daron Yondem

December 19, 2017
Tweet

Transcript

  1. 2.

    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. 3.

    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. 4.

    What’s wrong with containers? • Containers are the new VMs!

    • Server Patching > Container Image Batching • Container Orchestration is hard.
  4. 5.

    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. 6.

    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. 8.
  7. 9.
  8. 10.
  9. 11.
  10. 13.
  11. 14.
  12. 15.
  13. 16.
  14. 17.
  15. 18.

    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
  16. 19.

    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
  17. 21.
  18. 22.
  19. 23.
  20. 24.
  21. 25.

    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
  22. 26.

    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.
  23. 27.

    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