Goh Chun Lin
RPG Game State Management with Dapr
Author: Goh Chun Lin

Last month, within one week after .NET Conf Singapore 2019 took place, Microsoft announced their Dapr (Distributed Application Runtime) project. Few days after that, Scott Hanselman invited Aman Bhardwaj and Yaron Schneider to talk about Dapr on Azure Friday. Dapr is an open-source, portable, and event-driven runtime which makes the development of resilient micro-service applications […]

Published at 09 Nov 2019

Read more...
Cheah Eng Soon
Configure security for data infrastructure
Author: Cheah Eng Soon

Configure an SQL Database firewallPrimary characteristics of an SQL Database firewall:Supports SQL Database and Azure SQL Data WarehouseSQL Database supports server-level and database-level firewall (evaluated first)SQL Data Warehouse supports server-level firewall onlyDefault deny (inbound)Explicit allow (inbound):From internet: based on a source IP address rangeFrom Azure: all connectionsFrom Azure virtual networks: based on virtual network service endpoints from individual subnetsImplementing [...]

Published at 03 Nov 2019

Read more...
Cheah Eng Teong
Machine Learning Hands-On lab: Module 3 – Deploy the Best Model
Author: Cheah Eng Teong

Scroll below the ITERATIONS table and select Deploy Best Model as shown. Provide the Deployment name, and Deployment description, and then select Deploy as shown: – Deployment name: battery-cycles – Deployment description: Deploying best AutoML model to predict battery cycles The model deployment, will register the model, create the deployment image, and deploy it as … Continue reading Machine Learning Hands-On lab: Module 3 – Deploy the Best Model

Published at 03 Nov 2019

Read more...
Cheah Eng Soon
Configure security policies to manage data
Author: Cheah Eng Soon

Configure data classificationPrimary characteristics of data classification:Facilitates storage optimization, identifies risks associated with data, and helps complianceApplies equally regardless of:Data state: at rest, in process, and in transitData format: structured and unstructuredImplementing data classification in Azure SQL Database:Available as part of Advanced Data Security offering Data discovery and classification (in preview as of March 2019)Configurable via the Azure portalProvi [...]

Published at 02 Nov 2019

Read more...
Cheah Eng Soon
CHAPTER 3 LAB 1 : Create a simple TensorFlow based model
Author: Cheah Eng Soon

