Azure

Building a personal AI chat assistant with semantic search

Why I Built an AI Assistant for My Blog

I wanted my blog to do more than list posts. I wanted visitors to be able to ask natural questions about me, my work, and anything I’ve written, and get answers that cite the right articles without me hand. In my previous post I laid the infrastructure groundwork by running n8n on Azure as an orchestration layer. This article goes deeper into how I assembled the chat assistant itself and wired it to semantic search so it actually “knows” my content rather than doing a brittle keyword lookup.

Running n8n on Azure to power a AI chat agent

A lightweight Azure backend for my AI agent

Over the past few weeks, I’ve been exploring different ways to power a personal AI agent for my blog, one that can answer questions about me, my background, and my work using context I provide. I wanted a simple, secure, and cost-effective backend that I fully control and can iterate on fast.

n8n is a powerful open-source automation tool that’s perfect for wiring together APIs and logic without having to spin up tons of infrastructure.

Enhancing Logistics with Azure Maps and NVIDIA cuOpt for Multi-Itinerary Optimization

The logistics industry constantly seeks efficiency in routing vehicles to deliver goods. This is where the Vehicle Routing Problem (VRP) and Pickup and Delivery Problems (PDP) come into the picture as both are sophisticated extensions of the classic Traveling Salesperson Problem (TSP). The TSP poses a simple yet challenging question: “What is the most efficient route that visits each destination once and returns to the starting point?” This problem is not just academic; it has practical applications in logistics, where optimizing routes can lead to substantial savings in time and costs.

Introducing the Unified Azure Maps Experience

We are thrilled to announce the unification of Bing Maps for Enterprise (BME) with Azure Maps, marking a significant milestone in our geospatial services at Microsoft. Azure Maps now boasts a robust stack of geospatial offerings, leveraging the powerful capabilities of Microsoft Maps, which also drives Bing Maps (our consumer maps experience). Over the past year, our team has dedicated significant time and effort to combine the strengths of Bing Maps for Enterprise into Azure Maps, enhancing our global quality and coverage.

Help customers find your business with the Azure Maps Store Locator

Maximize Visibility

In today’s digital age, the visibility of your business is paramount. Once you’ve captured customer interest online, the next crucial step is guiding them to your physical storefronts. Azure Maps Store Locator streamlines this journey, offering an interactive and intuitive experience that leads customers right to your doorstep.

Simplifying Store Discovery

Creating a basic store locator using Azure Maps is already a straightforward task, involving the loading of store locations onto a map and potentially setting up a simple search functionality. However, for larger organizations managing thousands of locations and requiring advanced filtering options, a more sophisticated solution is essential. Fortunately, the Azure Maps Store Locator, combining the power of various Azure services, caters precisely to these needs.

There is a New Style of Maps Across Microsoft

We are excited to announce that we have developed a new and improved style for our maps across Microsoft. Azure Maps now utilizes the same vector tiles and satellite imagery directly as our other Microsoft mapping platforms, including our Bing Maps consumer site and more. This updated style introduces a fresh cartographic identity across Microsoft, focusing on enhancing usability, information clarity, and aesthetic appeal.

/there-is-a-new-style-of-maps-across-microsoft/0.jpg

Key Features of the New Style

  1. Style Choices: As before, Azure Maps allows you and your customers to choose from several styles, such as:
    • Road
    • Night
    • Hybrid
    • Grayscale (dark and light)
    • Terra
    • High Contrast (dark and light)
/there-is-a-new-style-of-maps-across-microsoft/1.jpg
  1. Fine-Tuned Colors and Information Density: We have carefully considered feedback from our previous styles. The result is a balance of colors and information density designed to make our maps more easily consumable across different zoom levels and device profiles.

Azure Maps Creator onboarding

Azure Maps Creator is a powerful product that transforms your static floor plans into dynamic, interactive indoor maps for your business locations. It allows you to overlay technical building plans ontop of Azure Maps, enabling the visualization of IoT data such as temperature, occupancy, and other location-based services. The onboarding process is streamlined, requiring only the preparation and uploading of your DWG floorplan files (the native file format for Autodesk’s AutoCAD software) into Azure Maps Creator.

How Microsoft uses Azure Maps Creator

