Cloud Computing: Opportunities and Challenges
The feature articles in this month's theme:
Navigating the Next-Generation Application Architecture
As individuals and enterprises shift to the more open and dependent world of cloud computing, IT professionals face significant changes to the application development environment. More »
Data Security in the World of Cloud Computing
Because cloud computing presents unique security problems, the industry should establish coherent, effective policy and governance to identify and implement proper security methods. More »
SQL in the Clouds
Exploring algorithms that exploit cloud computing’s inherent dataflow nature reveals that a few customizable templates, assembled recursively as necessary, can handle a wide class of SQL data mining queries. More »
The Eucalyptus Open-Source Cloud-Computing System
The Eucalyptus open-source software framework for cloud computing implements “Infrastructure as a Service”—systems that let users run and control entire virtual machine instances deployed across a variety of physical resources. More »
Cloud computing is one of today’s most-discussed technical topics. Despite the relative decline of grid computing and unfulfilled promises of utility computing, cloud computing appears to be catching on in both industry and academia. Compared to its predecessors, cloud computing seems to be better positioned in terms of economic viability, cost-effective approaches to scale and reliability, early adoption of interfaces, and open source implementations. For the September 2009 Computing Now theme, I selected a few articles that address some of these topics.
Using clouds, IT departments have more options to fully understand the costs associated with owning versus renting CPUs, storage, and networking. The costs usually revolve around managing equipment (operational) and not just buying it (capital). Amazon and other providers are relying on consolidating resources with automated management to make it cheaper for customers to rent resources than buy them. “The Real Cost of a CPU Hour” from Computer magazine addresses this topic in more detail.
Developers understand how to write applications for locally accessible servers, as well Web services accessible over the Internet. What does it mean to write applications for cloud computing? How are they different from traditional models? Presumably, they should be elastic (scale from a few users/nodes to a large number of them), delivered on demand without significant dependencies, composable, and so on. For more details, read “Navigating the Next-Generation Application Architecture” from IT Professional.
Security concerns gain new dimensions in cloud computing. In the past, security meant not letting anyone access computing infrastructure and data, but now the data resides somewhere in the cloud. While there are reasonable guarantees and technical means to isolate users inside a shared infrastructure, higher-level concerns arise around business continuity: Can I really trust that the cloud provider will be always there? How can I gain access to my data? Read “Data Security in the World of Cloud Computing” from IEEE Security and Privacy for more on this topic.
Despite the availability of commodity and open-source databases, databases at the enterprise scale remain extremely costly. It takes a lot of effort, expertise, and money to tune high-end servers to run DB2 or Oracle. Cloud computing, along with Hadoop and Pig, offers a tremendous opportunity to accomplish similar scale and reliability at a fraction of the cost. For more on these topics, read “SQL in the Clouds” from Computing in Science and Engineering.
Standards and Open Source
Many companies are exploring public and private clouds, and a key factor for success will be interoperability. In much the same way that early networks needed standard protocols that eventually resulted in the ubiquitous Internet, cloud computing providers will have to come up with similar standards that will enable access to any cloud. Eucalyptus is an open source implementation of Amazon Web Services, which seems to be the approach other software infrastructure packages are using. To learn more about Eucalyptus, read “The Eucalyptus Open-Source Cloud-Computing System” from Proc. 9th IEEE/ACM Int'l Symp. Cluster Computing and the Grid.
What do you think about cloud computing? Share your opinion by answering our poll questions.
Dejan Milojicic is the founding editor of Computing Now. He has served on the editorial boards of IEEE Parallel & Distributed Technologies, IEEE Concurrency, IEEE Distributed Systems Online, and IEEE Internet Computing magazines. He chaired the IEEE Technical Committee on Operating Systems and has been involved with several other technical committees and Computer Society-sponsored conferences.
Dejan is a senior research manager at HP Labs. He has worked in the areas of operating systems and distributed systems for more than 20 years. He has been engaged in standardization bodies, such as OMG and GGF. He is a member of the IEEE, ACM, and USENIX. He received his BSc and MSc from University of Belgrade and PhD from University of Kaiserslautern. He can be reached at email@example.com.
Green Cryptography: Cleaner Engineering through Recycling
The “green cryptography” design paradigm advocates mature and minimalist implementations by recycling cryptographic strategies. More »
From Backpacks to Smartphones: Past, Present, and Future of Wearable Computers
Has the smart phone made wearable computers obsolete? And where does the rise of the smart phone leave wearable computing research? More »
High-Level Synthesis: Past, Present, and Future
Learn why current high-level synthesis tools are finally seeing industry adoption after unsuccessful early attempts and what to expect as HLS evolves toward system-level design. More »
Photonic NoCs: System-Level Design Exploration
Photonic networks-on-chip offer a promising solution to meet the communication requirements of chip multiprocessors with minimal draw from their power budget. More »
What Do We Know about Agile Software Development?
A literature search yielded 1,996 agile-methods articles; 36 showed enough rigor and relevance to support a study of empirical findings on agile software development. More »
Games, Virtual Reality, and the Pursuit of Happiness
With a weakened global economy and healthcare in crisis mode, can computer graphics applications reduce suffering in the world and bring us closer to happiness? More »
The New Frontier of Human-Level Artificial Intelligence
Within the field of human-level intelligence, researchers are combining several approaches to achieve human-like breadth, flexibility, and resilience for artificial intelligence systems. More »
When Sensitive IT Information Crosses Borders
The seizure of information-bearing devices at US borders generates many ethical, legal, and logistical challenges. Here are specific suggestions to help reduce such problems. More »
A Novel Approach to Steganography in High-Dynamic-Range Image
A steganographic method for hiding messages uses high-dynamic-range images. The technique provides for authentication, a large embedding capacity, and limited distortion. More »
Solving Computational Problems with GPU Computing
Modern GPUs are massively parallel microprocessors that can deliver very high performance for the parallel computations common in science and engineering. More »