Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IBM i and PASE, where are the limits? #3

Open
andreas-prouza opened this issue Jun 15, 2024 · 0 comments
Open

IBM i and PASE, where are the limits? #3

andreas-prouza opened this issue Jun 15, 2024 · 0 comments

Comments

@andreas-prouza
Copy link
Owner

PASE environment on IBM i is the ideal platform for using new technologies and modernising.

As always, every coin has two sides.
So, what are the potential drawbacks of PASE that we should think about when planning ...


Potential dark side of PASE 🧟

Every shell operation is executed in a separate job

Every time you perform a shell operation (ls, find, grep, pipes, etc.) a new job will be startet where it gets executed.

In general this not a problem.
If you run an application (Java, Python, PHP, etc) you just perform a single shell operation.

  • java -jar myapp.jar
  • python myapp.py

If you're running a complex Bash script with lots of shell operations, you need a powerful machine to get this done.

This was one of the main reasons why I moved from GNU make to OBI.
GNU make performs a series of shell commands to identify changed sources and to generate the necessary compile commands.
If you have several hundred sources and a weak IBM i, this will take up to 20 minutes.
OBI takes up to 2-3 seconds to complete the same task on the same IBM i.

Why is this?
OBI is a Python based application using Python functions instead of shell commands.
So, it all runs in the same job.

IFS is slow

IBM i is object-oriented and optimised for it.
The IFS is a file based architecture.

I came across this issue when a project using PHP on IBM introduced a framework (Laravel) which requires hundreds of PHP files to get started.
This results in a very bad performance.

Technology support

Let's look at this topic with a few examples:

  • Python
    • On IBM i you can find only release version 3.9.x
      This release version gets updates quite often
    • But, the current release 3.12.x (June 2024) is still not available on IBM i
    • Not all Python packages are supported for IBM i.
  • Java
    • Current available release (June 2024) is Version 22
    • Current available release on IBM i is Version 11

How to solve it 🐦‍🔥

Extend your IBM i with Linux

If your PASE application comes to such a limit you can benefit of using a Linux system next to your IBM i.

If you don't have the budget for a full solution, you can sometimes get away with just adding a simple Raspberry Pi to do the job.
Raspberry Pis and other solutions like that are becoming increasingly important in the IoT space.


Summary

Thanks to PASE, there are many technologies that can run successfully on IBM i.
And you should!

There are a lot of open source projects that shows the great potential of using them on IBM i.

Usually if you have reached a point where you are faced with the above issues, you have already done great projects in PASE.

If somehow PASE is not enough for your, you should think of using Linux in addition to your IBM i.
You will benefit greatly from this, as it opens up even more possibilities in terms of technology and your future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant