Informing the IBM Community

agile logo

Why AIX is the best option to start your fresh new Agile Project

0
(0)

When it comes to a new project, management usually has only one option. It must be Linux in “cloud”. Many people think AIX is an old operating system and as such it doesn’t fit anymore in a modern infrastructure where everything is agile and changing constantly.

I don’t want to remind you that the official motto of Power10 is “engineered for agility”. Because I don’t want to talk too much about the hardware. We all know how amazing IBM Power systems are. Their performance, their scalability, and their security features are superior to none. You can’t find better hardware on the market. But all (or almost all) these features apply the same to Linux on IBM Power, and to IBM i, as they do to AIX.

I want to talk about AIX and express my love of this sometimes strange, sometimes badly documented, but still state of the art operating system. I know many readers of this newsletter are IBM i experts. Just today I talked to my fellow IBM i expert, and he joked again about clear and concise IBM i versus cryptical UNIX command lines.

The biggest difference between IBM i and AIX (and, by the way, between Linux and AIX) is that AIX is a standard UNIX operating system. You can’t be standard just because you declare it. Last week I had a talk at FOSDEM’24 in Brussels, Belgium, and again – many Linux developers didn’t know that Linux doesn’t 100% implement UNIX standards. Even if many of them think Linux is “POSIX-compatible” or something else compatible. UNIX has a long history of standards and IBM was always a proponent of them. At the end of 80’s when AIX was very young, IBM, HP and Digital joined their forces together to form Open Software Foundation (OSF). IBM provided their technology of journaling filesystem and logical volume manager to OSF. Standardized OSF/1 reference implementation was a cornerstone for Digital UNIX, HP-UX and IBM AIX. OSF had a very short story, but based on OSF work, the newly formed The Open Group made their Single UNIX Specification – the only standard for UNIX systems. The so-called POSIX is an international version of this standard made by IEEE. There are very few systems which are certified to comply to the standard. One of them is AIX.

Why is it so Important?

The answer is very simple. Standard means interoperability. We live in the digital world where we can use a smartphone and surf the Internet. But under the hood it works only because the whole Internet is standardized. No standards – no cooperation between systems – no future development. AIX is the standard operating system.

If you think about standards in terms of your agile project, standards mean the protection of your investment. What can be worse, when you have a backlog full of your users’ wishes, and instead of implementing them, you must develop something else, just because the underlying operating system changed its interfaces? How often do you want to change between different container technologies and their orchestration systems, instead of delivering features your users want? Standards and stability in operating systems interfaces allow you to focus on your business and not on your IT infrastructure.

Agile usually means you start small, and if everything works as you planned it, you scale. It is exactly where AIX has an unprecedented position. You can start very small, even without buying a server, by deploying an AIX instance in the cloud and if your workload grows, you can scale it up, almost without limits. I hear a lot of questions about why someone should scale up when modern software scales are usually out. Do you know what Parkinson’s Law is? It may sound like a joke, but this is real observation which applies to computer science too. You might have heard something like “data expands to fill the space available for storage”. The consequence of the law is another empirical observation, that any committee with more than 20 members is inefficient. Why and what has it to do with AIX?

If you prepared for PMP certifications you learned about communication channels in project management.

If you have two members in your project, you have just one communication channel. If you have three members in the project, you have three communication channels. If you have four members, you have 6 communication channels. The formula is very easy – N*(N-1)/2. But the same formula applies to your IT infrastructure. If you scale out and let’s say you have 10 nodes, you have 10*(10-1)/2 = 45 communication channels between nodes. At some point your nodes only talk to each other and you must increase resources on them to make them serve your application. Just read the specs for the most popular infrastructure software of modern times. But if you have two nodes you have only one communication channel between them. All resources of your nodes are available for your application. It also means that you don’t need to reinvent cluster technologies to synchronize data and states between your nodes. You can save your time, and the time of your developers, for your business needs. Because AIX can do the rest.

Want Happy Developers?

Of course, you want to have happy developers. Developers are usually happy if they can use their favorite programming languages and environments. Several years ago, it was a problem on AIX. The official IBM’s C/C++ compiler was really outdated, and AIX lacked support for newer programming languages. Nowadays it is a completely different situation. You have a choice to use the modern Clang-based compiler or GCC for your C and C++ code. You can use the latest version of Java if you develop your application in Java. If you want to have Node.JS, you can simply download it from the Node.JS website and run on AIX. There is Google Go compiler and Rust compiler. You can develop using latest versions of Ruby and Python. Python even became a standard part of AIX 7.3. And yes, for most of your code you can use a standard Windows or Mac laptop to develop it, and then use CI/CD pipeline in your Gitlab or Github to build it on AIX. Sometimes you can even build your code locally on Mac or Windows and run it later on AIX. The modern AIX developers can use their favourite frameworks and toolsets to develop new AIX applications.

Enjoy your next Agile Project

These three components

  • Standardised operating system
  • Unlimited scalability
  • Unlimited scalability

Make AIX the best choice for your new agile project. Of course, if you want to serve your users and not your infrastructure.

These three components – standardised operating system, unlimited scalability and modern programming environments – make AIX the best choice for your new agile project. Of course, if you want to serve your users and not your infrastructure.

Have fun with your project!

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *