Luca Ravazzolo · Apr 19, 2021 go to post

The adoption of containers, just like the adoption of a new UI paradigm from CHUI to GUI (think Visual Basic and similar 1990s client-server UI tools) to web-based design (formatting, graphical display, estate utilisation and URL links to other resources), forces us to think differently and adopt new "modus operandi".

When I first started with containers the first two thing I had to figure out were:

  • how do I keep this thing alive? It's not an OS (that's were ccontainermain came from) and
  • how do I securely connect to this thing? :) and so off I was installing SSHd

Those were Docker early days 2014/15

There was a Spanish company called Tutum, subsequently acquired by Docker that had a CentOS-based base-OS-layer with an SSH daemon already installed and so life was good back then.

Pointless to say that as one grows into understanding the technology, the new work-paradigm & the user-methodologies start to grow as the ecosystem of tools (consider docker exec, Docker Swarm, Kubernetes, Nomad, AWS ECS/Fargate, etc. but also fully automated CI/CD pipelines with Dev-QA-Sec-Ops), one starts to appreciate that things are done differently.

Since then, I've had a many a conversation with people trying to install SSH. It's not secret. We like what we know :-)

I've also had conversations with customers that want to move to a more modern provisioning pipeline, adopt containers and have a portable and more homogeneous  solution for their app. At times there are business constraints... I get that, however, when you start analysing the possible implementation solutions (you have CHUI-based solution that you want to port, how do you handle individual users? .profile at the OS level? You might as well have no containers. You cannot adopt that approach with Kubernetes anyway... do you handle it all in the containers? It means you must make /etc/passwd durable and all the $HOME directories, etc. etc. it becomes super complicated straight away... at that point your container-based provisioning becomes and hinderance vs an enabler.

Bottom line: "The times are a changing" as Bob Dylan used to sing and if you are interested in this new "cloud-native" way of working you're better off leaving things behind and adopt a new way of working that has many benefits... even if that means rewriting the CHUI interface.

Ultimately, just because it is doable it does not mean it is the right thing to do. Personally I don't feel I need ssh into containers when I develop nor do I see developers needing it. It is easy enough to jump into containers in any environments. OTOH I do understand the need to have better loggings and stats (think utilities/side-cars like cAdvisor). I think those type of sidecars should be like leaches and attach themselves as soon as they see an interesting container starting... but that is another story for automation, monitoring and for the next story :-)

Luca Ravazzolo · Feb 4, 2021 go to post

Hi @Michael Jobe,

Thanks for your availability. We are working on SAM v2.0 and we would appreciate your feedback.

SAM is not planned to be backported to support Caché at the moment. Many customers have already migrated to IRIS and many are planning to do so.

Luca Ravazzolo · Feb 1, 2021 go to post

@Michael Jobe thanks for highlighting this issue and for being candid. I've always liked your product. I hope our customers will be able to leverage your tool without any issue from now on. Thanks again.

Luca Ravazzolo · Feb 1, 2021 go to post

Hi @Michael Jobe that last "\n" was indeed missing. We have fixed it and are re-spinning...

Thanks for your diligence.

May I ask you what product(s) you are using and how this caused you issues?

Thanks

Luca Ravazzolo · Jan 27, 2021 go to post

Thanks @Michael Jobe - I thought we implemented as described as we have had people using it in AWS with CloudWatch and others and I have not heard any issue before. Let me verify this.

Luca Ravazzolo · Jan 27, 2021 go to post

Hi @Michael Jobe 

Yes, you can post here or open a WRC ticket.

The error usually denotes a privilege issue. I see that the file name is not the default we ship the product with. That is isc_prometheus.yml. Also the file should have privileges set to 764 or rwxrw-r---

Another important thing would be to use the start.sh script that checks for the correct privileges on directories and files.

Let us know how you get on.

Thanks

Luca Ravazzolo · Nov 17, 2020 go to post

Hi @Oliver,

Thanks for this article, the solution and the sharing of it! 

I'm sure many people will find it useful as file-based data-exchange is still very much in use.

Luca Ravazzolo · Oct 27, 2020 go to post

Thanks @Anastasia Dyubaylo! We hope to see many people at the Q&A sessions - you'll have the whole product management team live and ready to listen and answer your questions :)

Luca Ravazzolo · Oct 21, 2020 go to post

Hi Raj:

This article is not about AWS but it clearly explains how to set it up with Gitlab so I hope you can find your answers.

If you use containers, when you build them you'd be installing your solution code from a file or a series of files. you'd probably be copying them in the container and importing and compiling them. You could also do that before and just copy in the container the IRIS.DAT containing the code.. it depends.

You should also look and consider the ZPM package manager for packaging and moving your code around.

I hope this is of some help in your investigation

Luca Ravazzolo · Jul 15, 2020 go to post

Hi David,

Thanks for your feedback! Constrained understood and work for https already scheduled for SAM v2.0.

Luca Ravazzolo · Jun 2, 2020 go to post

Hi Max,

Did you untar the tarball with the "p" flag as well?  It is there to preserve the correct privileges. I think that might be your issue.

see

$ tar zpxvf sam-<version>.tar.gz

Let me know

Luca Ravazzolo · Apr 27, 2020 go to post

@Henrique Dias, Way to go! 

I'm very happy and always excited to see how new APIs are leveraged by the community.

You have just enhanced the InterSystems IRIS native (no need to install anything) Prometheus exporter & by doing that you have just shown how application developers can start thinking and implement their application performance monitoring (APM) and use an existing framework and API.

There soon be other news on this subject, stay tuned!

Good, well-detailed article with links and explanations

Great job Henrique!

Luca Ravazzolo · Apr 23, 2020 go to post

Hi Daniel,

Are you up and running with your development environment? Have you given the IRIS container a chance?

Thanks & TTYL

Luca Ravazzolo · Apr 10, 2020 go to post

Hi Dan

Yes, as Dmitry I haven't been installing software for a while on my Mac as I use containers that leave it cleaner.

I know you probably have version constraints but make sure to check-out on the InterSystems Docker Hub and find out the official versions available as community editions (CE) that do not require keys and those available via the InterSystems DC.

All the best with this new technology

Luca Ravazzolo · Mar 29, 2020 go to post

I really like this project. Utilities like this are very precious for testing and benchmarking.

Unfortunately the container build breaks so I could not test it but I think this should be pursued. Good work!

Luca Ravazzolo · Mar 9, 2020 go to post

Hi Guys

Thank you for your interest on the InterSystems Kubernetes Operator.

We are working hard at preparing it to be available for 2020.2 timeframe.

Stay tuned.