In the evolving landscape of remote work and sustainability, the optimization of physical spaces has become increasingly important. Microsoft is at the forefront of this transformation, utilizing Azure Maps Creator to enhance the management of its diverse global workspaces. This product is essential for facilities managers, providing dynamic, interactive indoor mapping solutions that allow for real-time assessment of space and resources, quick response to critical issues, and seamless adaptation to the needs of a hybrid workforce—all while minimizing environmental impact.

Storing and querying your geospatial data in Azure

While Azure Maps is known for great use cases around visualizing and interacting with a map and location data, you probably also need secure and reliable storage for that data that offers the flexibility to query your (location) data. In this blog post, we explore the different options for storing and querying geospatial data in Azure, including Azure Cosmos DB, Azure SQL Database, and Azure Blob Storage. Storing and querying geospatial data in Azure is a powerful and flexible way to manage and analyze large sets of geographic information.

Azure Maps REST SDKs

Azure Maps is more than just a Map on your website. It is a complete enterprise solution for location-aware solutions. For example, you can do (reverse) geocoding of customer addresses and use an isochrone to find out withs customers a close to your store or get weather conditions for all your past sales data to know withs products sell best by rain or hot weather or get the correct time-zone for your customer by translating an IP-address to a location and get the time-zone information, or you need to know what the travel time is between two or more locations. So many scenarios and use cases you can make location aware with Azure Maps.

Add a custom WebGL layer to Azure Maps

Enhancing your Azure Maps with a custom WebGL layer opens up a realm of possibilities for rendering dynamic 2D and 3D data. While Azure Maps provides a robust set of built-in features, there are times when you may require a more tailored solution. This is where the power of a custom WebGL layer shines.

WebGL, a cross-platform and royalty-free web standard, empowers you to harness low-level 3D graphics right in your web browser. By utilizing WebGL, Azure Maps gains a performance edge, surpassing the capabilities of standard HTML canvas rendering. However, it’s important to note that WebGL’s low-level nature adds complexity and may not always align with straightforward business solutions.

Azure Maps Web Application Authentication

Introduction

One of the requirements when building a business application, which may give access to private business data, is that only authenticated employees or agents be able to see that data. So how can you use Azure Maps in combination with authentication and authorization to ensure only the people that should be allowed have access?

Our Azure Maps docs describe in detail many different authentication scenarios but the complexity can make it seem difficult to implement. This blog post will focus on our most requested authentication scenario for Azure Maps. Use the following step by step guidance to have a .NET web application embedded Azure Maps web control where only authenticated users can see the website and use the map.

Azure Maps Power BI update

The Azure Maps Power BI Visual provides a rich set of data visualizations to enhance your data with location context. In the March release of Power BI, the Azure Maps visual introduces two new tools: Geocoding capabilities and a Pie Chart layer.

Geocoding in Power BI

When dealing with data that has a location context, such as addresses or other geographic information, you might lack the precise point location (latitude-longitude) needed to plot these addresses on a map. The new geocode capabilities in the Azure Maps Power BI visual allow you to convert address data into location data directly within Power BI. The Azure Maps geocoder is flexible and can work with incomplete address information or spelling mistakes. Additionally, it supports regional geocoding for various levels, including country, state or province, city, county, postal code, and partial address data.

Azure Maps Weather Services adds three new services

Azure Maps Weather Services, which became generally available in April 2021, has recently expanded its offerings with three new services: Historical Weather, Air Quality, and Tropical Storms. These additions empower developers and companies to enhance their capabilities when it comes to weather data.

Historical Weather

The Historical Weather API provides actuals, normals, and records climatology data by day for a specified date range, up to 31 days in a single API request. Depending on the location and feature, historical data may be available as far back as 5 to 40+ years. The information includes:

Managed Identities for Azure Maps

In many enterprise organizations, there are strict processes for privacy, access, and handling of personally identifiable information (PII). Azure Maps is a global Azure service, which means it is available worldwide (except for China and South Korea), but it also needs to store metadata and logs somewhere. In addition, Azure Maps Creator is an addon for private indoor maps that also holds map data. So, where do we keep this data?

Introducing the Heat Map Layer in Azure Maps Visual for Power BI

