Saturday, September 12, 2020

Visual Studio Codespaces is consolidating into GitHub Codespaces

Hello Developers :) 

If you have been using Visual Studio Codespaces Public Preview or thinking about using it, be aware of the up coming changes:

Existing users! 
Can continue accessing your codespaces via the current portal beyond the start of GitHub general availability.

Whats happening timeline!
  • September 4, 2020 – Current users can begin transitioning to the GitHub private beta.
  • November 20, 2020 – Creation of new plans and codespaces will be disabled, although existing codespaces may continue to be used. New users will only be able to sign up for Codespaces on GitHub.
  • February 17, 2021 – The Visual Studio Codespaces portal will be retired. All plans and codespaces remaining in the service will be deleted.

New users!
If you just heard about Codespaces and want to try We recommend requesting access to the GitHub Codespaces limited public beta.

See Codespaces cost here 

Thursday, September 3, 2020

Spin up virtual machine pre configured with WinRM access over https in Azure using Terraforms

Note: Basic knowledge of Terraforms is required.

If you are creating a VM in Azure and you want WinRM to be preconfigured for access over https and a certificate automatically created and linked with VM DNS see following steps.

Step 1: Download VM Terraforms sample from Github

You can download Terraforms sample from here and save it as e.g. (i needed one with the SQL):

Make sure to setup up the domain label, where var.dnsName is variable which you can declare in

domain_name_label = "${var.dnsName}winsqlhost"

Step 2: Add provisioner remote-exec:

To configure WinRM you need to add provisioner "remote-exec" to your Terraform, which triggers automatically once VM has spun up in the cloud.

