Well, Its finally done and publuished. My new book entitled "Managing Computer Systems in the 21st Century" is designed to guid business executives through the process to assessing and evaluating both their current systems and their IT staff to determine if both are meeting and supporting today's business enterprise.
I've worked over two years on this book and brought almost all of my 45 years of IT management experience to this work focusing on what has happened to systems and IT organizations today. I've also taken a look at alternative means of supporting computer systems such as cloud, outsourcing open source. I have taken a look at the impact of social media, modern devices like tablets and smart phones and a key emerging technology: Big Data.
I hope that people find this book valuable and use it to take an in depth introspective look at their IT organizations and the computer systems they are using today.
It is available on Lulu.com -- Click Here
Saturday, December 14, 2013
Sunday, August 11, 2013
Will NSA Spying Affect Cloud?
I've recently read a couple of articles suggesting that customers will now avoid cloud computing because of the NSA (National Security Agency) forcing major commercial vendors like Microsoft, Facebook, Google, and others to provide access to their customer's data.
I think these authors are trying to make a name for themselves with no solid facts to back them up and scare people in the process.
The bottom line of all of this NSA spying is that if you have something subversive to say against the U.S. Government, keep it out of your computer systems and web sites! The United States government and most governments will not be going after your customer lists, trade secrets, etc. that if compromised could cause you damage! So even if the NSA scans your web sites or private data stored in a cloud based environment what is the risk?
Governments like France, China, and others have been scanning their citizens data for years! The NSA which generally keeps an incredibly low profile has been monitoring world wide communications for decades now. They captured voice transfers, digital transfers, encoded transfers and decoded them, and have for years. Other governments have done exactly the same thing. So what is the issue?
On a personal level, I do not like the idea that the NSA or any other government agency can look at my communications, but then again, I am not terribly worried as I am not saying anything that would cause me a problem.
From a purist sense, I think it is a violation of our civil rights for NSA to look a a US Citizen's data without a court order, but the idea of scanning data sources, cloud data, etc. is not that big a deal.
I think that as companies become more and more aware of the value of cloud computing which many are pursuing in lieu of their own local data centers they will continue to rapidly move to the cloud regardless of snooping by NSA or any other agency. I also think you will see new and stronger encryption and security measures implemented as a result of this and the threat that government decryption technology may get in the wrong hands.
Cloud and security businesses will continue to grow at astronomical rates and many companies who have had in-house data center's for decades will abandon them to the cloud!
I for one feel very strongly about the value of cloud computing. It is interesting but Thomas Watson's 1943 Quote "I think there is a world market for maybe five computers." may finally becoming true :-)
I think these authors are trying to make a name for themselves with no solid facts to back them up and scare people in the process.
The bottom line of all of this NSA spying is that if you have something subversive to say against the U.S. Government, keep it out of your computer systems and web sites! The United States government and most governments will not be going after your customer lists, trade secrets, etc. that if compromised could cause you damage! So even if the NSA scans your web sites or private data stored in a cloud based environment what is the risk?
Governments like France, China, and others have been scanning their citizens data for years! The NSA which generally keeps an incredibly low profile has been monitoring world wide communications for decades now. They captured voice transfers, digital transfers, encoded transfers and decoded them, and have for years. Other governments have done exactly the same thing. So what is the issue?
On a personal level, I do not like the idea that the NSA or any other government agency can look at my communications, but then again, I am not terribly worried as I am not saying anything that would cause me a problem.
From a purist sense, I think it is a violation of our civil rights for NSA to look a a US Citizen's data without a court order, but the idea of scanning data sources, cloud data, etc. is not that big a deal.
I think that as companies become more and more aware of the value of cloud computing which many are pursuing in lieu of their own local data centers they will continue to rapidly move to the cloud regardless of snooping by NSA or any other agency. I also think you will see new and stronger encryption and security measures implemented as a result of this and the threat that government decryption technology may get in the wrong hands.
Cloud and security businesses will continue to grow at astronomical rates and many companies who have had in-house data center's for decades will abandon them to the cloud!
I for one feel very strongly about the value of cloud computing. It is interesting but Thomas Watson's 1943 Quote "I think there is a world market for maybe five computers." may finally becoming true :-)
Friday, July 26, 2013
The lost art of User Interface Design?
I have recently had to visit over 100 websites of different types, fill out forms of different types with all sorts of information required. I have been appalled at the horribly low quality of human engineering that goes into these designs in 2013!
We have more powerful technology available to us today than we have ever had, yet web form designers seem to be stuck in the dark ages.
Just today I visited nearly twenty different sites asking me for both personal information and info about my company. I dutifully filled out the forms, but was appalled when:
I was not properly prompted for amounts in amount fields, dates in date fields, and none of these errors appeared until I hit the submit button! Then to add injury to insult all of my entries were cleared and I had re-enter everything. One side had a prompt "Enter amount as $100,000 annual fee" which you would presume wanted the text! I have no idea what they wanted as I tried everything I could think of and nothing worked... You guessed it I had to start over each time I hit submit...
In today's world with AJAX, JavaScript, PHP, Java and other sophisticated web development tools there is no excuse for web forms that do not validate entries in real time and prompt the user for the correct formats. Heck with AJAX you can validate in real time against a remote database.
One of my pet peeves is why web sites that require name and addresses do not do things like look up the City and State (for US locations) from the Zip Code? This is simple SOA call to the USPS web services. It makes life easy for the user and validates your address entry process!
Do you recall when we eliminated "Systems Analysts" creating a morphed monster called a "Programmer Analyst"? We lost all of the business expertise of the "Systems Analysts" and got programmers who needed help finding their home after work! It appears that companies that once employed human factors engineers or at least people well trained in UI design have let those folks go and now have a trained ape developing web pages!
We bring new and exciting technologies like speech recognition at unthinkable levels of quality, or Big Data analysis that can understand written posts on web sites and make perform incredible analysis of the written word to the point of determining if an author is male or female by their writing style.
Wonderful new things every day, but we can't validate a number field? HELLO?
We have more powerful technology available to us today than we have ever had, yet web form designers seem to be stuck in the dark ages.
Just today I visited nearly twenty different sites asking me for both personal information and info about my company. I dutifully filled out the forms, but was appalled when:
I was not properly prompted for amounts in amount fields, dates in date fields, and none of these errors appeared until I hit the submit button! Then to add injury to insult all of my entries were cleared and I had re-enter everything. One side had a prompt "Enter amount as $100,000 annual fee" which you would presume wanted the text! I have no idea what they wanted as I tried everything I could think of and nothing worked... You guessed it I had to start over each time I hit submit...
In today's world with AJAX, JavaScript, PHP, Java and other sophisticated web development tools there is no excuse for web forms that do not validate entries in real time and prompt the user for the correct formats. Heck with AJAX you can validate in real time against a remote database.
One of my pet peeves is why web sites that require name and addresses do not do things like look up the City and State (for US locations) from the Zip Code? This is simple SOA call to the USPS web services. It makes life easy for the user and validates your address entry process!
Do you recall when we eliminated "Systems Analysts" creating a morphed monster called a "Programmer Analyst"? We lost all of the business expertise of the "Systems Analysts" and got programmers who needed help finding their home after work! It appears that companies that once employed human factors engineers or at least people well trained in UI design have let those folks go and now have a trained ape developing web pages!
We bring new and exciting technologies like speech recognition at unthinkable levels of quality, or Big Data analysis that can understand written posts on web sites and make perform incredible analysis of the written word to the point of determining if an author is male or female by their writing style.
Wonderful new things every day, but we can't validate a number field? HELLO?
Tuesday, June 11, 2013
Cloud Computing - Buyer Beware
I feel that Cloud Computing is a huge part of the Next Generation in Modern computer systems.
Cloud computing can mean many things depending on who you talk to. To me Cloud represents a web based system that runs on a vendor like LiquidWeb.com, RackSpace, or Amazon where you can rent dedicated or shared virtual hardware and middleware for a small monthly fee. The vendor provides and supports the servers, operating systems, communications, and in many cases much or all of the middleware needed to run your applications. A cloud hosting company generally has multiple geographically separate redundant data centers with fully replicated systems to provide uninterruptible availability.
If you eat organic food, you know that there is no official definition of "organic"! Likewise, there is no official definition of "cloud". Therefore anyone who provides some kind of hosting or applications run on computers that they own on your behalf can claim to be "cloud" providers.
Captive Proprietary Systems
The biggest one claiming to be a "cloud" provider is Oracle who runs their application software on their machines and rents you the use of their systems. A similar company is Salesforce.com offering their CRM systems which are hosted on their computers. The downside of both companies is the fact that both your data and their applications are stored on the vendor's computers. If you wish to move to another vendor or application package you may have issues in retrieving your data and you most certainly will not be able to utilize their software. In other words you are locked into the vendor and their system. I've only mentioned two large vendors, but there are hundreds exploiting this model.
Note that what I consider a viable alternative to the model described above is Software As A Service where you store data on your systems, but link out and run programs on the vendors systems creating a hybrid, but not true form of cloud.
Disaster Recovery Systems
Some disaster recovery companies including huge companies like SunGard, VMWare, along with many others are offering varying degrees of what they call cloud computing. There are various limitations of these solutions. They are design to provide a disaster recovery solution for companies who have their own hardware.
One company in the Southern United States specializes in supporting IBM Power Systems including support for the IBM i operating system. This company helps you replicate your IBM i data to one of their systems and assists you in switching to their system in the event of an emergency or disaster. The biggest limitation of this vendor is the fact that they have only one data center located in a major Southern city where many of their clients are located. It is entirely possible that a hurricane could destroy both the vendor's data center and their customers data centers leaving the customer completely under water with no back up system.
A major disaster recovery system needs to provide geographically secure computing facilities that most certainly will not be affected by the same event that caused the customer's outage! Think hurricane, earthquake, tornado, and other natural disaster.
Hosting With No Failure Proofing
Some small ISV's (Independent Software Vendors) of specialized software, especially companies who have specialized in OS/400 or IBM i applications written in RPG over the years are now claiming to be "cloud" providers and hosting customer systems on their computers in their single data center with no disaster recovery or realtime back up. These companies lack expertise in hosting as well as cloud or disaster recovery. You are most definitely putting yourself at risk by trusting a small ISV.
The Problem
Cloud computing as I define it is running your own custom software, third party vendor supplied software, or open source software on computer resources that you rent from a reputable cloud provider. To meet my definition of reputable, the vendor must operate not less than two and preferably more data centers that are geographically dispersed to insure that a single natural disaster will not disrupt your business operations.
Theres vendors should provide all of the hardware and software technical support necessary for you to keep your applications running so that all your users have to do is use an Internet browser or VPN client to access them.
A viable vendor will provide real time data and application replication so that a user may access any computer where your application is located regardless of physical location. In fact the vendor's Internet routing should find the best path to the servers. Your applications may be running on multiple servers at the same time and replicating data between the servers. This approach will provide a 24 x 7 uninterruptible computing environment.
These vendors will enable you to eliminate the people on your payroll that support your computer systems including but not limited to network specialists, computer operators, system administrators, system programmers, etc. often offering you huge savings in labor and benefits. Note these savings are not available at all in the alternatives described above.
Private Cloud and other Variants
While I do not rule out the idea of private cloud, I do see that very few companies can benefit from this as a computer strategy. Generally, private cloud means building your own cloud environment and hosting applications for people within your enterprise. This often means hiring specialists or spend large sums on consultants with expertise in setting up a cloud based environment. You not only continue to support all of the people you currently employ, but will very likely increase your staff.
Buyer Beware
Do not let cloud computing be an IT based decision! It is most definitely a business decision and must be carefully evaluated with an eye towards risk and cost savings. I am a strong advocate of publicly hosted private cloud environments hosted by a reputable vendor at a reasonable price and eliminating all of the overhead of your computer operations and technical services organization within your IT organization.
Keep in mind that you may very well be able to pay for a switch to cloud in testing and test systems alone. With a could environment you create a test environment when a project requires it and you discard it when you are done testing. You pay only for what you use and the cost disappears upon project completion.
If you are like many companies you may very well be buying computers, and licensing software for testing purposes and this equipment rarely ever goes away! The cost is generally absorbed into the project in substantial amounts.
Be smart buy carefully and you will enjoy the benefits of cloud computing.
Cloud computing can mean many things depending on who you talk to. To me Cloud represents a web based system that runs on a vendor like LiquidWeb.com, RackSpace, or Amazon where you can rent dedicated or shared virtual hardware and middleware for a small monthly fee. The vendor provides and supports the servers, operating systems, communications, and in many cases much or all of the middleware needed to run your applications. A cloud hosting company generally has multiple geographically separate redundant data centers with fully replicated systems to provide uninterruptible availability.
If you eat organic food, you know that there is no official definition of "organic"! Likewise, there is no official definition of "cloud". Therefore anyone who provides some kind of hosting or applications run on computers that they own on your behalf can claim to be "cloud" providers.
Captive Proprietary Systems
The biggest one claiming to be a "cloud" provider is Oracle who runs their application software on their machines and rents you the use of their systems. A similar company is Salesforce.com offering their CRM systems which are hosted on their computers. The downside of both companies is the fact that both your data and their applications are stored on the vendor's computers. If you wish to move to another vendor or application package you may have issues in retrieving your data and you most certainly will not be able to utilize their software. In other words you are locked into the vendor and their system. I've only mentioned two large vendors, but there are hundreds exploiting this model.
Note that what I consider a viable alternative to the model described above is Software As A Service where you store data on your systems, but link out and run programs on the vendors systems creating a hybrid, but not true form of cloud.
Disaster Recovery Systems
Some disaster recovery companies including huge companies like SunGard, VMWare, along with many others are offering varying degrees of what they call cloud computing. There are various limitations of these solutions. They are design to provide a disaster recovery solution for companies who have their own hardware.
One company in the Southern United States specializes in supporting IBM Power Systems including support for the IBM i operating system. This company helps you replicate your IBM i data to one of their systems and assists you in switching to their system in the event of an emergency or disaster. The biggest limitation of this vendor is the fact that they have only one data center located in a major Southern city where many of their clients are located. It is entirely possible that a hurricane could destroy both the vendor's data center and their customers data centers leaving the customer completely under water with no back up system.
A major disaster recovery system needs to provide geographically secure computing facilities that most certainly will not be affected by the same event that caused the customer's outage! Think hurricane, earthquake, tornado, and other natural disaster.
Hosting With No Failure Proofing
Some small ISV's (Independent Software Vendors) of specialized software, especially companies who have specialized in OS/400 or IBM i applications written in RPG over the years are now claiming to be "cloud" providers and hosting customer systems on their computers in their single data center with no disaster recovery or realtime back up. These companies lack expertise in hosting as well as cloud or disaster recovery. You are most definitely putting yourself at risk by trusting a small ISV.
The Problem
Cloud computing as I define it is running your own custom software, third party vendor supplied software, or open source software on computer resources that you rent from a reputable cloud provider. To meet my definition of reputable, the vendor must operate not less than two and preferably more data centers that are geographically dispersed to insure that a single natural disaster will not disrupt your business operations.
Theres vendors should provide all of the hardware and software technical support necessary for you to keep your applications running so that all your users have to do is use an Internet browser or VPN client to access them.
A viable vendor will provide real time data and application replication so that a user may access any computer where your application is located regardless of physical location. In fact the vendor's Internet routing should find the best path to the servers. Your applications may be running on multiple servers at the same time and replicating data between the servers. This approach will provide a 24 x 7 uninterruptible computing environment.
These vendors will enable you to eliminate the people on your payroll that support your computer systems including but not limited to network specialists, computer operators, system administrators, system programmers, etc. often offering you huge savings in labor and benefits. Note these savings are not available at all in the alternatives described above.
Private Cloud and other Variants
While I do not rule out the idea of private cloud, I do see that very few companies can benefit from this as a computer strategy. Generally, private cloud means building your own cloud environment and hosting applications for people within your enterprise. This often means hiring specialists or spend large sums on consultants with expertise in setting up a cloud based environment. You not only continue to support all of the people you currently employ, but will very likely increase your staff.
Buyer Beware
Do not let cloud computing be an IT based decision! It is most definitely a business decision and must be carefully evaluated with an eye towards risk and cost savings. I am a strong advocate of publicly hosted private cloud environments hosted by a reputable vendor at a reasonable price and eliminating all of the overhead of your computer operations and technical services organization within your IT organization.
Keep in mind that you may very well be able to pay for a switch to cloud in testing and test systems alone. With a could environment you create a test environment when a project requires it and you discard it when you are done testing. You pay only for what you use and the cost disappears upon project completion.
If you are like many companies you may very well be buying computers, and licensing software for testing purposes and this equipment rarely ever goes away! The cost is generally absorbed into the project in substantial amounts.
Be smart buy carefully and you will enjoy the benefits of cloud computing.
Can Your Current Computer Systems Utilize Today's Computers Effectively?
I just read a fascinating article in IBM Mainframe Extra supplement to the IBM Mainframe magazine. It seems that IBM is concerned about the fact that they can increase computing capacity by adding processors to their systems, but can no longer deliver significant increases in processor speed.
For years customers have waited for the next set of processor chips which were significantly faster than the last set. While multi-processor systems have been around for about 2 decades, many business applications have been unable to take advantage of these systems.
Many business applications are designed to single thread (process sequentially one instruction after the other) from start to finish and are unable to utilize multiple processors in a multi-tasking or multi-procssing environment as modern applications written in C, C++, or Java can!
COBOL and RPG, FORTRAN, or PL1 applications process one instruction at a time until an IO event occurs when the program stops and waits for the the relatively slow IO event to complete. The program is then queued for the next available processor and continues to execute one instruction at a time until the next IO even or until the program completes processing.
Modern applications consist of a number of small routines that can process in parallel without having to wait on other parts of the program. Various processes or tasks may complete and are then assembled into a final result, but the program can actually run its pieces on many processors.
The older programs represent a problem for a number of IBM Mainframe and Midrange customers where workloads are increasing, demands for more processor speed are increasing, and yet programs are constrained by their architecture and programming technique in many cases.
If you have not all ready made a commitment to move away from legacy languages and technology, the time is now. Develop a migration plan and move away from RPG, COBOL, PL1, etc.
Read the Mainframe Extra article at: http://ibmsystemsmag.com/mainframe/trends/IBM-Research/cmos_slowdown/
For years customers have waited for the next set of processor chips which were significantly faster than the last set. While multi-processor systems have been around for about 2 decades, many business applications have been unable to take advantage of these systems.
Many business applications are designed to single thread (process sequentially one instruction after the other) from start to finish and are unable to utilize multiple processors in a multi-tasking or multi-procssing environment as modern applications written in C, C++, or Java can!
COBOL and RPG, FORTRAN, or PL1 applications process one instruction at a time until an IO event occurs when the program stops and waits for the the relatively slow IO event to complete. The program is then queued for the next available processor and continues to execute one instruction at a time until the next IO even or until the program completes processing.
Modern applications consist of a number of small routines that can process in parallel without having to wait on other parts of the program. Various processes or tasks may complete and are then assembled into a final result, but the program can actually run its pieces on many processors.
The older programs represent a problem for a number of IBM Mainframe and Midrange customers where workloads are increasing, demands for more processor speed are increasing, and yet programs are constrained by their architecture and programming technique in many cases.
If you have not all ready made a commitment to move away from legacy languages and technology, the time is now. Develop a migration plan and move away from RPG, COBOL, PL1, etc.
Read the Mainframe Extra article at: http://ibmsystemsmag.com/mainframe/trends/IBM-Research/cmos_slowdown/
Friday, May 24, 2013
What is the IBM Enterprise System?
Take a look at this presentation by a key IBM marketing executive on the IBM Enterprise System. It appears that IBM is looking to consolidate its zSeries mainframes with its Power Systems line of machines into a new Integrated "Enterprise System". If you look at the reference presentation you will see that the system runs zOS, Linux, and Power OS's (meaning IBM i and AIX).
Note that IBM is looking to sell its xSeries Intel based server business to Lenovo and get out of the Intel server business.
Could the new server mean consolidating Power and zSeries into one new line of high-end servers? Note that this is one more nudge towards LINUX and the elimination of zOS, AIX, and IBM i proprietary OS's.
It doesn't take a psychic to read the tea leaves folks, IBM is consolidating its hardware and systems software operations, lowering costs and maximizing profitability. If your stuck on zOS or IBM i or even AIX you are in deep trouble and need to move rapidly away from IBM proprietary OS's.
Note that IBM is looking to sell its xSeries Intel based server business to Lenovo and get out of the Intel server business.
Could the new server mean consolidating Power and zSeries into one new line of high-end servers? Note that this is one more nudge towards LINUX and the elimination of zOS, AIX, and IBM i proprietary OS's.
It doesn't take a psychic to read the tea leaves folks, IBM is consolidating its hardware and systems software operations, lowering costs and maximizing profitability. If your stuck on zOS or IBM i or even AIX you are in deep trouble and need to move rapidly away from IBM proprietary OS's.
Tuesday, May 7, 2013
Do you need your own programmers?
The more opportunities I get to work with management of large corporations, the more I see how the traditional systems development organizations we have become accustomed to in IT should be a thing of the past and be replaced by outsourced, on-demand, services.
It doesn't matter whether you utilize people in the same town or around that world! Where you obtain resources is a function of economics. If local vendors are competitive then by all means use them. If not then there are excellent vendors with talented people scattered around the world.
The key issue is that is that outsourcing today enables company to obtain the specific skills they need when they need them.
The key is staffing with a core of technology independent analysts who can help you find and select the right people for each project you engage in.
The days where "COBOL", "RPG", JAVA, or any specific programming language as a standard for your company is an anachronism. Today you must be flexible and utilize what best fits the current situation and project requirements.
Managing vendor provided resources can be challenging. The key is having people with solid skills in vendor selection and management. Additionally it is insuring that you do not abdicate your responsibilities such as testing, reviews, and acceptance to the vendor.
Be careful to avoid mistakes that some are making when initiating an outsourcing program. Do not replace existing people with vendor people just to outsource. The key to outsourcing is to pay for what you need only when you need it and to not pay when you do not need the services.
Maintenance and support is often an area of vulnerability. Companies replace employees with higher priced vendor contractors and pay more. A large outsourcing vendor can negotiate a support agreement where they guarantee availability of people, but only charge you when a work item is assigned to one of their people. These agreements can be negotiated where an estimate for the work is presented before any work is performed, and contingencies int he contract enable you to go elsewhere if the vendor is not competitive in their pricing and estimates.
It doesn't matter whether you utilize people in the same town or around that world! Where you obtain resources is a function of economics. If local vendors are competitive then by all means use them. If not then there are excellent vendors with talented people scattered around the world.
The key issue is that is that outsourcing today enables company to obtain the specific skills they need when they need them.
The key is staffing with a core of technology independent analysts who can help you find and select the right people for each project you engage in.
The days where "COBOL", "RPG", JAVA, or any specific programming language as a standard for your company is an anachronism. Today you must be flexible and utilize what best fits the current situation and project requirements.
Managing vendor provided resources can be challenging. The key is having people with solid skills in vendor selection and management. Additionally it is insuring that you do not abdicate your responsibilities such as testing, reviews, and acceptance to the vendor.
Be careful to avoid mistakes that some are making when initiating an outsourcing program. Do not replace existing people with vendor people just to outsource. The key to outsourcing is to pay for what you need only when you need it and to not pay when you do not need the services.
Maintenance and support is often an area of vulnerability. Companies replace employees with higher priced vendor contractors and pay more. A large outsourcing vendor can negotiate a support agreement where they guarantee availability of people, but only charge you when a work item is assigned to one of their people. These agreements can be negotiated where an estimate for the work is presented before any work is performed, and contingencies int he contract enable you to go elsewhere if the vendor is not competitive in their pricing and estimates.
Subscribe to:
Posts (Atom)