We are thrilled to announce the addition of the Heat Map layer option to the Azure Maps Visual in Power BI. This powerful feature allows you to visualize data density using various colors, highlighting data “hot spots” on a map. Whether you’re analyzing customer behavior, regional performance, or statistical trends, the heat map provides valuable insights.

Key Benefits of the Heat Map Layer in Power BI

  1. Data Density Visualization: Heat maps are ideal for rendering datasets with a large number of points. They effectively display data concentration and distribution. Use heat maps to compare customer satisfaction rates, shop performance, or any other relevant metrics across different regions or countries.
  2. Frequency Analysis: For example, by measuring the frequency with which customers visit shopping malls in various locations, you can identify popular areas and potential growth opportunities.
  3. Statistical Insights: Heat maps are excellent for visualizing vast statistical and geographical datasets. Explore patterns, correlations, and outliers with ease.
/introducing-the-heat-map-layer-in-azure-maps-visual-for-power-bi/heatmap.jpg

Customization Options

The heatmap formatting pane (Format) empowers users to tailor their visualizations according to their preferences. Here are the customization options available:

Use Azure Maps to calculate an isochrone to reach your customers

Imagine you are a store owner and would like to target customers that live within a 15-minute drive from your store with advertising for your weekly specials. You could draw a circle on a map, guessing that is about 15 minutes away, but it will not truly represent the time it will take for customers to get to your store. For example, a customer living near a major transit route can live further away from the store than a customer living in a less well-served part of the city. To meet this need, an isochrone is a polygon (an area on a map) of expected travel time. It represents the locations that will take the specified time, or less, it will take to get to a specific point (your store, in this case). Estimating an isochrone correctly, including all the variables like traffic, road, and vehicle conditions, is very hard to do by yourself!

Azure DevOps Dashboard

Introduction

When you are managing Azure DevOps in a large enterprise organization, and you are still using only one Azure DevOps organization account, you are probably hitting some limits or have potential performance issues. Microsoft’s recommendation is to have around 300 projects in a single Azure DevOps organization account. I have seen Azure DevOps organizations with more than 600 projects that still work.

The solution is to set up a multi-organization structure. Move all the inactive projects to an archive or boneyard Azure DevOps organization account and add an extra Azure DevOps organization account per department.

Do I get wet feet? Draw a flood map using Azure Maps Elevation

Introduction

When you are living in the Netherlands you are used to that, nearly 26% of its land falling below sea level, and about 50% is just only exceeding 1 m (3.3 ft) above. The Dutch people have lived many centuries battling the water, not only from the sea but also from her rivers. To protect the land the Dutch have built many sophisticated protecting- and management systems to handle the water, like the Delta Works. Building only a dike or dam is not enough. Today we have won, but we know that we cannot rust, climate change (heavy rain showers) and sea levels are rising globally. Do we (or you) get wet feet in the future?

Create your own indoor maps using Azure Maps Creator

Introduction

When you are working inside a building, like an office, factory, shopping mall, or something like a museum. There are probably a lot of sensors that can tell you information about that building, like what is the temperature and air quality per room, is there any door open or is there some alarm happening. When you in a big building and you want to know the fastest route to a specific room/store/painting, you probably apricate some help in navigating. These are all smart buildings.

Protect your web applications using Azure Application Gateway

What is Azure Application Gateway?

Azure Application Gateway is a reverse proxy with optional WAF (Web Application Firewall) capability to allow incoming connections from external sources. The Gateway operates at Layer 3, 4, and 7 for IP-based, TCP/UDP-based, URL-based, and Host Header-based routing.

/protect-your-web-applications-using-azure-application-gateway/azure-application-gateway.png

When to use the Application Gateway?

Microsoft has multiple services to protect and accelerate your applications; they are used for different scenarios, depending on where your users are:

Infrastructure as Code

Infrastructure as Code

Infrastructure as Code (IaC) is the process of managing and provisioning infrastructure and configuration dependencies for application stacks using machine-readable definition files rather than physical hardware configuration or interactive configuration tools.

What is Infrastructure as Code?

  • Source Controlled
  • In code (Scripts & Templates)
  • Automated & Continuous Deployment
  • Testing
  • Feedback loop (Monitoring)

Categories of IaC tooling

You can use many declarative infrastructure deployment technologies with Azure. These fall into two main categories.

Compliance as Code

Compliance-as-Code

