fabiochiu/medium-articles huggingface dataset:
Wrapping up certifications for 2020!
By: Jack Roper
Tags: AWS, Azure Certification, Google Certification, Aws Certification, Azure

This year I’ve acheived a few more professional certifications

Azure DevOps Engineer Expert

Hashicorp Terraform Associate

AWS Cloud Solutions Architect Associate

Azure AI Fundamentals

Azure Data Fundamentals

Azure Administrator (Recertified taking AZ-104, previous completed 70–533 and AZ-102 Transistion exams).

Giving me a nice colleciton of shiny badges!

Targets for next year?

Continuing down the AWS path, The AWS SysOps Administrator Associate exam seems like the Azure Administrator equivalent and should give me some more practical experience with the portal and using AWS in anger:

AZ-204 Devloping solutions for Microsoft Azure:

This one will give me the MAPA Champion recognition too! Check that out here:

Google cloud Associate Cloud Engineer — this will be interesting! I have never looked at GCP so getting the foundational certification will be completely new material for me, although I don’t expect it to be widly different to the foundational AWS / Azure certifications.

Hashicorp Vault Associate — Somthing we could potentially use in my day to day job to secure secrets across multi-cloud environments. A steep learning curve but interesting material.

AWS Solutions Architect Professional! — Potentially a very tough one, but a good aspiration!
Job Posting boosted for Google Cloud Platform.
Tags: Computer Science, AWS, Technology, Google Cloud Platform, Azure

Google Cloud Platform

The share of job postings in that time period increased for AWS by 232.06 percent and Azure by 302.47 percent, while Google Cloud saw the biggest jump at 1,337.05 percent. Between 2018 and 2019, the number of job postings for AWS climbed 21.07 percent, Azure by 30.59 percent and Google Cloud by 40.87 percent.”
How To Run an Angular App As a Container On Azure VM
By: Bhargav Bachina
Tags: JavaScript, Cloud Computing, Software Development, Programming, Azure

How To Run an Angular App As a Container On Azure VM

There is a number of ways you can run your applications nowadays. It’s very common to containerize your application and run it on Docker runtime. You have several options in Microsoft Azure such as App Service, AKS, etc. But, you have limited control over the underlying architecture when you use these options. If you want complete control over the underlying architecture you can install Docker on Azure VM and run your application on it.

In this post, we will see how we can install Docker on Azure VM and run an Angular application as a container on it.

Prerequisites

Example Project

Set up a VM and Install Docker

Run the Container

Access From the Browser

Summary

Conclusion

Prerequisites

There are some prerequisites for this article. You need to have nodejs installed on your laptop and how http works. If you want to practice and run this on your laptop you need to have these on your laptop.

Azure Prerequisites

You should have a Microsoft Azure Account. You can get a free account for one year. You should see the below screen after you login.

Azure Home Screen

You need to create a subscription for your account. The most common is Pay As You Go subscription.

Subscription Offers

Pay-As-You-Go Subscription

You need a subscription to be associated with your tenant so that all the cost is billed to this subscription.

Install Azure CLI and Configure

Once you have the Azure Account you can install Azure CLI. You can go to the below documentation and install Azure CLI based on your operation system. You can configure Azure CLI with your subscription.

az login

Let’s list the subscription with the following command
Azure Lighthouse — Deployment Error (data actions not allowed)
By: Jack Roper
Tags: Azure Lighthouse, Azure

I’ve been designing some templates for Azure Lighthouse deployments recently to delegate access and allow customer subscriptions to be managed from a central location.

Orginally I had the following groups defined in the template to delegate access to Key Vault and Storage Account File Shares and Blobs:

{ "principalId": "a627a78f-c2f2-4b34-b13c-9bbf46a768a8", "principalIdDisplayName": "KVCertificates", "roleDefinitionId": "a4417e6f-fecd-4de8-b567-7b0420556985" }, { "principalId": "264f0c6d-851f-4e18-b511-b64aaa3be3e9", "principalIdDisplayName": "KVSecrets", "roleDefinitionId": "b86a8fe4-44ce-4948-aee5-eccb2c155cd7" }, { "principalId": "89e8f1c2-5260-4041-a837-688b2ab79e39", "principalIdDisplayName": "KVKeys", "roleDefinitionId": "14b46e9e-c2b7-41b4-b07b-48a6ebf60603" }, { "principalId": "2e4a624d-c9f5-49f8-9e78-16ce9ed09628", "principalIdDisplayName": "SAFileShareContributor", "roleDefinitionId": "0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb" }, { "principalId": "f231666f-77e8-4b82-9fe2-32cb8907e947", "principalIdDisplayName": "SABlobDataContributor", "roleDefinitionId": "ba92f5b4-2d11-453d-a403-e96b0029c9fe" },

And swiftly ran into this error when deploying the template:

