Saturday, December 19, 2015

What happened to IT?

I've been in this business a very long time (over 40 years).  When I started our objective was to help our company or client improve their business processes, leveraging the power of "modern" computer technology.

My first corporate job was as a Sr Systems Analyst and AVP (Assistant Vice President).  I worked with and for the senior executives of the company.  My role was look at key business processes which were often bogged down in tedious manual processes.

I would analyze the process and propose the introduction of automation via computer processing.  Initially we used punch cards and paper forms and reports.

I was there when IBM introduced CICS and "on-line" processing.  I saw the evolution from clerical people using terminals to the spread of terminals to very desktop.  I remember specialized computers like DEC's PDP-11 permeate manufacturing and engineering departments beginning to build islands of computing (i.e. business and engineering or manufacturing would "never" talk to each other).

I was there and had the opportunity to work with Dr. C.F. Codd and had dinner with James Martin after relational database and enterprise engineering took off.

I saw the introduction of the personal computer.  Here we saw accountants flock to these machines as well as various other individuals in the business units.  We began to see programs emerge and more islands of computing that corporate IT often did not even know existed!

I recall getting a call one day from the VP of Finance who had just bought an AS/400 computer from a vendor that sold it with the McComack & Dodge General Ledger package.  He asked if he could get some data downloaded from the company's mainframe.

I was there when in in 1997 the Internet was opened up for general commercial use.  I was there later in 1997 when James Gosling and Scott McNally  introduced Java to the world.  I led the adoption of Java by my company and  was the first commercial insurance company to implement an interactive customer service based web site.

Java and technology have evolved.  IBM still has a foot hold in the Mainframe and Midrage platform business with zOS, AIX, and IBM i, but their clients would like to modernize and move away from COBOL, RPG, and other dated technologies.

Over the past 15 years we have experienced a period of technological growth that has negatively impacted most businesses.  Today technical folks (the geeks) have introduced layer after layer of framework and middleware that almost hides the business functionality of the system they have built.

Today a developer must weave through a complex web of technology and learn how that all interacts before they can get to the basics of business programming such as changing a simple sales calculation.

We have seen so called technical experts advocate design patterns and other mystical gibberish that has made the world too complex.

Today you can look at many major enterprises and see isolated islands of developers working on isolated systems that may interact with other systems via complex interfaces using SOA or more often the REST API framework today.

While there are some technical advantages of REST over other technologies a key issue becomes "how do you represent a business problem" to REST...

Add to this a jumble of hardware platforms and operating systems ranging from IBM Mainframes with zOS to No-name Intel clones running Linux with a whole flock of Windows servers competing for attention and revenue.

IMHO it is time to get back to basics!  Lets refocus IT on business solutions!  Lets put control over IT back in the hands of the CEO and get rid of the CIO as we know them today!

Saturday, September 5, 2015

What Happened to Enterprise Systems Architecture?

I spent many years designing and implementing enterprise systems.  On two separate occasions I had the privilege of leading the design of enterprise wide systems for two major Fortune 100 insurance companies. 

In one case we moved from a collection of batch programs (remember when keypunch operators would key punch forms and we ran programs that read the cards, validated the data and updated master files then produced reports?)...   to a mainframe CICS based on-line system using an integrated relational database.

In the second case we replaced an AS/400 5250 based system with a relational database and Web Based model. 

I studied enterprise modeling and had the privilege of meeting James Martin and Dr. C.F. Codd as well as several other notable meteorologists of the 1980's and 1990's. 

I got into a battle which I won with the head of the computer science department of a major southern California university over CRUD based data base application design and enterprise systems design (I was the enterprise systems advocate and I won)!  I not only won but had a major convert.

I was working for IBM when SOA was introduced and became the architecture DE-jour.  During my short stay with IBM I noticed a major disconnect between business and technology.  Thanks to Lou Gersnter, IBM had dismantled its sales organization and basically lost contact with its customers.

IBM has some of the finest technical minds in the world working in its labs, but they lacked the control and guidance of business centered focus and requirement definition. 

Today I am studying REST and trying to fit RESTful API's into a major corporation and support the business.  I have read paper after paper on REST and they all describe the HTTP interface, the concept of dealing with nouns instead of verbs, and the technology to implement REST... 

