I started my career as an operations analyst for MVS. I later moved on to be a systems programmer for MVS and IMS. This was and still is the best part of my career.
I had since graduated from MVS to pursue other areas of IT. The past few years brought me back to the mainframe. I was really surprised to see a lot of improvements on MVS. You can use it to deliver web services. You can connect it to any web application, access DB2 and IMS from a web application.
I left MVS when MVS/XP was coming out. I was not able to play with 31 bit addressing.
In the past several years, things have changed. Real storage is now in Gigabytes, whereas before, 16 MB was the highest an application can go - and that was in virtual storage!
You now have FTP, SFTP and FTPS as transport protocols.
There's also OMVS which allows you to use *NIX services on MVS!
The application architecture has changed also. There are now technologies that allow you to wrap existing IMS and CICS transactions into web services that can be served to web clients. You can call API's that allow your MVS COBOL code to access web services outside of MVS. There are also technologies that allow you to access your hierarchical IMS databases via SQL. And lastly, you can present your dull green screens as a web page.
One thing that I realize is these new buzzwords: like virtualization, XML, even the concept of paging, all these have their origins on the mainframe.
IBM allowed virtual machines through their VM product. With XML, data is presented hierarchically - and IMS started this concept. IMS is a lot more powerful though. The concept of separating data from presentation also has its origin from the mainframe. With MFS, IMS programs did not need to concern themselves with how the data is presented. The presentation is coded in MFS.
Lastly, paging - OS/VS1 had this. That was what VS stood for - Virtual Storage meaning it provided more memory than what it really had. The advantage of how the mainframe implemented VS is the way VS is handled. For Windows and *Nix systems, VS is one big block of memory shared by all the tasks. on the Mainframe, each address space has the same amount of virtual storage. So for 31 bit addressing, each address space has 1GB of virtual memory. It does share some overhead with the system but from its perspective, it has the whole 1GB to itself. Of course, when you have 64bit addressing, the available virtual storage is a lot more.
Now who says mainframe technology is dying and boring?