resource "null_resource" "main" {
  triggers = {
    "after" = azurerm_mssql_virtual_machine.main.virtual_machine_id

  provisioner "remote-exec" {
    connection {

      type     = "winrm"
      user     = var.username
      password = var.pass
      https    = true
      insecure = true
      port     = 5986
      use_ntlm = true
      host     = "${var.dnsName}"


If you need to connect via http you don't need Step 3.

Step 3: Configure Key vault & Certificate with DSN name:

If VM is not on the domain and you need to connect through local machine you will have to setup Certificate for WinRM https access.

Download sample Terraform from here and save as e.g. (Generating a new certificate example)

Provide dns_names and CN equals to our DNS Name
     subject_alternative_names {
        dns_names = ["${var.dnsName}"""]

      subject            = "CN=${var.dnsName}"
      validity_in_months = 12

Link certificate with your VM in as follows:
  os_profile_secrets {
    source_vault_id =
    vault_certificates {
      certificate_url   = azurerm_key_vault_certificate.main.secret_id
      certificate_store = "My"

Now when you run Terraform your VM will be preconfigured with WinRM and ready to connect, you can connect WinRM over https port:5986 using DNS name.

Happy IaC! 😊

Monday, July 27, 2020

.Net 5.0 Preview 7

.Net 5.0 Preview 7 is now available for download.

When Microsoft announced .NET 5 at Microsoft Build 2019 in May, it marked an important step forward for developers working across desktop, Web, mobile, cloud and device platforms. In fact, .NET 5 is that rare platform update that unifies divergent frameworks, reduces code complexity and significantly advances cross-platform reach.

This is no small task. Microsoft is proposing to merge the source code streams of several key frameworks -- .NET Framework, .NET Core and Xamarin/Mono. The effort will even unify threads that separated at inception at the turn of the century, and provide developers one target framework for their work.

The result of this work is a unified platform with the .NET 5 framework executing on all platforms (desktop, Web, cloud, mobile and so on).

You can-- download .NET 5.0 Preview 7, for Windows, macOS, and Linux:

You need to use Visual Studio 2019 16.7 to use .NET 5.0. .NET 5.0 is now supported with Visual Studio for Mac. Install the latest version of the C# extension to use .NET 5.0 with Visual Studio Code.

Happy Coding!!!

Saturday, June 20, 2020

Fast track your DevOps process using Azure DevOps Labs!

Simplify and speed up the DevOps process with Azure DevOps services. The following labs will help you to get started with Azure DevOps services to automate software delivery and meet business needs.

Tuesday, June 9, 2020

Azure DevOps vs Github - migration recommendations

The following is a summary of migration recommendations for common Azure DevOps capabilities. When you are able to migrate will depend on your requirements and feature usage. The migration tooling and guidance we are creating will provide more details, but in the meantime, please work with your GitHub and Microsoft account representatives for assistance.

Friday, March 6, 2020

Hello Developers! AZ-204 is here

Hi folks,

New version of AZ-203, AZ-204 is here from 24 Feb, 2020.You will be able to take AZ-203 exam until it retires on May 31, 2020.

Skills measured
AZ-204 (new)
  • Develop Azure Infrastructure as a Service compute solution (10-15%)
  • Develop Azure Platform as a Service compute solution (20-25%)
  • Develop for Azure storage (15-20%)
  • Implement Azure security (10-15%)
  • Monitor, troubleshoot, and optimize solutions (10-15%)
  • Connect to and consume Azure and third-party services (20-25%)

  • Develop Azure compute solutions (25-30%)
  • Develop for Azure storage (10-15%)
  • Implement Azure security (15-20%)
  • Monitor, troubleshoot, and optimize Azure solutions (10-15%)
  • Connect to and consume Azure services and third-party services (25-30%)

What’s in AZ-204
Audience Profile
Candidates for this exam are cloud developers who participate in all phases of development from requirements definition and design, to development and deployment, and maintenance. They partner with cloud DBAs, cloud administrators, and clients to implement solutions.
Candidates should be proficient in Azure SDKs, data storage options, data connections, APIs, app authentication and authorization, compute and container deployment, debugging, performance tuning, and monitoring.
Candidates must have 1-2 years professional development experience and experience with Microsoft Azure. They must be able to program in an Azure Supported Language.

Skills Measured

NOTE: The bullets that appear below each of the skills measured are intended to illustrate how we are assessing that skill. This list is not definitive or exhaustive.

NOTE: In most cases, exams do NOT cover preview features, and some features will only be added to an exam when they are GA (General Availability).

Develop Azure compute solutions (25-30%)

Implement IaaS solutions

·      provision VMs
·      create ARM templates
·      create container images for solutions
·      publish an image to the Azure Container Registry
·      run containers by using Azure Container Instance

Create Azure App Service Web Apps

·      create an Azure App Service Web App
·      enable diagnostics logging
·      deploy code to a web app
·      configure web app settings
·      implement autoscaling rules (schedule, operational/system metrics)

Implement Azure functions

·      implement input and output bindings for a function
·      implement function triggers by using data operations, timers, and webhooks
·      implement Azure Durable Functions

Develop for Azure storage (10-15%)

Develop solutions that use Cosmos DB storage

·      select the appropriate API for your solution
·      implement partitioning schemes
·      interact with data using the appropriate SDK
·      set the appropriate consistency level for operations
·      create Cosmos DB containers

Develop solutions that use blob storage

·      move items in Blob storage between storage accounts or containers
·      set and retrieve properties and metadata
·      interact with data using the appropriate SDK
·      implement data archiving and retention

Implement Azure security (15-20%)

Implement user authentication and authorization

·      implement OAuth2 authentication
·      create and implement shared access signatures
·      register apps and use Azure Active Directory to authenticate users

Implement secure cloud solutions

·      secure app configuration data by using the App Configuration and KeyVault API
·      manage keys, secrets, and certificates by using the KeyVault API
·      implement Managed Identities for Azure resources

Monitor, troubleshoot, and optimize Azure solutions (10-15%)

Integrate caching and content delivery within solutions

·      develop code to implement CDN’s in solutions

·      configure cache and expiration policies
·      store and retrieve data in Azure Redis cache

Instrument solutions to support monitoring and logging

·      configure instrumentation in an app or service by using Application Insights
·      analyze and troubleshoot solutions by using Azure Monitor
·      implement Application Insights Web Test and Alerts
·      implement code that handles transient faults

Connect to and consume Azure services and third-party services (25- 30%)

Develop an App Service Logic App

·      create a Logic App
·      create a custom connector for Logic Apps
·      create a custom template for Logic Apps

Implement API management

·      create an APIM instance
·      configure authentication for APIs
·      define policies for APIs

Develop event-based solutions

Note: Creating event models is in scope

·      implement solutions that use Azure Event Grid
·      implement solutions that use Azure Notification Hubs
·      implement solutions that use Azure Event Hub

Develop message-based solutions

·      implement solutions that use Azure Service Bus
·      implement solutions that use Azure Queue Storage queues