In this session, Distinguished Engineer David Fowler and .NET Product Architect Damian Edwards will talk about how .NET 8 makes building cloud-native apps easier than ever, with powerful new features to turbocharge the development experience.
building resilient, observable, and configurable cloud-native applications with .NET. It includes a curated set of components enhanced for cloud- native by including service discovery, telemetry, resilience, and health checks by default. Combined with a sophisticated but simple local developer experience, .NET Aspire makes it easy to discover, acquire, and configure essential dependencies for cloud- native apps on day 1 as well as day 100, for new and existing .NET apps using .NET 8+.
t i o n People loved the developer experience – orchestration, containerization, the dashboard – but saw no real value in the K8S deployment part. C u s t o m e r E x p e r i e n c e • YAML file to describe solution/topology • Developer dashboard • Run as containers or processes • Deploy directly to K8S via a temporary manifest Go a l Make building and deploying .NET cloud apps running on Kubernetes trivial.
or enhancing our existing libraries • Libraries like log redaction and resiliency • Many of these shipped in Microsoft.Extensions.* as part of .NET 8 Glue libraries • Customize a dependency or wrap it to meet the team’s needs • Configure or wrap Polly, or Redis connections • Integrate w/ASP.NET Core DI After evaluating large amounts of internal libraries written to help teams build services with millions of active users, we observed that these libraries fell into 2 broad categories:
together? • Service Discovery (talk to services using friendly names) • High Quality client libraries • Available in DI container • Configurable (via IConfiguration) • Resilient (the network is unreliable) • Observable (logs, traces, metrics, health) • Testable • Project templates that put it all together • Instructions for how to use the Lego pieces together
• Ability to describe dependencies on local or remote services • Can’t be cloud native without support for the cloud • We needed first-class support for Kubernetes, Azure, AWS, GCP etc.
our existing stack • Don’t re-invent the world. • Build new features into the right layers • We will build new capabilities, but general-purpose features will be usable outside of aspire. • The stack must work well together, but make sure they aren’t tightly coupled. • Choose how much of the stack you want to adopt • More glue less abstractions • Contribute to the community where we can