#DevOps

7 Followers · 94 Posts

Software engineering practice that aims at unifying software development (Dev) and software operation (Ops).

Article Lorenzo Scalese · Apr 22, 2022 8m read

Apache Web Gateway with Docker

Hi, community.

In this article, we will programmatically configure an Apache Web Gateway with Docker using:

  • HTTPS protocol.
  • TLS\SSL to secure the communication between the Web Gateway and the IRIS instance.

We will use two images: one for the Web Gateway and the second one for the IRIS instance.

All necessary files are available in this GitHub repository.

Let’s start with a git clone:

git clone https://github.com/lscalese/docker-webgateway-sample.git
cd docker-webgateway-sample

Prepare your system

To avoid problems with permissions, your system needs a user a






image

15
8 2162
Article Lorenzo Scalese · Feb 8, 2022 11m read

History

VersionDateChanges
V12022-02-08Initial release
V1.12022-04-06Certificates generation with sh file instead of pki-script
Using environment variables in configuration files

Hi Community,

Have you already set up a mirrored environment? Does it have a private network, virtual IP address, and SSL configuration? After doing this a couple of times, I realized that it is long, and there are a lot of manual actions required to generate certificates and configure each IRIS instance. It is a pain in the neck for people who often have to do this.

For example, a Quality Assurance t

Mirror-Configuration

2
1 1294
Article Paul Hurley · Aug 17, 2022 1m read
IrisStat options
a All
b bits
c counters
d dump processes
e error log
f global module flags
g ^GLOSTAT info
h irisstat usage
j journal
k prefetch daemons
l LRU global buffers
m GFILETAB
n network
o clear irisstat
p processes
q hibernation semaphores
s irisstat exe directory
t run irisstat in loop
u locks
v Check versions
w write daemon queues
   
B Blocks in GBFSPECQ
C inter-job comms
D sample block collisions
E cluster status
G
0
0 457
Question Michael Davidovich · Aug 12, 2022

Does anyone have experience with CircleCI or really any automation tool using %UnitTest?

I have built my app and ran my unit test in a Docker container automated by CircleCI.  However, after many of the tests failed I see:

How do you halt out of the IRIS session and return an exit code to the shell?

I have a script in my repo that I pass into IRIS after CircleCI does the code checkout

iris session IRIS < inFile

Am I trying to approach this the wrong way?  Should I be writing test output to a file or something?  Even so, I still need a way to say to CirclCI "unit tests failed, so don't d

8
0 569
Article Lorenzo Scalese · Jul 21, 2022 11m read

Hi community,

This is the third article in the series about initializing IRIS instances with Docker. This time, we will focus on Enterprise Cache Protocol (ECP).

In a very simplified way, ECP allows configuring some IRIS instances as application servers and others as data servers. Detailed technical information can be found in the official documentation.

This article aims to describe:

  • How to script the initialization of a data server, and how to script the initialization of one or more application servers.
  • How to establish an encrypted connection between these nodes with Docker.

To do this,



data server

0
2 1036
Announcement Anastasia Dyubaylo · May 15, 2020

Hey Developers,

We're pleased to invite you to join the next InterSystems IRIS 2020.1 Tech Talk: DevOps on June 2nd  at 10:00 AM EDT! 

In this InterSystems IRIS 2020.1 Tech Talk, we focus on DevOps. We'll talk about InterSystems System Alerting and Monitoring, which offers unified cluster monitoring in a single pane for all your InterSystems IRIS instances. It is built on Prometheus and Grafana, two of the most respected open source offerings available.

Next, we'll dive into the InterSystems Kubernetes Operator, a special controller for Kubernetes that streamlines InterSystems IRIS deployments and management. It's the easiest way to deploy an InterSystems IRIS cluster on-prem or in the Cloud, and we'll show how you can configure mirroring, ECP, sharding and compute nodes, and automate it all.

