2 Followers · 47 Posts

Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers.

Learn more.

Article Gabriel Ing · Feb 6 8m read

TL;DR This article explains how to deploy InterSystems IRIS Community Edition on Azure using the Azure Marketplace and a Virtual Machine. It covers prerequisites, instance selection, authentication, SSH access, first verification steps, and how to delete resources to avoid charges. The deployment can typically be done using Azure free credits and is suitable for developers who want to quickly start working with IRIS in the cloud.

Who this guide is for. This guide is intended for developers, solution architects, and DevOps engineers who want to deploy InterSystems IRIS Community Edition on Microsoft Azure. No prior Azure automation experience is required, but basic familiarity with the Azure Portal and SSH is helpful.

After following this guide, you will be able to:

  • Launch InterSystems IRIS Community Edition from the Azure Marketplace
  • Configure a small, secure Azure VM
  • Connect to IRIS using SSH and the Management Portal
  • Reset the default IRIS password and verify that IRIS is running

Prerequisites

  • An active Azure subscription (new accounts may have free credits)
  • Permissions to create resource groups, VMs, and networking resources
  • An SSH client and a private key (.pem) you can store securely
  • Basic knowledge of Linux command line

Deployment overview

  • Open the IRIS Community Edition listing in Azure Marketplace and click Get it now
  • In Azure Portal, choose Start with a pre-set configuration (or Create)
  • Configure Basics: subscription, resource group, VM name, region, image, and size (a small VM is usually sufficient)
  • Choose SSH key authentication and generate/download the key if needed
  • Review + Create, accept terms, and deploy; then Go to resource → Connect → SSH
  • First SSH login: run iris password to change _SYSTEM/SYS; start a session with iris session iris
  • Management Portal: http://YOUR_VM_IP:52773/csp/sys/UtilHome.csp
0
0 51
Question Cristiano Silva · Oct 1, 2025

Hi all,

I'm developing a Azure Pipeline to automate the deployment process in Caché.

I use selfhosted agent to execute code im my Caché Server.

My problem is that cession execution via cmd always terminate with exit code 1 and the pipeline finishes with error, but the execution in Caché is fine, the method executed returns $$$OK
I use the following line to execute a class in Caché.
C:\InterSystems\Cache\bin\csession.exe CACHE -U  %RELEASE_TRIGGERINGARTIFACT_ALIAS% "##Class(sgf.pipeline.DeploymentManager).ProcessDeployment()"
Bellow printscreen of execution in Azure:

The problem is the exit code 1


I

5
0 104
Article Steve Lubars · Sep 21, 2025 5m read

Background

For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.

Unfortunately the built-in storage classes in most Kubernetes implementations (whether cloud or on-prem) do not provide this capability:

  • Does not support access mode "ReadWriteMany"
  • Does not support being mounted on more than one pod at a time
  • Does not support access across availability zones

