Wiki As an Example to Demystify Cloud Computing
(FLOSS friends: please see "Calling FS Community for Help in Debuking Cloud Hype")
Cloud computing is supposed to save you money and make things easier for your business/organization. If a self-proclaimed cloud computing provider tries to sell you some expensive and fancy new technology that requires a lot of training on your employees, then be alerted that this may just be a hoax. Try partially replacing MS Word and Frontpage with wiki before buying any cloud solutions. Wiki is a minuscule, and yet most used form of cloud computing. It takes more cultural changes than monetary investment to introduce cloud computing into your organization/business. You can forget about cloud computing if your employees cannot get accustomed to this new culture of transparency, participation, and democracy.
1. Transparency is Required to Enjoy the Benefits of Cloud Computing
Cloud computing is about having someone out there taking care of your computing needs for your business/organization. Take word processing, the ubiquitous computing task in all offices, for example. You and some officemates would like to be able to use each of your Microsoft Word smoothly. You would like someone else to take care of such troubles as crashes, software upgrades, backups, viruses and other malware. You might even want him/her to take care of hardware upgrades and power consumptions. The ICT department may have already been sending people to help you with the above issues all the time. Yet that poor single computer wizard Joe Hacker has difficulty attending to the requests of the dozen of you and your officemates. Now that many things can be done over the network, can't we just share one copy of Microsoft Word in Joe Hacker's computer, so that he takes care of just one system and each of us happily using an uncrashable computer whose sole purpose is to hook one onto the network? That's the basic idea of cloud computing.
One problem with this arrangement is that Joe Hacker might look at, make a copy of, or even modify your word document as he pleases. If you take care not to put anything revealing your privacy and if Joe Hacker is loyal to your business -- not to some other company -- then this wouldn't be a problem for you. From your boss's perspective, however, there is an additional requirement that there be nothing s/he wants to hide from Joe Hacker that anyone of the dozen of you work on. In other words, the cloud computing arrangement requires transparency, at least within your own business/organization. If anyone has anything to hide from Joe Hacker, this something cannot be put into the cloud.[Possible escape from this conclusion is in early stage of experimentation: "Computing with Secrets, but Keeping them Safe" using homomorphic encryption. But don't hold your breath for it.]
If Joe Hacker is not an employee of your business but instead that of a cloud solution provider, then your (and your boss's) best bet is to strictly remind yourself that only documents which you don't mind sharing with the world are put into the cloud. Joe Hacker, or more likely his employer, will of course promise you that (1) he will not look at your document and (2) he will keep it safe from the reach of anyone else, and therefore you don't need the above provisions. Now, you may choose to trust their promises, but I would rather not. Even if Joe Hacker's employer is Google or Microsoft. Especially Microsoft. Search for "windows phone home" or "windows stealthy update" to learn the history of Microsoft's respects (or the lack thereof) for your privacy and will. Also search for "KB971033 controversy" and "who owns your computer". That does not mean that you cannot turn to Microsoft as a cloud provider. It just means that you shouldn't trust secret documents to Microsoft's cloud. Or any other company's cloud.
2. Wiki is a Minuscule and Least Expensive Form of Cloud Computing
But google doc does exactly what we we have been describing. Google doc is word processing manifested as cloud computing. If you care more about the content and substance than the appearance of documents (I do), you will go one step further and think of wiki instead. My friends and I use these two kinds of cloud computing services alternately all the time. We organize a Free/Libre/Open Source conference using wiki. Wiki is word processing minus bells and whistles and manifested as cloud computing.
Both google doc and wiki offer an additional important advantage over Microsoft Word, among other cloud computing benefits: the possibility to cooperatively edit a document. It saves a lot of e-mail exchanges. I will stop praising them right here because I find it ridiculous for a business to subscribe to the cloud computing hype when the majority of their employees have no idea what benefits and improvements in communication this minuscule, least expensive, and most used form of cloud computing could bring them. If your business ever considers going cloud, start your experiments by encouraging your employees to use wiki, and then come back to finish reading this article. By the end of this article, you will be better prepared to cut through the cloud marketing hype and to make sensible negotiations and choices with the cloud provider.
* * * * *
Now that you know what a wiki is and how it works after using it for weeks if not months, you are ready to understand the cloud-related terms in Wikipedia with the help of your wiki experience.
3. Sharing the Control and Cost among Whom?
The first question is: Who are to share one installation of the wiki?
- If your business hosts its own wiki, you are using a private cloud. You keep full control and responsibility of your data and hardware (and software, if you use a Free/Libre/Open Source version of wiki).
- If your business and several other friendly and trust-worthy businesses and/or organizations share one installation of the wiki, you are using a community cloud. Your control and responsibility over the resources (data, hardware, software) are shared with your community.
- If you use an existing outside wiki service like wikia, wikidot, or wikispaces, you are using a public cloud.
As you go from private clouds towards public clouds:
- The benefit of cost reduction becomes marginal. By how much percentage does it save your company's ICT expenditures when all of your n employees share the cost of wiki server and the efforts of Joe Hacker? By how much additional percentage does it save when your company share it with m other companies?
- The privacy concerns grows.
- The autonomy diminishes.
Also, the benefits of full control and autonomy that a FLOSS installation provides reaches only as far as a (friendly) community cloud. With a public cloud, you will never enjoy the benefit of FLOSS.
If I were the boss of a for-profit business, I would certainly go for private clouds, and trust the servers only to my own employees, which means that I don't need a cloud provider at all. If I sit on the board of directors of an NPO (indeed I do), I will recommend deploying a private cloud or sharing a community cloud with sister organizations depending on whether we have an ICT employee to take care of the server. Public cloud is also possible since the transparency requirement is typically something worth striving for for an NPO anyway, although it's not very impressive to see the additional marginal cost it can save us.
4. How Much Extra Resources to Commit and Extra Freedom to Exercise?
The second important question is: how much do you bother to commit extra resources to utilize the cloud and exercise extra freedom that the cloud provides?
If you are contented with what wiki (or google docs) alone provides, then SaaS, Software as a Service is good enough for you. It requires the least of your intervention and gives you the least amount of tweaking freedom.
- Does your organization really need to invent such new mashups of your wiki on a regular basis? If you just need one or two extra mashups that existing SaaS cannot provide, then you are better off to hire a programmer for once and write a new app for you to simply install as an SaaS component. In this case, a private cloud and/or community cloud lets you install it, but a public cloud does not.
- Can the PaaS you are going to buy beat, or come close to googlemaps API (application programming interface) in price ($0) and popularity? A popular PaaS such as googlemaps API attracts programmers world-wide and therefore is easier for you to find help.
In short, I strongly doubt that any organization would ever need a PaaS solution, however cheap it is. You simply don't have the expertise to make any sensible use of PaaS if this article is not too boring for you. Maybe a research team in the computer science department of a university might make some use of it. But then they should be able to build their own PaaS in the first place. I personally have some limited experiences utilizing PaaS such as mixing rss feeds and including google maps and google calendar into my page. These are examples of utilizing PaaS. Yet I don't write too many codes nor do I buy any codes even then, since I was able to find existing libraries (SimplePie in this case) from the internet, due to the open nature of the platform (in this case rss specifications). If what I did was too much for you, then any PaaS would be too much for you.
Finally, an IaaS is basically just a fancy way of refering to virtual private servers. You enjoy full freedom of doing almost anything to it, and losing pretty much all the claimed reduction of management headache that the mysterious "cloud" would bring you beyond what a virtual private server already could. Your ICT staff should learn to use the VNC (Virtual Network Computing) technology over a virtual private server before buying into any "advanced" (read: unnecessarily complicated) solutions.
- You rarely need to code or to buy code. The internet is full of libre and gratis software which could be of great value to you. What's in great shortage is not code, but the awareness of their existence.
- A corollary to the above observation is that you hardly ever need PaaS.
- But if you ever did need PaaS, you certainly want either (A) an established, 0-cost public cloud whose API are published online by long-time web 2.0 companies such as google/yahoo/amazon/..., or (B) a 0-cost private cloud or community cloud whose API are again published online and whose setup requires only any capable technician familiar with existing server technologies.
- Taking also security/privacy concerns into consideration, the most sensible cloud solutions seem to be (A) SaaS deployed on a private cloud or community cloud (and (B) the aforementioned existing web 2.0 API if you are constantly inventing new services).
- Experiment with those 0-buying-cost, well-established, less hyped cloud examples before you make any serious investment into a self-proclaimed cloud provider. Google is the first company anyone would think of when asked of a cloud company. (For example, my wife answered google. Her job has nothing to do with ICT.) Google's services are popular and most of them cost $0. And yet you don't hear too much google bragging about its cloud products.
- Find your way to a cloud provider (who typically are too small to proclaim themselves to be a cloud provider). For example, a wiki service provider is really one of the least expensive and most useful cloud provider -- if you don't feel like setting up a wiki server yourself. Don't trust too much a self-proclaimed cloud provider that finds you, especially if they have a track record of selling problematic products that cost a lot.
- Last but not least important, going cloud requires a lot more cultural changes than monetary investment. Be prepared to embrace the new culture of transparency, participation, and democracy that cloud computing demands.