Thursday, July 12, 2012

Clouds and failures

Cloud infrastructure delivers us a utility view of computing. Models like Amazon's Elastic Cloud Computing (ECC) give us scalability on demand - and consumption based pricing. But along with all of the benefits of the model, there are some downsides that are less well understood or considered. The first is that you are responsible for ensuring that you have chosen the right disaster recovery options. If (when) the cloud infrastrucute hiccups, you do want to make sure your systems are still operational and available. You don't want the very public beatings that occur when Amazon takes a hit and sites hosted by Amazon become unavailable.
Second, there are many more players in the mix than you might think. There is a whole collection of management platforms that help you deal with the complexity of the underlying cloud. I'll use RightScale as an example here. In order to deploy/manage/maintain a specific deployment, the Rightscale environment can be used. That is a whole bunch (technical term, I know) of software that essentially provides processes and tools to configure/start/stop/script/debug/deploy servers in the cloud. That is some fairly complex software. It can break too. Or it can become part of a maintenance window. After all even management software has to be upgraded. So an outage in your management software could become problematic. You need to understand the location, up time guarantees, etc. of your management software.
Above that - because even the management software environments can be a bit cumbersome, companies might add their own layers of management software - think of them as super processes that run canned "scripts" for performing the most common tasks. These can fail too. Often corporations include these as part of their internal infrastructure - providing some handy authentication/authorization services integrated with corporate ldap or other directory services approaches. Where does that live? What's it's failure model?What kind of downtime does it have to take?
There are many moving parts here - so while there are considerable benefits to moving certain kinds of applications and services to the cloud, there may well be more failure scenarios to plan for.

An era ends

On May 31, 2012 I was laid off from Progress Software. Several events led to this - the first being when Progress decided to reduce its focus on the Travel Industry. I switched from being the Industry Architect for Travel and Leisure to being a member of the Demonstration Systems Group. There I had the responsibility for deploying the various Progress offerings "in the cloud" so that developers could quickly get a properly configured instance up to speed for doing demonstrations and proofs of concept.

Progress then decided that it is no longer in the "Enterprise Integration" business and as has been publicly announced, will be divesting several of the products that make up the Responsive Business Integration and Responsive Process Management offerings. Leaving behind the OpenEdge database product and development environment and the Apama/Corticon product lines for rules and analytics "in the cloud" and for capital markets.

From the public statements, it had become clear that Progress wanted to focus more on the more profitable, partner driven model that has been historically so successful.

Since I was a part of the RPM/RBI world of products, I along with several others became "surplus to requirements".

I enjoyed my time at Progress, and while I wished that it would have continued in the previous direction, I completely understand what the driving forces are.

I wish the company well in its future endeavors - and hope that the many friends that I made while there are successful.

Total Cost of Ownership

I think it is time to think about the TCO of living somewhere. The amount we have to expend (or is expended on our behalf) just for being somewhere.
The typical (and intensly political) approaches look at things like "The Deficit" and "Taxes" in giant categories. But what they don't do, not do they make it easy for us individually to do is to look at the cost/waste in the system of being somewhere.
That cost/waste comes out of our hides somehow. So, for example, we can keep taxes low by providing few government services and somehow billing back the citizenry for the necessary services.
We can have legislation that frees up tax money for a specific purpose (e.g. a Flexible Spending Account as part of the healthcare options). Nice you think - that will be taken off pre-tax. But because of abuse, we have to justify every dollar withdrawn from it - ensuring that we aren't buying things we shouldn't with pre-tax $. So bureacuracy is established to handle this. This bureaucracy has to be paid for. Oh, and this is a job creation scheme too! Premiums rise to pay for the bureaucracy. The blame is passed onto the healthcare industry and the government gets away scot free. As my dad would say, "A good game played slowly!"
So when we look at just the costs of being around we need to look at those items that aren't taxes (i.e. not collected by governemnt), but that somehow we have to pay in order to be here.
Of course much of this overhead comes about because so many individuals just cheat the system. So we create legislation, and then band-aid on anti-cheating measures which inevitably increase the price of the service, but the legislators can (correctly, but disingenuously) claim that they didn't increase taxes.