However, some Kubernetes add-ons (both provider and

1
1 194
Question Scott Roth · Sep 8, 2025

We currently have Business Operation that we built to use the EnsLib.SQL.OutboundAdapter so we can make Microsoft SQL Server Stored Procedure calls. The BO is attached to a Java Gateway Service.

Some of our MS SQL Databases have moved from being OnPrem to Azure Cloud. We have started seeing where we are receiving errors on the BO saying that we cannot connect to the Azure Database, but we never receive a Disconnect from the Azure Database.

Once this happens it seems that the Java Gateway still thinks the connection is opened, and we have to Stop/Start the Java Gateway to get the connection to

2
0 82
Question Sowrick Nandi · Nov 15, 2023

Hello community members!
I am trying to connect to Caché database from Azure data factory using ODBC connection. The aim is to read data from Caché and write it in Azure blob storage using copy activity. The ODBC connection is successful and i can see the Caché  tables, but i'm facing an error while reading the table contents.
I'm getting the below error :

ERROR [HY000] [Cache ODBC][State : S1000][Native Code 400]
[SQLCODE: <-400>:<Es ist ein nicht behebbarer Fehler aufgetreten >]
[Cache Error: <<PROTECT>%0AmBk1^%sqlcq.SYA.cls691.1 ^SB700(""),/database/db4/syb/>]
[Location: <ServerLoop - Query

5
0 539
Question Jan K · Feb 10, 2025

We are trying to create a JWT in order to get oauth2 token from login.microsoftonline.com and then use that token to get key/secret from an Azure Key Vault.

It seemed like it would be quite straightforward by using the Create method of class %Net.JSON.JWT

But already trying to set the first header parameter alg PS256 as specified by https://learn.microsoft.com/en-us/entra/identity-platform/certificate-c… becomes a problem. Just to test, I do this:

set JOSE = {
 "alg""PS256"
}

and then using that and an arbitrary claims as parameters in Create method gives this

"Unsupported JOSE

1
0 193
Job Denise Sommer · May 31, 2024

Dear community, we are building up a digital backbone for our 17 hospitals and looking for reinforcement within the team. Maybe this is something for you or someone you know?

👩‍💻 Are you an (#InterSystems) developer and would you like to join an intelligent, bright and internationally diverse team (mainly in Zurich, but also in South Africa and the Middle East)?
🤘 Are you keen to use your skills for clinically relevant use cases and to build a Group-wide value-creating platform?
😁 Are you up for mischief and humor in the workplace? 
📣 Are you willing to share frustration with us when things

1
0 378
Article Scott Roth · Jan 24, 2025 3m read

Not sure there are many that connect to MS SQL to execute queries, stored procedures, etc, but our Healthsystem has many different MS SQL based databases we use within the Interoperability environment for various reasons.

With the push to moving from on-prem to the Cloud we ran into some difficulties with our SQL Gateway connections and knowing how to config them to use Microsoft Entra for Active Directory Authentication.

There are many articles out on the web, but there was not one that could give us the full answer to what we needed to do, and Microsoft wasn’t much help.
I figured I would

0
1 671
Question Gabriel Silva dos Santos · Jan 17, 2025

Hello everyone,

I’m facing issues with replicating data from my Caché 2016 database to a PostgreSQL database. I need to handle around 300 data updates per minute, and whenever certain tables are modified, those changes must be reflected in other databases.

So far, I’ve tried various approaches, including:

  • Setting up an intermediary API,
  • Using Azure Service Bus,
  • Leveraging Caché Jobs,
  • All of which rely on table triggers as the entry point.

However, each of these solutions has led to performance bottlenecks and system lockups.

6
0 209
Job Neerav Verma · Aug 31, 2024

I am available to engage on projects as an Iris Healthcare Consultant, leveraging over 20 years of extensive experience in IT architecture with a special focus on Intersystems IRIS and Health Share solutions.

My expertise includes leading critical NHS projects in the UK as well as  building SaaS solution designed to enhance revenue cycle management and facilitate integration between hospitals and doctors in the US.

Certifications:

  • TOGAF 9 (The Open Group)
  • Certified Scrum Master (Scrum Alliance)
  • Azure Solutions Architect Expert (Microsoft)
  • Microsoft Azure Architect Technologies (AZ-300)
0
0 169
Article Mihoko Iijima · Feb 23, 2024 5m read

I have challenged to create a bot application using Azure Bot that can retrieve and post data to IRIS for Health.

 

A patient's data has already been registered in the FHIR repository of IRIS for Health.

The patient's MRN is 1001. His name is Taro Yamada. (in Japanese :山田 太郎)

This bot can post new pulse oximeter readings as an observation resource linked to the patient.

2
2 546
Question Bradley Collins · Aug 18, 2024

Dear All,

I am currently part of a team that is developing an application using Microsoft PowerApps as the front end and IRIS as the backend.  Effectively that frontend screens, which are house and an Azure serve, call a series of REST interfaces exposed by IRIS from a physical Microsoft server.  During the development stage we have not had any security in place but now we need to secure the application using a single sign on.  PowerApps relies on Microsoft Entra for its security both LDAP and OAuth.  Has anyone in the community connected IRIS to Microsoft Entra? 

I have managed to register

2
0 345
Article Keren Skubach · Aug 19, 2024 4m read

Accessing an Azure cloud storage to upload/download blobs is quite easy using the designated %Net.Cloud.Storage.Client class API methods, or using the EnsLib.CloudStorage.* inbound/outbound adaptors.

Note that you'll need to have the %JavaServer External Language Server up and running to use the cloud storage API or adaptors, since they both use the PEX framework using the Java Server.

Here is a quick summary:

Azure Blob Storage is accessed using a connection string that looks similar to this:

DefaultEndpointsProtocol=https;AccountName=abcdefscleanisr;AccountKey=n3mWskdjgfhklsghdfjaskhgkjdfizqMWJ5
0
3 593
Article Eduard Lebedyuk · Dec 19, 2023 8m read

If you're running IRIS in a mirrored configuration for HA in Azure, the question of providing a Mirror VIP (Virtual IP) becomes relevant. Virtual IP offers a way for downstream systems to interact with IRIS using one IP address. Even when a failover happens, downstream systems can reconnect to the same IP address and continue working.

The main issue, when deploying to Azure, is that an IRIS VIP has a requirement of IRIS being essentially a network admin, per the docs.

To get HA, IRIS mirror members must be deployed to different availability zones in one subnet (which is possible in Azure as subnets can span several zones). One of the solutions might be load balancers, but they, of course, cost extra, and you need to administrate them.

In this article, I would like to provide a way to configure a Mirror VIP without the using Load Balancers suggested in most other Azure reference architectures.

1
3 1102
Question Minoru Horita · Feb 13, 2024

I am trying to create a program to upload blob files from IRIS to Azure Blog Storage, but with no luck.

First, I am trying the APIs, but  ##class(%Net.Cloud.Storage.Client).CreateClient() fails with the message "Cannot establish connection". Following the documentation, the parameters are like: CreateClient(, 1, credfile, , .tSC) where credfile specifies a file containing:

DefaultEndpointsProtocol=https
AccountName=aihpocsadicom
AccountKey=RealAccountKeyHere
EndpointSuffix=core.windows.net

Am I missing something?

1
0 361
Question jennifer mccallum · Aug 4, 2021

Has anyone firstly got VIP working for mirroring in Azure?  We are pretty sure that this won't work but I wanted to verify it.

Has anyone used the Azure Load balancer to act as a Virtual IP and if so was a application gateway required.

Interested to know your experiences in getting this working.

9
0 824
Question Prashant Sonnaik · Apr 29, 2023

Have just deployed IRIS in Azure and when accessing the filesystem through SSH I just can't see the ISC folder through the WSL ubuntu user, what am I missing here?

As I want to create new folders and use the same in test productions.
the needed directories are created in /home/azureuser but the same is not visible in IRIS file system

4
0 376
Article Anton Umnikov · Jan 21, 2021 26m read

In this article, we’ll build a highly available IRIS configuration using Kubernetes Deployments with distributed persistent storage instead of the “traditional” IRIS mirror pair. This deployment would be able to tolerate infrastructure-related failures, such as node, storage and Availability Zone failures. The described approach greatly reduces the complexity of the deployment at the expense of slightly extended RTO.

16
8 3985
Question Yashpal Singh · Dec 14, 2022

Hi,

I am trying to use the newly introduced adapter EnsLib.CloudStorage.InboundAdapter to pull files from azure blob container for the purpose of ECG scaling.

The ultimate goal would be-  more than one services running to pull the files from a blob container and process them further. I am not sure if there would be any concurrency issue on that. So working on a poc to pull the data from server and test it out.

For this I have created a service class which extends Ens.BusinessService and used Adapter class  EnsLib.CloudStorage.InboundAdapter and upon providing the details I get error : 

ERROR

2
0 519
Article Yaron Munz · Jul 12, 2022 5m read

Overview

We started to use Azure Service Bus (ASB) as an enterprise messaging solution 3 years ago. It is being used to publish and consume data between many applications in the organization. Since the data flow is complex, and one application’s data is usually needed in multi applications the “publisher” ---> ”multiple subscribers” model was a great fit. The ASB usage in the organization is dozens of millions of messages per day, while IRIS platform is having around 2-3 million messages/day.

The Problem with ASB

When we started with the ASB integration, we found that the AMQP protocol is not an

3
3 860
Question Damiano Porrovecchio · May 16, 2022

Hi,

I search how to send telemetry data from IRIS to azure. It is possible in other languages with openTelemetry SDK. But there are not SDK for interSystems platform. We would like something totaly automated/integrated.

(We already have telemetry data with prometheus and grafana).

Do you haves any solutions for that ?

Thank you

4
0 576
Job sandeep sunny · May 26, 2022

Client: Northwell Health

Role: Senior Developer

Location: Remote

Duration: 6+ Months

Description:

Team Overview:

The FHIR Platform team is tasked with providing the core infrastructure in providing access to Northwell HIE patient data complying with HL7 FHIR and USCDI standards.

Position Summary:

The primary purpose of this role is to provide technical design, coding, testing and documentation for multiple components in the FHIR solution.

Responsibilities:

• Develop end-to-end solutions, participate in code reviews, unit test and deploy.

• Documentation of technical designs and functionality

0
0 447
Article Victor Sanner · Apr 20, 2022 2m read

Hi,

I have wrote an article about how to install the intersystems cache driver in a Docker container, and then deploy it using Azure Functions: 

How to run a (Python) Azure Function as a Docker container & Deploy it using Bicep | Victor Sanner
This might be useful to others, especially the dockerfile which I have copied below. This builds a debian docker container and installs the Intersystems Cache driver, which python can then use :)

To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/python:3.0-python3.6-appservice
0
2 706
Question Tom Cross · Feb 28, 2022

Hi There, 

I am reaching out to the community to see if anyone has implemented SSO via SAML into TrakCare from Azure AD? 

Also looking to see if anyone has come across automated role provisioning, I have seen this from an IRIS perspective but not directly into TrakCare. 

Thanks in Advance

Cheers, 

TC

2
0 490
Question Felipe Quezada · Jan 26, 2022

Hello guys! I need some assistance with these problems I have.

The first one is that I need to execute a Python file, which is at /XY path. This PY is supposed to read an excel file and create a CSV version in /XZ path.

I am quite sure that the PY file is correct, but when using this function I get nothing but this error:

SET tSC = $ZF(-100,"/ASYNC /SHELL ", "python", "/data/InterSystems/IRIS/mgr/TEST01CODE/ExcelReading/ExcelToCSV.py")

ConfigItem 'FJ EXCEL READING' (FJ.BS.ExcelReading) started in job 3164

ERROR #00: (sin descripción de error)

Any ideas or suggestions?

The second error I have is

2
1 683
Article Mikhail Khomenko · Jan 5, 2022 8m read

We’ve already considered how to run an IRIS-based application in GCP Kubernetes in Deploying InterSystems IRIS Solution into GCP Kubernetes Cluster GKE Using CircleCI. Additionally, we’ve seen how to run an IRIS-based application in AWS Kubernetes in Deploying a Simple IRIS-Based Web Application Using Amazon EKS. Now, let’s look at how to deploy an application to the Azure Kubernetes Service (AKS).

0
0 755
Article Bob Binstock · Apr 26, 2021 9m read

Like hardware hosts, virtual hosts in public and private clouds can develop resource bottlenecks as workloads increase. If you are using and managing InterSystems IRIS instances deployed in public or private clouds, you may have encountered a situation in which addressing performance or other issues requires increasing the capacity of an instance's host (that is, vertically scaling).

One common reason to scale is insufficient memory. As described in Memory Management and Scaling for InterSystems IRIS in the Scalability Guide, providing enough memory for all of the entities running on the host

1
0 549