Funny. If you’ve followed tech news recently, you couldn’t have missed Apple’s high profile court battle on user privacy. A lot of people, namely tech savvy people, are rather vocal in their belief that Google might be too casual with user privacy. The news that Apple is signing up to use Google Cloud should sound kind of ironic. To the fanbois at least.
This is business, though. As it should always be. Whether this turns out to be true or not, despite all the fuss made about Steve Jobs’ alleged vindictiveness, Apple has demonstrated pragmatism time and again. I remember the early days of Apple’s iCloud, some tinkerer had found out that it was using Microsoft Azure. Apple never said a thing about that back then.
This kind of news item should also send a message to the business decision maker. There are just too many decision makers out there that would rather not think for themselves. Whatever provider you might feel more trustworthy, at the end of the day, building the capability to leverage any Cloud service would wind up the winning strategy.
A chosen quote from the news article:
Apple signed a contract reportedly worth as much as $600 million to use Google’s cloud platform.
Mobile and Cloud represent possibly the best opportunity to reinvent a flagging business proposition. Surveys and studies by many household name analysts such as McKinsey, Deloite and others, point in that direction. In the diagram that I have depicted, ditching Level 3 elements and rewiring Level 2 elements for Mobile and Cloud, that is where the opportunity mainly lies. This necessity of revising and rewiring systems should be a profitable source of business for those who can can into it. Unfortunately, companies that cannot figure out exactly what is going on in their business at its core, will struggle to even see the opportunity. Newcomers who evener even built such Level 2 and Level 3 elements, have the freedom to move along with the market.
It cannot have escaped many software company executives that Mobile and Cloud represent possibly the best opportunity to reinvent a flagging business proposition. Surveys and studies by many household name analysts such as McKinsey, Deloitte and others, show that . My post comes from another angle, a simple observation at a micro level that can be scaled up to a bigger picture.
Actually, I believe that Mobile without Cloud, or vice versa, would not have any significant impact. So, I contend that whenever Cloud is mentioned, Mobile is an implied companion. And the other way around as well. When Internet Of Thins (IoT) finally dawn, Ubiquity would become a more appropriate concept and could encompass Mobile.
I was recently reminded of one pervasive reality with software, dependencies are the cause of a lot of troubles, if not most. I was trying to install a new version of Archi, a software tool I am used to running but hadn’t needed for a while. When it failed to run, I thought I could quickly just rebuild it. I fired up Eclipse and started going through the process of building Archi. I quickly stopped, realising the trap I was slowly getting myself dragged into. What the industry term as legacy is largely due to such dependencies, in many situations, an insurmountable task of rewriting and rewiring code that is large, complex, hard to understand, better left alone as long as it is working. In the case of Archi, I am not suggesting that any rewrite would be necessary, just the dependencies that I would have to deal with before I could achieve my goal, get it up and running.
In the diagram, I name an arbitrary number of levels, or layers, just for this discussion’s sake.
Level 0: this is usually provided by hardware vendors, who make the hardware an then bundle it with software.
Level 1: this is the Operating System level, in the comparison, Microsoft provides this element, this is Windows for example.
Level 2: fundamental building block elements, usually provided by the OS vendor. This is one area where Microsoft open sourced .NET Runtime Engine for example.
Level 3: combines with Level 2 and make it easy to expose system capabilities to users. Level 2 and Level 3 tend to be closely integrated, often case, 3rd party vendors provide Level3 elements.
Level 4: this is the part that the user will eventually experience.
In this discussion, I’ve intentionally left out Apple, as they are known to control the end-to-end user experience in most cases. Albeit, Apple do subcontract for parts and components, embed 3rd party software and open source software, but they control the packaging process. It is not an interesting study for this post, I focus on Microsoft stack vs. open source stack.
I’ve simplified the reality in this diagram quite a bit. But there usually are multiple layers between Level 2 and Level 3. This is where most of the dependency troubles lie. For a developer, this could be a tool chain for example. But it could also be libraries, utilities and other 3rd party software elements. This is where trouble with multiple Windows DLL versions typically occur. Such dependency issues are not confined to Windows, I’ve seen it with many open source Linux software too. The issue happens when for example you are dealing with a Level 3 component and it complains about some Level 2 element that you were not aware of or didn’t expect to be dealing with. That’s the can of worms.
By moving important elements to open source, Microsoft would normally have had to do a lot of work in Level 2 and Level 3, to bring up their open source proposition to the same level where Unix/Linux is at. But, with Cloud and Mobile, this work is not necessary. A wide variety of platforms and legacy systems can be skipped. This is also perhaps the best opportunity for Microsoft to actually ditch support for a lot of systems that won’t need to be directly exposed to the user.
Cloud providers and infrastructure providers offer solutions that combine Level 0 and Level 1. Lots of players have emerged in recent years, providing up to Level 3 either by themselves or by procuring Level 0 and Level 1 from others. Large players like Amazon, Microsoft, and Google provide up to Level 3. In some instances, they offer solutions all the way up to the end user level. Examples abound, I don’t want to extend this discussion too much.
Ditching Level 3 elements and rewiring your Level 2 elements for Mobile and Cloud, that is where the opportunity mainly lies. The necessity of revising and rewiring systems should be a profitable source of business for those who can can into it.
Unfortunately, companies that cannot figure out exactly what is going on in their business at its core, will struggle to even see the opportunity. The situation is akin to old Hollywood blockbusters movies such as Die Hard for example, where it was important to cut the right cable. The comeback opportunity is about separating out what should be dropped from what should be kept, then streamlining the business for Mobile and Cloud. Newcomers who never even built such Level 2 and Level 3 elements, have the freedom to move swiftly along with the market.
It is clearly very hard to eliminate infrastructure outage, even for some of the biggest players in the industry. However, we are heading to an era where Cloud infrastructure may be ‘too big to fail’, are companies going to ensure they are ready for this? Ultimately, it is an issue of the economic value of risk. Those with sound risk management practice in place would have less to fear, I am not sure many have though.
The Cloud is becoming so essential to so many companies that there comes a point where provider’s infrastructure outage could cause serious liabilities. Every few months now a large Cloud provider experiences a technical incident that takes down many popular startup company web sites for several hours. These are not some odd amateur providers, we are talking about Amazon, Microsoft, Google, the biggest there is in this game. Such outages used to be the lot of Facebook or Twitter, those companies seem to have remarkably improved their infrastructure availability, it is the turn of smaller startups by way of their cloud providers.
It’s obviously very hard, if not impossible, to completely eliminate outages, but what surprises me is that these outages are taking a long time to recover from, for infrastructure serving hundreds of companies (if you consider the ripple effects).
A naive way to look at it would be to imagine that cloud providers are running specially crafted test lab that would continually run failure scenarios and teach the operations teams how to detect them, and hopefully leading to remediations that would be put in place before they are ever experienced in real-life. This may sound costly but it wouldn’t be for companies like Amazon or Google. Perhaps they actually do something like this. In this year alone, every time such Cloud incidents has occurred and were fully investigated, it turned out that the root cause could actually have been anticipated if not prevented. Arguably it’s very hard to stress and crash test a large server cluster, but these companies have the resources and know-how to model incident scenarios and run simulations. It may be that the growth rate is much higher than the occurrence of serious infrastructure incidents, making it a lower priority for provider to double down on incident prevention. I wonder then, should it be up to the users to plan for and protect themselves against such incidents?
I don’t want to oversimplify but I imagine it economical for those with high stake in the game to setup safety harnesses. The issue at hand is really that of the economic value of risk, easily determined for a business that trade by the hour, not so trivial for companies that make no money but are valued based on the user traffic they get. Those with sound risk management practice in place would have less to fear, I am not sure many startups have though.
If a company’s valuation is determined by the traffic they generate with no associated monetary transaction then an infrastructure outage (that can be blamed on someone else) may not have such a high economic impact. However, online advertisement is a big source of income for many startups, some sell goods and services online. For these companies an untimely outage means less visitor traffic which means missed income, and for such companies it may be critical to put in place some form of cloud outage safety harness.
The ideal software geek’s personal computer would be something that combines Google Chrome OS vision, your data is in the clouds, and a powerful device that can run heavy duty software. Such device doesn’t exist, but Apple’s iCloud vision comes close.
As I think about what my ideal next computer could be like, something dawn on me: it’s Google’s Chrome OS core tenet (your work automatically saved to the cloud) combined with a powerful and versatile device that I can also run software development projects on. That’s what I need, and I don’t want to be bothered about lugging around an USB drive, having to explicitly move files around. So what are the options?
I’ve said this a few times, Chrome OS just won’t cut it for me. The ideal device has got to be more capable than running a web browser, this leads me to the tablets. But the iPad still doesn’t look like it’d be something for me. The videos of HP TouchPab I saw today impressed me, it seems that that thing has some serious guts inside. If I were to buy a tablet though, I’d need an external keyboard most of the time, so why not upgrade and get a laptop then? I could do that, but then I’m back where I am right now.
All of this vaguely reminds me something else, Microsoft’s Longhorn vision. I dumped my last gigabytes of Longhorn material last year, so I can’t fully recall what it said about storage – no use digging that up anyway, that’d be hypothetical.
As I sit there undecided, I suddenly realise that I’ve already seen the beginning of a solution without making the connections. Apple’s just announced iCloud, now I see what they’re trying to do and I see that it’s clever marketing – I watched bits of the keynote and didn’t really think too much of it, until now. iCloud also looks to be limited to files produced with Apple’s software, what about my design and development work created with non-Apple software? Not supported, I suppose. Stuck. Bummer.
There’s another option, use Dropbox as a live storage drive. It’s tempting, though I’d be nervous doing that, it might just fall apart or cost me too much. What then?
Actually, there isn’t much choice. The magical GDrive never materialised. One’s got to go for the next best thing, and that is simple: stay with a laptop, and maybe use Cloud development platforms and Emacs on the client, stay with Dropbox.
Some of the most successful innovations in IT infrastructure have come about by accident, by groups who couldn’t even be taken seriously when they started their venture. Is this the beginning of a bigger movement? Is this the edge of what an Agile culture could nurture?
In the past decade, some of the most successful IT infrastructure innovations have been stumbled upon, after the originators found themselves in unanticipated conundrum! In some instances, this kind of anarchic R&D is reaping rewards of several orders of magnitude higher than walled-in research efforts.
Think about it for a moment, we are enjoying an amazing array of technology that were created after some dudes’ fiddles and ramblings forced them to rethink their infrastructure. In their travails, clever & bohemian as they are, they’ve come up with solutions that many of us can enjoy. Witnessing such success, deep pocketed vendors joined in the fun, and the field is being redefined in the process.
Once frowned upon, FaceBook is now a leading contributor to prominent open source infrastructure projects. Google’s track record is longer and deeper, their data centre innovations are being copied around the world, their latest announcement in the U.S. is just illustrating how far reaching their ambitions are. The whole No SQL movement has spawned a category of data manipulation techniques forcing a rethink of the way we manage information. Google, Yahoo! and FaceBook are all strong leaders in this space. The best example is probably the open source Unix/Linux ecosystem (counting in the OpenBSD and FreeBSD variants, which are not Linuxes). What is happening with the uptake of Cloud computing is simply amazing, would make many a veteran chuckle (isn’t this what was supposed to be uncool?). Now that heavyweights such as Oracle and Microsoft are trumpeting the Cloud, we are probably entering a new era where mix-and-match will become a norm.
These infrastructure innovations are making it easier and faster for us to do more with our computing resources. Incidentally, this is also making us more vulnerable and fragile from a security point of view. Security breaches can do much more damage much faster than ever before. This could mean that our security infrastructure is simply being thrown out, forcing us to rethink the very notion of security.
Marketing mantra aside, here looking at you Google, these infrastructure innovations have had a profound impact on the way we perform computing these days. A substantial amount of these innovations were actually not planned, they seem to have been following a kind of Darwinian evolution theory, the good ones quickly gain traction and everyone adjust their positions.
Is this the beginning of a bigger and truly world changing movement? Is this a vindication of the open source phenomenon? Is this the edge of what an Agile (Californian?) culture could nurture?
At their PDC 2009 edition, Microsoft outlined a strong vision which might boost them in the Cloud
I watched Microsoft PDC keynotes yesterday and it left me quite an impression: Microsoft firmly intends to be a strong force in this Cloud markets, no doubt.
Ironically, Microsoft might become a big winner here. Thinking about it, Cloud turns the clock on vendor-independence mantra: businesses would rely more than ever on their cloud provider. This works for Microsoft too: it no longer matters what platform runs your business, so long as it performs and you get the expected value from it. Naturally there remain issues around security, governance and such, issues that are open for all vendors the same way.
By delivering quality tools and performing Cloud solutions, Microsoft is in the game. If you can depend on Google of Salesforce to run your business, what other reasons can there be for snubbing Microsoft? Can anyone credibly speak of vendor lock-in as a valid argument? The other important questions to ask are then around pricing and service terms.
The vision outlined by Microsoft appears sound to me, they also appear to be engaging customers in this effort. The tooling seems to be coming along nicely too, and Microsoft is wooing celebrity developers. It seems that a larger chunk of Microsoft technology is being made available in the Clouds, that is something I didn’t expect so soon – could still be just a teaser with no real intention to deliver much, we’ll see. But my impression at the moment is: game on for Microsoft, when they start shipping Azure.
As Microsoft starts to deliver Cloud services, the playing field becomes square and they can leverage their massive momentum to gain a significant market share once again. They might actually end up dominating the Cloud in the process!
I’m loving this epic battle in the Clouds. Will it be a winner takes all?