Understanding Cloud Computing
1. The Internet Industry Is on a Cloud — Whatever That May Mean
Explains the confusion over the term “cloud computing.” The Wall Street Journal provides these takeaways:
I have no idea what anyone is talking about,” said Oracle Corp. Chief Executive Larry Ellison, when talking about cloud computing at a financial analyst conference in September. “It’s really just complete gibberish. What is it?” He added: “When is this idiocy going to stop?”
In its broadest sense, cloud computing describes something apparent to anybody who uses the Internet: Information is stored and processed on computers somewhere else — “in the clouds” — and brought back to your screen.
“But no two clouds, apparently, are alike. A company’s backroom mass of servers and switches is cloudlike. So are social-networking sites like Facebook Inc., or the act of buying a book on Amazon. Some clouds, like Google’s email service, Gmail, are public. Others, like corporate networks, are closed to outsiders.”
Provides a very good general description of cloud computing.
So, what the heck is ‘cloud computing?
Before: If you wanted to type a letter, create a spreadsheet, or play a game, you’d have to go to the store, buy the software, and install it on your hard drive. And each time you used one of these applications, everything you did took place inside the computer sitting on your desk. But then the Internet came along.
Nowadays: …if you want to watch a video on YouTube, share photos with friends on Flickr, listen to music on MySpace, or post an ad on Craigslist, all you really need is a browser and an Internet connection.
That’s because nearly all of the applications we use and all the data we access is now stored on a remote server somewhere out in “cyberspace.” And these servers are housed in massive data centers that are all interconnected via the Internet to form a giant computing grid or ‘cloud.’
According to The Economist, 69% of Americans now use some kind of “cloud service,” be it Web-based email, online data storage, or online applications such as Google Docs.”
Furthermore, businesses are using cloud computing to drastically cut their IT budgets — hence the explosive growth of enterprise software-as-a-service (SaaS) companies such as salesforce.com (NYSE: CRM) and NetSuite.
Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.
The concept incorporates infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) as well as Web 2.0 and other recent (ca. 2007–2009) technology trends that have the common theme of reliance on the Internet for satisfying the computing needs of the users. Examples include Salesforce.com and Google Apps which provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers.
Notes many variations on the definition of the cloud.
For example, “William Fellows and John Barr at the 451 Group define cloud computing as the intersection of grid, virtualization, SaaS, and utility computing models.”
James Staten of Forrester Research describes it as a pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting end-customer applications and billed by consumption.
This article takes the definitions a step further, providing five characteristics of cloud computing:
- Characteristic 1: Dynamic computing infrastructure
- Characteristic 2: IT service-centric approach
- Characteristic 3: Self-service based usage model
- Characteristic 4: Minimally or self-managed platform
- Characteristic 5: Consumption-based billing
Provides a more technical description of cloud computing and describes three types of cloud computing:
- Utility Computing: “Amazon’s success in providing virtual machine instances, storage, and computation at pay-as-you-go utility pricing was the breakthrough in this category…Developers, not end-users, are the target of this kind of cloud computing.”
- Platform as a service: “One step up from pure utility computing are platforms like Google AppEngine and Salesforce’s force.com, which hide machine instances behind higher-level APIs. Porting an application from one of these platforms to another is more like porting from Mac to Windows than from one Linux distribution to another.”
- Cloud-based end-user applications. “Any web application is a cloud application…Google, Amazon, Facebook, twitter, flickr, and virtually every other Web 2.0 application is a cloud application in this sense. However, it seems to me that people use the term “cloud” more specifically in describing web applications that were formerly delivered locally on a PC, like spreadsheets, word processing, databases, and even email. Thus even though they may reside on the same server farm, people tend to think of gmail or Google docs and spreadsheets as “cloud applications” in a way that they don’t think of Google search or Google maps. This common usage points up a meaningful difference: people tend to think differently about cloud applications when they host individual user data.”
- “It’s not the database software that matters, but the data that it holds, and the services that can be built against that data… The company that creates the right platform for network effects in data” has the best opportunity for scalability.
In many ways…cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.
Describes the differences between SaaS (Software as a Service) and cloud computing.
The technical distinction…is clear: cloud delivers computing as a utility, SaaS delivers an application.
Advantages and Disadvantages of Cloud Computing
Cloud computing represents return of platform wars and these “old” issues: “proprietary, commercial systems running our applications, very real risks of vendor lock-in, the requirements of adapting our businesses to difficult-to-customize one-size-fits-all computing models, and many others.”
Describes significant advantages of cloud computing: economies of sale, business and IT agility, and centralization of best practices and competency.
Describes how to achieve success in the cloud. Speculates whether more agile, small to medium size businesses will adapt better to cloud computing and ultimately eclipse older, traditional firms.
Cloud Computing and Openness
Defines cloud computing as “leveraging 3rd party computing capability over the network to cut costs, increase sale, improve agility, and access best practices.”
Discusses Microsoft’s pre-emptive move against the Open Cloud Manifesto and questions the meaning of openness in cloud computing. Describes different meanings for “open” in the information technology space, including open source code, open APIs, and open data formats. Suggests criteria for defining openness.
Proposes how to define an open process on cloud computing interoperability. Recommends a process open to the public, principles and standards that are not vendor specific, and a recognition that the cloud computing industry is still maturing.
Cloud Computing and Compliance
Describes the impact of cloud computing on settings that must comply with the following standards: Auditing-related standard SAS 70, Payment Card Industry Data Security Standards (PCI DSS), and the Health Insurance Portability and Accountability Act (HIPAA.)
In these settings, compliance means companies must know where “their client’s data is, and what parts of the network it passes through, even if that complexity is invisible to the client.”
Cloud Computing and Vendor News
The online retailer is a pioneer in cloud computing, thanks to a willingness to extend the IT infrastructure that powers its own sites and services into a rent-by-the-hour computing service of its own. And now the time has come to lock customers into long-term contracts. These virtual machines on Amazon’s robust infrastructure can run any service you like, and they already power dozens of business-class applications.
Describes how to implement a secure, redundant, load-balanced web application in the Cloud, using GoGrid.