New-AzSubscriptionDeployment : 16:28:54 - The deployment 'lighthouse' failed with error(s). Showing 1 out of 1 error(s). Status Message: The role definition 'ba92f5b4-2d11-453d-a403-e96b0029c9fe' with data actions not allowed for registration definition '263f62fb-ac4e-5c57-b9ba-67cb6a1717a3'. Only built in role definitions without any data and notData actions are allowed. (Code:InvalidRegistrationDefinitionCreateRequest) CorrelationId: f22f3e57-5cf5-459b-aba0-d08bc3a3aacc At line:1 char:1 + New-AzSubscriptionDeployment -Name lighthouse -Location uksouth ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-AzDeployment], Exception + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureSubscriptionDeploymentCmdlet

Turns out you cannot use Lighthouse with role definitions that have data actions (i.e. allows access to the data plane rather than the resource itself).

Worth bearing in mind when designing your access model, AAD group structure and lighthouse templates!
Immutable Storage for Azure Blob Storage
By: Raju Rh
Tags: Blob Storage, Storage, Azure

Azure Blob Storage provides scalable, cost-efficient storage in the cloud. In general, Blob Storage holds organization data like back-ups, unstructured data, files, etc. With the Immutable Storage feature, it allows storing business-related information in the WORM (Write-Once-Read-Many) state. Immutable storage feature is available in all Azure public regions.

Immutable storage feature is set at the container level through an Access policy. Policies apply to all the blobs in the container, can be applied either for the new or existing container, and supports all blob tiers (hot, cold, and archive).

Immutable storage supports two policy type:

Time-based retention

Legal hold

Note: Immutable policy type can be applied either through Azure Portal or Azure CLI. You cannot delete or modify any files within the container when any one of the policy is enabled on the container.

Immutable storage — Policy type

Time-based retention

If you enable a Time-based retention policy all blobs in the container will stay in the immutable state for the duration you define as part of the policy. The retention interval value should be within the range of 1to 400 years. By default, the time-based retention policy will be created in an unlocked state. It’s always recommended policy must be in a locked state. The maximum number of edits for locked policy to change retention time interval is 5. In terms of the Audit feature for this policy maximum of seven time-based retention policy audit logs are retained for a locked policy. Once you enable the locked policy it can’t be deleted or reversed.

Note: If a time-based retention policy applied to an existing container, the effective retention period for the existing blob will be from the time of its creation.

Time-based retention policy

Legal hold

When the retention interval is not known or clear, users can set legal holds. Each legal hold policy needs to be associated with one or more tags. Tags are used as a named identifier to categorize and describe the purpose of the hold.

Legal Hold policy

To retrieve the list of tags associated with the container of Legal hold policy run the following command

az storage container legal-hold show --account-name $storageaccountname --container-name $containername

Legal hold tags

Originally published at https://rajurh.blogspot.com on December 23, 2020.
Simple Azure Marketplace Virtual Machine Offer: creating VM images and publishing in Partner Center
By: Arsen Vladimirskiy
Tags: Azure Virtual Machines, Azure, Azure Marketplace, Microsoft Partner Center

In the following four videos, we look at how to create Linux and Windows VM images using Packer.io unmanaged VHD and Azure Shared Image Gallery destinations, how to publish these images as Azure Marketplace Virtual Machine offer in Microsoft Partner Center, and how to deploy and test the “preview” offer plans/SKUs.

You can see the sample code used in the videos here.

Update: As of March 2021, Partner Center allows to publish VM offers directly from Azure Shared Image Gallery (SIG) instead of needing to generate SAS URL for the VHD file. Therefore, you may want to skip Video #1 and look at Video #2 without focusing on the part describing how to export the SIG image to VHD.

Azure Virtual Machine Offer Hierarchy — Publisher, Offer, Plan/SKU, and Version

Video #1: Creating Azure VM image for Azure Marketplace Virtual Machine Offer using Packer with “unmanaged” VHD destination

Tip: Play the video full screen to see all of the details.

Using Packer with “unmanaged” VHD destination to get the VHD SAS URL for Partner Center

Video #2: Creating Azure VM image for Azure Marketplace Virtual Machine Offer using Packer with Azure Shared Image Gallery destination

Tip: Play the video full screen to see all of the details.

Update: As of March 2021, Partner Center allows to publish VM offers directly from Azure Shared Image Gallery (SIG) instead of needing to generate SAS URL for the VHD file. Therefore, you may want to look at Video #2 without focusing on the part describing how to export the SIG image to VHD.

Using Packer with Azure Shared Image Gallery destination and then exporting the image and copying the VHD into Azure Storage account

Video #3: Publishing Azure Marketplace Virtual Machine Offer in Partner Center using SAS VHD URL

Tip: Play the video full screen to see all of the details.

Video #4: Deploying and testing “preview” Virtual Machine offer from Azure Marketplace

Tip: Play the video full screen to see all of the details.

Azure VM offer plans can used by Azure Apps

Azure Application offers (i.e. Solution Template or Managed Application) can use VM offer plan/SKU inside of their ARM templates. The VM offer plan can be marked as “hidden” so that it is not visible directly in Azure Marketplace UI but can still be used via ARM templates or command line tools.

Azure Applications like “Solution Template” and “Managed App” can use VM offers inside of their ARM templates

My other posts and videos about Azure VM offers

You can find the sample code used in the videos above at https://github.com/arsenvlad/azure-vm-offer-hello-world-202012

Thank you!