Finally, we'll discuss how to speed test InterSystems IRIS using the open source Ingestion Speed Test. This tool is available on InterSystems Open Exchange for your own testing and benchmarking. 

   

6
1 646
Article Evgeny Shvarov · May 28, 2022 3m read

Hi Developers!

This is yet another short post that is intended to simplify developers' life. Now we'll talk about how to make GitHub run unit tests with every push to the repository by adding just one file to the repo. For free.  On Github Cloud. Sounds great, isn't it?

It is possible and very easy to do. Credit goes to @Dmitry Maslennikov (and his repo), ZPM Package Manager, and GitHub Actions.  Let's see how this all works!

Something for Nothing by Robert Sheckley - YouTube

0
0 571
Question David Little · May 17, 2022

So it appears that this feature is still missing in 2022.1 (https://docs.intersystems.com/iris20221/csp/docbook/DocBook.UI.Page.cls…).

Does anyone have any thoughts or ideas on how to create Namespace Package Mappings on deployment in a 'neat' way during automated deployment?

  I really like the ability to use merge cpf on deployment of our servers, but this one missing action is kind of holding me back.  Appreciate if anyone else has encountered this and how they approached it.

Cheers.

5
0 408
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 753
Question Murray Oldfield · Mar 19, 2021

SAM - Hacks and Tips for set up and adding metrics from non-IRIS targets

SAM (System Altering and Monitoring) comes with as a 'batteries included' docker-compose container set that is ready to start monitoring IRIS instances with a default dashboard as soon as it starts up. The initial configuration is good to understand SAM functionality and start basic monitoring of your IRIS systems. However, out of the box, there are some setting s that you will need to change when you start to monitor many systems and collect a lot of metric data. To get more value out of SAM, you will also want to add me


DraggedImage-1.png

5
0 807
Article Mikhail Khomenko · Nov 25, 2020 18m read

Introduction
Several resources tell us how to run IRIS in a Kubernetes cluster, such as Deploying an InterSystems IRIS Solution on EKS using GitHub Actions and Deploying InterSystems IRIS solution on GKE Using GitHub Actions. These methods work but they require that you create Kubernetes manifests and Helm charts, which might be rather time-consuming.
To simplify IRIS deployment, InterSystems developed an amazing tool called InterSystems Kubernetes Operator (IKO). A number of official resources explain IKO usage in details, such as  New Video: Intersystems IRIS Kubernetes Operator and InterSystems Kubernetes Operator.

2
2 1111
Article Mikhail Khomenko · Oct 11, 2021 9m read

In this article, we’ll look at one of the ways to monitor the InterSystems IRIS data platform (IRIS) deployed in the Google Kubernetes Engine (GKE). The GKE integrates easily with Cloud Monitoring, simplifying our task. As a bonus, the article shows how to display metrics from Cloud Monitoring in Grafana

Note that the Google Cloud Platform used in this article is not free (price list), but you can leverage a free tier. This article assumes that you already have a project in the Google Cloud Platform (referred to as <your_project_id>) and have permission to use it. 

0
2 510
Question Sai Sai · Sep 15, 2021

I want to start this project and wants to know the best practices, you guys using to arrange the project. I have done lot of mvc projects and API's in c#. But Intersystems is new to me. Please give me some suggestions like how can I Arrange the objects. Like for eg. Where can I store the productions objects like services,process and operations. will that be like under each resouces folder name? and what are the base classes, and how can I store them? basically please give me some idea about how Can I arrange them . 

Thank you 

Sai

8
0 385
Article Lorenzo Scalese · Apr 15, 2021 6m read

Hi Developers,

Writing a script for the application deployment can be very interesting to ensure rapid deployment without forgetting anything. config-api is a library to help developers to write configuration scripts based on a JSON document.

Implemented features :

  • Set system settings.
  • Set security settings.
  • Enable services.
  • Configure namespaces, databases, mapping.
  • Export existing configuration.
  • All features are exposed with a RESTful API.

This library is focused on IRIS configuration to help applications deployment. So, config-api doesn't import\compile code feature, considering it should

19
0 1014
Question James Hipp · Apr 21, 2021

Hello,

We have a need to track Database changes over time - down to the SQL level of granularity if possible. Such as: User xyz runs routine ^abc and we get something similar to a changelog that tells us: table A had this value updated, insert, update etc....

Is that possible using IRIS level tools (Audit Log, Journal File, etc...) , is there a way to convert the global sets and kills from the journals into SQL level changes?

I also found a third-party java-based tool named Liquibase , but it seems more oriented to tracking schema and table based changes or pre-defined definitions.

3
1 599
Article Anton Umnikov · May 31, 2021 6m read

All source code to the article is available at: https://github.com/antonum/ha-iris-k8s 

In the previous article, we discussed how to set up IRIS on k8s cluster with high availability, based on the distributed storage, instead of traditional mirroring. As an example, that article used the Azure AKS cluster. In this one, we'll continue to explore highly available configurations on k8s. This time, based on Amazon EKS (AWS managed Kubernetes service) and would include an option for doing database backup and restore, based on Kubernetes Snapshot.

Installation

Let's get right to business. Fir


2
0 1571
InterSystems Official Steven LeBlanc · Aug 21, 2020

I am pleased to announce the availability of InterSystems Container Registry. This provides a new distribution channel for customers to access container-based releases and previews. All Community Edition images are available in a public repository with no login required. All full released images (IRIS, IRIS for Health, Health Connect, System Alerting and Monitoring, InterSystems Cloud Manager) and utility images (such as arbiter, Web Gateway, and PasswordHash) require a login token, generated from your WRC account credentials.

14
7 2323
Article Lorenzo Scalese · Apr 21, 2021 2m read

Hi Everyone,

In the previous article, we combine ZPM with Config-API to load a configuration on module loading\install.
It could be useful for small applications, but for a large application, it's not convenient.

You can need to create multiple namespaces and install many zpm modules on different namespaces.
Using the configuration document on zpm load\install is a problem for this special case.
Moreover, even if you need only one module and one namespace, ZPM client is designed to install on the current namespace and it's not possible to switch to another namespace during the install.
So, If

3
0 417
Article Lorenzo Scalese · Apr 15, 2021 6m read

Hi Developers,

In the previous article, we describe how to use config-api to configure IRIS.

Now, let's try to combine the library with the ZPM client.
The goal is to load a configuration document during zpm install at the configure phase.

For this exercise, a template repository is available here (this is based on objectscript-docker-template ).

We attempt to :

  • Create a database MYAPPDATA.
  • Set Globals mapping for dc.PackageSample.*.
  • Add a user named SQLUserRO with read-only SQL role access.
  • Add an SSL Configuration named SSLAppDefault.
  • Create a REST application /rest/myapp.

The configuratio

7
1 376
Article Robert Cemper · Apr 16, 2021 1m read

Some changes in IRIS configuration require a restart of IRIS.
This is no big issue as long as I have access to the server command line with sufficient privileges.
In a container, this is not always given.
Stopping IRIS from the terminal/session prompt is no problem.
But the restart after is.  

Note1: container start-stop is no option as it might be removed by option --rm in docker run
Note2: the target is linux (manly in docker).  Windows is excluded

GitHub

4
0 1129
Article Robert Cemper · Apr 9, 2021 1m read

I'm looking for a way to have an IRIS db distributed over several (hw) drives.  
Without touching the internal data structures (e.g. mapping) !  
Are there any options in file systems to achieve this "splitting" or "appending" ? 

Historic background:

  • Once upon a time CPUs worked on 32 bit
  • Files could mostly not be larger than 2 GB
  • And Caché had a (forgotten) option to EXTEND a db to a next file of another 2 GB max. and a next ...

This EXTENT was excellently suited to move fresh and active data
to a faster spindle for more performance.

 

[ oh dear!
  Spindles are gone meanwhile with SSD an

1
0 247