Imagine a world where you can develop software unconstrained by the normal rules of software, which requires a local installation. CPU, memory, security...each of these issues are now someone else's problem.
Sounds great, doesn't it? Well, Linux is part of an evolution in computing that is giving new meaning to the term "network computing" as we know it.
Google The Web services model
Google is by no means first or even the best within the cloud services arena. Yet Google's efforts with web-based applications has paved the way for others, providing a model in how it attracts developers to use cloud computing as a Linux development platform.
Google demonstrates this by promoting their Web apps with proper marketing, and its effort (along with that of many other cloud providers) shows that enterprise users are more than willing to deploy the cloud.
According to my research, Google Docs is considered proprietary software even though saved items are kept on Linux-based storage. This demonstrates that Google is all too happy to utilize Linux for storage, yet its also not against using proprietary software when it meets its needs.
The odd part to this is that Google happens to be a huge supporter of various open source projects, often with no direct benefit for itself. The reasoning can go either way. One possibility is that Google wants to legitimately give back to the open source ecosystem that enabled it to succeed in the first place. The other possibility is that Google simply loves the great PR of being seen as the good guys.
Google Nipping At Microsoft's Cloud
Google is going to be one of the two big companies in the spotlight in what I deem will be a nasty war in the cloud computing space here in the near future. Why? Without much fanfare, Google is already going after Microsoft as the Redmond giant goes after Google on its own turf, Microsoft Office.
In this post from Google, the intention to draw the line in the proverbial sand is clear, as Google acquired a company called DocVerse. The idea appears to be: take Microsoft Office documents from the Microsoft app up to the Google-operated cloud while maintaining a familiar Microsoft experience.
Without question, this is a shot across Microsoft's bow, letting them know that Google is ready for a direct fight for the enterprise user.
Why would Google do this? I believe it's a matter of retraining people to become familiar with Google's vision of the cloud rather than concerning themselves with how the data gets there in the first place. Clearly Google is looking to cash in anywhere they can.
What is cloud computing?
The definition of cloud computing is largely up for grabs. It seems that both Google and Microsoft are in a war to define its meaning -- in the minds of individuals and corporations alike. In the meantime, it really comes down to a couple of basic computing concepts: Virtual infrastructure provisioning and software development plus delivery.
One example of cloud computing and open source, detailed in this article from the Linux Foundation, is Amazon's elastic computing with their EC2 services. This serves as a great example of how one might utilize virtual infrastructure provisioning to its fullest.
The article explains that Google's own App Engine (GAE) provides a less complicated means of development and delivery for software developers. Once again, though, we see Google competing firmly in this sector, challenging others such as Amazon, which offers services of its own. Google is aiming to grip the cloud computing concept the same way they own web search. Its not playing any games here. This means that Microsoft will find itself on the defensive within the enterprise space.
Microsoft, with its cloud computing for the enterprise, code named Azure, competes at some level with Googles efforts such as the GAE. The two companies have already picked a fight with each other. Taking the battle into the cloud computing space is the next logical evolution.
For the uninitiated, what are the key differences between Azure and GAE? Besides the technology at work, I think it comes down to the approach offered by each. Cost factors provide an advantage to GAE, while those developing more Microsoft-centric applications may find the ability to tie-in with Microsoft Live offerings appealing.
Next page: Who Controls Linux in Cloud Computing?
GAE and the Linux server ecosystem
Obviously Azure is a proprietary Microsoft product and has no standing within the Linux server ecosystem that many of us participate in. So this brings me to GAE specifically and how it affects Linux on the server. I've noticed early on during my research that a number of people have strong feelings that GAE could actually be hurting Linux server adoption. It does this, in the view of some, by blurring the lines too much between an actual Linux server and this "thing" managed by Google.
I think those people with this fear have a right to be concerned. While it would increase the actual instances of Linux being used on a per application basis worldwide, the issue is that the running of the Linux server would be entirely in Google's hands. Think of it as people associate Linux on the desktop with Ubuntu exclusively. Clearly, this is not what we'd like to see in the diversity that is the open source community.
The obvious flipside to this of course is that GAE is no more dangerous than Amazon's cloud services. While services like Zonbu, JungleDisk and Twitter all use Amazon as their "cloud platform of choice," we haven't seen the world dropping the DIY Linux server as we know it in response. Perhaps despite any inherent flaws, will Google's GAE end up enhancing Linux adoption on the Web? Only time will tell.
Who Controls Linux in Cloud Computing?
As more businesses find the idea of outsourcing server management attractive while investing that savings into web application development, things can get fuzzy. Does this hurt Linux or help it? Will web applications be the catalyst that attracts the non-Linux users into trying something Linux-based without them realizing it? The list of possibilities seems endless.
I see Linux in cloud computing as a bit of an enigma. Its like a big kid in a digital sandbox that just invited all his friends in to play. The problem is, the big kid in the sandbox forgot to set any ground rules to make sure no one gets hurt.
Since Microsoft, Amazon and Google are all taking to the cloud with their offerings, it feels like anyone else who wishes to play in this digital sandbox will be doing so at their own peril. Sure, the opportunity is there for everyone to participate. But the way these three companies are structuring things makes me feel like the only way anyone can win here is to run software with one of these major service providers.
Any other cloud computing company looking to compete with the GAE concept using Linux already has the deck stacked against them. Google has the brand and the money. Any leftover opportunities within the cloud computing space are likely to be snatched up by Microsoft or Amazon. This means companies looking to create something in this space will have to be clever in order to compete. It will require looking at the weaknesses of the other players, then capitalizing on them.
Still, even if smaller players can work from Google's weaknesses, Google makes cloud computing so easy that anyone can join the revolution as a developer without a lot of extra work. This, I fear, leaves open source initiatives looking to do the same thing with higher ideals, picking up whatever Google leaves behind. With any luck, those open source initiatives will prove me wrong because nothing would make me happier.