The one question that every CIO should ask themselves… What are you going to do when (not if) your cloud systems fail?

I’ve deliberately used the word Cloud to grab your attention but the question is equally applicable if you use Cloud systems or in house systems.

This post was prompted following an interesting twitter conversation I had last night with Frank Scavo and Dennis Howlett around yesterday’s outage of the Microsoft Azure cloud platform.

Frank started the conversation with this response to my tweet about Azure:

Frank: “Exactly the type of thing that reinforces CIO fears about cloud…”

Stuart: “working on the assumption that cloud outages are inevitable… I feel it’s how vendors respond that will give CIO’s confidence”

Frank: “No, fewer outages will give confidence…”

Stuart: “I’ll meet you half way… Fewer outages and proper service management around problems when they do happen…”

Frank makes the point that some of his CIO contacts were livid following this outage. And this is where this post really starts, as I challenged Frank as to exactly who they were livid at on the basis that to overall accountability for a company’s IT systems, whether they be on premise or in the cloud lies with the CIO.

Stuart: “as CIO you’re accountable for everything as you choose to use cloud or not!”

Alongside the Azure thread there was a parallel thread running on cloud security that had been started by Dennis Howlett in his Accman blog.

“Anything that connects to a network is vulnerable. That includes EVERY cloud player, regardless of the service they offer. What matters is the extent to which vulnerabilities exist AND are capable of exploitation.”

Let me share my belief here, these two topics are intrinsically linked, i.e. when you’re appointed as a CIO you’re trusted to deliver competitive advantage for your company through IT. Now, it doesn’t take a rocket scientist to work out that if you can’t maintain availability and adequate security of your systems then you’ll only manage to deliver disadvantage, and you probably won’t be around very long.

So, let’s get back to the title of the post… what are you going to do when your systems fail (which is inevitable)?

If you’re running in house, the apps themselves (if they are decent apps) are least likely to fail, more likely failures are from switches, disks, networks, cables and other parts of infrastructure. You protect yourself against this by designing your datacentre(s) around redundancy with zero single points of failure.

If you’re running cloud services, you pick a reputable supplier who works with a reputable hosting partner right? Well, yes but as we saw with Azure yesterday (and previously with Amazon and Rackspace and most other reputable cloud vendors) the same hardware failure points exist in cloud provider datacentres as they do in your own. If you appreciate and accept this this then you’ll also be mindful that you could be introducing a single point of failure in your enterprise platform and that your service availability is now at the mercy of their service availability.

When you running outside of your own bricks and mortar you also need a high bandwidth and high availability WAN, Firewalls and Proxies, etc  that all need to be fault tolerant and designed around redundancy to ensure adequate access and security at all times. Even then you can’t mitigate around someone digging up the cable which has happened to me twice this year and is more common than you might expect.

Is this a story of cloud bashing? No it isn’t, it’s a story of how the CIO needs to take full accountability for managing risk within their platform.

  • If you’re running mission critical systems and your business can’t afford any outage then you simply can’t design a single point of failure into your enterprise platform.
  • If you’re running non mission critical systems, then you may choose to take a little more risk around availability and accept a single point of failure and manage any disruptions that may arise.

What you deem to be mission critical or not is your own decision and it doesn’t have to be one or the other. For my part I run a hybrid platform where some parts are mission critical and some parts less so and the platform design and location of services (in house vs. cloud) reflects this.

Of course from a customer perspective people outside of IT expect things to work 100% of the time and if you’re running either of the above, or a combination, then any outage no matter what damages your credibility with users.

So as an effective CIO, you need to design an effective platform around what your business needs, you need to manage the risk, you need to pick the suppliers that you work with, and you need to take full accountability when things go wrong. Yes you can get livid with your suppliers, but just remember who picked them and remember who chose to introduce a single point of failure into your platform in the first place.

So, what are you going to do when (not if) your cloud systems fail? Make sure you know the answer today.

Footnote: This post relates to large enterprise businesses and the role of the CIO and the point I’m trying to make is you have to plan for failure to guarantee success.

Part of this cross posted here

The Enterprise Cloud and why saving money isn’t everything

I spent an excellent couple of days this week with a group of CIO’s from some of the largest companies across Europe and one of the hot topics we debated was around adoption of the Cloud… what’s the business case for cloud? who’s driving the cloud agenda? are businesses ready for cloud? which applications are best suited to cloud? and what’s the general feeling around the public and private cloud debate?

