Wednesday, April 14, 2010

Cloudy about Cloud Computing

Download it!



1. Introduction

Cloud computing is fast emerging to become one of the major trends that will shape the way we do things on the Internet. It promises to be a greener, scalable, cost effective alternative to utilizing IT resources. Cloud solutions facilitate faster implementation of innovative ideas, thereby leveraging businesses and changing the way we design and deliver software, as well as the business models used. This paradigm shifts processing and storage activities from the client-side to the data centers. Lets us take a closer look at Cloud computing and its core technologies.

Cloud computing provides on-demand access to dynamically scalable (elastic), virtualized IT resources that are managed and provided as a service over a network (typically the Internet) through a web-browser or a provider-specific interface. Some cloud services mimic the operations performed by their desktop counterparts, without having to install any additional software on the local machines. The complex network of linked data centers (acting as virtualized servers) and other resources are what we collectively call the “Cloud." Cloud computing, specifically enables Internet companies to rapidly scale up when there is a sudden increase in demand for their services; scale down, when there is decline in demand or to simply reduce operational cost. Hotmail is a simple example of a cloud-based service, with the emails and processing software stored online as opposed to running an e-mail program on your computer.

If cloud computing is such a good idea, then why wasn’t it implemented sooner? Well, in the past barriers like bandwidth, loss of control, trust and feasibility all played a role in reasons for not considering a cloud service. Today most of these challenges have been overcome, or countermeasures are in place to resolve the challenges. Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.

1.1 Characteristics

There is no single definition or a standard set of characteristics defined for this model of computing – ‘Cloud Computing’ can get a bit cloudy, to say the least! But, there is a consensus among several leading companies and academic institutions which collectively agree on five essential characteristics, three service models and four deployment models.

Essential Characteristics


On-demand self-service:
A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed in real-time through a service provider through a simple interface.

Ubiquitous network access:
Cloud Services are available over the network or Internet, and accessed through standard Internet-enabled devices that may be based on thin or thick client architecture (e.g., mobile phones, laptops, and PDAs).

Resource pooling:
The provider’s virtualized resources are pooled to serve multiple consumers using a multitenant model. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.

Rapid elasticity:
Computing capacity or storage and bandwidth capabilities can be automatically (without human intervention), rapidly and elastically provisioned, to scale up or down as the situation may demand. Enabling consumers to increase or decrease the rented capacity, proportional to demand or to effectively manage operational cost.
Consider a web service that requires a maximal 200 servers during the first 12 hours of the day and 400 servers during the next 12 hours when it receives its highest traffic. So the actual utilization over the whole day is (200 x 12 + 400 x 12) = 7200 server-hours. Assume that the company wants all its users to get the required satisfactory service, and thus employs the maximal (400) required servers. This cost the company 400 × 24 = 12000 server-hours. Indicating that the company pays for an extra 4800 server-hours; that is likely never to be utilized. Now, what if the company makes use of cloud services? ‘Rapid elasticity’ will enable this company to increase or decrease the rented capacity, proportional to demand. So the company will just use and pay for the actually required 7200 server-hours. This is 1.7 times less then what the company currently spends, which translates to huge savings!

Measured Service:
Cloud systems automatically control, monitor and report the resource usage of their customers and accordingly charge fees based on their usage.

Before we proceed, let us acquaint ourselves with some basic terminology. A User/End user is a person or organization that utilizes cloud services; a Provider offers, manages and may even develop Cloud-based services to third parties (users) and finally a Vendor develops and then sells or offers their products and services for free, to facilitate the delivery, adoption and use of cloud computing.

2. Service models


Cloud computing is composed of three Service Models: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS); where each model hosts a variety of different products for businesses and individuals around the world.

S
aaS: In SaaS, a complete application is offered as a cloud service. It is the only segment that has proven successful as a business model. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere. Using business applications over the internet via cloud services, rather than from on-site servers helps companies to avoid maintenance costs, licensing costs and the costs of the hardware required for running servers on-site.

PaaS:PaaS providers offer a platform for software development – inclusive of tools and APIs, which are provided as a service to its customers (mainly developers).

IaaS: IaaS delivers basic storage and compute capabilities as a service over the network. Servers, storage systems, switches, routers, and other systems are pooled to handle specific types of workloads — from batch processing to server/storage augmentation during peak loads.

3. Infrastructure models


Fig. 1: Typical architecture of a cloud system














These models basically are the types of clouds that can also be called deployment models. Figure 1 shows typical architecture of a cloud system.

