Wednesday 15 November 2023

Ignite 2023 - Microsoft Fabric - Introduction

GA: Prepare your data for AI innovation with Microsoft Fabric—now generally available | Microsoft Fabric Blog

Everything brought in and available for analysis in a single Service.  Microsoft Fabric is a unified platform that brings all your analytics under a single service.

OneLake - per Fabric instance.  Stores all data within the SaaS data-lake (scales itself), automatically index data, abides by AIP rules/labels.  Intelligent data foundations.

All data is held in the Delta Parquet format (same format for any source).  Data is ready to use.  One copy of data.

SaaS single service, no need to bring pieces together, one data sources don't need to move and slice data.  Can query using multiple approaches. Can create a short cut to files/folders/databricks and it becomes part of OneLake.  Data stays at original source but can be worked with.

Mirroring in MS Fabric - get same benefits of shortcuts, but can connect to databases including SnowFlake, Dataverse, AWS S3 buckets & CosmosDB.  Mirroring is always up to date in real time.  Data is stored in Delta Parquet format so can now use.  With these 2 approaches can use nearly any source. lots of connectors so could use: Dataverse, Cosmos, Snowflake, SQL Server, blobs on S3,..  Then can write queries across all the data. 

Copilot in Microsoft Fabric will help bring in all the data, and help analyse the data.

Copilot for Power BI is amazing for building reports - need tp play with it.

Ignite 2023 - Keynotes - Summary

15 & 16 November 2023

Good Keynote: AI is driving a lot of innovation.

Microsoft Fabric in GA (25k instances already).  New feature is 'Mirroring' - copy cosmos/SQL et al into Fabric.  OneLake.  Can bring lots of data from multiple sources into Fabric in near rela time.

MS Teams (320 million users):  Bring everything to the user in one place, not just communications but a canvas for apps.  Good place to build line of business applications.  New teams app - way faster, easier to use.  Teams Premium - intelligent meeting recap is working well, can integrate recap with copilot. 

Copilots - needed for nearly everything you do.  understand context of where you are.  MS has hundreds of copilots.

Copilot Studio - Custom GPT's, can add plugin's to add your own data, can hook into an enterprises unique data.

Copilot for Service - allows agents to get information to provide support, looks interesting.

Personal thoughts: AI is going to be a mega trend that will influence the world hugely, there will be lots of weird decisions on the journey. Currently, it is mainly proving useful as another tool to help improve existing processes.  AI helps me work faster and spend my time on exploration rather than bring base understanding together.

Part 2 Keynote:

Microsoft Graph gives the copilot context within an organisation.  Use plugins to add enterprise data or Open AI GPT's.

Surface Pro Hub 3 released  - looks good, rest of the hardware looks higher spec.

SharePoint Premium - improved knowledge and content management on SharePoint.

Copilot Studio - useful to build internal copilots.  1. Connect copilot to other systems using plugins or GPTs 2. create workflows 3.  Controlled by IT.

Copilot Studio overview

Mesh - Teams can join immersive experience/events, not sure what this means.  GA expected Jan 2024.

Microsoft 365 copilot release to GA 1 November. 

Why Copilot? MS are describing it as a productivity multiplier.  Allows users to be more productive and more creative.  Improves quality of work, avoids searching - as expected.  Makes mistakes but is getting better.

Microsoft Copilot - Bing chat is just MS copilot

So when logging use Entra Id (Azure AD), get contextual enterprise information.  Inherits security and privacy policies.  ACL controlled.  Includes MS graph and Apps.

Try it out: Copilot.microsoft.com  - Chat data is not saved/stored by MS.  Change from "web" to "work".  Also available in Windows taskbar

Ability to use copilot to pull in information, show more graphs, get data.  Good word example getting data from a pptx.

Great example of querying Excel using copilot, created a pivot table. Contrived but looks good, added rainfall from web to look at sales.  Powerful.

Never thought of copilots for being a participant in a meeting - might us amazing.  In teams meeting, takes real time notes, and pulls in info and summaries points for next meeting.  Add as a collaborative partner, can visualize discussions on a meeting whiteboard.

Loop - flexible collaboration, now with copilot.  Not my area but sounds impressive - i don't get it.  People, working with people, now also working with copilot.  Okay.

Copilot for Sales - looks promising.  Hooks into existing CRMs.

Copilot for Service - working with customers, get data that is correct to solve customers problems.  Concise summary, helps craft emails, updates CRM.  Looks very interesting!