It was refreshing to have such an open debate without the hype and cloud washing by cloud vendors, and despite the fact there were a few cloud vendors present, they were politely asked to stop selling and start listening to what businesses really need:

  • The smart business is much more interested in using the cloud to drive business benefits and increase revenue as opposed to saving costs. (the vendor argument that the cloud reduces your operating cost simply doesn’t matter if it doesn’t help business growth).
  • The much publicised CAPEX vs. OPEX argument was also dismissed as a benefit as most felt it easier to secure CAPEX funding as opposed to OPEX.
  • The speed and agility of procuring cloud servers and services and the elasticity of increasing compute and storage capacity around demand peaks were seen as attractive benefits.
  • Getting data (not necessarily applications) to the cloud is seen as a positive move as it opens up a new range of business opportunities around collaboration, e.g. customer/employee self-service and supply chain digitisation (what a fantastic word!).
  • System integration and interoperability has replaced security fears as the biggest concern around cloud adoption… getting disparate systems to work together remains as one of the most difficult businesses issues and it is felt the cloud could complicate this further.
  • Whilst there was a bias towards private cloud, businesses were open to adopting all types of public, private and hybrid cloud on the basis that a “one size fits all” model is unlikely to suit all enterprise business models.
  • It was generally accepted that using the cloud for consumer applications is much more popular than using the cloud for the Enterprise today. The few cloud usage examples shared were all consumer facing operations of the Enterprise as opposed to back office operations.

I was very impressed with the level of knowledge and debate at this session and I have to conclude by saying Enterprise business leaders definitely understand the cloud, they see through the cloud wash, and they are more than capable of deciding how and when to adopt cloud in their business.

Predicting the future with Super SaaS, Gamification and a Crystal Ball

Predicting the future of technology and business software development has never been more difficult, do I play safe and follow where others have gone before (and enter the world of ever increasing patent infringement!), or do I try something different with possibly higher risk?

I’ve been a follower of SaaS and Cloud since the very beginning and often reflect on where it will go next. I’ve said before that I believe Cloud will change our industry forever and now that bandwidth has caught up it offers some clear benefits. However, despite a decade of trying, real success is still limited to just a few vendors. But predicting Cloud adoption is the easy bit… how will SaaS develop in the future?

Some of the architectural patterns and technologies which were state of the art a few years ago are rapidly becoming long in the tooth and new breed of technologies and tools are emerging… Should I be restricted by the current world of SaaS, or should I go in pursuit of “Super SaaS” the next generation of SaaS?

To understand this better we first need to cut through the huge amount of noise, hype, and ‘snake oil’ from software vendors to understand where we are headed. But for the sake of simplicity let’s say SaaS its defined as accessing applications via a web browser running on a server in someone else’s datacenter.

So what might Super SaaS look like? Will browser based software stand the test of time? Does browser based software really deliver the claimed benefits? Are browsers really platform independent? Is the browser experience good enough for users of the future? Will the on-device ‘Appstore’ style connected applications accessing cloud based ‘back ends’ continue to evolve at lightning speed? Will we see a blend of both in a hybrid style approach? or will something else emerge in the meantime?

Questions, questions, questions… but no answers… so here’s a thought, what if we look at the real innovators of the computing industry… no not the Cloud or SaaS application vendors, but to the online gaming vendors?

Online gaming was with us long before online business software. How many of us remember playing Doom way back in 1993, the granddaddy of many of the networked multiplayer games we see today.

The gaming industry were using the web as a platform long before anyone else, they introduced online forums before anyone else, they had online chat before anyone else, they had monthly subscriptions before anyone else, and they embraced the concept of communities before anyone else. All of which are only now being touted as unique innovations in the world of business software today.   

So, In the gaming industry why are the most successful games still ‘on device’? Why aren’t more successful online games delivered via SaaS? Is the desktop really dying? Is Client Server an obsolete architecture? Is multi-tenant the only answer? What of the Social Cloud?  and can collaboration work outside of the cloud?

Things have moved on somewhat since the Doom years, and we now have Massively Multiplayer Online Role-Playing Games (MMORPG) in which a very large number of players interact with one another within virtual game worlds.

The technology behind most MMORPGs is interesting, whilst they use the Cloud and the internet to facilitate play, they aren’t SaaS applications; these games are deployed using the more traditional client–server system architecture. The server software runs in the cloud and generates a persistent instance of the virtual world that runs continuously, and players connect to it via desktop client software.

Let’s have a look at this example, my son’s favorite online experience: World of Warcraft, is a popular online multiplayer game with over 12,000,000 (Twelve Million) subscribers as of October, 2010 and the fastest selling game of all time:

Why have the likes of Blizzard Entertainment chosen this model? Well quite simply the cloud isn’t powerful enough to provide the experience that players demand. They want high quality graphics and immediate interaction, a millisecond delay and they’re dead… not good! 

So the online vendors have chosen a deployment model that provides the best possible experience to the player by harnessing the processing power and performance of 12 million desktop PC’s to run the game locally, and backs this up with the processing power of some of the most powerful supercomputers in the world.

This isn’t a SaaS application whereby the user runs everything from the cloud, but does go one step further than SaaS by harnessing the combined power of the desktop and Cloud and it shares many characteristics of SaaS at the same time:

  • The software is downloaded and installed from the Web
  • Players access the game via an online identity and account
  • The game is consumed on a monthly subscription basis
  • Upgrades are controlled from the server when purchased to allow access to certain areas of the game
  • Updates are rolled out online to all users (and cleverly using each user as a peer to peer server for mass updates)
  • It facilitates multi person (player) collaboration
  • Game data are backed up automatically

So one might imagine a world where the Cloud and SaaS and the Desktop all come together to provide a better experience for the user, why would you rule anything out?

Continuing with the game theme for just a little longer… looking to the future, here are some really interesting developments which are present in gaming software today that might someday transfer to business software:

  • Social interaction and in-game culture within the game – it’s here already
  • The ability for players to sell an item to each other for in-game (virtual) currency.
  • Bartering for items between players for items of similar value.
  • The purchase of in-game items for real-world currency.
  • Exchanges of real-world currencies for virtual currencies.
  • Team working for parts of the game. These tasks usually require players to take on roles in the group, such as those protecting other players from damage (called tanking), “healing” damage done to other players or damaging enemies.

Tomorrows business software user is todays gamer, so wouldn’t it be good to transition some of these ideas from games to the world of business software? I’m sure Business Software vendors would love their software to be as addictive as games like World of Warcraft. Well, it may all come true one day… enter stage left the new buzz word in computing ‘Gamification’ …

Gamification is the use of game play mechanics for non-game applications, particularly consumer-oriented web and mobile sites, in order to encourage people to adopt the applications. It also strives to encourage users to engage in desired behaviors in connection with the applications. Gamification works by making technology more engaging, and by encouraging desired behaviors, taking advantage of humans’ psychological predisposition to engage in gaming. The technique can encourage people to perform chores that they ordinarily consider boring, such as completing surveys, shopping, or reading web sites.

Food for thought? Yes indeed, but enough for one post… more later…

Technocrats put your soap box away and give the Cloud a chance

If you’ve read any of my recent posts you might think that I’m not supportive of Cloud. Some have even insinuated that I might even be a detractor, deliberately trying to slow down the adoption of Cloud.

Well, it’s time for me to come clean and state for the record that I’m actually pro Cloud, yes that’s right I’m actually pro Cloud. I believe that the Cloud is a good thing that can deliver many user benefits and that the Cloud will change our industry forever.

However, I’m not a Cloud technocrat … I’m not prejudiced or biased towards Cloud vs. other delivery models. And even though I’m a technologist by profession, my real passion is for using the most appropriate technology, whatever that may be, to deliver solutions that drive customer benefit and solve real business problems.

I predict that no single model will dominate the technology roadmap and therefore I don’t support the theory that everything has to run on the Cloud. Stand alone on device applications and on device applications connected to Cloud services will continue to provide excellent pragmatic solutions to many problems for years to come. It’s clear for everyone to see their ascendency and this trend won’t change anytime soon. I also feel that the desktop as a platform for on premise applications is far from dead and that client server architectures will continue to prevail in the future in many guises.

But coming back to Cloud, I find it interesting not because of the hype, but because it offers new opportunities spanning many different technologies and operating models. The Cloud allows easier sharing of information between entities, and therefore fuels collaboration. It enables anytime any place anywhere accessibility. It lends itself to a “pay for what you eat” utility, and it offers a conduit between connected and disconnected systems and thus enables composite Business Process Outsourcing (BPO).

Today, the delivery model we hear most about in relation to Cloud is Software as a Service (SaaS) and it may come as a surprise to some to hear that I also understand and support the benefits of the SaaS model of software delivery. Its great for some things but its not a panacea for all things and so I’ve been a tad critical of those who try to ram the “SaaS is the only Cloud delivery model” down everyone’s throat. To those people I would suggest they:  

