48 CHAPTER 2 APPLICATION LAYER
2.1
CLOUD COMPUTING
WITH
SALESFORCE.COM
MANAGEMENT
FOCUS
Salesforce.com is the poster child for cloud
computing. Companies used to buy and install
software for customer relationship management
(CRM), the process of identifying potential
customers, marketing to them, converting them
into customers, and managing the relationship
to retain them. The software and needed servers
were expensive and took a long time to acquire
and install. Typically, only large firms could
afford it.
Salesforce.com changed this by offering a
cloud computing solution. The CRM software
offered by salesforce.com resides on the sales-
force.com servers. There is no need to buy and
install new hardware or software. Companies just
pay a monthly fee to access the software over
the Internet. Companies can be up and running in
weeks, not months, and it is easy to scale from a
small implementation to a very large one. Because
salesforce.com can spread its costs over so many
users, they can offer deals to small companies
that normally wouldn’t be able to afford to buy
and install their own software.
operated by the company itself, but it is not necessary—a server can be anywhere on
the Internet and still provide its services to the clients and servers that need them.
With cloud computing, a company contracts with another firm to provide software
services over the Internet, rather than installing the software on its own servers. The
company no longer buys and manages its own servers and software, but instead pays a
monthly subscription fee or a fee based on how much they use the application. Because
the cloud computing provider provides the same services to many companies, it has
considerable economies of scale that drive down costs. Therefore, cloud computing is
often cheaper than other options—at least for commonly used applications.
Gmail is a good example of cloud computing. Gmail is available to individuals for
free, but Google has made the same service available to companies for a fee. Companies
pay $50 per user per year for private email service using their company name (e.g.,
jsmith@xyz.com). Many companies have determined that it is cheaper to pay for gmail
than to buy and operate their own email servers. For example, Indiana University has
moved to this model for all undergraduate students.
Client server architecture also enables server virtualization, which is essentially
the opposite of scaling. With scaling, we add more servers, whether Web servers, appli-
cation servers, or database servers, depending on which part of the architecture needs
more capacity. Server virtualization means to install many virtual or logical servers on
the same physical computer.
Many firms have implemented client-server architectures using separate computers
for each server, only to discover that the computers are not fully used; they are running
at 10% or less of their capacity. Server virtualization combines many separate logical
servers onto the same physical computer, but keeps each of the servers separate so that
if one has problems, it does not affect the other servers running on the same physical
computer. This way the company is not wasting money to buy and operate many separate
computers that sit idle much of the time. Server virtualization is also a major part of
green computing—that is, environmentally sustainable computing—because it reduces