Please leave feedback and questions below or on Twitter https://twitter.com/ArsenVlad

This article is also published at the FastTrack for Azure Technical Community Blog https://techcommunity.microsoft.com/t5/fasttrack-for-azure/simple-azure-marketplace-virtual-machine-offer-creating-vm/ba-p/2058093
You know? — Speech analysis and video summarization
By: Eric Jadi
Tags: Speech Recognition, Docker, Technology, Conan Obrien, Azure

In this second installment of my somewhat recurring series “Tools that nobody needs”, I present to you my “You know” project.

With the power of the cloud we can conclude that Conan O’ Brien says “You know?” a lot.

A few months ago a colleague of mine was wondering how many times the phrase “you know?” was being uttered during a video conference we were in. Being the geek that I am, my first thoughts were that this would not be too difficult to implement and a few weeks later I had my first prototype.

The prototype can take a random YouTube video as an input, and it will scan the audio for the utterance “You know”. Next, it will cut out all of the clips containing the phrase, and stitch them all together to form the output video.

Above you can see an example output video featuring Conan O’Brien and his guests.
Enterprise Data Lake dynamics in Big Data Ecosystem.
Tags: AWS, Cdc, Data Lake, Etl, Azure

Extraction

In Extraction various 2 methods are predominately used

1.Bulk upload for Historical Data.

In AWS world we can achieve using Network-based transfers if you have high throughput network connectivity to AWS — via the internet, a government Trusted Internet Connection (TIC), a research network peered with AWS, or your own AWS Direct Connect — you should consider using AWS Data-sync or AWS Transfer Family or AWS Command Line Interface.

2.CDC-Change Data capture for transnational data

As the name suggests, change data capture will only capture the change in the data.Unlike other replication methods like Export & Import and Incremental SELECT & COPY, CDC is fast, comprehensive, and lightweight.CDC is Comprehensive. Incremental SELECT & COPY is fast, but it doesn’t replicate changes to table schema or delete unused rows from your data warehouse. CDC replicates all changes to data and table schema.CDC is Lightweight. Unlike Incremental SELECT & COPY, CDC does not impact the performance of your production database while replicating to your data warehouse.

Types of Change Data Capture

1. Query Based

This technique involves performing an I/O operation at the database by scanning through an entire table containing a large volume of records.

2. Log Based

This method involves reading log files of the source database to identify the data that is being created, modified, or deleted from the source into the target Data Warehouse.

The top 4 change data capture implementation techniques are:

Timestamp Based Technique Triggers Based Technique Snapshot Based Technique Log Based Technique

Transformation

The transformation stage is where you apply any business rules and regulations to achieve.

Standardization

De-Duplication

Verification

Sorting

Load

Load this extracted transformed data into a new home by executing a task (job)
How to setup Distributed MinIO Cluster on Kubernetes
By: Faraz Peerbaksh
Tags: Kubernetes, Minio, Aws Eks, Azure, Gcp

Distributed MinIO Kubernetes Architecture

Distributed MinIO provides protection against multiple node/drive failures and bit rot using erasure code. As the minimum disks required for distributed MinIO is 4 (same as minimum disks required for erasure coding), erasure code automatically kicks in as you launch distributed MinIO. With the highest level of redundancy, you may lose up to half (N/2) of the total drives and still be able to recover the data.

A distributed MinIO setup with m servers and n disks will have your data safe as long as m/2 servers or m*n/2 or more disks are online.

Note: MinIO creates erasure-coding sets of 4 to 16 drives per set. The number of drives you provide in total must be a multiple of one of those numbers.

MinIO Kubernetes Architecture Diagram

The architecture of MinIO in Distributed Mode on Kubernetes consists of the StatefulSet deployment kind. The following lists the service types and persistent volumes used.

MinIO Services

Services are used to expose the app to other apps or users within the cluster or outside.

1. HeadLess Service for MinIO StatefulSet

2. LoadBalancer for exposing MinIO to external world.

Persistent Volumes

1. Dynamic
Create a parameterized dataset for azure data factory pipeline
By: Usha Singh
Tags: Dataset, Azure Data Factory, Azure

In this article, we will create a parameterized dataset for Azure SQL database for azure data factory pipeline. Here developer can create a connection for database and pass the table name while using the dataset in Azure pipeline based on requirement.

You should have Azure subscription. You should have already set up an Azure SQL database server. You should have SQL Server details, User id and password and access of it.

1. Go to dataset and click on 3 dots and select new dataset.

2. Select the service for which you want to create it. Here we are doing it for Azure SQL database. So, select Azure SQL Database and continue.

3. Give a name to dataset and select the linked service from drop down and click OK.

4. Go to parameter tab and create 2 parameters for schema name and table name.

5. Now in connection tab click on Edit button and it will give you an option to add dynamic content for the schema and table.

Click on add dynamic content and select the parameter we create in previous step

Perform the similar steps for table name as well.

Once it is done, click on preview data. It will ask you to provide the schema name and table name in parameter. After providing the input click on OK

If you can see the data from table then great. Parameterized Dataset has been created. Now you can call it your pipeline and provide the table name as you want.

