Requirements, plan for your enterprise Azure Subscription for production

Cloud Adoption Framework
Microsoft’s Cloud Adoption Framework

You can get started in Azure. But soon it becomes time to build your subscriptions for your enterprise. For example, giving unrestricted access to developers can make your devs very agile, but it can also lead to unintended cost consequences. In addition, you will want to have requirements to demonstrate compliance for security, monitoring, and resource access control.

In this article we help organize some thoughts around the strategy and plan for building out your cloud, including a plan that you can put into Azure DevOps.

The Cloud Adoption Framework provides guidance for in depth analysis and preparation for your cloud. 

Continue reading “Requirements, plan for your enterprise Azure Subscription for production”

Getting Started with Containers for ASP.NET Developers on Windows

worksonmymachineContainers give you a way to run you application in a controlled environment, isolated from other applications running on the machine and from the underlying infrastructure.

It means that when you go to deploy, all the dependencies are published together. So you can finally say, “It worked on my machine” and mean it. All the dependencies with the same versions in your container will be there when you deploy to the cloud.

Continue reading “Getting Started with Containers for ASP.NET Developers on Windows”

Getting started with Azure and Azure Active Directory using PowerShell

You can start working with Azure in the Azure portal. But soon, you will need PowerShell (or the Azure CLI) to explore the power of Azure. Not everything you can do shows up in the portal. In fact, the features are all exposed through the Azure scripts first.
Continue reading “Getting started with Azure and Azure Active Directory using PowerShell”

Getting your app started with Azure Active Directory v2 endpoint

azure-active-directoryYou can provide single-sign in to your application by started with a few lines of code. A new wizard in Azure Active Directory documentation makes that easier than ever. A new Azure AD v2.0 endpoint introduces you integrate to simplify your code for your users to log in.  with their Microsoft account and work and school accounts.

App can now accept sign-in from both Microsoft Accounts and Azure AD accounts, using a single auth endpoint.

The new Azure Active Directory (Azure AD) v2.0 endpoint supports authentication for a variety of modern app architectures, all of them based on industry-standard protocols OAuth 2.0 or OpenID Connect.
Continue reading “Getting your app started with Azure Active Directory v2 endpoint”

CloudDays™ – Introduction to Azure Content Delivery Network (CDN)

cdnAzure Content Delivery Network (CDN) is designed to send audio, video, applications, images, and other files faster and more reliably to customers using servers that are closest to each user.  If you want to put binary files and blobs closer to your user, then CDN can be the right solution.

The CDN caches publicly available objects at strategically placed locations to provide maximum bandwidth for delivering content to users.

Essentially, when a user wants some content, the first user gets the data from the source server. When you use a CDN, that data is then cached at a site near the user. So subsequent users can get the data from the cache instead of going all the way back to the source server. For example, if a picture stored in a blob is in a European data center in Azure, a user in Portland Oregon would be able to access the file from a server set up in Seattle, making your image load much faster.

Continue reading “CloudDays™ – Introduction to Azure Content Delivery Network (CDN)”

CloudDays™ – Quick Start to Azure Redis Cache

redisAzure Redis Cache helps your application become more responsive even as user load increases and leverages the low latency, high-throughput capabilities of the Redis engine. This separate distributed cache layer allows your data tier to scale independently for more efficient use of compute resources in your application layer.

Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs. Redis supports a set of atomic operations on these data types.

Microsoft Azure Redis Cache is based on this cache and store. It gives you access to a secure, dedicated Redis cache, managed by Microsoft, providing the best of both worlds: the rich features and ecosystem of Redis, and reliable hosting and monitoring by Microsoft.

You can use Redis from most programming languages used today.

Azure Redis Cache leverages Redis authentication and also supports SSL connections to Redis.

The purpose of this article is to help you decide if Azure Redis is the right technology for your project. The Azure documentation is pretty good to help you get started, but is spread all over the place, so this article focuses on the steps to get started, and gives you a peek into what your code looks like. (If you are like me, you can often tell if the technology is a good fit by seeing code.)

NOTE: Of course, you can use Redis without Azure. For more information on that, see Distributed Caching using Redis Server with .NET/C# Client.