Viva - Microsoft copilot dashboard powered by Viva - not sure on this topic.

Summary: People using copilot don't want to loose it.  AI is bringing big changes to many industries.  Promise is to take the grind out of work - sounds great let's see.  Copilot/AI will be a tool and shape how we work.

Monday 30 October 2023

Thoughts on Logging and Monitoring

Overview:  I mainly work in the Microsoft stack, so my default for logging as Azure Monitor.  Log Analytics/Workspace and Application Insights fall under the term Azure Monitor.  

Going forward MS are storing App Insight logging data within a Log analytics instance.

There are 4 options for displaying/analysis logs in Azure:

  1. Azure Dashboards
  2. Power BI
  3. Grafana
  4. Workspaces

SIEM tools take in logs from various sources such as Azure Log Analytics, Defender, other vendors Prometheus logs or Open Telemetry.  

Grafana can be used on most SIEMS including Dynatrace, NewRelic, Microsoft Sentinel, or Azure Monitor.  Grafana supports PromQL and has fantastic dashboarding.

Azure DDoS Sentinel Overview:

Microsoft has the "Azure DDoS Sentinel" service that can help protect your network endpoints from DDoS attacks.  Common DDoS attacks all basically use hundreds of bad actors to flood traffic into you architecture to overwhelm them.  Restricting traffic from the bad actor sources is key.  Mixing the Azure DDoS Sentinel Service with Azure WAF, allows us to identify the bad actions and just block these bad attackers.

DDoS - Increasing, multiple bad actors try overwhelm your resources.  Rate limiting can help, but ideally you want to let thru valid traffic and block bad traffic.  Azure DDoS Sentinel service can be coupled with WAF to protect correctly from DDoS attacks.  Normally UDP flood attacks, also protects HTTP(s) flood and TCP Flood attacks. Covers level 3-4 layer attacks.

Two SKU's:

  • DDoS network protection: used on a VNet, service will work out and protect your public nodes.  Can put this in from for Azure WAF are Azure Firewall, After Front Door.  
  • Cheaper Alternative is the DDoS IP protection, has most of the features and if only specific IP, like a web traffic IP it's a good option.
More Info:

Sunday 29 October 2023

Mendix Overview

Overview:  Mendix is a low code app builder that is a leader in the market.  While I predominately use the Power Platform, I think Mendix can be a good option.  

The ALM has: Version Control: this is intuitive and follows a local checkout version and commit back to a main branch (simple version control) and allows to use branches so comprehensive and flexible.  It is a good idea to check in small and often or you run the risk of large complex competing merges.  I believe it is git but from the Mendix Studio IDE it is seamless.  

Build a local Version using the Mendix Studio Pro, and deploy to the cloud.  There are several options including on-prem. the free version is basic, and has limitations but has proven to be extremely powerful.

Mendix supports sprints, boards, so you can work with User Stories in the Developer Portal for ALM.

An App Package can be stored and it is a good idea to use this as the base for all projects in your company, so basic branding and naming conventions are consistent.

Deployment anywhere such as on-prem. via Kubernetes deployment, as well as the major cloud platforms i.e. AWS, Azure, GCP, Oracle.

Market Place - templates, connectors, components to reuse. 

Domain Modelling is excellent, can chose your database when creating app, modelling is easy and exposing via OpenAPI contract and generating CRUD screens is easy.

Publishing to cloud production versions is very easy and the local version as developing is seen on localhost.

Image 1, High level overview of the logical components making up Mendix.

Pros:

  1. Easy to use.
  2. Basics for Low code are all included such as version control, project management, deployment/publishing.
  3. Build native mobile apps.
  4. Improve business process easily.
  5. Supporting multiple languages is unbelievably simple and easy.

Image 2. Add multiple Languages to your app

Simple exercise: Call an key secured API and display on a Mendix page after watching this 7 minute video on API Calls.

The running example has:

  1. Various pages and forms for showing and persisting database information. 
  2. A REST Call to a 3rd party using OAuth key.  
  3. Publishing a REST API based on a table and an associated entity.
  4. Displays an Azure Chatbot

Me playing around with a Mendix App:

1. Get a REST endpoint and verify using postman (using a key for secure access)

Image3. Postman showing the REST call to be used

2. Create a new "microflow" as shown below:

3. Add a new "Action" of type "REST Call"
4. Add a JSON Structure file


5. Decide which attributes to pull out

6. Create an "Entity" in the Domain model to hold the retrieved data.
7. Map Model to the Import as shown below