Virtually every paper I have read or video I have watched at best have a trivial application like creating, updating and maintaining a blog used as an example...  No one talks about processing an insurance application, adjudicating and paying a claim, or even billing a client for a service rendered or product purchased and shipped.

I am in total agreement with the technical concepts of REST which is a stateless interface that allows your application to be deployed across multiple machines located at multiple data centers around the globe with data replicated as well providing a bullet proof (failure proof) system in a cloud based implementation. 

BUT, how do you map this thing (REST) back to the basics of conducting business?  If I find a solution, I'll share it here, but for now, I would love to hear from anyone who thinks they have a solution to building business systems with REST.

Wednesday, June 17, 2015

The Internet is Getting Slower

I heard this headline on my 11pm local TV news last night and figured I better do some checking to see what was going on.  Well it seems that they were right.  As of yesterday, the FCC ruled in favor (a 3 - 2 vote along political lines) of Obama's "Net Neutrality" regulations which will put the Internet back into the dark ages.

It basically imposes three new rules:


  • no blocking content -- this means that any content including streaming audio & video are fair game for any provider or customer.
  • no slowing down -- an ISP may not slow down particular sites or type of content due to the load it places on their networks.
  • no paid fast lanes -- ISP's may not create special high speed paths for customers willing to pay more.  All bandwidth must be equal...   
The reaction from the major ISP's has been extremely negative, especially about providing high speed services for customers willing to pay for it...  The ISP's are placing major infrastructure and network upgrades on hold pending on how this regulation all settles out.  While on the surface it seems beneficial, this is akin to California's  energy crisis of 2000 where the PUC forced providers who owned generation facilities to sell off their generation capabilities and buy power from a network of providers.  This instead of lowering prices created brownouts (from artificial shortages) and increase rates over 800%.

Here are four articles with much more detail on Net Neutrality:


Read these articles for yourself.  We need to do something about this ASAP probably with legislation that both parties can support and is veto proof until Obama leaves office.

Wednesday, June 10, 2015

Cloud as it Should Be

Yesterday I wrote a short blog about private cloud and IaaS which is where many vendors and IT executives are trying to divert their companies in terms of cloud initiatives.  This maintains IT staff jobs and vendors are able to sell hardware and middleware to the clients.

My view of cloud is complete and total outsourcing of hardware and the middleware or technical software required to support applications development such as operating systems, database management systems, messaging systems, etc.

To me the ideal cloud vendor provides a complete environment where the client need only install (or have someone) install their business applications and use them.  This means that the client need only provide a simple Internet connection for their employees to the cloud provider.

The cloud provider needs to provide and maintain all computing equipment, networking facilities, and software required to run and operate the facility.  They should also provide real time replication to at least one other site that meets disaster recovery requirements such as being geographically separated from points of risk (i.e. the same earthquake, tornado, hurricane, etc.).

The cloud provider should provide security services running sophisticated security monitoring services with a staff of experts to insure that the clients are fully protected.  Ideally they would provide ethical hackers to check the integrity of the client's applications and identify all security risks and assist in mitigation.

The cloud provider should be highly scalable to accommodate seasonal peak period processing on a excess capacity fee schedule that reverts to normal pricing after the peak period subsides.

The net benefit to large organizations is savings of millions of dollars in hardware, software, and the human resource cost of those people who do nothing but support your hardware, infrastructure, or software that runs your computers (operating systems and middleware).

It is not unusual to see a large company with over 100 people doing nothing but supporting computer hardware and providing no direct benefit to the organization.

Most organizations have disaster recovery facilities including equipment that is never used that sits and waits for a disaster.  Disaster Recovery is often treated like an insurance policy costing the organization millions of dollars per year.  This can be eliminated with cloud.

The ability to scale to meet peak seasonal processing can result in a huge savings since most company buy computers that have the capacity to handle peak periods and remain idle most of the year.  Imagine a company that has peak processing from mid-November to the end of December.  They could be wasting millions of dollars buying hardware that supports a 45 day period.  Note that while some vendors have a "capacity on demand" program, many do not allow you to turn off the capacity when you activate it and others charge huge fees to activate.

