Cloud Computing
Consider the wall plug. Wherever we are, we can effortless plug into an unlimited source of electrical power - to recharge our cellphone, or to power our factory.
Now imagine that we had the same available for computing - wherever we were, we could easily access as much computing power as we needed - to store and send our emails, to write and share documents, to stream our music, to process our payroll, to run our company. This is the promise of cloud computing - to make computing power as inexpensive and easily accessible as electricity.
Cloud computing is one of the most important trends of today. It promises to move us from a world where we have to purchase and manage complex computers, to one where we simply pay for whatever computing power we need, as required, like electricity.
A consulting client recently showed me their plans for a new venture. Looking through the capex projections, I noticed half a million rand for computer servers, which I immediately crossed out. Instead of purchasing costly servers, I told them, they could host the entire system in Amazon's web services cloud, paying virtually nothing at the start of the project, and adding capacity only as needed. Even at full capacity the price of running the system in the cloud would be a fraction of what it would cost if they bought their own servers and bandwidth.
How will this change our world? What new possibilities can it open up for you and your organisation?
The Growth of the Cloud Worldwide...
The cloud is powered by massive datacentres, buildings up to two kilometres long housing thousands of servers. These are being built at breakneck speed across the world. Google for example spends up to $3b a year building datacentres and now has nearly forty of these spread across America, Europe, Russia and Asia:
[Source: Royal Pingdom]
Other big players are racing to keep up. Microsoft has announced plans to build twenty datacentres, and recently spend $1b on two in Chicago and Ireland. IBM, Amazon and Yahoo are also building big datacentres - and so, intriguingly, is Apple.
Why is Apple building datacentres? Well, the operating budget for providing their iTunes service is nearing $1 billion/year! With more than 160 million users around the globe, at a recent music press conference Steve Jobs explained that around 450 million TV episodes have been downloaded, along with 100 million movies, 35 million books, and close to 12 billion songs across 23 countries. What's more, users are downloading some 17 million apps per day, and that number is growing. But beyond this, industry insiders think Apple may also have ambitious plans to stream music, movies and news in the future too...
[Source: Cloud Hypermarket]
...and in Africa
Datacentres are springing up in Africa too. In South Africa for example Teraco says it will be spending R300m over the next two years on datacentres in Gauteng, Cape Town and Durban to keep up with the demand for corporate cloud computing.
[Source: Steve Song - Many Possibilities]
At the same time new cables and the proposed O3b satellite network are bringing greater bandwidth to the continent, and within South Africa private companies such as Neotel, MTN, Vodacom, FibreCo and Dark Fibre Africa are building thousands of kilometres of national and metropolitan fibre networks which will enable high speed links to both local and international datacentres, and Johannesburg's R1b fibre backbone is nearly complete. (Someone recently said that "cheap broadband is the oil of the modern economy"...).
A Catalog of Clouds
Clouds today are generally used to deliver three levels of service:
Software as a Service (SaaS): This is where a complete application is delivered, often on a subscription basis. So for example a business can do all of its accounting online through QuickBooks Online (or in South Africa through FNB's free Qwill online accounting system). Likewise many larger companies manage their CRM and other functions through Salesforce, while Zoho and new players like SohoOS provide everything from HR to accounting to CRM etc online to small businesses, while Google Apps of course offers word processing, spreadsheets, presentations, email accounts, etc online. Companies like Mozy and Dropbox allow you to backup and move files via the cloud, Evernote allows you to store all your notes, and Weebly allows you to create easily create and host websites.
The advantages of using online applications include a large cost saving, the ability to run them from any computer anywhere through a browser, doing away with managing software installations and upgrades, and not having to worry about backups. A disadvantage is not being able to work if your Internet connection is down - although some applications like Google Apps allow you work locally when you're offline, and sync back to the cloud when you're online again.
Many integral parts of our life will become cloud services - like telephony. Google Voice offers users (in the US only for now) one telephone number - which they can forward to all their other phones. Users can answering incoming calls on any of their phones, can set rules routing calls to different phones based on the calling number, can block calls from specified numbers, can manage (and view transcripts of) all their voicemail online through one inbox, and can make unlimited free calls and SMS's within the US and Canada.
Likewise Google's Cloud Print standard will allow you to attach your printer to the cloud and then print to it from anywhere (Google is going to offer its own Cloud Print service, but it wants the standard to be open and expects other alternative services to spring up as well).
Google also have a whimsical Cloud Calculator that allows you to work out what your organisation could save by using their cloud services...
Which of your applications could be run in the cloud? Have you looked at running your email accounts through Google Apps? What could you save by using SaaS services?
Platform as a Service (PaaS): Here the cloud provides the complete development environment for an application developer. Writing a Python app? Look no further than Google App engine for a complete Python environment. Likewise if you are developing in Ruby, Salesforce.com now offers a complete Ruby on Rails environment through its recent acquisition of Heroku, or you could use EngineYard. And for Microsoft developers there is Azure. The downside of using an online platform that provides many facilities is that it may be very difficult to extricate your application and move it to another environment later. Developers who are concerned about this will most likely use IaaS instead...
Infrastructure as a Service (Iaas): At this level the cloud just provides raw computing power such as storage and databases, computing and load balancing, etc. The biggest player here is Amazon Web Services (AWS), followed by Rackspace, GoGrid, and many others. Many of the fastest-growing startups in Silicon Valley rely on AWS to provide all the "horse-power" for their systems - allowing them to start with no capital expenditure and a tiny usage bill when they set out, and then to easily add servers and capacity as needed to scale up to huge volumes. You can run whole systems in AWS - or just use it for specific purposes. For example when someone in our church downloads a sermon it is coming from an Amazon server in Europe, where we store several gigabytes of sermons for a few dollars a month. Amazon now gives out bumper stickers saying
In addition to basic computing facilities AWS also provides many other services such CDN (content distribution network), a new email service, and even a fulfillment service to ship your goods for you (see Shipwire for another such fulfillment service).
How many of your inhouse applications could be run in the cloud?
While the Iaas layer does not lock one in as much as the PaaS layer, corporates looking at using clouds are still concerned about portability between cloud vendors. Vendors are therefore looking at developing standards in this area, and major players like Rackspace, Dell, Intel, Advanced Micro Devices and NASA have recently signed up to back a standard for this called OpenStack.
Looking further ahead, major corporates would also like the possibility of using cloud services from a half dozen different vendors and do not want to configure and manage each of those separately. They see the need for an "orchestration layer" that sits between the company and the various cloud services to which it subscribes. That layer, provided by an intermediary, would work out the best cloud service for a particular job based on lowest cost, highest performance, or other requirement. Such an approach would make it possible for major users to write to a single API rather than many, while optimizing service usage. They also see the potential to use cloud computing for external collaboration, to the point where the cloud becomes "a point of integration" between a company and its partners.
Public and Private Clouds
[Source: Dell]
So far we have largely been talking about public clouds, run by third-parties such as Amazon. However many companies who do not (or cannot - see the next section) entrust their data and computing to another organisation are now building their own private clouds. A private cloud replaces the myriad of servers strewn across an organisation with one central datacentre. In South Africa for example Standard Bank has recently built a new facility north of Midrand, at a cost of R1,6b - before the computer equipment! And some companies are experimenting with hybrid clouds where services say at a SaaS level are run in a private cloud, using infrastructure from a public cloud like AWS. IBM is a major player today in helping companies to build these private clouds.
Which types of cloud will best fit your organisation?
Challenges with Cloud Computing
Obviously for important services it is vital that a cloud be reliable and have high uptime. Amazon's SLA (Service Level Agreement) for their EC2 computing service promises a 99.95% uptime (less than 4.38 hours downtime per year), but you should read this article for a better understanding of what is being promised.
Another issue is cross-border data regulations. For example the HIPAA legislation for the healthcare industry in the United States does not allow healthcare providers to store patient data on servers outside the USA. Canada reportedly has a policy of not allowing public sector IT projects to use US-based hosting services because of concerns over data protection. And you need to be aware that under the US Patriot Act the FBI and other agencies can demand to see content stored on any computer, even if it being hosted on behalf of another sovereign state.
This is not just a US issue, of course, although attention has focused on the US because that it where most of the cloud datacentres can be found. It applies just as much to the UK, where the Regulation of Investigatory Powers Act will allow the police or secret services to demand access to databases and servers. And other countries may lack even the thin veneer of democratic oversight that the USA and UK offer to the surveillance activities of their intelligence agencies. There is more about European issues in this NYT article. A related legal issue is that if your personal data data is held in a cloud then it is more susceptible to being subpoened (an issue highlighted by the US government recently subpoenaing Twitter (and reportedly Gmail and Facebook) users over their support of WikiLeaks).
The Economist notes though that "there are technological fixes to this problem... Customers of Amazon’s storage service, for instance, can have their data kept either in an American or a European data centre. In future, cloud providers will offer many more options for where data are kept and how they are protected. It seems possible that data as well as content will eventually travel with security, location and expiry policies attached".
Which of these issues could affect your organisation's use of the cloud?
The Future of the Cloud, for Africa
The cloud is part of a bigger trend - the death of the middle. In the past, technology was very much centered around our servers in the back office and our desktops in the front offices. Now we are seeing servers migrating to the cloud, and the user experience migrating to mobile handheld devices like phones and tablets.
As this trend accelerates we will also see handheld devices drawing on the power of the cloud to boost their capabilities (and preserve their battery life). We've already seen programs like Wolfram's Mathematica incorporating the ability to upload computing tasks to the cloud, delivering cloud computing as a seamless feature of its software, and gaming companies are looking to stream games from clouds, allowing players with modest hardware to play high performance games.
Now projects like CloneCloud are using a smart phone's high-speed connection to the Internet to communicate with a copy of itself that lives in a cloud, seamlessly offloading processor-intensive tasks to its cloud-based double. And a similar approach is being used by Microsoft and Google to enable flawless speech recognition by uploading each piece of speech into a cloud where powerful computers drawing on hundreds of thousands of voice samples can accurately transcribe it and send the text back to the user's cellphone. The cloud and the cellphone will become more and more symbiotic.
The Economist notes that the mobile phone has already enabled developing countries to skip fixed-line networks. Cloud computing could prove to be a similar “leapfrog” technology because it dispenses with the need to build a cumbersome IT infrastructure. Together the cloud and cellphones could power Africa's future...
The future is cloudy!
If you enjoyed this KoiBriefing newsletter you can see previous ones here and sign up here to receive future briefings.
More Resources
- Balancing Act have an indepth report on Data Centre Markets in Africa (2011) available for GBP 500