Private cloud (Internal cloud): The cloud infrastructure is owned and operated solely for an organization or a limited number of people. These clouds are typically built behind a company's firewall; thereby, keeping all the company's data in-house, secured and in full control of the in-house IT staffers. Private clouds are a good option for companies where data security is of critical importance.

Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns.

Public cloud (External Cloud): The cloud infrastructure is owned by a third party organization renting (pay-per-use) cloud services to the general public over the Internet. Public Cloud services will mainly benefit small businesses, start-ups, users who need to use the internet often and the student community - that may have very little capital to invest in their own infrastructure. Students could make use of a very simple-to-use, affordable thin client with internet connectivity that connects to some cloud services to remotely work and store data on it. This will serve as a good solution for the One Laptop per Child (OLPC) initiative.

Hybrid cloud: The cloud infrastructure is a composition of two or more types of clouds.

4. Enabling Technologies for Cloud Computing

There are several technologies that act as the building blocks of Cloud services. I have explained two of the crucial enablers below.

Virtualization:
Virtualization allows servers, storage devices, and other hardware to be treated as a pool of resources rather than discrete systems. The benefits of virtualization become obvious when you consider that, most of the time servers don't run at full capacity, resulting in unused processing power. By using specially designed software (FreeVPS, Microsoft Virtual Server, Xen…), an administrator can enable virtualization.

Cloud Storage: Cloud storage is a utility-type service that provides multiple users access to a shared pool of storage capacity. Start-ups are expected to be among the biggest users of cloud storage, as savings are huge. Quite a few well-known companies offer some form of cloud storage that caters to a specific file types. A sampling of cloud storage vendors and their offerings:

Google Inc.'s Google Docs for documents, presentations and spreadsheets (which you can publish and edit online); Xdrive, MediaMax and Strongspace offer storage space for any kind of digital data; Web e-mail providers like Gmail, Hotmail and Yahoo! Mail that store e-mail messages with its embedded content (images, flash,…); Flickr and Picasa store digital images; YouTube hosts millions of user-uploaded video files …

5. C
loud services

Advancements in internet technologies have made it possible to now deploy web application that could only have be deployed on desktop environments in the past. From switching to Hotmail from Outlook Express or switching to GoogleDocs from MS Word, many user preferences have changed with time.

Cloud OS (Cloud Operating system):
So, do you want to sample some of the services offered by the cloud? You could make use of Cloud Operating systems that will serve as your personal (but remote) desktop on the cloud. Some of these web apps act as an alternative to their desktop counterparts. Popular Cloud OS’s such as EyeOS, iCloud and g.ho.st are offering more or less the same standard tools expected in any desktop environment, such as Office tools (word processing, spreadsheet, presentations, calendar,…), Games, File storage, Internet tools (Internet Browser, Email, FTP, IM), Multimedia tools (mp3 player, video player), Desktop Widgets, Application Development Tools and more. EyeOS is a PHP based open source cloud desktop that you can download and run from a Apache web server. iCloud, g.ho.st as well as EyeOS are offered as a free online service that requires you to signup for an account to use the desktop; enabling you access to the provided applications and your documents from any Internet connected computer. So go ahead, signup and be a part of the cloud revolution!

6. Conclusion

Cloud solutions enable faster implementation of innovative ideas. It will revolutionize the way we work and do business on the web. Cloud solutions are greener as the underlying infrastructure of service providers are shared among several thousand clients; so fewer servers are required to deliver cloud services. Making it a more cost and energy efficient alternative as a unit of work is completed with far less electricity, less cooling and thus reducing maintenance and overall cost.
For a more comprehensive study on this topic, you could refer Sanshodhan Technical magazine (SFIT), 2010 issue or download it above.

Kent K. Pawar, BE IT B, SFIT.

Sunday, January 31, 2010

A Student’s guide to WEB 2.O


w2logo

A Student’s guide to WEB 2.O

A quick look at the today’s fast evolving web

and what it has in store for us…

By Kent Pawar (SE INFT B)

kent.pawar@gmail.com

Currently a student of St.Francis Institute of Engineering, Borivali-West, Mumbai-400095.


Prelude

The Web: “Computer network consisting of a collection of internet sites that offer text and graphics and sound and animation resources through the hypertext transfer protocol.”

The main motto of today’s netizens is to offer amazing services for FREE – we will look a bit more into this later in the article. It is this philosophy (read Freemium model) that will ensure its rapidly continuing evolution towards a more powerful medium that enables us to satisfy our primal need to communicate and share information with each other.