Continue reading “CloudDays™ – Quick Start to Azure Redis Cache”

CloudDays™ – Choosing the Right Azure Cache Technology

azurecloudMicrosoft Azure Cache is a family of distributed, in-memory, scalable solutions that enable you to build highly scalable and responsive applications by providing super-fast access to your data. But what do you choose?

This post provides you with an overview of the options you have when you are considering caching technologies.

Microsoft Azure Cache is available in the following offerings.

Microsoft offers a strong recommended choice for these caches. “Microsoft recommends all new developments use Azure Redis Cache.”

That said, this post discusses each to give you a quick overview. This article also introduces you to one other cache.

Here’s the short answer:

  • Use Azure Redis Cache when you want to cache string, hashes, .NET classes, data.
  • Use CDN when you want to cache audio, video, applications, images, and other files.

Continue reading “CloudDays™ – Choosing the Right Azure Cache Technology”

Azure – 24 Must Know Cloud Patterns With Sample Code

azurecloudYour application may start with a single idea as a single website. It will often have a website, some business logic tied to a database. Those stand alone applications have a way of adding features.

Or your application may want to be “cloud ready” from the beginning. The vision may begin with a set of servers, each doing a specific task, each that can be scalable to meet demand, provide reliability. As soon as you take that second step, it’s time to look to well known practices.

Microsoft’s Patterns and Practices team has put together architectural guidance to help you design your cloud applications,  Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications. Each pattern is provided in a common format that describes the context and problem, the solution, issues and considerations for applying the pattern, and an example based on Azure.

It also discusses the benefits and considerations for each pattern. Most of the patterns have code samples or snippets that show how to implement the patterns using the features of Microsoft Azure.

Although the guidance helps you adopt Azure, the patterns are relevant to all kinds of distributed systems, whether or not they are  hosted on Azure or on other cloud platforms.

Continue reading “Azure – 24 Must Know Cloud Patterns With Sample Code”

SQL Database Improvements, Azure Active Directory Deployment of On Prem Apps to Cloud, HDInsight Tooling Top Azure Announcements

azurecloudThis week, Microsoft compiled a series of announcements that noted improvements and updates to its Azure platform. I wanted to call out several key new features of interest to developers and cloud development managers:

  • Updates to SQL Database making it easier to migrate your applications to the cloud.
  • Azure Active Directory Application Proxy allows publishing of on-premises web applications on Azure Active Directory. Through an easy and secured process, web applications hosted on-premises can now be published via Azure Active Directory. Apps allow for single sign on.
  • Azure Site Recovery now has the ability to replicate and recover virtual machines (VMs) directly to Azure without requiring System Center Virtual Machine Manager.
  • To help developers using Visual Studio easily incorporate the benefits of big data within their applications, we’ve added a deeper tooling experience for HDInsight in the most recent version of the Azure SDK. Developers can use this extension to visualize and query their Hadoop clusters, as well as manage applications that integrate with Hadoop directly in Visual Studio. Learn more.

Continue reading “SQL Database Improvements, Azure Active Directory Deployment of On Prem Apps to Cloud, HDInsight Tooling Top Azure Announcements”

Snippet – Setting MIME Types (Font Awesome or Custom Fonts or Json File Extensions Doesn’t Work When Deployed on Windows)

imageWhen using custom fonts on Windows Azure, users have reported issues. For example, Font Awesome icons would not display. Or even if the fonts do display, it might not display correctly on some devices, such as Windows Phones.

In other cases, you may have a file type that does not map to the right MIME type.

In fact, I exposed most of the JSON files with the .txt extension just to avoid the issue of IIS not serving up .JSON files as expected.

It turns out — the issue is that IIS 7 – 8.1 serves up the wrong MIME type for web font files. So you need to be sure the right MIME types are being served up for your font files, as shown here: Proper MIME type for fonts.

When deploying to an IIS servers you need to add MIME support.

Continue reading “Snippet – Setting MIME Types (Font Awesome or Custom Fonts or Json File Extensions Doesn’t Work When Deployed on Windows)”