...


Mendix Series

1.  Overview of Mendix (this post)

2. Mendix - Part 2 - Diving deeper

Tuesday 10 October 2023

Dynamics & Power Platform browser extensions and tools

Key Tools and Browser Extensions for Dynamics and  Power platform Developers:

  • Level up for Dynamics (extension)
  • Dynamics 365 Power Pane (extension)
  • Microsoft power automate Desktop (extension)

Thursday 14 September 2023

Microsoft Azure Artificial Intelligence (AI) - AZ-900 Notes

1. Artificial Intelligence (AI) 

  • AI making PC behave like human intelligence.  
  • Teach PC to do task for us.  
  • PC predicts using patterns and can act.  And good at looking for anomalies.
  • PC uses camera/photos to look for patterns.
  • Engage in useful conversations, use multiple sources of knowledge.

2. Machine Learning (ML)

  • Train PC's to see patterns and see patterns, and look for anomalies.
  • Example. predict stock prices by looking at factors that affect stock price.
  • Anomaly Detection - Detects unusual patterns e.g. CC used in Asia when normally in Europe, but transactions 10 min apart.  Therefore likely to be fraudulent.  Sort rubbish.
  • Predictive models by finding relationships.  Give model data and train the model.  
  • Example: flowers have features/characteristics e.g. colour, size, no petals, ...
  • Using data to teach machine
  • Supervise ML - need quality data including labels.  Avg humidity, hrs sunshine, rainfall, temp, month of year (features), ice creams sold(label/class), so we feed in temp is Regression ML.  Patient has features (weight, sex, age, bmi,...) give value btwn 0-1 of the person developing diabetes.  is Classification ML
  • Unsupervised ML - data is not labelled.  Just feature provided, will group into clusters.  Pulls data out and figures out it's own criteria is Clustering ML.  Useful for fraud detection.
  • Training - good data based on a training set and a validation set.  Train model, with most data, then check with remaining - allows us to see how close to what happened.  Service tries to figure out relationships.  Model is used by test data - see how close/useful model is.

3. Compute Vision 

  • Self driving cars, sorting. Sort rubbish.
  • Facial recognition, object recognition,..
  • How do computers see?  picture is cut up into pixels, data is pulled and used to find possible ans. 
  • Some types on Azure:  object detection i.e. car, bike, car, bus.  Image classification i.e horse, car.  Semantic segmentation i.e. Teams blur background.   Image analysis contect by bring various tougher.  Face detection.  OCR - read image and converts to text.

4. Natural Language Processing (NLP) 

  •     interpret e.g grammerly, spam check, Alexia, 
  •     Knowledge Mining - Extract info from knowledge and gain insights e.g. social media marketing.

Principals:

  1. Fairness - ensure bias is excluded e.g based on gender.
  2. Reliable & Safety - need high confidence and in certain systems cannot fail e.g. health systems, autonomous cars.
  3. Privacy & Security - Ensure data is protected and not giving away sensitive data.
  4. Inclusiveness - should be fair i.e. VI users
  5. Transparency - what is the model based on, what could be an issue.
  6. Accountability - who is liable for AI decisions
Azure:
  1. Scalability & Reliability
  2. AI Resources: sit in an Azure Resource Group

AI Services in Azure:
  1. Azure Machine Learning - Developers to train, test and deploy ML models.  Within a subscription, create a Azure ML Workspace (consists of: compute, data, jobs, models) can then publish as a service.  Azure ML Designer, used for creating ML pipeline, data in to train model.  Automated Machine Learning user only needs to provide the data and select the model to use, service figures it out. 
  2. Cognitive Services - vision, speak, language, decision.  Rest API endpoints - have already been trained, choose the model.  Can deploy multiple parts individually or together.

    3. Azure Bot Service - develop & managing intelligent bots like chat-bots
    4. Azure Cognitive Search - Data extraction, & enrichment for indexing.  Makes data searchable.

Anomaly detector resource - wizard to setup - Add Keys and endpoints to allow access.

Create a new Azure Machine Learning Service, will create a Workspace.  Use multiple azure services such as key-vault, AI, storage accounts.   
  • Launch Studio
  • Add Compute Cluster
  • Add Data (csv, spreadsheets, nearly any form,...)
  • AutomateML (figure it out without me) and run job
  • Will show trends
  • Deploy the model (i.e. to a web service)
  • Shows "Endpoints" - get url and a test rig.