Saturday, June 16, 2012

The Fake cloud, the Real Cloud

This article is a little rant about all of the "cloud" proposals in the market. And I think a little history is in order.

During the late 90's , a group of companies lead by Oracle (including Netscape, Sun, IBM and even A pre-Jobs Apple was in the club) proposed the Network Computing Architecture, or NCA. Some technologists (like myself) bought into the idea right away. Back then, nobody spoke about “the cloud”.

The idea behind the NCA was having big application servers serving the needs of clients, moving the computing power to the network, and having thin clients, with no storage units. Some models even had an ID Card as login credential.

The model was attractive, cheaper than the client/server model, easier to maintain, update, backup, and support. The computer (called “network computer”) was going to be an appliance, almost disposable.

The NCA was ridiculed by a big sector of the tech press. They claimed “nobody wants go go back to the dumb terminal again” (not true, though, since network computers had an interesting level of computing power), and many went as far as saying that the web was OK for a shopping cart but it was never going to be able to support a whole business system.

Back then, during the dawn of the public Internet (or the www era, or the .com boom, however you want to call it), the terms used for the available services were:

  • Hosting: a company rented storage in their servers, to host HTML code (a web site), files (via FTP) and email. Later on, the service expanded to providing database access, back-end programming and scripting and some additional services.
  • Application Service Providers (ASP): Companies Building web based applications (in many cases they were not strictly “web based”, but “plugin based” or “applet based”) so customers could pay a fee and use them. 
  • Housing: I could set up my own server and place it in their data center. Housing companies would provide the networking services to access the servers. Some people called it “caging”, for the cages used to store the servers.

Those services still exist. But with minor modifications, they replaced them as “cloud computing”.

To me, the “fake cloud” is just an old service with new packaging. And to me, the “fake cloud” doesn't deserve the right to be called “a new paradigm” or “an innovative model”. It's just not fair.

Let's see some models. Let me start with Amazon Elastic Cloud. It's a great service. It's helping a lot of start ups. But it's still nothing else than housing. The only difference is, server are virtual instead of physical boxes. But the service core is the same: placing my box into someone else’s data center. Once set up, the skill level to set it up is no different than the skill level you need to set up a server sitting on your desk.

Google Apps are another example. I love Google Apps. Despite its limitations, it's a great service for those not willing to spend tons of money in traditional productivity suites and gaining collaboration. But once again, that is ASP to me. Nothing more than a bunch of applications offered via the web. It's not a new or innovative model. It's a great implementation of an already existing model. And it doesn't deserve the cloud “medal” either.

Microsoft Azure allows developers to build apps in Visual Studio and SQL Server and put them to work on Microsoft’s data center. If you're a Microsoft developer, I think it's a great way to deploy applications. But still, it's still hosting to me. It's giving me database, web and back end coding storage. Shouldn’t that service be called simply “hosting”?

In that matter, proposals from Oracle, IBM, HP and most big vendors are not much different that the ones mentioned.

Let me insist: those are NOT worthless services. I think it's great we have those available. But to me, if “cloud” is supposed to define a new paradigm, we cannot include “reheating old dishes”.

What would I expect from something called “the Real Cloud”? First, I’d try to inherit as much from the NCA as possible, meaning, the workstation should be as thin as possible. In a way, that means the operating system should become irrelevant. Real Cloud applications mush be 100% platform agnostic.

A Real Cloud platform should include development tools. And those development tools should be cloud based too! We should be able to leave nothing at the client level. As we promise the power of using an application in the cloud, with no client software installed, we should also be able to promise the ability of BUILDING application in the cloud. Real applications, which we can make available to desktop computers, laptops, tablets and phones, effortless and in one shot.

The Real Cloud platform should also be able to talk to legacy systems. This world is not a binary world, where it's “cloud or nothing”. Cloud apps should be able to talk to legacy applications, in a comprehensive and complete way.

In order to achieve that Real Cloud, we need to change the way we know databases.  The way we understand development. We’ll need to kill old paradigms, not because they’re wrong, nor because they’re old, but because they can not take us to the Real Cloud dream.

The Real Cloud has the potential to change computing as we know it. And to me, changing computing as we know it has a name: A revolution.

Saturday, May 19, 2012

The Future of Microsoft

It is no secret Microsoft is in decline. Steve Ballmer is regarded as the worst CEO in the industry. They are losing traction. They went from the #1 technology company to be worth half of an almost dead Apple. And they meant no profits for stockholders in the last 10 years.

