Saturday, December 12, 2015

Azure DSC: Desired State Configuration

Windows PowerShell Desired State Configuration Overview
"DSC is a new management platform in Windows PowerShell that enables deploying and managing configuration data for software services and managing the environment in which these services run.

DSC provides a set of Windows PowerShell language extensions, new Windows PowerShell cmdlets, and resources that you can use to declaratively specify how you want your software environment to be configured. It also provides a means to maintain and manage existing configurations."


Configuration MyDscConfiguration {
    Node "TEST-PC1" {
        WindowsFeature MyFeatureInstance {
            Ensure = "Present"
            Name =    "RSAT"
        WindowsFeature My2ndFeatureInstance {
            Ensure = "Present"
            Name = "Bitlocker"
After the DSC runs, a Managed Object Format (MOF) file is created, which is a standard endorsed by the Distributed Management Task Force (DTMF).
PowerShell Gallery | Home
"The PowerShell Gallery is the central repository for PowerShell content. You can find new PowerShell commands or Desired State Configuration (DSC) resources in the Gallery."

Azure Automation DSC Overview | Microsoft Azure

alt text

Azure WebJobs

Azure dev platform is changing quickly, but there is a solid effort from Microsoft Web tools team to provide usable documentation also. There is always a challenge with "magic goes here"
tools with too many layers hiding actual behavior.

What is the Azure WebJobs SDK

How to use Azure blob storage with the WebJobs SDK
"This guide provides C# code samples that show how to trigger a process when an Azure blob is created or updated. The code samples use WebJobs SDK version 1.x.For code samples that show how to create blobs, see How to use Azure queue storage with the WebJobs SDK."

BlobTrigger attribute: Note: The WebJobs SDK scans log files to watch for new or changed blobs. This process is inherently slow; a function might not get triggered until several minutes or longer after the blob is created. If your application needs to process blobs immediately, the recommended method is to create a queue message when you create the blob, and use the QueueTriggerattribute instead of the BlobTrigger attribute on the function that processes the blob.

Create a .NET WebJob in Azure App Service | Microsoft Azure
"This tutorial shows how to write code for a simple multi-tier ASP.NET MVC 5 application that uses the WebJobs SDK to work with Azure queues and Azure blobs. The tutorial shows how to deploy the application to Azure App Service and Azure SQL Database.

The sample application is an advertising bulletin board. Users can upload images for ads, and a backend process converts the images to thumbnails. The ad list page shows the thumbnails, and the ad details page shows the full size image."

Contoso Ads architecture

code for this tutorial
Simple Azure Website with WebJobs using the WebJobs SDK in C# for Visual Studio 2013

Deploy WebJobs using Visual Studio

Azure Websites and WebJobs | Pluralsight

Web Jobs · projectkudu/kudu Wiki · GitHub

Introducing Windows Azure WebJobs - Scott Hanselman

Azure WebJobs 101 - Basic WebJobs with Jamie Espinosa - YouTube

NuGet Gallery | Microsoft.Azure.WebJobs 1.1.0

Kangaroo $99 Windows 10 Intel Atom PC

A very interesting small computer, a great value for $99
It can run 4 hours on embedded battery, and has a 2xUSB+HDMI dock included.
It can also run iPad as a second screen over USB.
It even includes a fingerprint reader!

"Kangaroo is an independent subsidiary of InFocus Corporation, focused on Consumer devices, based in Irvine, CA."
InFocus / Kangaroo
Your Windows 10 computer anywhere on any screen."
InFocus Kangaroo Mobile Desktop PC
Kangaroo Mini PC Review - $99 Full Windows 10 Desktop PC Mobile Desktop Computer - YouTube

Kangaroo is a portable, phone-sized Windows 10 desktop @ engadget

The $99 phone-sized Kangaroo Windows 10 PC could be the perfect travel companion | ExtremeTech

Buy InFocus Kangaroo Signature Edition Mobile Desktop - Microsoft Store

Kangaroo Mobile Desktop Computer KJ2B#001-NA Intel Atom X5-Z8500 (1.44 GHz) 2 GB LPDDR3 32 GB eMMC Windows 10 Home -

a free other similar small PC devices: Tronsmart Ara X5 Windows 10 TV Box Cherry Trail Z8300 Quad Core 1.8G Gen 8 Graphics GPU 2G/32G 2.4Ghz/5Ghz LAN HDMI H.265 XBMC BT4.0 USB3.0: Electronics

a PC on HDMI stick, $129