Cloud Coverage

To many non-computer savvy people, the cloud is a complete mystery. What exactly is the cloud? What is it used for? Many people know the cloud is important, but not exactly what it is or what it does. To put it in technical terms, a cloud is a virtual resource pool that has an interface that (if it is well designed) hides any underlying complexities. In other words, it’s an Internet-based network that provides shared processing resources to its users. Utilizing a cloud means storing, managing, and processing data on it without caring exactly where the data itself is physically stored among the cloud’s many machines.

For developers, cloud computing provides a convenient way to store data without having to worry about any in-house costs, organization, or dedicating employees to its upkeep and management. For them, it’s in their best interests to let outside services such as Amazon EC2 (Elastic Compute Cloud) and Google App Engine take care of the specific details so that company resources can focus on other production factors. Programmers specifically only have to worry about interacting with the cloud system through its API in order to make full use of the data they send, store, process, and retrieve from it.

For consumers, the cloud means long term durability in the storage of their data. Many cloud systems keep replicas of files within their systems in case of individual machine or large scale power failures, so users can rest assured that (at the very least) the persistence of their stored files is reliably guaranteed. For this reason, cloud computing is often used for massive data generating services like Facebook, YouTube, and Twitter where every consumer is a producer of content. And thanks to the cloud, this data can be accessed quickly by multiple devices on demand.

But technology has always evolved one step ahead of security and regulation. Just look at the Internet; even though it has been in use for nearly 30 years, the waters of Internet control are still being tested by controversial concepts like SOPA (Stop Online Piracy Act) and net neutrality. Cloud computing is no different. Security and privacy risks are the prices consumers pay for using cloud computing services. Content stored on the cloud is very vulnerable to attacks and leaks, as was demonstrated by the high profile iCloud leak in 2014 where almost 500 private pictures of various celebrities were exposed to the public. This tradeoff decision between convenience and privacy is often a choice that most users of social media systems don’t consciously make.

I am currently taking CSE 40822/60822: Cloud Computing under Dr. Thain. Through coursework I have had experiences coding for Condor, a distributed computing system, at Notre Dame as well as a Work Queue master/worker framework. Right now I am currently working with Hadoop and Map-Reduce algorithms while learning Pig Latin and HBase. The processing power granted by using a cloud system speeds up performance tremendously on a scale that can only be appreciated by experiencing it with large jobs. For example, if rendering a one minute video on a single machine at 10 frames per second using POV-Ray takes 7 hours and 20 minutes, utilizing the Condor cloud could potentially break this total time down to only 32 minutes.

I have mentioned several times on this blog that I hope to one day begin my own startup company. Building an infrastructure that is capable of scaling pretty much requires knowledge of cloud computing concepts and their implementation, so I can see myself making much practical use of this knowledge in the future. Maybe cloudy skies in the forecast aren’t such a bad thing after all.