Microsoft is doomed. At least, that's what many analysts say. On the other side, I believe there's a way our for Microsoft.

People who know me know I'm not very fond of Microsoft products. I'm also not very fond of some of their business practices. But one thing I'm not is a destructive thinker. I like to think positive, and in that sense, I'd rather see a new living Microsoft than an old dead Microsoft.

What would I do to give Microsoft new life?

1. Learn from Apple.

If we remember the early 80's, Apple was the big honcho in the Personal Computing world. Microsoft was an important player, but their business was building software for other platforms. Apple had a vision that went wayward when Steve Jobs got out. I will not discuss the how or blame anybody about what happened then. The story is complex enough to ignite passions. But I can remark the fact that when Steve Jobs went back to Apple, he brought back the important things that made Apple great. He went back to its origins, to Apple's mission: Make it for the masses, make it insanely great, make a dent in the universe. And bringing back its soul to Apple made it turn around, in the most amazing way.

I believe Microsoft is going through the same. Their vision went wayward. Remember "a computer in every desk, and Microsoft software in it"? Well, computers are no only in desks now. They are also in pockets, briefcases, and under our arms, moving everywhere. I would start by changing the vision, for the modern days and saying: "A device in every hand and Microsoft software in all of them".

2. Accept the fact that the Windows days are over. 

Microsoft started building software for other platforms. In fact, it made its fortune building software for other platforms. And even today, they make products for the Wintel platform, built by other manufacturers. During the 90's, Steve Jobs said "The desktop wars are over. Windows won". True enough, Windows is still in most desktops. But they have barely any presence in other platforms. On the server side, Linux is every day more popular. On the mobile side, iOS and Android have most of the market share. But, hey, those are OTHER platforms! But Microsoft is too stubborn to build software for those other platforms, tying their product to Windows, Windows Server, Windows Mobile, and Windows whatever. That's not the Microsoft created by Bill Gates. Microsoft moved from a software developer to a closed platform integrator. And that is killing them.

Is it to far fetched to think about Microsoft Office for iOS or Android? Or SQL Server and Visual Studio for Linux? And not a crippled version. I'm talking about competing toe-to-toe with Apple's software for iOS. Microsoft have the talent and the money to make it happen. I'm sure it would be a best-seller. Build connectors for the enterprise services: SQL Server, Exchange, etc. Make those other platforms coexist with their products. It's interesting that Apple and Google could be the companies that might save Microsoft.

Paraphrasing Steve Jobs: "The mobile war is over. Microsoft lost". It's time to accept it, and move on.

3. Bring Bill Gates back to the CEO chair.

I was just going to say "get rid of Steve Ballmer", and simply get a new CEO. But Bill Gates brings that I believe Microsoft needs desperately: The founder's vision. I don't want to compare Bill Gates to Steve Jobs. But the parallelism between them is remarkable. Hard fact is, both were living legends. Sadly, we lost Steve. But Bill Gates remains a living legend. And at this point, that's what Microsoft needs to turn around.

4. Focus, Focus, Focus.

Stop the copy machines. Get rid of product lines that makes the company lose money. Remember the Zune: a half-fast copy of the iPod. And a complete disaster. I don't know the state of the XBox, but last I checked, it was losing money as well. Don't think you can compete with a half-fast version of other products. Those days are over as well. Recruit innovators. Disrupt your own business model. Play ahead. Don't rest on your laurels. Don't wait for the future: Build the future.

Meaning, all the things Microsoft has not done in the last 10+ years.

5. Be Humble.

Fact: There are better products than Microsoft. Fact: Microsoft is not the best, even at its own game. Fact: There has been no innovations coming from Microsoft in the last 10+ years. Fact: All of the technology world knows it.

And fact: Every time Steve Ballmer talks about "innovation", and every time he mocks other manufacturers (the iPhone mocking at release date made him look like a complete moron, considering the iPhone's sales results), he reflects on what Microsoft is becoming: A joke. Here's another fact: Steve Ballmer doesn't see the future. He makes himself look like a mental dinosaur. I don't know if he is. I don't know him in person. But he displays that.

It's time to be honest, and that starts being honest to themselves. And then being honest to the public. It's time for a "mea culpa". And it's time for redemption. And by "redemption", I mean great products, products so awesome we all want to use them. Only that can save Microsoft. Any other way, they are as good as dead.