The downside is you will be laying off a large number of employees as you embrace cloud which will cause issues within your IT and Human Resources organizations, but often early retirement or transfer to other areas of the company can mitigate the blow.

Note one final benefit is improved risk mitigation.  You will very likely receive a higher quality of technical support from the cloud provider due to their need to support many clients and their ability to hire the very best employees that you may not be able to hire.

Choosing your cloud provider is the real key.  You must have a well funded, reliable company that will survive and grow vs others that may run the risk of going out of business, or being acquired.

Tuesday, June 9, 2015

Is Private Cloud or IaaS for You?

My involvement in corporate IT seems to be rapidly moving towards and embracing Cloud technology to assist my clients.  The deeper I get involved with Cloud, the more I see a great deal of confusion both by customers who do not understand what cloud is or should be, and by vendors who like to maintain the confusion to maximize their revenues.

A key issue today is vendors who attempt to sell cloud technology to the existing CIO's leveraging the idea that public cloud is a big risk and the customers should create their own private cloud.  IBM happens to be one of the biggest vendors of private cloud technology.  This is a logical outcropping of C-Level executives asking their CIO to look into Cloud computing.  Private Cloud (meaning that your company buys the equipment, installs, and operates it in your own private facilities) is a good way for IT to maintain control over the computer hardware and systems software used to support the companies IT initiatives.

There are some benefits to "private" cloud.  If you aggressively adopt cloud based technology, all of your applications move into the cloud and are no longer dependent upon proprietary hardware solutions.  Your application development teams or vendors that you purchase software must support the technology you have deployed in your cloud and there are certainly benefits of standardization.  In large companies, there are additional benefits using common hardware, software, and infrastructure.  Additionally if done right, you eliminate the costs of traditional Disaster Recovery by distributing your applications across multiple "peer level" data centers and balancing work across the data centers giving you DR by default.  No longer do you have idle equipment or resources waiting for a disaster to happen!

The downside of this approach is you still have a significant investment in computer hardware, systems software, and human resources to maintain the environment.

A second approach is IaaS which is popular with CIO's where their management team have pushed them to outsource the hardware to a third party vendor.  So lets say you contract with IBM who drives all of the computer equipment in IBM data centers that you access via the Internet.  Your IT organization is responsible for maintaining the system software deploying applications and supporting the environment.  The difference? You don't own the machines.

IaaS (InfraStructure as a Service) can be advantageous for companies with season peak processing periods.  You can contract for normal day to day processing levels and have a peak period option that charges you for the resources you use during the peak period and reverts back to normal when the peak period demand subsides.  This requires a vendor who has this type of capability as well and the knowledge and infrastructure to support it.

I recognize that these are popular "cloud" solutions, but not my favorite by far.  I much prefer the models that let your company focus only on your actual business applications and let the vendor handle all of the hardware, middleware, and infrastructure including security, replication, etc.

More on this soon.



 

Friday, May 29, 2015

Open Source to the Next Level with Incredible MySQL Database Support

A friend sent me a note telling me about the latest release of MySQL Clustering support that has been benchmarked at over 1 Billion queries per hour or 7.6 million rows retrieved per second!  That is incredible performance.  What is even more amazing is the fact that this is FREE open source software that you can download and install.

To my knowledge this is the first and only high performance relational database management system (RDBMS) available as open source.  This new clustered release outperforms commercial databases costing as much as $20,000 per processor and not beginning to reach this level of performance.

What is significant here is that Oracle actually owns and controls MySQL but releases it through the standard open source GPL license.  They also offer a commercial version of the product with full 24 x 7 support, but if you have access to the technical skills you can use the open source version.

Once again, open source is rivaling and exceeding features and benefits of commercial software.

Check this out at: MySQL Cluster 7.2 Delivers 1 Billion queries per minute 


Friday, April 24, 2015

Cloud and Mobile Devices are the Future

I just read an article that Microsoft's new CEO, Satya Nadella is leading Microsoft aggressively into cloud technology and services refocusing Microsoft away from the PC.