Where it all began

First, a little something about the birth of the web. Sir Timothy J. Berners-Lee is an Englishman who invented the World Wide Web in March 1989. In the beginning, there was ARPANET, a private network designed to cater to the American military’s needs. Now it has evolved to form the internet as we know it today - a global public network.

The most significant feature that the internet offers us is the web, besides electronic mail, file transfer… It is a system of interlinked hypertext (that’s HTML) documents usually referred to as the World Wide Web (www or web for short) that facilitates the sharing of information using content rich web pages.

So what’s WEB 2.O?

The web means different things to different people. What I am trying to give you is a bird’s eye view of today’s web scene. So let’s get started. Initially, we never called the web “Web 1.O”; actually that term was coined as a formality after O'Reilly and MediaLive introduced the phrase "Web 2.O." Also, Web 3.O is a term used to describe the possible future of the Web.

The term “Web 2.O” was created during a small brainstorming session between O'Reilly and MediaLive International (a seminar organizer). Tim O'Reilly is the founder and CEO of O'Reilly Media. In 2OO4, O'Reilly, John Battelle, and MediaLive hosted “The Web 2.O Conference,” by which they introduced the Web 2.O meme to a huge crowd.

I define it as a term used to refer to all the latest web technologies (currently implemented as web services) as a single entity. Where focus in more on a user’s experience, than just applications; as was the case before. So simply put, today’s super cool web IS the Web 2.O. But note that "Web 2.O" does not mean that it is a new version of the WWW; it is merely a continuation of so-called "Web 1.O" technologies with quite a few enhancements.

Since web 2.O is not a technical term, as it may seem to be, it can be very difficult to define it. As WIRED magazine aptly stated: “It's tough to define, but people know it when they see it.”

So, is it just a marketing buzzword or step towards better understanding, presenting and organizing the content on the WWW? That only time will tell. Okay, enough said! Let’s see some examples!

Where and how can I experience Web 2.O?

You will need an up-to-date web browser, which supports the new advances in HTML, JavaScript, CSS and other technologies. TIP: Firefox Mozilla is a good free browser. I have been using it for more than a year now and it has been a good experience.

So now that you have a good browser, to surf web 2.O, how do you find it? This is easier than you may think. Just look around the web and you will find some new web services that have made life easier and a lot more fun.

That’s right: powerful search engines (like Google, duh!), online media sharing resources (images, music, video, etc), content aggregation and syndication (RSS feeds), mashups, wikis, blogs, social-networking, open-source, open-content, file-sharing, Rich-Internet application

User generated content, social computing, social bookmarking, Mashups and Widgets and much more fall under this category (whew - that’s a mouthful).

Let’s look at some of the above categories with a few examples:

>Rich-Internet application:

Apps (applications) that make use of Ajax, Flash, Flex, Java and Silverlight with a view to improve the user-experience in browser-based environments.

>Online media sharing resources:

With the increase in the average speed of your internet bandwidth, a host of media sharing portals have popped up to cater to your appetite for entertainment. Take for example the overnight success of YouTube – a site that allows users to upload videos and share them or the image sharing portals like Flickr and Picassa. And let’s not forget the time when Google went all “Web 2.O” crazy and bought YouTube for a cool $1.65 Billion (drool).

>Open-content:

It is any kind of creative work that allows copying and modification of its content by anyone. The largest online open-content site is Wikipedia. Please note that copying content from the net without permission is an offence in every part of the world. Also, you could be easily found out if your submitted content is searched and found using Google. Thus I advise you to always play safe.

>Open-source:

It is different from open-content in one way – here software source code is the content that is openly available for sharing. This is a very important concept. A very good example of the same will be Linux and its flavors.

>User generated content:

The content uploaded on the web was usually uploaded and maintained by the web sites themselves. But with the advent to new storage technologies, it became easier and cheaper for web sites to offer free storage space to users to upload all media types (audio, video and alike). Thus was the birth of User generated content. This form of freedom offered to the web surfers a plethora of exciting ways in which they could present their home produced media on the web. Some examples include digital videos on YouTube, blogging on Wordpress, podcasting, pictures on flickr, news, research, mobile phone photography and Wikis like Wikipedia, Discussion boards (also called forums), Social networking sites (do I really need to give an example? – I didn’t think so, LOL). Please note all the above content hosts are web sites.

