The main points for the talk are grouped and summarized as follows :
Definition :
a.) It’s the movement of application services onto the Internet and the increased use of the Internet to access a wide variety of services traditionally originating from within a company’s data center
b.) There are two parts to it. The first is about just getting the computation cycles outside of your walled garden and being able to avoid building data centers on your premises.
It is about the data being in the cloud and about the people living their lives up there in a way that facilitates both easy information exchange and easy data analysis.
c.) clouds are a platform for general computation and/or services
d.) Cloud computing is the computing side of the Internet available on a public or private basis
Architecture/Design/Development :
a.) defined as the three layers
Saas : Software-as-a-Service -> delivers applications such as Google Apps, Salesfore.com
Paas : Platform-as-a-Service -> provides foundational elements for developing new applications
Iaas : Infrastructure-as-a-Service -> provides infrastructure, like Amazon EC2, showing that infrastructure can also be accessed through cloud.
b.) understading cloud computing requires the learning of the following :
Saas
SOA(Service Oriented Architectures)
Virtualization(not just CPU virtualization but virtualization in general)
Scalable distributed computing
c.) Development of client-side technologies such as HTML,CSS,Ajax and broadband connectivity is very important
d.) Virtualization provides an encapsulation of application and operating system. This is making the execution platforms generic, because all that is required for virtualized
application/operating-system pair to execute one new platform is to support a VM(Virtual Machine) runtime.
e.) Most interesting APIs on the Web were put together to perform application-specific services. This approach to SOA architecture was and important pre-cursor to cloud computing.
f.) Cloud doesn’t forces to use thin client(HTML,AJAX) or fat client(like Adobe Lightroom).
g.) The location where things happen is important. Read the following example
Costs :
a.) There are two types of costs -> CapEx(Capital Expenditure) and OpEx(Operational Expenditure)
CapEx forces to put in heavy investment when you start business.
OpEx is the cost you pay while running business.
b.) Its hard to predict the software success these years due to intense market competition.
c.) The important thing is to make architectures in which expenditure follows income so, initially the less investment you make upfront, the better.
d.) But, there are other important factors as cost like flexibility and access to resources.
Challenge/Vision :
a.) To build application once so that it can configure itself automatically in real-time to operate in best-efficient manner based on it deployment parameters.
Besides these, there were few examples which are worth noticing and we can learn from them
Idea : The location where things happen is important.
If you start developing an application, you want to minimize risk. One interesting application that seen recently is from the data group of Nasdaq called Market Replay, recalculates earlier market movements. A client would note that the billing for a trade executed six months earlier was 2 percent higher than the quote made at the time of the trade. Investigating a past trade required Nasdaq to run expensive and unprofitable ad-hoc queries against the database.
The stock exchange received so many requests over time that it wondered whether the recalculation of earlier market movements could be a profitable service. To minimize development risk, however, it did not want to make any capital investment in infrastructure to support that effort. It chose to start storing all exchange information into Amazon S3 next to its own databases.
Nasdaq’s goal in providing this service was only to bear development costs. It wanted the client’s desktop to do all the computational work and the data had to reside somewhere other than the exchange. It developed a Flash application out of components it already had and made the application available for download. Clients would run the application, and the data to do the recalculation was made available from S3 through a fee arrangement. Given the goals of zero additional investment, Nasdaq thought really hard about where the CPU cycles should execute. It decided that the application should run on the client’s desktop because it didn’t want to invest in the required infrastructure to execute those cycles at the Nasdaq server site.
Idea : Using the cloud as a powerful back end for devices opens up whole new areas for innovation.
An interesting example of this is Shazam, an application that runs on Apple iPhone. One can hold iPhone up to a radio playing a song. Shazam samples that song and sends the sample up to the cloud where it is matched to a large library of songs. Shazam then tells me what song I am listening to so I can then go and buy it. This is where we are being smart about where computation occurs. We’re using a lot of heavy-duty computation on the server side coupled with a smart device.
Idea : Computation doesn’t necessarily has to be close to the data.
It has to be close to where that data is massaged. There are some applications where project control is done. Large multibillion-dollar projects produce a ton of information. While analysis of the data can be done from the server side, sometimes when client/server bandwidth is limited, it is better to download the data and extract it to the client so analysis can be done locally.
For a project in Equatorial Guinea, everything had to be done over a satellite. For that situation it made sense to move the data to a location that afforded better accessibility. Applications were written so they can execute where it is most effective for the end user. If end users feel like they get a better rate of response by doing it locally, then they do it locally. If there is no constraint on the bandwidth, then you do it where the data resides.
There were few more examples given during the while discussion that emphasized on the scalability, simplicity, robustness, cost and utilization of resources, which are the key characteristics of Cloud Computing
Reference : http://queue.acm.org/detail.cfm?id=1551646
