<html>
<head>
<title>Document Title</title>
</head>
<body>
The content of the Document
</body>
</html>
|
|
Replicated Cache
|
Partitioned Cache
|
Standalone
|
|
Fault Tolerance
|
Extremely
High
|
Extremely
High
|
No fault
tolerance
|
|
Read Performance
|
Extremely
fast
|
Extremely
fast
|
Instant
|
|
Write Performance
|
Fast
|
Extremely
fast
|
Instant
|
|
Typical Uses
|
Metadata
|
Read-write
caches
|
Local
data
|
Cloud computing has become the buzzword of IT industry. Recently I found a very interesting line at Sun's blog site. It says:-
"It's easy to get lost in all the talk about cloud computing. Everybody seems to have a cloud, connects to the cloud, is cloud-enabled, or at the least, is cloud-ready."
I never knew what cloud computing is all about. Reading the line above, I felt that I should at least try to get an overview of cloud computing. I searched the internet for articles on cloud computing to get an overview. By now, I do have an idea of what cloud computing is and want to document my thoughts.
In simple words, to me, cloud computing is all about moving applications outside the firewall of the enterprises to be hosted by third party. Users can access the applications via their browser or any other interface. The applications will be available to the users as a service over internet. Thus we can have any IT resource deployed as a service in a cloud computing system, be it applications, storage, networking, office tools or any other utility softwares. In a cloud computing system, the softwares like mail client, word processors, spreadsheets etc will all be loaded from the remote system. Users will be able to access and log into their system anytime, anywhere as they will be accessed via internet.
Now what is the important are the key benefits of cloud are computing. The most important of the key benefits is cost savings. It will bring down the hardware and software licensing costs largely thus saving capital expenditure for the enterprise. It also saves costs on infrastructure support staffs and space as the enterprises are not owning the infrastructure but renting them. Additionally it gives the enterprise users location and device independence. Users can always access their applications and on any device apart from laptops or desktops, like smartphones. On the flip side there are huge concerns regarding data security.
With whatever knowledge I’ve gained by reading through cloud computing articles, I do have some observation from my perspective. They are:-
· I believe cloud computing is the latest trend in IT industry and not a hype.
· It will take another 7-8 years for cloud computing to take-off.
· Successful implementation of cloud computing depends heavily on high-speed internet/telecom networks.
· Cloud computing can add great value to SMBs and startups (cost savings maximum).
· Cloud computing may turnout to be more expensive than what it promises to be.
Google and IBM seem to be leading the race in cloud computing space. Few sites that I found helpful in understanding cloud computing are:-
http://communication.howstuffworks.com/cloud-computing.htm
http://www.infoworld.com/d/cloud-computing/what-cloud-computing-really-means-031?page=0,0
Web 2.0 has opened the door for a new breed of web applications. Mashups, like Wikis, blogs and social networks are a part of Web 2.0 but mashups continues to grow faster. A mashup is an application that combines information from different sources and integrate them to deliver content for a specific purpose or a new functionality. The purpose of mashups are to create a new class of service or functionality that is convenient, more user specific and generate new business opportunities. For instance, a mashup application can combine service from a mapping application and apparel store to locate all the branches of the store in a city. There is a huge possibility for mashups in today’s world. Forrester Research predicts that mashups will be a $682 million industry in the next 5 years. Mashup promises cost effective solution that add a great value both at user as well as at enterprise level. Few more examples of mashup are Amazon Light and ActorTracker. Amazon Light contains listings of products sold by Amazon.com and combines them with data from Google, Yahoo, Del.icio.us, Blogger and others. ActorTracker combines Amazon, eBay, and other movie data. BizRate, PriceGrabber, MySimon, and Google's Froogle used combinations of business-to-business (b2b) technologies.
Architecturally, a mashup is comprised of three layers:-
Datasources/Content Providers layer – A mashup application can get data from diversified data sources. It could be a XML feed (RSS/Atom) or by calling external APIs exposed by third parties like Google Maps API, APIs from Microsoft (Virtual Earth), Yahoo (Yahoo Maps), AOL (MapQuest) or Flickr APIs. A detailed list is available at http://www.mashupfeed.com.
Transformation Layer – This layer basically transforms the data by filtering, sorting or by performing any custom operation on the data to create something useful.
Front-End/UI layer – Mashup is all about creating rich user experience which can be created using tools like Google Mashup Editors or IBM’s Lotus Mashups.
From implementation perspective mashups can be enterprise or non-enterprise. An enterprise mashup is created in a server while a non-enterprise mashup is created within the browser. Most of the mashups available today are browser based. They query the data sources/content providers, transforms the data and render it in a browser. Browser based mashups extensively use AJAX which allows pages and data used for the mashup to change without the page being refreshed, thus, making the tool very efficient for the user. Tools like Google Mashup Editor can be used for creating browser based mashups which can be created by end user with limited programming knowledge. Thus they are extremely useful for creating situational application quickly by the end user without incurring an overhead on the existing IT infrastructure. But browser based mashups have limitations. Browser based mashups cannot provide much option to the user and has large dependency on sources. Again, browser based mashups are created using javascript which has limited ability to perform complex operations\
On the other side enterprise mashups are more robust in nature. They can address the features of security and governance. Mashup server provides visual drag-and-drop interface for mashing services together. Common functions like merging, filtering and even custom functions such geocodeing are built into the server toolkit. The mashup server can safely perform and store authentication and authorization information for external services. It can also be connected to the enterprise's own authentication and monitoring toolsets.
A tutorial for creating mashups using GME is http://code.google.com/support/bin/answer.py?answer=71042&topic=12044
Few available Mashup editors are:-
·
· Yahoo Pipes
· Google Mashup Editor
· JackBe
· Lotus Mashups
· Microsoft Popfly
· Mozilla Ubiquity
Nowadays, there is a lot of buzz around the word
Key drivers to
· Low cost of mobile devices compared to PC or laptop
· Mobile devices are portable and always with us.
· Rapid penetration of Wireless Technologies like 3G
· New Business opportunities
The big question with mobile 2.0 is whether the web 2.0 applications will go mobile or there will be mobile specific applications. Before finding the answer, we need to understand that a mobile device is not a PC. It has a small screen and users have a different way of interaction with a
A very interesting development in the mobile device space is that many Internet players are entering the market. Apart from the handset manufacturers like Nokia, Motorola, Sony Ericsson or HTC, companies like Google, Apple (iPhone), Microsoft (Zune) and HP are also entering the market. They are also coming up with their own set of APIs which can be utilized for creating Mashups like iPhone SDK, Mobile Ajax, Nokia Web Run-Time, Google Gears, Android, Yahoo! Blueprint. Today there are many
Few key challenges ahead of
· There is a plethora of phones, multimedia formats and network configurations that needs to be standardized.
· Finding the right advertising model for facilitating ad-sponsored content.
· Quality of service by telecom operators for multimedia content which are usually bandwidth intensive.
· High cost of advanced multimedia handsets
A simple, futuristic example of