I happen to believe he is on the absolute right track.  At present the vast majority of corporate employees use a laptop or some still use desktop PC's as their workstation of choice.  I think that Mr. Nadella is 100% on the right track.  Many companies are moving all of their Microsoft Office applications to Office 365 and storing all of their Word, Excel, PowerPoint and other documents in the cloud...

Apple is equally competitive with their iCloud offering storing output from their Pages, Keynote, and Numbers products in the cloud.

Most corporate systems utilize a web interface today which is immediately accessible via a mobile devise and true mobile applications are rapidly spreading throughout the corporate world.

The device of the future will be a tablet with a reasonable size screen and the ability to connect to a large monitor or monitors on a desktop but also portable to move to a meeting or travel anywhere with the user of the device.  I think these devices will be equipped with optional keyboards to insure ease of use.   A corporate employee should be able to use their smart phone or even perhaps Google Glasses or Apple watch...  for total portability.

Look at the advantages that cloud based technology along with mobile devices bring to the corporate world:


  • No lost data!  No data exists on a local device and all data from reminders to corporate documents, spreadsheets, powerpoint presentations, etc. live on a shared server.  When an employee leaves the company their documents are preserved and can be index and shared to those who need them.  The cloud protects against local disk failures or other local disasters including stolen laptops...  
  • Increased security!  Only people authorized to access your data can get to it.  If the device is stolen there is nothing of value on the device to the their other than device itself.  
  • Insuring that your employees use current versions of your applications.  You can implement change management like that used by Apple or Google to automatically update the apps stored on the devices when changes are published!  No more worrying about what version a user is using.  
Portability, improved security, elimination of risk and insurance that everyone is on current software are huge benefits to corporations today.  The high speed office networks and wifi connectivity all ready exists in most corporations today to support PC's.  

BTW, did I mention the reduction in human support costs by getting rid of PC's?  What are you waiting for?  Cloud based systems with mobile devices can save you time money and headaches!

Saturday, March 7, 2015

Vendor Loyalty?

Do you recall the old saying "No one got fired for recommending IBM"?  More importantly are you old enough to remember when it was a true statement.  Today I wonder how long IBM will be in the computer hardware business...

I grew up with IBM.  I did recommend IBM because back in the day you could trust them to provide solutions (expensive solutions) that met the needs of your business enterprise.  I remember when IBM told us to move to COBOL.  I remember when the told us to use CICS for this new "On-Line" processing...  I joined the throng when in 1997 IBM embraced Java and introduced WebSphere.  I used to laugh that I was one of the first kids on my planet to embrace Java via WebSphere.  I spent over $3000 per developer for IBM's RAD based development toolset.

I adopted other IBM technologies and bought into SOA when it was being promoted as the latest architecture of the future.  Over the years I have been responsible for recommending and encouraging the companies that I have worked for to spend millions on IBM technologies, including IBM hardware which we dependent on for high performance and reliability.  I recalled when everyone laughed at Microsoft based systems and joked about the three fingered salute (Control, Alt, Delete) as the three most used keystrokes...  

Today, the world has changed.  First of all the hardware has matured.  You can buy a $200 no-name clone computer most likely built in China where you can swap out disk drives while the machine is running without it missing a beat.  You can build incredibly powerful and reliable clusters of computers that not only replicate data, but applications throughout a data center and across data centers, often at many locations world wide.

The fantastic thing about today's world is you need only buy the hardware, cabling, networking technology, and facility to put the equipment.

The software is free and open source!  I'm working with a company that is using Redhat Linux, Jboss, along with several other open source technologies to implement robust distributed systems in their own private "cloud" environment.  Note that data is replicated to another site and the system is available 24 x 7 with no outages.

Interestingly enough, IBM is releasing new high performance technology, but losing market share and revenue with a drop of nearly 50% of its server market share between 2013 and 2014 according to Gartner.  That is significant as Gartner most definitely favors IBM in all of its reports, but can no longer cover IBM's decline as a major provider of server technology.

While IBM still sells its WebSphere line of application servers it has dropped to less than 1% marketshare in the Application Server market place.

SOA has been replaced with REST and the world is moving towards cloud based technology.

The world is changing!  Change with it, but so so in a sensible manner.