Any successful modern technology stack will address solutions for data management, computation, security, and monitoring. The challenging part of maintaining these can vary from cost to configuration wasting valuable resources: time and money. With cost-effective and reliable cloud computing, some of these issues tend to become less worrisome.
With the exciting changes in the .NET ecosystem, there are quite a few things a developer can get their hands on. This is also true for the cloud, specifically Azure, which has always provided reliable support for .NET development.
5 Azure services for .NET developers
If you’re new to Azure and curious about its benefits for .NET development, here are five useful services you should try out. These services were selected for their ease of use, rich tooling, and common points of interest in a .NET technical stack.
1. Azure Storage
The Azure Storage account is a common service used with a large number of services, so you’ll most likely interact with it as you use Azure. What’s unique about the Storage Account is that it is a single service that serves many purposes. You can store and access files of various types with Blob Service and Data Lake, create a file share with Files Service, and communicate with on-premises system and/or services with Queues.
There are many options for working with your storage on a local machine, from a standalone UI with Azure Storage Explorer or integrated into your development environment as extensions in Visual Studio or Visual Studio Code. The setup for these tools is very straightforward: it only requires you to authenticate your Azure account via a browser. The Azure Storage client libraries for .NET provide synchronous and async support for interaction with all storage options available in the Storage Account.
2. Azure Functions
You most likely have come across the concept of serverless. This eliminates the need for managing infrastructure, allowing you to focus on building instead of configuring. Azure Functions is a popular choice for serverless options in Azure. Why? There are many ways to get started and it has a cost-effective pricing structure.
Serverless functions involve triggering event-driven code to run and respond to events but are stateless and unaware of values from previous executions. However, with Durable Functions, you can write stateful serverless applications with orchestrator functions to programmatically manage execution and entity functions to manage state.
There is a rich set of tooling available for function development, debugging, deployment, and testing that can be done locally or in the Azure Portal. You can work with Functions via the command line with Azure Function Core Tools, or in your editor with Visual Studio or Visual Studio Code. Local tooling for Functions doesn’t require Azure, so you could build an entire serverless application on your machine before publishing it to Azure.
3. Azure SQL & Azure SQL Managed Instance
If you’re curious about the newer capabilities of SQL Server, consider exploring Azure SQL Database. Azure SQL is based on the latest stable version of the SQL Server database engine, and new features of SQL Server are applied to Azure SQL first.
Considering migration? Azure SQL Managed Instance is designed for migrating SQL Server and any additional on-premises applications and services to Azure, in addition to taking advantage of the Azure Hybrid Benefit. If you’re using Entity Framework with SQL Server, the experience with Azure SQL is virtually identical.
Azure SQL and SQL Managed Instance come equipped with a large set of features that automate tasks and monitor critical events. Their fully managed architecture automates patching, updates, and backups so you can focus on building your product, while features like Automatic Tuning and Intelligent Insights help your database maintain peak performance.
4. Azure Key Vault
Azure Key Vault provides a way to centralize application secrets, keys, and certificates and provides the ability to monitor and control access to users and applications. It reduces the chances of leaking critical information by eliminating the need to include them in your code. Instead, applications can retrieve secrets through a URI and must pass authentication and authorization before retrieval.
If you’re a Visual Studio user, adding Key Vault to your ASP.NET application is simplified with Visual Studio Connected Services. Connected Services adds the required NuGet packages and configures your connection to Azure and Key Vault. If you’re building desktop apps in Visual Studio, you can sign packages for UWP and desktop apps with Key Vault.
5. Azure Monitor and Application Insights
Azure Monitor is primarily used with telemetry and can be configured for cloud and on-premises environments. It’s a central location for collecting metrics and logs, observing performance, and identifying issues in your application and infrastructure and their dependencies.
Application Insights is a feature within Azure Monitor to monitor live applications and the metrics and logs that come with them. A unique feature within Application Insights exclusive to .NET development environments is the snapshot debugger, which captures the state of source code the moment an exception occurs. These captures, called snapshots, can be inspected in-depth in the Azure Portal or Visual Studio.
If you’re exploring or evaluating Azure, Application Insights is a perfect starting point if you’re interested in using the cloud with minimal setup. Getting started involves creating the cloud service to collect an instrumentation key, installing a NuGet package, and adding the key to your project.
There is excellent support for today’s .NET developer working with Azure — because it was built with .NET developers in mind. Adding just one of these services can enhance your cloud development experience with extensive and well-documented APIs, detailed monitoring, and seamless integration into the tools and workflows you already know and enjoy.
Interested in getting started with Azure? Sign up for an account and read this documentation on how you could integrate it into your environment — and on the key Azure services for .NET developers. If you’re experienced with Azure and ready to plan your migration, browse the Azure Architecture docs.
Level up your Azure skills
There’s never been a better time to learn Microsoft Azure skills. Through the end of February, ACG is offering a stacked selection of free cloud courses, including our uber-popular AZ-900 Azure Fundamentals course.
About the Author
Jasmine Greenaway is an NYC-based developer and Cloud Advocate at Microsoft. With words and code, she uses Azure to illustrate the awesome things developers can do with the cloud. Her years of development experience has led her to different development environments and industries, such as retail with Sears, gaming with Rockstar Games, and prior to Microsoft, .NET developer tooling as a software engineer at GitHub. She also teaches the basics of web development as an adjunct lecturer in NYC.