Make sure you publish it at the end 😊
.NET 5 + Azure App Configuration: simplificando o uso de configurações nos mais variados projetos
By: Renato Groffe
Tags: Dotnet, Dotnet 5, Web Development, Aspnetcore, Azure

Learn more. Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Make Medium yours. Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore
Saving Santa’s IT Architecture With AI and Cognitive Services
By: Iulia Feroli
Tags: Christmas, Automation, Cognitive Services, Azure, AI

On the last few days of work before Christmas our internal architect team hosted a “Save Santa” hackathon where we were given some pain points that Santa and his elves may have to deal with in their IT system.

As these pains may be transferable beyond the North Pole, hereby my team’s complete Azure solution to automate and add AI capabilities to an email-triggered insight gathering pipeline.

YouTube video where I do the solution walkthrough

The pains we are targeting:

Overwhelming number of emails coming in that have to be answered / sorted / processed / dealt with. (Santa’s wish lists being sent over from all over the world)

2. Getting insights out of data at a first glance such as:

Dealing with data in different languages coming in (that needs to all be converted into one source of truth before further processing)

Understanding the sentiment of text (deal with sad kids first, or take different actions based on different readings)

Get a quick summary of important details in messages (if kids take forever to get to the point)

Classify images (picture attachments of toys kids might want)

Aggregate all these insights into one place, automate all these steps, have it all running in one platform with one authentication method (Azure Active Directory).

Overview of solution

Needed resources for this solution

Detect emails with attachments and key word “wish list” in subject. Process email to remove html and store the body (text) and images of presents Create a notebook using cognitive services & custom vision APIs to process the text and images of the email request. (A. Translate the email and gather more insights from the wish like sentiment, key phrases. B. Classification of the received image into pre-set gift categories) A. Connect the notebook to the data lake, and B. Run a blob trigger when new email items have been stored to start text. Centralize all information and create dashboard

example of an email from a kid that would trigger our pipelines

1 & 2: Email detection with Logic Apps and cleaning with custom Azure Functions

This section handles the email detection by monitoring my inbox (or Santa’s) for wishes from children.

We assume kids would send images of the toys they want, and use a type of language in the email subject.
Azure Data Architecture Guide
Tags: Microsoft, Architecture Design, Azure Architecture, Azure, Microsoft Azure

Azure Data Architecture Guide

Photo by Hamza Sultan on Unsplash

The cloud is changing the way applications are designed, including how data is processed and stored. Instead of a single general-purpose database that handles all of a solution’s data, polyglot persistence solutions use multiple, specialized data stores, each optimized to provide specific capabilities. The perspective on data in the solution changes as a result. There are no longer multiple layers of business logic that read and write to a single data layer. Instead, solutions are designed around a data pipeline that describes how data flows through a solution, where it is processed, where it is stored, and how it is consumed by the next component in the pipeline.

Traditional RDBMS workloads. These workloads include online transaction processing (OLTP) and online analytical processing (OLAP). Data in OLTP systems is typically relational data with a predefined schema and a set of constraints to maintain referential integrity. Often, data from multiple sources in the organization may be consolidated into a data warehouse, using an ETL process to move and transform the source data.

Traditional RDBMS workloads

Big data solutions. A big data architecture is designed to handle the ingestion, processing, and analysis of data that is too large or complex for traditional database systems. The data may be processed in batch or in real time. Big data solutions typically involve a large amount of non-relational data, such as key-value data, JSON documents, or time series data. Often traditional RDBMS systems are not well-suited to store this type of data. The term NoSQL refers to a family of databases designed to hold non-relational data. The term isn’t quite accurate, because many non-relational data stores support SQL compatible queries. The term NoSQL stands for “Not only SQL”.

Big data solutions

These two categories are not mutually exclusive, and there is overlap between them, but we feel that it’s a useful way to frame the discussion. Within each category, the guide discusses common scenarios, including relevant Azure services and the appropriate architecture for the scenario. In addition, the guide compares technology choices for data solutions in Azure, including open source options. Within each category, we describe the key selection criteria and a capability matrix, to help you choose the right technology for your scenario.
Angel Eyes 👼. inspired by Kartik Tallapragada’s Angel…
Tags: Azure Iot, Machine Learning, Iot Edge, Azure Iot Hub, Azure

Hoping I could give my sister a piece of mind and some time back so she could at least eat 🍝.

Angel Eyes is an IoT device that monitors a baby’s sleeping position and environment. Caregivers can view a live stream from anywhere and receive notifications if the device detects any issues.

Angel Eyes was created to ensure a safe and non-intrusive way of monitoring the infant that is leaps and bounds ahead of the on-market baby monitor cameras utilizing the recent advancements in Deep Learning. Angel Eyes is a non-intrusive, safe and efficient monitoring system, that proactively alerts the care givers as the environment or the infant position changes.

The need

Accidental Suffocation and Strangulation in Bed (ASSB) is a prominent cause of death for newborns. Baby monitors could be smart enough to react to scenarios and data, and to proactively alert caregivers when a baby is at risk for ASSB.

The idea

A smart baby monitor uses AI to track the infant and their surrounding conditions. The system is always on, continuously monitoring and alerting caregivers. The device is non-intrusive, monitoring externally without any physical restrictions.