Go speak to an IT director and they may tell you they’re looking to move some of their internal systems to the cloud in conjunction with one of the many Infrastructure as a Service (IaaS) platform providers. What’s the most pragmatic way to approach this… demand that they must throw out all of the systems that they have acquired and customised over a period of time to meet their business needs and replace them with a whole suite of “not anywhere near like for like” SaaS equivalents… or help them on the journey by suggesting they look at virtualisation as a first step, i.e. their existing systems work as they always have… no retraining, no costly redoing of system integration, they’re just hosted in the cloud, and then gradually move to SaaS and other forms of Cloud on a business needs basis.

Or go speak to an ISV developing mobile software or an iPad developer who is accessing data and a business service running on the Cloud and they may tell you the future as far as they are concerned is all about utilising the best of both worlds. It’s all about applications developed specifically for a device that leverages all the power of the device (not just a web browser running on the device), connected to highly scalable services running in the Cloud that fully utilise the power of the Cloud.

These are only two examples of how businesses want to use the Cloud that don’t involve SaaS, and there are many more. You don’t have to look far to see there is lots of great work and innovation going on around Cloud. So, how come I keep coming across the suggestion that the Cloud isn’t being adopted fast enough and how this is down to traditional vendors of on-premise software deliberately slowing down the adoption of Cloud?

Well, more and more I wonder if Cloud adoption is actually being hindered rather than helped by those who believe they are trying to promote Cloud by demanding that “if you want to be Cloud you have to be SaaS”, and that you have to be prepared to share your “sensitive business” information in the same database as others whether you like it or not.

I’m not normally one for controversy, but… “Demanding you have to be SaaS to be Cloud is a crazy suggestion”… even if it was sensible, and I for one don’t think it is, it would take decades to convert the plethora of applications that businesses use today to SaaS applications, by which time the cloud will have passed us by… and we’ll be onto the next major trend.

So, technocrats … you know who you are … put your soap box away and give the Cloud a chance.

SaaS and Cloud… one in the same or completely different???

I was intrigued to see over on Accountingweb a whole list of replies to what on the surface was a very simple question … “What is cloud Computing?” the rationale behind this question was also simple:

Once we agree the definition of cloud computing, then we can have a more productive discussion in 2011!

However, what followed were a whole series of answers, some good, some not so good, and some way off topic as is the norm for an open forum. I’m not criticising any of the respondents here, to the contrary many different views are healthy.

What did emerge though was a really interesting sub debate (and some confusion) as to whether the Cloud and SaaS are one in the same thing?

Richard Messik suggested this very simple definition of Cloud:

The definition of Cloud Computing has changed somewhat over the years but I still think that the simplest one is the “Hotel” Test… if you can walk into an Hotel lobby anywhere in the world and access your data and applications – without the need to download any plugins etc – then that is truly Cloud Computing.

Now, this sounds completely feasible until you read this definition of SaaS by John Patterson :

Next time you are on holiday, walk into the hotel lobby and log on to your application using whatever machine and browser they have. If you can access all the data and all the functionality in your SaaS application immediately, without having to download any extra software, it’s a true SaaS product.

The close similarity between these statements might lead one to believe that Cloud and SaaS are indeed the same thing, but some great insight is provided by Duane Jackson, he comments:

SaaS and Cloud are not synonyms… the terms SaaS and Cloud are not interchangeable. SaaS is a software delivery and business model. Cloud isn’t. I used to think SaaS was a subset of Cloud (with P[latform]aaS, D[ata]aaS, etc being other subsets – along with a load of other stuff that isn’t anything as-a-service). Now I’m not so sure. It depends on how cloud is defined. KashFlow is definitely a SaaS application. I’m not sure if it’s “cloud” though. It’s all on servers in the cloud. But it’s dedicated hardware. To some, cloud computing must involve virtualised hardware and elasticity. We don’t have that.

My twopenneth on this for what it’s worth… is that I agree with Duane, and disagree with Richard here… in that SaaS and Cloud are not one in the same. However, the market is being conditioned (confused) by some SaaS vendors who are leveraging the Cloud bandwagon for the benefit of their own product. I’m not necessarily saying there is anything wrong with that, after all that is what Marketing departments are paid to do, but I admire Duane’s honesty for calling it as it really is here. 

The Cloud is much much bigger than SaaS and the majority of applications running in the Cloud today are not pure play SaaS, unless of course you limit your thinking to one or two SaaS vendors ‘private’ clouds.

SaaS applications (some but not all) tick the cloud box, but so do many AppStore type mobile applications that access information and services on the cloud. Then you have the online gaming industry who arguably make much more use of the cloud today than the business sector. 

No doubt this debate will run on for some time… and if you have a different view I’d love to hear it?

In the meantime, next time you are on holiday, don’t go into a hotel lobby and try this… grab a beer and chill out…