CHAPTER 3 : Create and Deploy a TensorFlow Model In this exercise, you will use TensorFlow to construct and train a simple deep neural network classification model that will classify claim text as belonging to a home insurance claim or an automobile claim. You will then deploy this trained model as a web service.Task 1: Create a simple TensorFlow based modelWithin the Workspace, select the Workspace item in the menu and navigate to the folder where you uploaded the Databricks Archive (whic [...]

Published at 01 Nov 2019

Read more...
Goh Chun Lin
Things I Learnt from the O2DES.NET Talk
Author: Goh Chun Lin

In August, as the event co-organizer of Singapore .NET Developers Community, I’m proud to have Professor Li from National University of Singapore to join us as a speaker. He was sharing with us about the O2DES.NET which is used for stimulation modelling. For personal learning and knowledge sharing purposes, I decide to note down what […]

Published at 01 Nov 2019

Read more...
Cheah Eng Soon
Security baseline on Azure #5
Author: Cheah Eng Soon

Exercise 5: Azure Sentinel Logging and Reporting In this exercise, you will setup Azure Sentinel to point to a logging workspace and then create custom alerts that execute Azure Runbooks. …

Published at 31 Oct 2019

Read more...
Cheah Eng Soon
Can't Ping AzURE VM
Author: Cheah Eng Soon

Currently, I had very less write blog about the issue that I had facing in Work.If I remember the last blog I had write about Xamarin issues. Now,I had faced this issue in my work, I think most of the developer or Azure Administrator also facing this issue when the developer or architect asked for it due to very less blog or documentation.Overall we need to do two main steps: add the inbound security rule to your NSG.allow ICMP traffic in the Windows Server operating system.In t [...]

Published at 31 Oct 2019

Read more...
Goh Chun Lin
Development and DevOps of Desktop Apps with .NET Core 3.0
Author: Goh Chun Lin

In September, .NET Core 3.0 was announced in the official .NET Conf 2019. Happily, I’m invited to be speaker in .NET Conf Singapore happening in BLOCK71. I am one the organisers of the event, so theoretically speaking, I invited myself. The topic that I delivered in the event is “Development and DevOps of Desktop Apps […]

Published at 24 Oct 2019

Read more...
Cheah Eng Teong
Machine Learning Hands-On lab: Module 2 – Review the experiment run results
Author: Cheah Eng Teong

  The experiment will run for about 5-10 minutes. Once it completes you should examine the chart to observe the model performance for the primary metric for different iterations. Scroll down to see a table view of different iterations and select the iteration with the best normalized root mean square error score. Note that the normalized root … Continue reading Machine Learning Hands-On lab: Module 2 – Review the experiment run results

Published at 06 Oct 2019

Read more...
Cheah Eng Soon
Create security baselines
Author: Cheah Eng Soon

Create a platform security baselineThe Microsoft cybersecurity group in conjunction with CIS developed best practices to help establish security baselinesA variety of security standards can help cloud service customers achieve workload security when using cloud servicesCIS has the following implementation levels:Level 1. Recommended minimum security settingsLevel 2. Recommended for highly secure environmentsCreate an IAM baselineSome common recommendations for IAM protection baselines include:Re [...]

Published at 03 Oct 2019

Read more...
Cheah Eng Soon
Security baseline on Azure #4
Author: Cheah Eng Soon

Exercise 4: Securing the network In this exercise, attendees will utilize Network Security Groups to ensure that virtual machines are segregated from other Azure hosted services and then explore the …

Published at 30 Sep 2019

Read more...
Cheah Eng Soon
Hacktoberfest 2019: Singapore Meetup
Author: Cheah Eng Soon

Alt text of image

WHAT'S HACKTOBERFEST?

Hacktoberfest — brought to you by DigitalOcean in partnership with DEV — is a month-long celebration of open source software.

Maintainers are invited to guide would-be contributors towards issues that will help move the project forward, and contributors get the opportunity to give back to both projects they like and others they've just discovered.

No contribution is too small — bug fixes and documentation updates are valid ways of participating.

RULES AND PRIZES

First, sign up on the Hacktoberfest site at https://hacktoberfest.digitalocean.com.

To qualify for the official limited edition Hacktoberfest shirt, you must register and make four pull requests between October 1-31.

Pull requests can be to any public repo on GitHub, not just the ones with issues labeled Hacktoberfest.

If a maintainer reports your pull request as spam or behavior not in line with the project’s code of conduct, you will be ineligible to participate.

EVENT CODE OF CONDUCT

Hacktoberfest events are welcoming, open, and inclusive.

Please read our Events Code of Conduct (https://do.co/hacktoberconduct) before attending.

Happy hacking!

RSVP @ https://www.meetup.com/AzureSG/events/265122447/

Published at 25 Sep 2019

Read more...
Cheah Eng Teong
Machine Learning Hands-On lab: Module 1 – Creation an automated machine learning
Author: Cheah Eng Teong

Navigate to your Azure Machine Learning workspace in the Azure Portal. Select Automated machine learning in the left navigation bar. Select Create Experiment. 4. Provide the experiment name: Battery-Cycles and select Create a new compute. 5. For the new compute, provide the following values and then select Create: – Compute name: auto-ml-compute – VM size: … Continue reading Machine Learning Hands-On lab: Module 1 – Creation an automated machine learning

Published at 08 Sep 2019

Read more...
Cheah Eng Soon
Security baseline on Azure #3
Author: Cheah Eng Soon

Exercise 3: Migrating to Azure Key Vault In this exercise, attendees will learn how to migrate web application to utilize Azure Key Vault rather than storing valuable credentials (such as …

Published at 31 Aug 2019

Read more...
Marvin Heng
Automate Form Processing 2 | Next Journey with Microsoft Form Recognizer
Author: Marvin Heng

Previous: Automate Form Processing 1 | Custom Vision + Computer Vision

Microsoft’s Form Recognizer

At Build 2019 back in May, Microsoft announced that Form Recognizer API will be one of the new features added in their Azure Cognitive Service. Microsoft Form Recognizer are still in private preview at the point of writing, which you can request for the early access at their page here.

With the privilege, I have gotten the access to it.

What’s Form Recognizer?

  • Applies advanced machine learning to accurately extract text, key/value pairs, and tables from documents.
  • Tailors its understanding to your documents, both on-premises and in the cloud.
  • Easily extract text and structure, with simple REST API.
  • Capable to run on the edge devices with container services. (link)
  • It even has the capability to translate receipts! (Let me prepare another topic just for this!)

New approach with Form Recognizer

With Form Recognizer, we can now use a single service to achieve what we did using the first approach.

To automate form processing, we need to utilize several APIs of Form Recognizer:

  • Prepare sample set of forms: Prepare several sample forms which you have and it shouldn’t contain your business sensitive data. (I tried and can’t train with those PDFs exceeds ~980KB)
  • Upload those to Azure Blob Storage
  • Pass the Shared Access Signature (SAS) to the /formrecognizer/v1.0-preview/custom/train API endpoints.
  • Then submit your test dataset to formrecognizer/v1.0-preview/custom/models/{modelId}/analyze to analyze the data content in your form. The sample outcome as below.

Conclusion

After testing, the translated text given by Form Recognizer API is really promising. However, we developers or Microsoft need to over come few challenges or limitations at the point of writing, before going live:

  • Limitation of 4MB of training data set is really meh… not feasible. (Even one of my PDF with only 980KB couldn’t go through the training)
  • How we should extract the data with key-pair value, and some, missed out from being matched into key-pair value. :(

But overall, I am confident with this even it is in private preview as it is even providing KEY-PAIR value which I love the most. I would try it again when it comes to public preview or perhaps production and I couldn’t wait to integrate it with my app!

Please follow me for more upcoming AI topics @
Follow me @ Twitter: @hmheng
Subscribe My Channel @ YouTube: http://bit.ly/hmheng_yt
More slides @ SlideShare: https://www.slideshare.net/HiangMengHengMarvin
Blog: http://www.techconnect.io

Published at 25 Aug 2019

Read more...
Marvin Heng
Automate Form Processing — Custom Vision + Computer Vision
Author: Marvin Heng

Automate Form Processing 1 | Custom Vision + Computer Vision

Background

Last year, I have came out with an idea to automate the form processing which I think it will definitely help many of the businesses to reduce the effort of hiring people just for data entry. Not only that, it will drastically help to reduce the human error while entering the data.

My ultimate goal was to capture handwritten text on a printed form.

Architect Design

With the technology back then, to achieve what I want, I need to either keep training and fine tuning the model using machine learning, or I have to find other solutions. Due to my limited knowledge, I opted for the latter, which I landed with utilizing Microsoft’s Custom Vision + Cognitive Service (Specifically, Computer Vision API).

Custom Vision allows me to train with a set of sample forms and tag all the handwritten texts on the printed form. After training is done, when I pass in the test form, the API will tell where those handwritten texts are located on the forms.

Then, we will take that, and send it over to Cognitive Service’s computer vision API to translate the handwritten text to digitized text.

Outcome of Experiment

What we have achieved in the approach above are as following:

  • Trained the forms with Custom Vision
  • Translated handwritten text to digitized text.
  • Only accomplished ~50% accuracy.

Second Experiment — Extended with Web Technologies.

With the help from Goh Chun Lin, we managed to extend it with web technology which then allowed us to adjust and fine tuning and most exciting one is, see our approach with almost immediate result. We have supposed to prepare and present the above idea at FutureNow Singapore event in January 2019. But, we didn’t quite make it on time. Therefore, we decided to open source it and you may download look at the project on GitHub listed under DotNetSG repo which is an initiative of Techconnect.io.

Next: Automate Form Processing 2 | Next Journey with Microsoft Form Recognizer

Published at 25 Aug 2019

Read more...
Cheah Eng Teong
Azure DevOps: Fix of Angular-cli ‘JavaScript heap out of memory’
Author: Cheah Eng Teong

The angular memory limit in megabytes (by default it’s ~ 1500). In the package.json file adding the following: node –max_old_space_size= 8048 For example:

Published at 16 Aug 2019

Read more...
Cheah Eng Teong
Machine Learning Before Hands-On lab: Module 5 – Create your Azure Machine Learning Workspace
Author: Cheah Eng Teong

In the Azure, select + Create a resource, then type Azure Machine Learning into the search bar. Select Machine Learning service workspaces from the results. Select Create on the blade that follows. In the Create Machine Learning Workspace dialog that appears, provide the following values: – Workspace Name: AML-workspace – Subscription: Choose your Azure Subscription … Continue reading Machine Learning Before Hands-On lab: Module 5 – Create your Azure Machine Learning Workspace

Published at 04 Aug 2019

Read more...
Cheah Eng Soon
Security baseline on Azure #2
Author: Cheah Eng Soon

Exercise 2: Securing the Web Application and database In this exercise, attendees will utilize Azure SQL features to data mask database data and utilize Azure Key Vault to encrypt sensitive …

Published at 31 Jul 2019

Read more...
Cheah Eng Soon
Journey to Azure Sentinel
Author: Cheah Eng Soon

Published at 24 Jul 2019

Read more...
Cheah Eng Teong
Azure Automated Machine Learning
Author: Cheah Eng Teong

1. Select AI + Machine Learning > Machine Learning service workspace 2. Naming the Workspace Name > Select Resource Group and Location. Click on Review + Create. 3. Click on Create button. 4. Click on Go to resource button. 5. Click on Create a new Automated Machine Learning Model (Preview). 6. Click on Create experiment … Continue reading Azure Automated Machine Learning

Published at 22 Jul 2019

Read more...
Cheah Eng Soon
Classify your SQL Database
Author: Cheah Eng Soon

  • Sign-in to the Azure portal.
  • Under the Security heading in the Azure SQL Database pane, navigate to Advanced Data Security, and select to enable advanced data security.
  • Select the Data discovery and classification (preview) card.

Note: depending on when you work on this exercise, the preview status might be removed.

  • Review the Overview tab. Notice that it includes a summary of the current classification state of the database, including a detailed list of all classified columns. You can also filter this view to only see specific schema parts, information types, and labels.

    Note: The next two steps assume you have classified data to export. If you don’t, just review the steps.

  • To download a report in Excel format, in the top menu of the window select Export.

  • To begin classifying your data, select the Classification tab at the top of the window.

    The classification engine scans your database for columns containing potentially sensitive data and provides a list of recommended column classifications.

  • To view and apply classification recommendations:

  • View the list. To view the list of recommended column classifications, select the recommendations panel at the bottom of the window.

  • Accept recommendations. To accept a recommendation for a specific column, select the check boxes in the left column of the relevant rows. You can also mark all recommendations as accepted by selecting the check box in the recommendations table header.

  • To apply the selected recommendations, select the blue Accept selected recommendations button.
    a) To manually classify columns as an alternative to or in addition to the recommendation-based classification, in the top menu of the window, select Add classification.

    b) In the Add classification blade, configure the five fields that display, and then select Add classification:

  • Schema name

  • Table name

  • Column name

  • Information type

  • Sensitivity label.

  • To complete your classification and persistently label (tag) the database columns with the new classification metadata, in the top menu of the window, select Save.

Monitor access to sensitive data
An important aspect of the IP paradigm is the ability to monitor access to sensitive data. Azure SQL Database Auditing has been enhanced to include a new field in the audit log. The data_sensitivity_information field logs the sensitivity classifications (labels) of the actual data that was returned by the query.

Published at 10 Jul 2019

Read more...
Cheah Eng Soon
Configure Azure Virtual Network gateways
Author: Cheah Eng Soon

An Azure Virtual Network gateway serves as the cross-premises gateway connecting your workloads in Azure virtual networks to on-premises sites. It’s required to connect to on-premises sites through Internet Protocol security (IPsec) site-to-site VPN (S2S VPN) tunnels or through ExpressRoute circuits. For IPsec / Internet Key Exchange (IKE) VPN tunnels, the gateways perform IKE handshakes and establish the IPsec S2S VPN tunnels between the virtual networks and on-premises sites. For ExpressRoute, the gateways advertise the prefixes in your virtual networks via the peering circuits, and they forward packets from your ExpressRoute circuits to your VMs inside your virtual networks.

Create a high-performance gateway

To create a gateway for a virtual network named MyAzureVNET, use the following Azure PowerShell cmdlet:

PS D:> New-AzureVNETGateway –Newname MyAzureVNET –GatewayType DynamicRouting –GatewaySKU HighPerformance

Note that DynamicRouting is the GatewayType for both the DynamicRouting gateway and the dedicated (ExpressRoute) gateway. Therefore, you can also use the cmdlet example to create a virtual network gateway to connect to an ExpressRoute circuit.

Test the Azure load balancer

1.Create a virtual network by using New-AzureRmVirtualNetwork. The following example creates a virtual network named myVNET with mySubnet:

Create the subnet configuration.

$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig `

-Name “mySubnet” `

-AddressPrefix 10.0.2.0/24

Create the virtual network.

$vNET = New-AzureRmVirtualNetwork `

-ResourceGroupName “myResourceGroupLB” `

-Location “EastUS” `

-Name “myVNET” `

-AddressPrefix 10.0.0.0/16 `

-Subnet $subnetConfig

2.Create a network security group to define inbound connections to your virtual network by creating a network security group rule for port 3389.
Create a network security group rule to allow RDP connections through port 3389 by using New-AzureRmNetworkSecurityRuleConfig.

$rule1 = New-AzureRmNetworkSecurityRuleConfig -Name ‘myNetworkSecurityGroupRuleRDP’ -Description 'Allow RDP' `

-Access Allow -Protocol Tcp -Direction Inbound -Priority 1000 `

-SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * `

-DestinationPortRange 3389

3.Create a network security group rule to allow inbound connections through port 80 by using New-AzureRmNetworkSecurityRuleConfig.
$rule2 = New-AzureRmNetworkSecurityRuleConfig `

-Name ‘myNetworkSecurityGroupRuleHTTP’ `

-Description ‘Allow HTTP’ -Access Allow -Protocol Tcp `

-Direction Inbound -Priority 2000 -SourceAddressPrefix Internet `

-SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 80

4.Create a network security group by using New-AzureRmNetworkSecurityGroup.

$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName ‘myResourceGroupLB’ -Location 'EastUS' -Name ‘myNetworkSecurityGroup’ -SecurityRules $rule1,$rule2

5.Create virtual network adapters by using New-AzureRmNetworkInterface. The following example creates two virtual network adapters (one for each VM you create for your app in the following steps). You can create additional virtual network adapters and VMs at any time and add them to the load balancer.

Create a network adapter for the first VM.

$nicVM1 = New-AzureRmNetworkInterface `

-ResourceGroupName ‘myResourceGroupLB’ `

-Location ‘EastUS’ `

-Name ‘MyNic1’ `

-LoadBalancerBackendAddressPool $backendPool `

-NetworkSecurityGroup $nsg `

-LoadBalancerInboundNatRule $natrule1 `

-Subnet $vNET.Subnets[0]

Create a network adapter for the second VM.

$nicVM2 = New-AzureRmNetworkInterface `

-ResourceGroupName ‘myResourceGroupLB’ `

-Location ‘EastUS’ `

-Name ‘MyNic2’ `

-LoadBalancerBackendAddressPool $backendPool `

-NetworkSecurityGroup $nsg `

-LoadBalancerInboundNatRule $natrule2 `

-Subnet $vNET.Subnets[0]

6.Create VMs for load balancing. To improve the high availability of your app, place your VMs in an availability set.
Create an availability set by using New-AzureRmAvailabilitySet. The following example creates an availability set named myAvailabilitySet:

$availabilitySet = New-AzureRmAvailabilitySet `

-ResourceGroupName “myResourceGroupLB” `

-Name “myAvailabilitySet” `

-Location “EastUS” `

-Sku aligned `

-PlatformFaultDomainCount 2 `

-PlatformUpdateDomainCount 2

7.Set an administrator username and password for the VMs by using Get-Credential.
$cred = Get-Credential

8.Create the VMs by using New-AzureRmVM. The following example creates two VMs and the required virtual network components if they do not already exist. During the VM creation, the previously created network adapters are associated with the VMs, because they’re assigned the same virtual network (myVNET) and subnet (mySubnet).
for ($i=1; $i -le 2; $i++)

{

New-AzureRmVm `

-ResourceGroupName “myResourceGroupLB” `

-Name “myVM$i” `

-Location “East US” `

-VirtualNetworkName “myVNET” `

-SubnetName “mySubnet” `

-SecurityGroupName “myNetworkSecurityGroup” `

-OpenPorts 80 `

-AvailabilitySetName “myAvailabilitySet” `

-Credential $cred `

-AsJob

}

The -AsJob parameter creates the VM as a background task, so the Azure PowerShell prompts return to you. You can get the details of background jobs by using the Job cmdlet. It takes a few minutes to create and configure the two VMs.

Install Microsoft Internet Information Services (IIS) with a custom webpage on the new VMs as follows:

1.Get the public IP address of the load balancer by using Get-AzureRmPublicIPAddress.
Get-AzureRmPublicIPAddress -ResourceGroupName “myResourceGroupLB” `

-Name “myPublicIP” | select IpAddress

2.Create a remote desktop connection to VM1 by using the public IP address that you got in the previous step. (Note that in the following command, mstsc refers to Microsoft Terminal Services Client.)
mstsc /v:PublicIpAddress:4221

3.Enter the credentials for VM1 to start the RDP session.

4.Launch Windows PowerShell on VM1, and then use the following commands to install IIS and update the default .htm file.

Install IIS.

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Remove the default .htm file.

remove-item C:\inetpub\wwwroot\iisstart.htm

Add a custom .htm file.

Add-Content -Path “C:\inetpub\wwwroot\iisstart.htm” -Value $("Hello from" + $env:computername)

5.Close the RDP connection with myVM1.

6.Create an RDP connection with myVM2 by running the mstsc /v:PublicIpAddress:4222 command, and then repeat step 4 for VM2.

Finally, test the load balancer

Get the public IP address of your load balancer by using Get-AzureRmPublicIPAddress. The following example gets the IP address for myPublicIP, created earlier:

Get-AzureRmPublicIPAddress -ResourceGroupName “myResourceGroupLB” `

-Name “myPublicIP” | select IpAddress

You can now enter the public IP address into a web browser. The website is displayed, including the hostname of the VM that the load balancer distributed traffic to. To see the load balancer distribute traffic across both of the VMs running your app, you can force a refresh of your web browser.

Revert the Exercise

You can use the Remove-AzureRmResourceGroup command to remove the resource groups, VMs, and all related resources when you no longer need them.

Remove-AzureRmResourceGroup -Name myResourceGroupLB

Published at 09 Jul 2019

Read more...
Cheah Eng Soon
Create a Azure virtual network
Author: Cheah Eng Soon

A virtual network can be created by using the Azure portal, the Azure CLI 1.0, or Azure PowerShell.

Using the Azure portal

1.Sign in to the Azure portal.
2.In the upper-left corner of the screen, select Create a resource > Networking > Virtual network.
3.In Create virtual network, enter or select the information in the following table.

Setting Action
Name: myVirtualNetwork
Address space: 10.1.0.0/16.
Subscription: Select your subscription
Resource group: Select Create new, enter myResourceGroup, and then select OK.
Location: Select a location near you.
Subnet Name: myVirtualSubnet.
Subnet Address range: 10.1.0/24.

4.Leave the rest of the defaults, and then select Create. Notice these settings. Point to the information icon to review the description of each setting:

  • DDoS protection
  • Service Endpoints
  • Firewall

5.Select the notifications icon, which displays a highlighted number, and then review your new virtual network by selecting Go to resource.

To add two VMs to your virtual network, follow the steps detailed here.
https://docs.microsoft.com/en-us/azure/virtual-network/quick-create-portal

Published at 08 Jul 2019

Read more...
Cheah Eng Soon
Create an AKS cluster
Author: Cheah Eng Soon

  1. Open the Azure portal.
  2. Select the Cloud Shell icon next to the search box.
  3. Select PowerShell, and then create the Azure file share.
  4. Create a resource group by using Azure PowerShell:

Note: To find a location near you, refer to https://azure.microsoft.com/regions/services.

PS Azure:> az group create –name AZ500 –location westus

Azure outputs the following:

Azure:/

“id”: "/subscriptions/61f927e9-94e6-4f6d-a737-5d482c6f4316/resourceGroups/AZ500",

“location”: "westus", “managedBy”: null,"name": “AZ500”,"properties": {

“provisioningState”: "Succeeded" },“tags”: null, "type": null}

5.Create the Kubernetes cluster, which is a three-node cluster. The –no-wait returns to your command-line interface (CLI) window while the cluster is being built:

PS Azure:> az aks create –resource-group AZ500 -name alamo -node-count 3 –generate-ssh-keys –no-wait

Azure outputs the following:

Azure:/

SSH key files ‘/home/philip/.ssh/id_rsa’ and '/home/philip/.ssh/id_rsa.pub' have been generated under ~/.ssh to allow SSH access to the VM. If using machines without permanent storage like Azure Cloud Shell without an attached file share, back up your keys to a safe location

Finished service principal creation[##################################] 100.0000%

Azure:/

6.Review your resource groups in the Azure portal to find the Kubernetes service you created.

Published at 07 Jul 2019

Read more...
Cheah Eng Teong
Machine Learning Before Hands-On lab: Module 4 – Upload the Databricks notebook archive
Author: Cheah Eng Teong

Within the Azure Databricks Workspace, using the command bar on the left, select Workspace, Users and select your username (the entry with house icon). In the blade that appears, select the downwards pointing chevron next to your name, and select Import. On the Import Notebooks dialog, select URL and paste in the following URL: https://github.com/microsoft/MCW-Machine-Learning/blob/master/Hands-on%20lab/notebooks/AI%20with%20Databricks%20and%20AML.dbc?raw=true … Continue reading Machine Learning Before Hands-On lab: Module 4 – Upload the Databricks notebook archive

Published at 07 Jul 2019

Read more...
Cheah Eng Soon
Azure Roles
Author: Cheah Eng Soon

Azure Roles

  1. Using a web browser, open the Azure portal. Select All services.
  2. Select any resource, and the select it again.
  3. Select Access control (IAM).
  4. Select Roles.
  5. Review the list of built-in roles. Note that you can also create custom roles.

Here are four RBAC roles in Azure that apply to resource types:

  • Owner. Has full access to all resources, including the right to delegate access to others.
  • Contributor. Can create and manage all types of Azure resources but can’t grant access to others.
  • Reader. Can view existing Azure resources.
  • User access administrator. Can remove access to resources.

The rest of the RBAC roles in Azure allow for managing specific Azure resources. For example, the Virtual Machine Contributor role allows the user to create and manage virtual machines. It does not grant access to the virtual network or the subnet that the virtual machine connects to.

As a best practice when deploying Azure RBAC, consider creating new resource groups instead of new subscriptions for newly onboarded teams.

Resource groups allow you to implement RBAC so that users can contribute to services but not own them.

To manage access by using RBAC and Azure PowerShell, review the documentation page at https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-powershell. It has examples of how to:

  • List roles
  • List access
  • Grant access
  • Remove access

Published at 06 Jul 2019

Read more...
Cheah Eng Soon
Configure Azure MFA for applications
Author: Cheah Eng Soon

Configure Azure MFA for applications

  1. Sign in to the Azure portal by using a Global administrator account.
  2. Browse to Azure Active Directory > Conditional access.
  3. Select New policy.
  4. Name your policy.
  5. Under users and groups, select Select users and groups, select a group, and then select Done.
  6. Under Cloud apps, select Select apps, choose the cloud applications for which you want to enable Azure MFA, select Select, and then select Done.
  7. Review the Conditions section, and then select the conditions you want.
  8. Under Grant, make sure that Grant access is selected, select the Require multi-factor authentication check box, and then select Select.
  9. Set Enable policy to On.
  10. Select Create.

MFA is now enabled for selected applications.

Configure Azure MFA for passwords

  1. In the Azure portal, open the Azure Active Directory blade.
  2. Select Users.
  3. At the top of the Users blade, select Multi-Factor Authentication. The Azure MFA management portal opens.
  4. Select service settings.
  5. Scroll to app passwords, and then select the app passwords option you want to use.
  6. Select save.

MFA is now enabled for users passwords.

Published at 05 Jul 2019

Read more...
Cheah Eng Soon
Manage Groups in Azure
Author: Cheah Eng Soon

Manage group membership

Try to manage group membership for users in your Azure AD tenant. For an explanation of how to do so, refer to “Add or remove group members using Azure Active Directory” at https://docs.microsoft.com/en-us/azure/active-directory/active-directory-groups-members-azure-portal.

Create a group and add members

Try to create a group and add members in Azure AD. For an explanation of how to do so, refer to “Create a basic group and add members using Azure Active Directory” at https://docs.microsoft.com/en-us/azure/active-directory/active-directory-groups-create-azure-portal. Use a group to perform management tasks, such as assigning licenses or permissions to several users or devices simultaneously.

Manage profile information

Try to add or change profile information for a user in Azure AD. For an explanation of how to do so, refer to “Add or update a user's profile information using Azure Active Directory” at https://docs.microsoft.com/en-us/azure/active-directory/active-directory-users-profile-azure-portal).

✔️ As you have time, experiment with other user and group administrative tasks. If you want to try some of these tasks by using Azure PowerShell, refer to ”AzureAD” at https://docs.microsoft.com/en-us/powershell/module/Azuread/?view=azureadps-2.0.

Published at 04 Jul 2019

Read more...
Cheah Eng Soon
Security baseline on Azure #1
Author: Cheah Eng Soon

Exercise 1: Implementing Just-In-Time (JIT) access In this exercise, attendees will secure a Privileged Access Workstation (PAW) workstation using the Azure Security Center Just In Time Access feature. Task 1: …

Published at 30 Jun 2019

Read more...
Cheah Eng Soon
Security in OSS DevOps
Author: Cheah Eng Soon

My YouTube Channel:
https://www.youtube.com/c/engsooncheah

Blog:
http://www.techconnect.io/

Published at 20 Jun 2019

Read more...
Cheah Eng Teong
Enabling Continuous Integration with Azure Pipelines – Angular
Author: Cheah Eng Teong

1. Define the script in the script in package.json file. 2. If you need doing for the website, you need adding web.config in your src folder. 3. adding some code in angular.json 4. Run the command ng build –prod for your angular app. 5. In Azure DevOps, select Empty job as a template     … Continue reading Enabling Continuous Integration with Azure Pipelines – Angular

Published at 03 Jun 2019

Read more...
Cheah Eng Teong
Machine Learning Before Hands-On lab: Module 3 – Install libraries on the Azure Databricks Cluster
Author: Cheah Eng Teong

The notebooks you will run depends on certain Python libraries that will need to be installed in your cluster. The following steps walk you thru adding these dependencies. From the left-hand menu in your Workspace, select Clusters. In the list of clusters, select your cluster. Select the Libraries link and then select Attach New. In … Continue reading Machine Learning Before Hands-On lab: Module 3 – Install libraries on the Azure Databricks Cluster

Published at 02 Jun 2019

Read more...
Cheah Eng Soon
Security baseline on Azure – Solution architecture
Author: Cheah Eng Soon

Contoso administrators recently learned about the Azure Security Center and have decided to implement many of its features to secure their cloud-based Azure infrastructure (IaaS) and applications (PaaS). Specifically, they …

Published at 31 May 2019

Read more...
Cheah Eng Soon
Which genre of music that you listen during coding?
Author: Cheah Eng Soon

Which genre of music that you listen during coding?

Published at 28 May 2019

Read more...
Cheah Eng Soon
Security in CI/CD
Author: Cheah Eng Soon

Published at 23 May 2019

Read more...
Cheah Eng Teong
Machine Learning Before Hands-On lab: Module 2 – Create an Azure Databricks cluster
Author: Cheah Eng Teong

You have provisioned an Azure Databricks workspace, and now you need to create a new cluster within the workspace. From the side menu in the Azure Portal, select Resource groups, then enter your resource group name (e.g., MCW-AI-Lab) into the filter box, and select it from the list. Next, select your Azure Databricks service from … Continue reading Machine Learning Before Hands-On lab: Module 2 – Create an Azure Databricks cluster

Published at 05 May 2019

Read more...
Cheah Eng Soon
Security baseline on Azure
Author: Cheah Eng Soon

In this series, you will learn how to design an implementation of Azure Security Center and Microsoft Compliance Manager tools to ensure a secure and privacy-focused Azure cloud-based architecture. At …

Published at 30 Apr 2019

Read more...
Goh Chun Lin
Leveraging Golang Concurrency in Web App Development
Author: Goh Chun Lin

Continue from the previous topic… I first learned about goroutine and channel when I was attending the Golang meetup in GoJek Singapore. In the talk “Orchestrating Concurrency in Go” delivered by the two GoJek engineers Abhinav Suryavanshi and Douglas Vaz, they highlighted the point “concurrency is not same as parallelism” in the very beginning of […]

Published at 21 Apr 2019

Read more...
Goh Chun Lin
Containerize Golang Code and Deploy to Azure Web App
Author: Goh Chun Lin

Continue from the previous topic… Learning about containers is essentially a huge topic but for beginners, there needs to be something small to help them get started. Hence, in this article, we will focus only on the key concepts of containers and the steps to containerize the program and deploy it to Azure Web App. […]

Published at 21 Apr 2019

Read more...
Goh Chun Lin
Unit Testing with Golang
Author: Goh Chun Lin

Continue from the previous topic… Unit Testing is a level of automated software testing that units which can be modular parts of the program are tested. Normally, the “unit” refers to a function, but it doesn’t necessary always be so. A unit typically takes in data and returns an output. Correspondingly, a unit test case […]

Published at 15 Apr 2019

Read more...
Goh Chun Lin
Authenticating Users in Golang Web App
Author: Goh Chun Lin

Continue from the previous topic… Without user authentication, we cannot secure our web services and protect our users’ privacy on our application. Hence, it is important to introduce ways to authenticate users in our Golang web application now. In this article, we will focus only on authenticating users on our Golang web application with Google […]

Published at 07 Apr 2019

Read more...
Goh Chun Lin
RESTful Web Service in Golang and Front-end Served with VueJS
Author: Goh Chun Lin

Continue from the previous topic… There is one behaviour in our Golang web application that will frustrate our users. Everytime we add, update, or delete a video record, the web page gets refreshed. So if at that time there is a video being played, then poof, it’s gone after you add, update, or delete a […]

Published at 02 Apr 2019

Read more...
Marvin Heng
10 Steps – Bring AI in Containers to Edge
Author: Marvin Heng

Background “Hey Marvin, what if the internet connection drops? Will your intelligent app still run as expected?” “uh… no.. as the AI service used by the app is hosted on …

Published at 31 Mar 2019

Read more...
Goh Chun Lin
Monitoring Golang Web App with Application Insights
Author: Goh Chun Lin

Continue from the previous topic… Application Insights is available on Azure Portal as a way for developers to monitor their live web applications and to detect performance anomalies. It has a dashboard with charts to help developers diagnose issues and understand user behaviors on the applications. It works for apps written on multiple programming languages […]

Published at 28 Mar 2019

Read more...
Goh Chun Lin
Deploy Golang App to Azure Web Apps with CI/CD on DevOps
Author: Goh Chun Lin

Continue from the previous topic… After we have our code on Github repository, now it’s time to automate our builds and deployments so that our Golang application will always be updated whenever there is a new change to our code on Github. Sample Golang Web App DevOps Pipelines To do that, we will use Azure […]

Published at 23 Mar 2019

Read more...
Cheah Eng Soon
Securing PaaS – Creating PaaS Audit and Compliance Power BI Reports
Author: Cheah Eng Soon

Synopsis: In this exercise, attendees will learn to utilize the Log Analytics feature of Azure to create Power BI Reports. Task 1: Export a Power Query formula from Log Analytics …

Published at 08 Mar 2019

Read more...
Cheah Eng Soon
Securing PaaS – Securing Azure Functions with Managed Service Identities
Author: Cheah Eng Soon

Synopsis: In this exercise, attendees will learn how to use Azure Functions that access Azure Key Vault as a Managed Service Identity. Task 1: Create an Azure Function Open the …

Published at 01 Mar 2019

Read more...
Marvin Heng
Creating an Enterprise Bot with LUIS & QnA Maker from Microsoft Cognitive Service
Author: Marvin Heng

Today, I would like to share how can we create an Enterprise Bot with Language Understanding Intelligent Service (LUIS) & QnA functionality. Purpose To introduce how organization can create an …

Published at 23 Feb 2019

Read more...
Cheah Eng Soon
Securing PaaS – Securing PaaS web applications with App Service Environment and Web Application Firewall
Author: Cheah Eng Soon

Synopsis: In this exercise, attendees will deploy a cloud web application with a web application gateway and firewall enabled. Task 1: Deploy web application to App Service Environment Search for …

Published at 22 Feb 2019

Read more...
Goh Chun Lin
Connecting Android App with IdentityServer4
Author: Goh Chun Lin

For those ASP .NET web developers, Identity Server should be quite familiar to them especially they are looking for SSO solution. After successfully integrating Identity Server in our ASP .NET …

Published at 28 Jan 2019

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #6: Deploy the app to Azure
Author: Cheah Eng Teong

You will create an Azure Web App and deploy Intellipix to it using Git. Up to now, you have been running the app locally. Azure Web Apps support local Git …

Published at 26 Nov 2018

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #5: Test the app locally
Author: Cheah Eng Teong

You will run the app locally in order to test it and familiarize yourself with its features. Running it locally is a simple matter of firing up a Node.js server …

Published at 25 Nov 2018

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #4: Create a photo-upload app
Author: Cheah Eng Teong

In this exercise, you will create a new Web app in Visual Studio Code and add code to upload images, write them to blob storage, display them in a Web …

Published at 24 Nov 2018

Read more...
Marvin Heng
Concept of Handwriting Detection & Recognition using Cognitive Services
Author: Marvin Heng

During last preparation of upcoming sharing topics, @ChunLin and I have a thought of creating AI service that can automate the translation of handwritten text on forms into computerized text. …

Published at 04 Nov 2018

Read more...
Goh Chun Lin
Increase Memory Allocated to PHP in WordPress hosted on Microsoft Azure App Services on Linux
Author: Goh Chun Lin

  “It became clear that we needed to support the Linux operating system, and we had already taken some rudimentary steps towards that with Azure.” This is what Satya Nadella, …

Published at 29 Oct 2018

Read more...
Marvin Heng
A Whole New Level – New Neural Text-to-Speech Service that Speaks like a Human
Author: Marvin Heng

In conjunction with the annual event – Microsoft Ignite 2018, Microsoft announced several upgrades to Microsoft Cognitive Services, probably now is also known as Azure Cognitive Services. One of them …

Published at 25 Sep 2018

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #3: Get a subscription key for the Computer Vision API
Author: Cheah Eng Teong

Microsoft Cognitive Services is a set of intelligence APIs that you can call from your apps. Among the more than 25 APIs it offers are the Computer Vision API for …

Published at 31 Aug 2018

Read more...
Marvin Heng
What is Microsoft Bot Framework?
Author: Marvin Heng

Introduction After we discussed about Chat Bot and Conversation as a Platform, today, we will be discussing about Microsoft Bot Framework. What’s Bot or Artificial Intelligent(AI)? “…”the study and design of …

Published at 25 Aug 2018

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #2: Run the Microsoft Azure Storage Explorer
Author: Cheah Eng Teong

Please continue from previous tutorial In this tutorial, you will use the Microsoft Azure Storage Explorer to view the containers you created in previous tutorial. 1. Start Storage Explorer. If …

Published at 24 Aug 2018

Read more...
Cheah Eng Teong
Cognitive Services Tutorial #1: Create a storage account
Author: Cheah Eng Teong

Objectives In this tutorial, you will learn how to: – Create a storage account and storage containers using the Azure Portal – Write a Node.js app in Visual Studio Code …

Published at 16 Aug 2018

Read more...
Marvin Heng
Introduction to Chat Bot
Author: Marvin Heng

Introduction Chat bot is not a new thing to most of the people on the planet, people often discuss about it. After the concept of CaaP (Conversation as a Platform) …

Published at 05 Aug 2018

Read more...
Marvin Heng
How Does Computer Vision See the World?
Author: Marvin Heng

What is Computer Vision? Computer Vision is a field of Artificial Intelligence or Machine Learning algorithms that aims to give machine a visual understanding of the surrounding objects. It transform …

Published at 29 Jul 2018

Read more...
Goh Chun Lin
Robust Search on E-Commerce Website
Author: Goh Chun Lin

Azure Search is provided as a Search-as-a-Service solution that helps e-commerce developers to easily offer a robust search experience on the website without managing search infrastructure and understanding in depth …

Published at 25 Jul 2018

Read more...
Marvin Heng
Data Analysis & Machine Learning
Author: Marvin Heng

In the previous post “Getting Started with Machine Learning on Azure”, we learnt about what’s machine learning, the reason we must know about it, how it benefits us in long run and little touch on Azure Machine Learning. So, today, we are going to discuss about Azure Machine Learning. But before that, let’s talk little bit more in data analysis so we know about how machine learning evolved from ancient statistic to where it is today.

Introduction to Data Analysis

Data Analysis is actually not a new thing. It was evolved from statistics which has a long history, and growing more important when amount of data is increasing.

Interestingly, I found there is an article that said the starting of statistics or data analysis could be traced to an ancient Egypt when Egyptians was trying to use period census to build the pyramids.

Over the time, with more data is being collected, analyzing data became a process to identify the key information that will benefits businesses, governments, financial institutes, and even individuals.

Data Analysis to Machine Learning

Even though data analysis can be done by human, but it requires a lot of time, cost and human efforts. In 1950, Alan Turing conducted a test named “Turing Test” to fool a human into trusting that it is also a human. Further then, Arthur Samuel who was a pioneer of computer games and AI, wrote the first computer self-learning program to study strategics of playing checker game.

In 2010, Microsoft Kinect able to track 20 human features at 30 times/sec to learn & identify the human movements and till recent years, personal assistant bot like Cortana made the change where it can interact more and naturally with people. Today, Machine Learning became a key using data statistics to unleash many possible solutions to our society’s problems, such as auto-pilot cars or identify emotions to predict criminals.

Machine Learning Allows App Gets Smarter Over the Time

By continuously learning from the existing and new data, the machine learning allows your application gets smarter and smarter over the time. It can predict more accurately, identify purposes more precisely and it keeps learning by itself.

What Can Azure Machine Learning Do for Me?

Azure Machine Learning consists of Cognitive Services, Azure Machine Learning Studio and Azure Machine Learning Workbench. They provide different level of customisability and extensibility.

Cognitive Services which has been discussed in our previous post here, is suitable for the developers who just want to focus on their client app development instead of writing the intelligent algorithm.

Then followed by Azure Machine Learning Studio which we will talk about its implementation today, that will have Web Portal to provide you simple drag and drop functionalities. Last, Azure Machine Learning Workbench is for those Data Analysts, Data Scientists or developers who are heavily focus on creating their own algorithm from zero.

Why Azure Machine Learning Studio?

Azure Machine Learning Studio provides the benefits such that it is fully-managed, simple yet having the best-in-class algorithm and it is easy to deploy and setup as a web service! Everything is on Azure cloud reliable and secured environment!

The following picture also gives a glance that how we will proceed from the beginning to the end when we use Azure Machine Learning Studio. As you can see, it is as simple as 6 major steps only.

What are the Supported Data Source?

The supported data sources by Machine Learning Studio range from Azure Blob Storage, Azure SQL DB, popular Hadoop Hive Query, CSV, or from other Web API.

Download offline copy of slides here @ SlideShare

Walk-Through Video

Please follow me for more upcoming AI topics @
Follow me @ Twitter: @hmheng
Subscribe My Channel @ YouTube: http://bit.ly/hmheng_yt
More slides @ SlideShare: https://www.slideshare.net/HiangMengHengMarvin
Blog: http://www.techconnect.io

Published at 03 Feb 2018

Read more...
Marvin Heng
What’s Machine Learning?
Author: Marvin Heng

Machine learning is a data science application using Artificial Intelligence that will learn from the existing data lake and continuously improving itself to predict the future trending, outcomes or behaviors. It will learn without being explicitly programmed. The primary goal of machine learning is to make computer learn automatically without any human intervention.

Why Machine Learning?

Since the amount of data is growing rapidly since 2000s, it is getting difficult to process the data and identify the information that will be useful to us. Now we are in the big data era, we have big sum of data, cheaper storage and we need more processing power than ever before.

As a result, with the above, we can now develop better analytics algorithm & smarter tools to process more data, analyze more complex data. Most amazingly, with machine learning, it can provide us the more accurate and high valuable information over the time, without any human intervention.

How Machine Learning Helps?

Machine learning will make apps and devices even smarter over the time. Try to imagine, by using algorithms:

  • e-commerce knows what kind of products had you purchased before so it can suggest the related products,
  • consumers can get the forecast of the future pricing of property by learning its trending,
  • we can now identify the object in the picture more accurately, or
  • your device knows your usage pattern so it can dynamically adjust the processing power to conserve battery.

Get Your Machine Learning Exploration Started with Azure Machine Learning.

Azure Machine Learning is a solution developed by Microsoft to bring the predictive analytics to public cloud, provides a better visual & easier environment for machine learning development.

With Azure Machine Learning Studio, developers are now able to create an algorithm by drag and drop where coding is no longer necessary! Besides, are you a Python or R developer? You can include your existing code to the Azure Machine Learning Studio as well. Not only that, we can also include any data as data source from anywhere to make our solution even better and smarter.

At the same time, Azure Machine Learning also shares many predictive analysis with Cortana and proven results from XBOX and Bing search engine. Now, regardless you are developer or data scientist, you can easily build, deploy, and share it with others.

Today, many APIs use Machine Learning platform, like Azure Machine Learning, to provide predictive analysis and these include:

Please follow me for more upcoming AI topics @
Twitter: @hmheng
More slides @ SlideShare: https://www.slideshare.net/HiangMengHengMarvin
Blog: http://hmheng.pinsland.com

Published at 18 Jan 2018

Read more...