Azure Managed Disk–Overview (Vincent-Philippe Lauzon ) - This post is a nice quick introduction on what are managed disks.
Azure brings 5 new services to Canada (Chelsea Carter) - Good news for our clients that need to stay in Canadian Data centers, they now have a lot more tools in their box.
Deploying ARM Templates using Visual Studio Team Services (Jakob Ehn) - This post shows how to automate Azure deployments. It doesn't do it with the usual happy path, but with a very common situation where we need access Key and other information from the deployed resources to complete the deployment.
Serverless architecture with Azure - Simple Talk (Christos Matskas) - Good post that does a little tour of the serverless services in Azure.However, I would disagree on the simplistic view of Logic Apps and its limitation. Furthermore, I would have talked more about are extremely powerful these services can become if put together in a solution.
Securing Web Applications - Simple Talk (Vishwas Parameshwarappa) - Security should be in our priority in this time of APIs and IoT.... Excellent post to get started with multiple security breaches and how to fix them.
Tuples In C# (Mahesh Chand) - Tuples are one feature introduced in .Net 4.0 that can simplify our life a lot. Learn how in this post.
Docker for Azure Public Beta - Docker Blog (Michael Friis) - Docker contain now supported on two big cloud provider. They may only support Linux-based container but surely windows bases are coming too.
I use very intensely my my.visualstudio (aka MSDN) Azure subscription, to create content for a demo or just to try new feature. So frequently I need to do some cleaning.
Here a little script that will completely delete all resources of every resources group inside a specific subscription. To be able to execute this script you will need Azure PowerShell cmdlets.
The script asks you to login-in then list all the subscriptions that this account has access. Once you specify which one, it will list all the resource grouped by resource group. Then as a final warning, it will require one last validation before nuking everything.
Be careful.
#================================================================
#= Very dangerous interactive script that delete all rescources
#= from all rescourcegroup in a specific subscription
#================================================================
# How to install and configure Azure PowerShell
# https://docs.microsoft.com/en-us/powershell/azureps-cmdlets-docs/
# Login
Login-AzureRmAccount
# Get a list of all Azure subscript that the user can access
$allSubs = Get-AzureRmSubscription
>$allSubs | Sort-Object Name | Format-Table -Property ame, SubscriptionId, State
$theSub = Read-Host "Enter the subscriptionId you want to clean"
Write-Host "You select the following subscription. (it will be display 15 sec.)" -ForegroundColor Cyan
Get-AzureRmSubscription -SubscriptionId $theSub | Select-AzureRmSubscription
#Get all the resources groups
$allRG = Get-AzureRmResourceGroup
foreach ( $g in $allRG){
Write-Host $g.ResourceGroupName -ForegroundColor Yellow
Write-Host "------------------------------------------------------`n" -ForegroundColor Yellow
$allResources = Find-AzureRmResource -ResourceGroupNameContains $g.ResourceGroupName
if($allResources){
$allResources | Format-Table -Property Name, ResourceName
}else{
Write-Host "-- empty--`n"
}
Write-Host "`n`n------------------------------------------------------" -ForegroundColor Yellow
}
$lastValidation = Read-Host "Do you wich to delete ALL the resouces previously listed? (YES/ NO)"
if($lastValidation.ToLower().Equals("yes")){
foreach ( $g in $allRG){
Write-Host "Deleting " $g.ResourceGroupName
Remove-AzureRmResourceGroup -Name $g.ResourceGroupName -Force -WhatIf
}
}else{
Write-Host "Aborded. Nothing was deleted." -ForegroundColor Cyan
}
The code is also available on Github: https://github.com/FBoucher/AzurePowerTools
Sneak peek: A new Azure Cloud Console (Brendan Burns Partner Architect) - Wow! This post presents a much more comfortable terminal interface for Azure. Really slick.
Azure App Service is really 2 services, not 4 (Chris Pietschmann) - This is an interesting post that explains how and why the Azure Apps are packages that way. Once you understand that you see that you will not be limited by your initial pick.
Migrate a Storage Account to ARM (Alexandre Brisebois) - Important PowerShell tooling that we should ALL have... A least if you've been doing some Azure for a little while.
Visual Studio Tools for Azure Functions (Andrew B Hall) - Since the day one of Azure Functions, this tool is requested by the community. The early adopter can now start using this first preview.
Announcing the public preview of Azure Advisor (Shankar Sivadasan) - This is definitely the most asked question from clients: how can I optimize my solutions. I was very positively surprised by the quality and precision of the suggestions of the advisor service. It's a must.
Creating a New View Engine in ASP.NET Core (David Paquette) - Interesting post , where the Asp Monsters are sharing their experience building a view engine. Pretty cool.
Getting to Know Containers (Alexandre Brisebois) - This post answers questions like: why? How? and why now?
Windows Insider Program.next() (Dona Sarkar) - The Windows 10 anniversary edition is out since August 2nd. This post is about the community who made that possible, and explains how you could join.
If one image is worth a thousand words, then it's incredible the amount of information you have in Azure Usage And Billing (AUBI). This portal is a open-source project that has been announced a few weeks ago. In this post, I will share my first impressions about it.
The project is still young, but every alive. When I installed it, I had one or two minor issues, but by the time I wrote this post all of them were already fixed.
Where it is?
The Azure Usage And Billing site is not a website like portal.azure.com; it consists of a solution you need to deploy in an Azure subscription. It doesn't require to be the subscription you wish to monitor, just a subscription you have access. The solution contains: two web sides with both Application Insights and one also with webjobs, an SQL Database, a storage account and you will also need to deploy a Power BI report.
All of it can be easily deployed using the PowerShell script and Azure Resource Manager (ARM) template included. Only a few manual steps will be required. Hopefully, a very clear and completed documentation is available in video or written. Both present on the Github project page.
What can I do with it?
Once fully deployed, you will need to navigate to your instance of the Registration portal (ex: http://frankregistrationv12.azurewebsites.net) and register all the subscriptions you want. After the webjobs are finished bringing all the data, they will all be available in the Power BI Reports.
Power BI does an incredible work by showing all the information about your subscription(s). A very useful point here is that all information present in the dashboard is interactive! Whatever you select simply one or many subscriptions or only a specific category of Azure service, all the other tiles will be automatically adjusted.
What's Next?
If it's not already done, I highly recommend installing the AUBI portal and start enjoying the detail of all that information available to you without any effort, and presented in such a beautiful way. For all the details about the prerequisites or the install procedure got to the Github project page.
Public preview of the Logic Apps Enteprise Integration Pack (Jon Fancey) - Important release this week from Logic App team they announced many BizTalk functionalities that will now be available in LogicApp and also a great VisualStudio Addon that I'm really looking forward to try.
.NET Core 1.0 is now released! (Scott Hanselman) - Wow. Really impress by that new blend... Dotnet core is looking awesome.
VIDEO: How to run Linux and Bash on (Scott Hanselman) - It's really cool, but also very useful ... O scripts will work on Linux and Windows environment...
Windows 10 Anniversary Update Available August 2 (Yusuf Mehdi) - Cool, summer is comings and with it the anniversary edition... Learn more about what will be included in this free upgrade for all the Windows 10 users.
Happiness is DevOps’ Cornerstone (Alexandre Brisebois) - Interesting post that asks a lot of questions... I would like to see some graph or pie chart about our answers.
5 Habits that Help Code Quality (View all posts by Erik Dietrich) - Yet another post about how to code better, but this one is refreshing. It explains why the opposite would be harmful and also give us a training plan for better chance of success.
What’s in your highlights folder? (Marc Gagne) - Because life is not only mistakes and bad luck.Here good tips to help you giving some sunshine into your life when needed.
You are about to test the last version of your solution. You just need to change some configuration in the Micosoft Azure Portal, and you are good to go. To do it, you log in the portal at http://portal.azure.com and navigate to your component and... Error! What you see is a little sad cloud.
The Problem
This just happened to the team I'm working with. They needed to change the traffic manager's endpoint to do a traffic test. Unfortunately, the grid that contains the Endpoint was in a bad status and was not available. It looked like a deadened!
But it is really? Of course not. Here what you can do.
The Solution
Remember Microsoft is sharing the same API the Azure portal is using. That the beauty of the Azure Portal, you can use it has a convivial way to do your what you need, or you can access it via many different SDKs that are available today: .Net, Java, Node.js, Php, Python, Ruby and more! You also have command line tools that could help to manage your Azure services and apps using scripts.
To know more about all the SDK available or the command-line refer to the Azure SDKs documentation pages online.
This time we were in a Windows environment, and we needed to modify one Endpoint of a Taffic Manager. Here what we did using Azure PowerShell Cmdlets:
# Login to our account
Login-AzureRmAccount
# Set the context we will work in. Use Get-AzureRmSubscription to list all your subscriptions.
Set-AzureRmContext -SubscriptionName "MySubscriptionName"
# List All Traffic Manager Profile
Azure Get-AzureTrafficManagerProfile
# Load our endpoint in a variable, change the value we need and put it back.
$endpoint = Get-AzureRmTrafficManagerEndpoint -Name myendpoint -ProfileName myprofile -ResourceGroupName "MyResourceGroupName" -Type ExternalEndpoints
$endpoint.Weight = 50
Set-AzureRmTrafficManagerEndpoint -TrafficManagerEndpoint $endpoint
In this case, we used the Azure Resource Manager (ARM) commands, but all the commands are also available in the service mode. To know more about how to deploy with ARM you can read my previous post. To see all the command available supported with ARM to configure your solution, go see the documentation online.
Happy testing!
You know that image where you see people pulling a cart with square wheels, a man on the side wants to show them a circle wheel but the group reply they are too busy to care... Well, that was me with Azure Resource Manager (ARM). I knew it was good, but it looks too complicated, so I was waiting. Last weekend, I decided it was enough I needed to learn it! Right after few minutes, you cannot imagine my disappointment! It's so simple, so powerful and also so fast. This post explains how to deploy an ARM template, and how it works.
5 easy steps to deploy our first ARM template
To get started the easiest way possible I decided to use Visual Studio. For this sample let's create simple Windows Virtual Machine (VM). Only five steps are required to do it:
Step #1 - Create an Azure Resource Project
From Visual Studio create a new project of type Azure Resource Group. Be sure to have already installed on your machine the latest version of Azure SDK and Visual Studio updates.
Step #2 - Select the Arm template
This is where we select what we want in our template. Many options are available in VisualStudio and a lot more can be found on Github at: Azure Arm Git Template. In our case, let's select the sample Windows Virtual Machine, and click the Ok button.
Step #3 - Deploy the new template
Visual Studio will now generate multiple files, we will come back to it later, right now we will only deploy our solution. Right-click on the project et select Deploy.
Step #4 - Configure the deployment
Our first deployment is mostly ready, we just need to specify few details like the subscription and the resource group. Once you click Deploy, one last thing will be asked: the adminPassword.
Step #5 (the easiest one) - Enjoy
Voila! After few minutes, the virtual machine will be created, and we should be able to connect remotely to it.
Let's explain the magic
When the project was created, three folders were populated: Script, Template, and Tools. The last one is a bit obvious, it contains AzCopy, a tool to copy files. If you don't know AzCopy, you can learn more in a post I wrote recently.
Open the Deploy-AzureResourceGroup.ps1 contained in the Scripts folder. It's this script that will do all the hard lifting to deploy our rescourceGroup. If we look a bit closer, you will notice some parameters are declared, at the beginning of the file. Two of then should catch our attention.
TemplateFile is the path of our template (the one we selected previously), and the second TemplateParametersFile will contained all the parameters values to fill the blank of our template. This will be especially useful to deploy the same template in a different environment. In fact, this is a really big advantage. You can deploy the exact same schema to your development and production environment just by having two parameters.json file.
Let's have a peek at the template, in this case WindowsVirtualMachine.json. It's a 'json' file, so it's human-friendly, but it can be a bit scary at first. In the image just below, I collapse the collections to be able to emphases the visibility of the three prime elements: parameters, variables, and resources.
We already know parameters, so let's jump the variables. This section contains a list of key pair value like: imagePublisher, vmSize, virtualNetworkName, diagnosticsStorageAccountName, etc. Those can be fixed value or dynamics by using other variables or parameters. Here some example:
Last section but not least: the resources. This is where everything is put together to build the solution you will deploy. The resources are defined by specifying their type, name, and properties. You can assign any value from a static string, parameter value or a variable value.
Now that we know it works, why should we use it
Explain all the advantages to use ARM template could be a post by itself, and go further of the scope of that post. However, here few reasons:
A template file is light and easy to keep in a repository.
It's very simple to have the exact same template deployed in multiple environments.
ARM templates are really fast to deploy.
Easy to edit/ customize/ expand.
Easy to delete.
In Video Please
If you prefer, I also have a video version of this post.
Become a Visual Studio 2015 Power User (Allison Buchholtz-Au, Andrew Hall) - All Visual Studio developers must watch this video, big chance you had a d in your hand and didn't know about it.
Miscellaneous
It's a new blog! (Troy Hunt) - A delicious post, thanks Troy to share that with us.
An application revolution powered by the cloud (Mark Russinovich) - This post is a great introduction to the air of micro-services. It explains the evolution from the monolithic architecture and introduces some container system.
Azure Active Directory Application (Vincent-Philippe Lauzon) - This post is a good intro to Azure Active Directory and how it could help us in our cloud applications.
Why Microsoft Azure? - Interesting post that explains major reasons why Microsoft is a lead in cloud computing.