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

Serverless Boost For Your Next Startup

Daron Yondem
December 06, 2019

Serverless Boost For Your Next Startup

This is a presentation I used during a couple of the Google Developer Groups DevFest events during December 2019.

Daron Yondem

December 06, 2019
Tweet

More Decks by Daron Yondem

Other Decks in Programming

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. • The real dream of PAAS • No Infrastructure, No

    Containers (seriously?) • Scalable as hell! • Granular Billing (GB/s, GHz-Second) • No commitment, no hardware provisioning (c’mon?)
  3. • Containers are the new VMs! • Server Patching >

    Container Image Batching • Container Orchestration is hard. • What if I have my dependencies though?
  4. • 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. • 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. • 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. 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. • 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. • 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. • Deploy Functions to Google Cloud, AWS, and more.
  10. • Scale Controller : event-driven scaling through KEDA • Runtime

    Controller : functions runtime in a Docker container
  11. 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 Functions on Kubernetes • https://drn.fyi/2ppbVxN