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