2 ms·
I think mainframes (let's be clear we mean zSeries here) are doing very well given the people are biased by not knowing them and having assumption about inevita
by js8 7y ago
I think mainframes (let's be clear we mean zSeries here) are doing very well given the people are biased by not knowing them and having assumption about inevitability of technological progress.
One of my favorite things about MFs is the auditability. It is actually very transparent system, if you know where to look. There is a lot of information logged by the system (from many different perspectives and on all levels, system/middleware/application, performance/debugging, etc.).
Just one example, since people laugh at security in particular but it is more a cultural thing really. Every data set (file) access and every process execution is logged by default on the mainframe.
Also MF applications seem to be simpler and more performant. I work for a company which does both MF and distributed enterprise software and curiously, mean time to ticket resolution is lower (I think more than 10%) for mainframe. I don't know why, it seems counter-intuitive to me (given that on surface, the development tools for distributed are better), but it is a fact.
In some sense, it's like big airplanes, lot of really good operation procedures are figured out, so most of the things are pretty routine.
- mrtksn 7y ago>Every data set (file) access and every process execution is logged by default on the mainframe This sounds very expensive, how it handled?
- js8 7y agoIt's a complicated story.. but in essence, not everything is a file or process like in Unix. If you discount all the files and processes that you access from Unix shell, which are usually tiny, the list will get much shorter. So you get to like 10-100Ks of records (one record is couple kBs) per day on a typical production system. On the other hand, the system also often logs every execution of DB transaction. These can go into billions of records per day for large MF installation. The other part of the story is that the main logging mechanism - SMF data - is structured binary log. A production system can produce about a TB of these data per day, the information about individual transactions are by far the largest portion (70-90%) of that. There are many different sources of this data. And that's just what is collected by default, there are also other collectors that are targeted for debugging a specific problem. (One example is that the zSeries CPU has actually hardware tracing facility that can log important execution events like system calls, interrupts, I/O operations and so on. It can also be configured to track memory access. System can be then configured to save the recent trace, if a problem occurs.) Also, any given action (such as job or transaction execution) is typically logged in several places. So you might find the trace of it in data set access, in security access (system checks if the user is allowed to access the dataset, and it is logged), accounting for the job execution, measurement of system performance (CPU increased for that category of work because it was executed, particular device was accessed).. And yes, doing all that is somewhat expensive (especially on transaction level), but it's worth doing it, because you get amazing visibility into what the system is doing. In fact the transactions are logged anyway (into transaction log), so it's a relatively small overhead compared to that. Another big part of story of why mainframes are probably more efficient is that today's programming is very oriented to developer comfort. On mainframe, almost everything is pre-allocated and usually has a somewhat fixed size. This requires more design and testing up front but you save on run time costs, and also support costs, because everything becomes a lot more predictable. Things usually fail earlier because they crossed some boundary like that and they don't take down the whole system.