Bookmark and Share
RSS

Recent Posts

Journey from Idea to Practice: Computer Architecture and Linux

April 15, 2019

Last week, I wrote about web hosting and breaking up the monolith. These are two big ideas that moved forward (or are moving forward) at different rates of adoption. One peaked and the other is heading for it rapidly. This week, I’ll focus on computing architectures and the emergence of Linux. 
 
Computer Architectures Continue to Evolve 
If we were writing a book about computer architecture, the story could go something like this. The first successful computer architecture was centralized. It centralized resources, costs and skills, and it was very successful. Then came client- server computing, which caught the imagination of software developers, as well as software and hardware manufacturers. It had particular success but was mainly a gateway to distributed computing, where the architectural implications of client-server became realized. Then came a kind of utility computing called cloud where you got what you needed from the utility including hardware and software infrastructure and you paid for what you used. End of the story.
 
Upon reflection, this story has some elements of truth but is blind to many truths. Centralized computing is a model that makes economic sense, so through each decade, meaning continues to be found in the model. If you consider mainframe computing, a powerful implementation of centralized computing, the meaning comes not by accident, but through the resources of the IBM company and its people. The price of ongoing significance of the mainframe comes through millions of dollars and thousands of hours spent. Just look at the IBM z14 news and announcements to be reminded of what has been poured into the model just recently. Look at the IBM z/Architecture Principles of Operation publication. For z14, look at chapters 21-25 (discussed here) and see what has been added to reinvigorate the architecture. IBM Z doesn’t show any sign of getting weak, only stronger. I can write this because I have been studying it carefully and writing about it most recently in web posts and articles. 
 
What about client/server, distributed computing and cloud architectures? Are they evolving? Certainly they are growing, each in their own ways. Interestingly, the mainframe has a role to play in all of their growth. The mainframe makes an excellent server in a client-server configuration. In a distributed environment, it does a great job as an application or database server with all the robustness you could ever ask for in a system. What about cloud? If your cloud is based on Linux, why not run hundreds of Linux hosts on IBM Z? Look at it as a plain and simple consolidation play—fewer devices, lower operational costs, higher availability, and other benefits. I am not saying that growth in all these areas (client/server, distributed computing and cloud architectures) needs a mainframe. I am just suggesting that you should take a fresh look at it. Don’t overlook an obvious choice. 
 
This computer architecture story, from idea to practice is ongoing. It had a start but its end is nowhere in sight and it’s a most important story to pay attention to and to participate it. Now, lets consider Linux.
 
Linux Surprised Many People
Many of us never heard of Linux when it started to show up in our infrastructure servers in distributed environments. Then, somewhat suddenly, it was OK to use it as an application server. Then commercial application product suppliers suppliers said, “OK, you can run our mission critical applications on it.” At the same time, middleware suppliers embraced it fully, providing their software to run on SUSE and Red Hat and other Linux distributions. That was it—Linux fully arrived and it was accepted. For many, however, it was accepted providing you found your insurance policy—a distribution with support and an application supplier who OK’d its use, and skilled people to hire.  
 
So what about Linux on Z? What are the reasons to embrace it? Consider these seven motivations
 
  1. Server consolidation of Linux is a winner. Running Linux on IBM Z reduces server sprawl by lowering the number of servers, OSes and system administrators, resulting in decreased overall complexity.  
  2. Rapid provisioning is a big asset. If you're new to the idea of running Linux on Z, consider that with this setup, it’s possible to provision, deploy and reconfigure images rapidly.  
  3. Expand the enterprise computing role. If you're new to Linux, running it opens the door to many new software possibilities that allow you to extend Z in a broader enterprise context by running new collaboration, business analytics, data warehousing, application development or business application workloads.  
  4. Platform for cloud services. If you’re ready to deploy a private cloud, consider that IBM Z is a cost-effective platform for deploying a Linux-based cloud service.  
  5. Broader ecosystem is great. When you look at the big picture with Linux, you see an impressive structure that involves middleware, applications, services and support.  
  6. Rich open-source software. Open-source software is a significant part of Linux. Middleware examples include Apache HTTP Server, Samba and JBoss, with available databases such as PostgreSQL and MySQL. There are also languages and utilities like PHP, Python, Concurrent Versions System, GNU Compiler Collection and Perl.
  7. Business applications have support. SAP is the leader in propriety ERP application software on Linux. It also has customer relation, supply chain and human resources management, system modules, and others. Additionally, there are hundreds of open-source applications focused on business support.  
 
The journey from idea to practice with Linux is ongoing and the OS is firmly established as one of the powerful environments to run applications and infrastructure on centralized and distributed computers. 
 
What’s Next?
Next week, I’ll focus on Java and OLTP: Why we needed it, how it developed and its role today.
 

Posted April 15, 2019| Permalink

comments powered by Disqus
-->