The solution

Angel Eyes uses Microsoft Azure, with a camera and sensors for temperature and humidity. When it detects risks like high room temperature, an object in the crib, or the baby’s unsafe position — it alerts the caregiver to take corrective action.

Safer monitoring for newborns

Angel Eyes was created by parents who wanted to track their baby’s safety at all times, without losing sleep. Learn how Microsoft Azure’s cognitive and visual services plus IoT monitoring devices helps ensure their baby’s well-being.

Always On: Continually watching over the baby and its surrounding conditions.

Proactive: Proactively notifying the caregiver if the surrounding conditions change.

Non-Intrusive: Externally observing the infant’s environment without poking and prodding, thereby allowing the infant the least restrictive environment.

Infant found but not sleeping in the position
Accelerating Windows Virtual Desktop Deployments
By: Kumar Allamraju
Tags: Azure, Fslogix, Windows Virtual Desktop, Remote Working

Day-3 : Pooled Desktops

Windows Virtual Desktop lets you use Windows 10 Enterprise multi-session, the only Windows client-based operating system that enables multiple concurrent users on a single virtual machine (VM). With multi-session(pooled) desktops you’ll get a full desktop as well as Remote Apps.

Create a new WVD Host pool for multi-session desktops.

Go to Azure Portal >> Windows Virtual Desktop

Create a host pool

Start with Windows 10 Enterprise multi-session , Version 2004 + Microsoft 365 Apps

Full Desktops

Finish the remaining steps in the host pool creation wizard.

Give it 5–10 minutes to complete the provisioning process. Add users to the Application Group.

Follow the same steps mentioned in Day-1 to connect to the Workspace and to login to the session hosts.

Based on the above settings, you can have 4 users connecting to these 2 multi-session desktops at any given time.

RemoteApps

Repeat the same process to create a new hostpool, workspace etc.

By default a “Desktop Application Group” (DAG) is created but we now add a Remote Application Group to expose remote apps.

Go to your WVD Host pool >> Manage >> Application Groups

+ Add

Now go back to your Remote Application Group (myRAG) and add the remote apps. These apps could be built-in apps or custom apps. Refer to the screenshot below

Day-4 — Configure FSLogix for roaming profiles

Create a new Windows 10 Enterprise multi-session 2004 + Microsoft 365 Apps virtual machine. We’ll use this VM to build a golden image for multi-session desktops.

RDP in to the VM

Install FSLogix — https://docs.microsoft.com/en-us/fslogix/install-ht

Create a new Storage Account and File Share

Make a note of URL from Settings >> Properties section. The URL should be in the form of https://{storage-account}.file.core.windows.net/{filesharename}

Open the Windows PowerShell ISE as an administrator and add the following entries

#Add FSLogix settings New-Item -Path HKLM:\Software\FSLogix\ -Name Profiles –Force Set-ItemProperty -Path HKLM:\Software\FSLogix\Profiles -Name "Enabled" -Type "Dword" -Value "1" New-ItemProperty -Path HKLM:\Software\FSLogix\Profiles -Name "VHDLocations" -Value "\\wvdrg1storage.file.core.windows.net\myfslogixshare" -PropertyType MultiString -Force

Note: Pls make sure input the right storage account name and file share that’s valid in your subscription.
Displaying images from a private cloud storage in Power BI report
By: Jesper Enemark
Tags: Business Intelligence, Image Processing, Technology, Power Bi, Azure

The internet is flooded with guides showing how to use a cloud storage service to display images in a PBI report. Most of them mentioning how the URI should to be anonymously available, example. This is perfectly fine if you don’t have any sensitive data. For a company that prefers to keep their image files private, this approach falls short.

Solution:

For this solution I have chosen to go with Azure Blob Storage as my cloud storage provider. When using Power BI we are already in the Microsoft universe, so let us stay there for convenience’ sake.

Prerequisites:

Implementation(Using Azure PowerShell)

First we would have to log in to the azure account with this command:

Connect-AzAccount

Next we want to create a context of where we want the shared access signature(SAS) to be. This is done by firstly retrieving the access key of the storage account.

1. Go to Azure Portal

2. Now go to Storage Accounts

3. Click specific storage account

4. Settings > Access keys

5. Copy, paste a key

Replace <> with your account name and storage account key and run command.

$ctx = New-AzStorageContext -StorageAccountName <storage-account>

-StorageAccountKey <access-key>

To create the SAS we need first to specify the context we just created inside the parameter

-Context. Here I give read permission with ‘r’(highly recommended) as we want users ONLY to view the content.

The lifetime for the SAS token can be set by -ExpiryTime parameter which has to be of type DateTime. I created one with n-number of days into the future. The name has to be specified to generate the token based on the container we want the user to access.(see docs for more information about the parameters). Run this command and replace the <> with your container name and expiration date number.

New-AzStorageContainerSASToken -Name <container-name> -Permission r -ExpiryTime (Get-Date).adddays(<number>) -Context $ctx

This should return a SAS Token that can be used as an extension of the storage resource URI.

Storage resource URI with a SAS Token extension

WARNING: Only share the Power BI report with people who should have read permission to the container. The token can easily be retrieved through the report itself.
Power BI Composite Models using Analysis Services -Direct Query Mode
By: Srini Velamakanti
Tags: Blob Storage, Azure Analysis Services, Power Bi, Powerbipowerquery, Azure

Microsoft released a new exciting feature for Power BI, which users have been waiting for a long time. i.e Direct Query against Analysis Services in Power BI ( still in preview)

So far we can connect to an Analysis Service using either a Live Connection or Import, but the Direct Query option is not available for Analysis Services Data Sets

With this new capability, we can connect to an Analysis Service model using Direct Query and extend its feature with the additional data sets ( composite models), customized tables, columns, and calculations. So exciting …right!!!

Now let's see how we can connect to Analysis Service using the Direct Query option,

Before we jump into the action, let's download the latest version of the Power BI Desktop(Download Power BI Desktop) and Install

Open the Power BI Desktop and enable the Preview feature Direct Query for Power BI datasets and Analysis Services, then restart the Power BI desktop

Power Bi Preview Features

Click on Get Data and select Analysis Services, for this example, I am connecting to a sample Azure Analysis Service model called adventureworks
Creating an Azure Kubernetes Cluster (AKS) with Managed Identities
By: Kumar Allamraju
Tags: Managed Identity, Aks, Azure

By default AKS cluster is created with a Service Principal. Clusters using service principals eventually reach a state in which the service principal must be renewed to keep the cluster working. Managing service principals adds complexity, which is why it’s easier to use managed identities instead. Managed Identities are essentially a wrapper around service principals, and makes the cluster management simpler. Credential rotation for managed identities (MI) happens automatically every 46 days ( Azure Active Directory default setting).

Prerequisites

Valid Azure Subscription.

The Azure CLI, version 2.15.1 or later

Let’s get started

# Create an Azure resource group

az group create --name myResourceGroup --location westus2 #Create an AKS Cluster with MI

az aks create -g myResourceGroup -n myMIAKSCluster --enable-managed-identity

Use the following command to query objectid of your control plane managed identity:

az aks show -g myResourceGroup -n myMIAKSCluster --query “identity”

Once the cluster is created, you can then deploy your application workloads to the new cluster and interact with it just as you’ve been doing with service-principal-based AKS clusters.

Finally, get credentials to access the AKS cluster:

az aks get-credentials — resource-group myResourceGroup --name myManagedCluster

You can also update an existing AKS cluster to managed identities. This is in preview though.

az feature register --namespace Microsoft.ContainerService -n MigrateToMSIClusterPreview az aks update -g <RGName> -n <AKSName> --enable-managed-identity az feature register --namespace Microsoft.ContainerService -n UserAssignedIdentityPreview az aks update -g <RGName> -n <AKSName> --enable-managed-identity --assign-identity <UserAssignedIdentityResourceID>

Note: Once the system-assigned or user-assigned identities have been updated to managed identity, run the following on your nodes to complete the update to managed identity.

az nodepool upgrade --node-image-only

When I work with customers on AKS best practices Creating AKS clusters with MI is one thing that I always recommend. This best practice is often overlooked by most of our customers.

References

Pls review the limitations https://docs.microsoft.com/en-us/azure/aks/use-managed-identity#limitations

Managed Identities in Azure https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview
Connecting to Azure Cache (Redis) with redis-cli and stunnel
By: Jordan Lee
Tags: Azure Cache, Azure, Redis

If you’re using Azure Cache for Redis (managed redis instances in Azure), chances are it’s set up for SSL-only connections.

In this case, you’ll find that any commands you send over redis-cli end up timing out:

redis-cli -h digital-test.redis.cache.windows.net -p 6380 -a [password]

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

digital-test.redis.cache.windows.net:6380> ping Error: Server closed the connection

(233.57s)

This is because redis-cli doesn’t work with SSL connections. To get around this, you have the following options:

Disable SSL-only configuration (not recommended due to security concerns)

Connect using the Azure console

Using stunnel to tunnel your redis connection over a TLS connection

The first 2 options require logging into Azure Portal, as well as a high level of permissions which you may not have (depending on whether Redis in your environment is managed by another team or not).

So I tend towards option 3 — stunnel with redis-cli.

Here’s how to set it up on Ubuntu (I’m using WSL2 on Windows 10).
Add custom domain names in your Azure Active Directory
By: Ashish Singh Baghel
Tags: Custom Domain, Azure Active Directory, Azure, Azure Architecture

Step 7: Now, in order to use the domain with your Azure AD, create a new TXT record with your domain name registrar using the information in your Azure screen:

For this example my custom domain name registrar is Google Domains.

Adding txt record in my Google Domains DNS > Custom resource records
Azure: ¿qué es y por qué tengo que aprender acerca de Cloud Computing?
By: Demian Sclausero
Tags: Kubernetes, Docker, Technology, Cloud Computing, Azure

Learn more. Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Make Medium yours. Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore
Modex expands business by integrating with Microsoft Azure
Tags: Microsoft, Modex, Modex Bcdb, Azure, Blockchain

