Tuesday, 21 November 2023

Review of Browser Stacks Low Code Automated test tool

Overview: Low code testing relies heavily on complete UI end-to-end testing.  It needs to be fast, flexible, quick to correct, scale-able, highly configurable and BrowserStack's low code test tool is in beta and definitely on the right path - for me, it needs a few features.  I ran my testing against customised apps created on three platforms:

  1. Mendix low code,
  2. Microsoft's Blazer hosted on Azure Web App, and
  3. Canvas app within Power Platform. 

Tip: I've looked and use BrowserStack for many years and it has moved from being an device emulators infrastructure testing provider to a full ALM testing platform.  The low code Browser stack has a recorder to capture steps.

Where does Low Code fit into Browser Stack:

Image1. Low code automation works well as part of the full BrowserStack Platform or just using the product by itself.

Pros of the Low Code BrowserStack Product:

  • The local recording feature is easy to set up and use
  • Seamless integration with the cloud version running on BrowserStack's infrastructure
  • Logical layout of UI, little to no training required
  • UI validation using the DOM or, more importantly, screenshots using BrowserStack's AI verification (required further review) has the potential to self-heal as in the screen changes, but the validation can be smart enough to understand it is just an updated screen (example a single colour in the page and the position of the name is moved).
  • SDK is available to work with the full BrowserStack platform.
  • Not Low code specific but BrowserStack generally has the new phones included in their offering within days of being release.

Cons:

  • Provide a webhook or allow for a REST client call as a step (I'd want to log directly from the test run into Azure Monitor)
  • More run options, I'm sure it's already on the road map, but the ability to run every hour for continuous monitoring.
  • Refresh tokens on a schedule (allows you to not use MFA such as SMS codes or Authenticator).
  • Make it clear if the run is from the local or the browser, and keep the historical logs for both together.
  • Export results - I could not find this, but it would help compare step performance.
  • I use DevOps, I'm unlikely to take the whole BrowserStack platform unless i need the emulators which is what BrowserStack was originally famous for.

Summary: This is an excellent tool for testing; the low code product was still in beta when I reviewed it.  It is a nice tool and has the potential to disrupt the market.  I feel Playwright is a better point solution and integrates to CI/ALM platforms.

Referenceshttps://www.browserstack.com/low-code-automation/features?utm_source=google&utm_medium=cpc&utm_platform=paidads&utm_content=668760067900&utm_campaign=Search-Brand-EMEA-Navigational&utm_campaigncode=Core+9045914&utm_term=e+browserstack

Other

Image 2. Emulate a Samsung Galaxy phone on Android using the Chrome browser.

Thought: I like BrowserStack's reporting, clean and simple on tests and easy to get the history.

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 is 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 indexes data, and 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 source doesn't need to moved to slice data.  Data stays at the original source but can be worked with, this all falls under the OneLake concept.  Can query using multiple approaches. Create a shortcut to files/folders/databricks, and it becomes part of OneLake while the underlying data resides in the original location that is now linked (only works on Parquet and specific file types).  

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 you 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 and analyse all the data.

Copilot for Power BI is impressive for building reports, but I need to play with it more.

Power BI is basically becoming Microsoft Fabric. The report generation piece is still called Power BI, but it falls under the MS Fabric product. Licensing for PowerBI Pro is converted to MS Fabric, and you cannot stay on Power BI Premium.

MS Fabric has a new way to access data. It is impressive in that it is fast, real-time, stores data once, carries ACLs/permissions with a lot of the data.  The ETL capabilities are amazing and configured for development.

MS Fabric also supports Real-Tile Intelligence (RTI) and SQL Azure integrated.

Last updated: Feb 2025

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 market leader in low-code app builders. While I predominantly use the Power Platform, Mendix can be a good option.  

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

Build a local Version using Mendix Studio Pro and deploy it to the cloud. There are several options, including on-prem. The free version is basic and has limitations, but it has proven helpful for learning.

Note: There is also a Mendix Studio (Not Mendix Studio Pro) but it is hardly used by anyone.

Mendix supports sprints and 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 that 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.

Marketplace - templates, connectors, and components to reuse. 

Domain Modelling is excellent. When creating an app, you can choose your database (not the canned version). Modelling and exposing via OpenAPI contract and generating CRUD screens are easy. 

Get Data Options

Types of Data Sources available in Mendix.


Logic/Programing: In Mendix, we use flows for logic; there is no programming language.

  • Microsflows - Server-side logic.
  • Nanoflows - Smaller basically client side (think JavaScript logic)

Tip: The variable state is typically stored within the local Postgres database for later use.

Publishing to cloud production versions is very easy, and the local version, which is being developed, is seen on localhost. Mendix has simple, great built-in source control.

Image 1. A high-level overview of the logical components making up Mendix.

Pros:

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

Image 2. Add multiple Languages to your app

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

The running example has:

  1. Various pages and forms show and persist database information. 
  2. A REST Call to a 3rd party using the 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

...

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)