What is compliance as code?

Compliance-as-Code can be summarized as the organizational capability to automate the implementation, verification, remediation, monitoring, and compliance status reporting. This automation comes in the form of code and is integrated into the code repositories used by Devs and Engineers. It becomes “just another piece of code.”

  • Using code to describe, validate, (possibly) remediate, monitor, and report compliance requirements and status
  • Measured against regulatory standards and internal governance
  • Includes (but not limited to):
    • Security
    • Infrastructure configuration
    • Privacy
    • Policies: Government, finance, health, etc.
    • Licensing (i.e., Open Source)

Why use compliance as code?

Just as with any other *aC, precision and repeatability of code execution eliminate human error.

Cloud-native development with containers and microservices

Introduction

To adopt cloud-native application patterns, companies must learn new skills and communicate effectively across team boundaries. A new architecture, platforms, and developer workflows mean evolving developer skillsets. While microservices allow teams to move independently, they also emphasize the degree to which software and the organization grow to resemble one another, also known as Conway’s law. To achieve a result in which many microservices are a cohesive system and still maintain velocity, an organization’s communication structures need to be highly functional and effective.

Zero Touch Deployment

Introduction

In today’s increasingly demanding marketplace, companies are looking for ways to stay ahead of their competition. Development teams are faced with challenges preventing them from delivering solutions rapidly that meet the business’s expectations. Therefore, companies need to evolve their Application Lifecycle Management (ALM) practices to integrate business, development, QA, and operations functions in an efficient cycle for greater agility in delivering continuous value.

Releasing high-quality software more frequently represents a substantial competitive advantage, and it means a significant reduction in the amount of wasted time and effort within a company.

Azure Key Vault

Introduction

Azure Key Vault is a managed service that offers enhanced protection and control over secrets and keys used by applications, running both in Azure and on-premises.

The Basics

Service Tiers

Azure Key Vault is currently offered in two service tiers: Standard and Premium. Key Vault in Standard tier is limited to secrets and software-protected keys, while Key Vault in Premium tier additionally supports keys stored in Hardware Security Modules (HSMs) and are FIPS 140-2 Level 3 validated.

Free and Built-In TLS/SSL certificates in Azure

Today, when a website does not have an SSL/TSL certificate, web browsers give you a warning not secure. This warning not only scares people but also gives you a disadvantage in search engine ranking. On Azure, web sites have a default https-enabled URL, like https://sitename.azurewebsites.net/, but when you have a vanity domain configured, you are missing this secure connection. Luckily there are some free SSL/TLS certificate options to explore.

Let’s Encrypt

Wait, there is Let’s Encrypt, its free! Why are you not using this excellent service? Yes, that is true, but there are some downsides to use Let’s Encrypt (on Azure), like:

Calculate the availability and SLA for your Azure solution

Microsoft provides for most Azure services an Service Level Agreements (SLA), where you can find the availability for that services. The availability has a rage from 99.9% to 100% or no range at all (for some free services).

“We guarantee that 99.95% of the time, the Azure … Service will successfully receive and respond to …”

The SLA describes Microsoft’s commitments for uptime and connectivity. It is also somewhat guaranteed, i.e., it is backed financially. It shows Microsoft will refund you when it fails the SLA, but it doesn’t back your business.

Generate PDF files with asp.net core on Azure

There are many libraries and services to generate PDF files for asp.net core web applications. There are excellent commercial solutions out there, but if you need a free solution, it gets harder. Some libraries are hard to use, or others are limited in functionality. I need a free, easy to use, and quick solution to generate PDF files on an Azure Web App.

Can a View retrun a PDF?

What I need is a View that returns a PDF and not HTML what it usually does. The beauty of using a standard View is that I can use my web and asp.net core knowledge to design the View. In this case, I need to generate invoices.

Hosting a Static Site on Azure using CDN and HTTPS

Most websites don’t need a dynamically generated page for every visitor; it is slow, expensive, and requires continuous updates to be secure. A static site is fast and reliable. I hear you thinking; this is old school, most websites are interactive and are using a CMS in some kind to manage their content.

Headless CMS

The solution for a static website is to make use of a headless CMS, like Hugo or Jekyll. Basascly, you generate a static site from content and a template, similar to what this blog is doing.