Modex is proud to announce that it has integrated its flagship product, the Blockchain Database (BCDB) trademark solution, with Microsoft Azure, one of the most important cloud computing providers available on the market. Through this technological integration, Modex offers its middleware software as an IaaS offering on the major public clouds for clients and potential clients who wish to deploy a Modex BCDB infrastructure on their Azure cloud subscriptions to set up a hybrid infrastructure that fuses blockchain technology with the cloud.

The new Modex BCDB release is built upon the foundation set up earlier this year when Modex entered the Microsoft for Startups program that gave the company access to Microsoft partners who guided Modex during its integration with Azure and some of its services. All the hard work done by the Modex development team during the last few months crystallized in our latest release, where the main focus was placed on ensuring a smooth integration with the Azure Marketplace. This means that Modex BCDB is now available on the Azure Marketplace as an IaaS offering.

Find out more details about this integration and its benefits.
Azure Front Door — Let’s summarize
Tags: Microsoft, Azure Front Door, Cloud, Azure

What is Azure Front Door?

Azure Front Door Service allows you to define, manage, and monitor global routing of web traffic by optimizing maximum performance and immediate global failover for high availability. Front Door transforms global (multi-region) consumer and enterprise applications into robust, high-performance, modern, personalized applications, APIs, and content that use Azure to reach users around the world. can

That is, Azure Front Door can:

Optimize maximum performance and immediate global fail over for high availability,

Define, manage, and monitor global routing of web traffic.

These two are the main features. Also, regarding the functions, it seems that there are the following functions.
Make your Azure metric alerts stateless
By: Sachin Panwar
Tags: Azure Metric Alerts, Azure Monitoring, Azure, Azure Monitor

By default, metric alert will not fire unless the last fired alert is resolved.

A fired metric alert gets resolved when the alert condition is not met for three consecutive periods. This is to reduce noise.

Snippet from documentation

Read more at View and resolution of fired alerts: https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-metric-overview#view-and-resolution-of-fired-alerts

But in any case you want your metric alert to fire continuously whenever a condition is met, you can turn off this auto resolution of metric alert by updating “auto-mitigate” property of metric alert rule to false.

In this case, auto resolution won’t work as per the documentation. https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-metric-overview#view-and-resolution-of-fired-alerts

Once “auto-mitigate” property of metric alert rule is set to false, whenever the condition in metric alert rule will meet doesn’t matter if last fired alert was resolved or not, an alert will be fired, making metric alert rules stateless. (Similar to log search alerts)

As of now, we can’t update turn off auto resolution from Azure portal but we can do that from Azure CLI.

Azure CLI: https://docs.microsoft.com/en-us/cli/azure/monitor/metrics/alert?view=azure-cli-latest#az-monitor-metrics-alert-update
Why Teaching Outside Builds an Ecosystem of Community and Collaboration
By: Skylar L. Primm, He Him
Tags: Collaboration, Mcgraw Hill Education, Environmental Education, Community, Outdoor Education

Why Teaching Outside Builds an Ecosystem of Community and Collaboration

Each school, no matter how much concrete and asphalt surrounds it, has some patch of outdoor space that could be utilized by a creative, adventurous teacher.

This piece was originally published on November 19, 2019.
Author Collaborative ~ In Conversation With Sameer Saxena
By: A Rustic Mind, Manali Desai
Tags: Collaboration, Books, Books And Authors, Writer, Authors

Ayn Rand said,

“I can accept anything, except what seems to be the easiest for most people: the half-way, the almost, the just-about, the in-between.”

Love without adjustments and compromises is no love at all. Books and stories which talk about a romance which survived through turbulent times, always interest and inspire me. Therefore, when I came to know about Sunset by The River, a book which tells a tale about one such romance, I wanted to read it right away.

The book turned out to be full of revelations and I was left in awe of the author.

When I reached to Sameer Saxena, the banker cum writer and the author this book, and asked to come to the Author Collaborative as a guest, he very graciously and excitedly agreed.

Before the session though, he too gave a read to my latest book The Art of Being Grateful and Other Stories

We had our fun chat session today sometime back.

Here’s what we enthusiastic readers asked each other.

After these long form questions, we even did a quirky rapid fire round, which was my favorite bit.

You can check out our answers to the above questions on the YouTube.

You can check out our books (discussed in the live session) through below links:
Fun, fun, fun, and funny. A hard act to follow.
By: K.C. Knouse
Tags: Collaboration, Short Story, A Very Stark Christmas, Humor, Fiction

I’m not trying to sell you anything; I’m just telling stories and sharing bits of my life and experience. Connect at kcknouse@gmail.com
Come On People, Does Stark Have to Beg For a Christmas Present?
By: Lon Shapiro
Tags: Stark Mystery, Collaboration, Christmas, Humor, Fiction

Come On People, Does Stark Have to Beg For a Christmas Present?

Photo by Wicked Monday on Unsplash

Look, I know last minute Christmas shopping and preparing holiday feasts for the whole family are taking up all your time, but…

Wait a minute.

We’re in another shutdown and you’ve turned Jeff Bezos into Santa Claus with all your Amazon orders.

And you’re ordering turkey and cranberry sandwiches, or whatever, through Grub Hub.