User generated content was featured in Time magazine's 2OO6 Person of the Year, in which the person of the year was "you", meaning all of the people who contribute to user generated media such as YouTube and Wikipedia.

>Online social networks:

Social networks have made it easier to make friends, create and join communities or just stay in touch. Some very popular sites in this category include: MySpace, Facebook, Orkut, etc… All these sites are free to signup. While MySpace has maintained a simple interface, Facebook and Orkut have made use of AJAX to improve the users overall experience.

Hold on, I’m missing something here… what’s AJAX?

Don’t fret, its nothing new really; just good old JavaScript in a new avatar– AJAX (Asynchronous JavaScript And Xml) is basically the smart application of JS to load content dynamically on a page without having to refresh the page entirely to load the required extra data; thereby saving the users time and improving the overall experience. Thus we say AJAX is asynchronous as the extra required data is loaded in the background of the webpage (not visible to user) without interfering with the display and behavior of the page being currently viewed. AJAX makes use of the XMLHttpRequest object thereby eliminating the need for page refreshes.

Have you noticed how Google Suggest or yahoo gives you suggestion in a drop down box when you enter a string in the search box? Well, this is a good example of AJAX at work. Another good example is the asynchronous (re)loading of news/stock prices tickers on a web page.

Thus, AJAX is very important to the Web 2.O movement and thus is a worthy mention.

>RSS and Atom feeds:

Are you tired of checking a site for news updates? No problem! RSS (Really Simple Syndication) and Atom will send the latest updates to your browser. A site that offers these Feeds will usually have an orange Feed icon. The user clicks on this button to avail of these services.

>Mashups and Widgets:

It is a web application hybrid that combines data from more than one web services into a single integrated tool. Consider a blog that is presented to the user as a feed by RSS. While Widgets are mini web apps like news tickers or search boxes offered by big websites to users to embed them to their blogs or web pages.

>Social computing:

It is a general term for an area of computer science that is concerned with the intersection of social behavior and computational systems. Blogs, email, instant messaging, social network services, Wikis and social bookmarking are few examples of the same.

>Wiki:

It is a Hawaiian word for "fast". Ward Cunningham started developing WikiWikiWeb in 1994 and it was the first site to be called a wiki. We have all heard of Wikipedia. Our one-stop-shop for all information on topics ranging from the technical to the just plain absurd! Admit it, we all have at some point of time completely relied on this Site of Sites (sic) for completing our assignments at the eleventh hour. But what exactly is Wikipedia? It is one of many Wiki software applications that enable users to create a webpage on a specific topic and jointly edit it. To ensure the content added is of high integrity, the software requires users to vote. Only then will the content appear on the page. This system does have a few flaws; but it is a work in progress. As we can see by the immense popularity of these Wikis the world over, it will only get better with time.

>Blogs:

A blog (weblog) is just an online web log. Yup, that’s how it got its name. It is a webpage where entries called post are displayed in reverse order. So the last post will appear right on top. It could contain embedded videos, text, images, and links. The readers are allowed to leave comments for each post. Thus, a blog can be used for various purposes besides just maintaining a log. For example - I have implemented a blog on our very own IRISO8 site for maintaining a constant touch with the students at iris08sfit.wordpress.com.

>Social bookmarking:

To be frank I was a bit surprised to when I first come across about this. We all know what bookingmarking is, but what on earth could social bookmarking be? It’s a simple but extremely powerful concept. So powerful that it could be responsible for changing the way we search for information on the web. First, imagine if you could share your favorite bookmarks with the world. Now imagine that every user could also do so! This will result in a well compiled list of links to web pages arranged into well defined categories which are updated frequently. This will make it easier to rate information on the web – a big step towards organizing the content on the web. Mostly, bookmarks here are organized using tags. Del.icio.us, a site launched in 2OO4, pioneered tagging which is still popular to this day. Similar sites include Digg, reddit and Newswine.

Conclusion

We have seen how the web, has changed the way we work, think and dream. The web will continue to empower our generation and the next with new tools and web services. It is up to us to ensure that we make optimum use of it. The web now represents a playground where we as users can contribute to it and be a part of it for the better. So go ahead and join the information revolution!

I am always looking forward to your feedback via email or on my blog.

This article can be found at http://www.kentpawar.wordpress.com

and is under the Creative Commons License Agreement. Some Rights Reserved.

References:

http://www.oreilly.com

http://www.wired.com

http://www.wikipedia.org

http://www.paulgraham.com/web20.html