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. Daron Yöndem
    http://daron.me
    @daronyondem

    View Slide

  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")

    View Slide

  3. • 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?)

    View Slide

  4. • Containers are the new VMs!
    • Server Patching > Container Image Batching
    • Container Orchestration is hard.
    • What if I have my dependencies though?

    View Slide

  5. • 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.

    View Slide

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

    View Slide

  7. View Slide

  8. View Slide

  9. Creating our first “Hello World” function!

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. • Anonymous
    • Function Key
    • Host Key

    View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. • 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

    View Slide

  21. V1 Only on Windows
    npm install -g azure-functions-core-tools
    V2 with .NET Core on all platforms
    npm install -g [email protected]
    Initialize your first function
    func init MyFunctionProj

    View Slide

  22. Precompiled functions with C# and Visual Studio

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

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

    View Slide

  28. • 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.

    View Slide

  29. • Scale Controller : event-driven scaling through KEDA
    • Runtime Controller : functions runtime in a Docker container

    View Slide

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

    View Slide

  31. http://daron.me | @daronyondem
    Download slides here;
    http://daron.me/decks

    View Slide