"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stanislav Lebedenko.pdf
fwdays
194 views
35 slides
Jul 20, 2024
Slide 1 of 35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
About This Presentation
.NET 8 brought a lot of improvements for developers and maturity to the Azure serverless container ecosystem. So, this talk will cover these changes and explain how you can apply them to your projects. Another reason for this talk is the re-invention of Serverless from a DevOps perspective as a Plat...
.NET 8 brought a lot of improvements for developers and maturity to the Azure serverless container ecosystem. So, this talk will cover these changes and explain how you can apply them to your projects. Another reason for this talk is the re-invention of Serverless from a DevOps perspective as a Platform Engineering trend with Backstage and the recent Radius project from Microsoft. So now is the perfect time to look at developer productivity tooling and serverless apps from Microsoft's perspective.
Size: 2.91 MB
Language: en
Added: Jul 20, 2024
Slides: 35 pages
Slide Content
Building Future-Ready Apps:
.NET 8 and Azure Serverless Ecosystem
Stanislav Lebedenko
Cloud architect @Solidify
■20+ years in TECH
■Microsoft Azure MVP
■Cloud architect & MCT
■#MSUGODUA & IT2SCHOOL
■Mentor and Engineer
■Working @Solidify AB
■Have different perspective
■Your friend and neighbor :)
BIO
■Developer centric
■No DevOps overhead
■Fast time-to-market
■No vendor lock*
■DAPR/KEDA/Envoy powered
■Perfect abstraction over K8s
■Operation centric
■Orchestration problem
■Patching problem
■Security hardening
■Complex network
■CPU/Memory/GPU intensive apps
Azure Container Apps vs Kubernetes
Serverless Kubernetes
Element Description
Plans Consumption -serverless with instance size limit
Dedicated -fully managed with CPU/Memory/GPU optimized compute
Environment (VNet) Two types -Workload profiles and Consumption (internal/public)
Provides secure network boundary around apps and jobs.
Containers Linux-based x86-64, app revisions, sidecars in single app, init containers, job templates
Revisions Immutable, versioned, historical revisions, multiple revisions concurrent run, blue/green
Jobs Single unit-of-work with finite duration, manual/scheduled/event based start
Network Limited auto VNet, full functionality with existing VNet + Dedicated environment
Resiliency Timeouts, Retries, Circuit breakers, Connection pools
Replica (K8s Pod) Instance of microservice or Kubernetes Pod
ACA key elements
■Containerizing legacy IIS apps
■Lifting Actors to cloud
■New service for existing solution
■Downgrade with simple integrations
■Batch jobs with complex workloads
■Lifting CPU/Memory heavy Functions
■Cheap dev/stage environments
■Portability to other clouds/platforms
Scenarios
Future
Functions maturity
■Isolated worker model only from 2026
■New Flex Consumption plan
Network, instance size & concurrency
■<PublishReadyToRun>true</PublishReadyToRun>
<PublishAot>true</PublishAot>
■Functions on Container Apps
■DAPR triggers only for ACA and K8s
■Unification of .NET app boilerplate
■Functions scaler intro to App Service
Azure Functions
Isolated worker startup
Roadmap
App platform maturity
Radius project –Platform abstraction
Demo
■Developer centric .NET tool
■Using specific dependencies
■For building distributed .NET apps
■Apps Integration testing
■Lessons from .NET Tyeproject
■One Visual Studio to rule them all
■Platform engineer centric
■Abstracting dependencies
■Defining platform setup
■Cloud agnostic
■BICEP as language
■Templates & guardrails
Aspire vs Radius
.NET Aspire Radius project