The fact is you shouldn’t be out and about, or doing much of anything right now.

How about writing a new chapter for “A Very Stark Christmas,” our collaborative parody of noir fiction?

We’ve had so many talented writers add their unique style to our past stories, I hope you’ll come back within the fold.

There’s plenty of room within the trench coat.

So how about it?

Can we get any takers to deliver the goods in time to be placed under the tree for Christmas morning (Hawaiian time). That’s 8 p.m. Greenwich time.

No pressure here, folks, I’ll just call out everyone by name.

Stay safe and have a Happy Holiday!
Peer Review & Collaboration for Jupyter Notebooks
By: Amit Rathi
Tags: Collaboration, Jupyter Notebook, Data Science

Peer Review & Collaboration for Jupyter Notebooks

Photo by Yancy Min on Unsplash

Most people know Jupyter notebooks as a scratchpad for data scientists. Jupyter’s ease of use accompanied with its rich ecosystem (visualizations libraries, magics, widgets, extensions) makes it an indispensable weapon in the data scientist’s armory. A growing number of data science groups are using notebooks as a collaboration medium within their teams & other stakeholders. In this article, we’re going to look at how Jupyter fares at collaboration & how you can use GitHub & ReviewNB to carve out a workflow.

Jupyter as a Communication Medium?

A typical data analysis consists of some input data, steps to cleanup & process the data, description of what’s happening at each step & intermediate / final results in the form of a visualization, interactive widget or tabular data. Jupyter notebooks enable all this in a single document accessible via the browser. An author can just create their notebook, push it to GitHub & share the URL with anyone who’d like to review this document. GitHub renders notebooks as intended (except it won’t run Javascript inside the notebooks), but so far so good!

GitHub doesn’t yet support review or discussion workflow for notebooks. The notebook reviewer might have some questions, clarifications, suggestions for the author. That’s where ReviewNB comes in. It’s a GitHub marketplace app built exclusively to review Jupyter notebooks on GitHub.

How to review Jupyter Notebooks?

You can use GitHub to version control notebooks (there’s a JupyterLab git extension for this). Once the notebooks are present in your repositories you can open them via ReviewNB and start the review process.

You will be able to write a comment on any notebook cell, ask clarifying questions, provide feedback in the context of a notebook cell.

Anybody watching this repository will be notified of your comment and they can chime into the conversation.

You can track open conversations & resolve them when the underlying issue is resolved satisfactorily.

All comments are persisted across notebook changes so past discussions are always available if someone wants to refer to it. Of course, you can resolve or permanently delete them if required.

This is one simple way in which ReviewNB enables collaboration workflow for Jupyter notebooks. You can also use ReviewNB to see rich diffs on notebook commits & pull requests on GitHub. More about that here.
Reimagining Collaboration Book Trailer
By: Phil Simon
Tags: Collaboration, Microsoft Teams, Future Of Work, Zoom, Slack

What’s my new book about in 82 fun-filled seconds?

Watch below to find out.
The sum of all of us
By: How To Win
Tags: Collaboration, Team Building, Entrepreneurship, Strategy, Business

How do businesses create competitive advantages? By building good teams. And who is doing this now with great success, Jeff Bezos. Jeff Bezos has publicly said his inner team of advisors called the “S Team” are one of his keys to success.

So teams are important. But how do you build good teams? The answers are below. Building good teams in today’s business world come down to 5 key principles.

As ever on this blog I have synthesised insights from podcasts, books and interviews from Tim Ferriss, Jeff Collins, Jacko Willink, Brene Brown and turned hours of research into a snack-able bite size read.

The 5 Principles

A safe Environment: A team needs to feel like the leader has their back. The leader must create a place where “you can be you”. Different thinking is sought out and opinions and ideas are encouraged and built upon.

Sharing: The best teams share. They share insights, ideas, learnings, blogs (like this one), and materials that can bring more out of the team.

Challenging: Good teams are restless, so they openly challenge each other and the status quo. They are agitators.

Risk Tolerant: Great teams create an environment where risk can be tolerated and absorbed. In business we don’t need more of the same, we need groups of people (teams) coming together to push an idea, concept or client brief in new directions.

Empowering: The strongest principle you can apply. The best leaders rarely manage someone’s work. They empower individuals of the team to seek answers and self manage and in the process of doing this grow. We learn not by being right all the time but by trial and error. A great leader will constantly put people in places for them to learn and grow and that person knows that the leaders will always have their back.

The result

Growth: In the best teams you can see noticeable growth across the team in how they perform. Junior sales guys land a big account, your design intern runs a big workshop. This in turn delivers a sustainable competitive advantage and creates an environment for business success.

For more follow and connect with me here on LinkedIn and Instagram
Book Excerpt: Reimagining Collaboration
By: Phil Simon
Tags: Collaboration, Microsoft Teams, Future Of Work, Zoom, Slack

Reimagining Collaboration: Slack, Microsoft Teams, Zoom, and the Post-COVID World of Work

Below is an excerpt of my new baby Reimagining Collaboration: Slack, Microsoft Teams, Zoom, and the Post-COVID World of Work. In it, I set the table for the rest of the book.

Enjoy.