Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online
by Michael Miller
Publisher: Que
Pub Date: August 11, 2008
Print ISBN-10: 0-7897-3803-1
Print ISBN-13: 978-0-7897-3803-5
Web ISBN-10: 0-7686-8622-9
Web ISBN-13: 978-0-7686-8622-7
Pages: 312

Review :
Overall didnt care for this book. Trying to merge business aspects of cloud computing from an IT perspective with a book talking about how to use cloud computing at home with your family (e.g. family email) seems silly. There were a couple very small sections that were directly useful below but rest was waste of time overall.
What i took Away from Book :
Book Notes :
Discovering Cloud Services Development Services and Tools
So let’s settle back and take a look at who is offering what in terms of cloud service development. It’s an interesting mix of companies and services.
Amazon
The service in question is called the Elastic Compute Cloud, also known as EC2. This is a commercial web service that allows developers and companies to rent capacity on Amazon’s proprietary cloud of servers—which happens to be one of the biggest server farms in the world. EC2 enables scalable deployment of applications by letting customers request a set number of virtual machines, onto which they can load any application of their choice. Thus, customers can create, launch, and terminate server instances on demand, creating a truly “elastic” operation.
Amazon’s service lets customers choose from three sizes of virtual servers:
* Small, which offers the equivalent of a system with 1.7GB of memory, 160GB of storage, and one virtual 32-bit core processor
* Large, which offers the equivalent of a system with 7.5GB of memory, 850GB of storage, and two 64-bit virtual core processors
* Extra large, which offers the equivalent of a system with 15GB of memory, 1.7TB of storage, and four virtual 64-bit core processors
In other words, you pick the size and power you want for your virtual server, and Amazon does the rest.
EC2 is just part of Amazon’s Web Services (AWS) set of offerings, which provides developers with direct access to Amazon’s software and machines. By tapping into the computing power that Amazon has already constructed, developers can build reliable, powerful, and low-cost web-based applications. Amazon provides the cloud (and access to it), and developers provide the rest. They pay only for the computing power that they use.
AWS is perhaps the most popular cloud computing service to date. Amazon claims a market of more than 330,000 customers—a combination of developers, start-ups, and established companies.
Note
For more information about Amazon Web Services, go to aws.amazon.com.
Google App Engine
Google is a leader in web-based applications, so it’s not surprising that the company also offers cloud development services. These services come in the form of the Google App Engine, which enables developers to build their own web applications utilizing the same infrastructure that powers Google’s powerful applications.
The Google App Engine provides a fully integrated application environment. Using Google’s development tools and computing cloud, App Engine applications are easy to build, easy to maintain, and easy to scale. All you have to do is develop your application (using Google’s APIs and the Python programming language) and upload it to the App Engine cloud; from there, it’s ready to serve your users.
As you might suspect, Google offers a robust cloud development environment. It includes the following features:
* Dynamic web serving
* Full support for all common web technologies
*Persistent storage with queries, sorting, and transactions
* Automatic scaling and load balancing
*APIs for authenticating users and sending email using Google Accounts
In addition, Google provides a fully featured local development environment that simulates the Google App Engine on any desktop computer.
And here’s one of the best things about Google’s offering: Unlike most other cloud hosting solutions, Google App Engine is completely free to use—at a basic level, anyway. A free App Engine account gets up to 500MB of storage and enough CPU strength and bandwidth for about 5 million page views a month. If you need more storage, power, or capacity, Google intends to offer additional resources (for a charge) in the near future.
Note
For more information about the Google App Engine, go to code.google.com/appengine/.
IBM
It’s not surprising, given the company’s strength in enterprise-level computer hardware, that IBM is offering a cloud computing solution. The company is targeting small- and medium-sized businesses with a suite of cloud-based on-demand services via its Blue Cloud initiative.
Blue Cloud is a series of cloud computing offerings that enables enterprises to distribute their computing needs across a globally accessible resource grid. One such offering is the Express Advantage suite, which includes data backup and recovery, email continuity and archiving, and data security functionality—some of the more data-intensive processes handled by a typical IT department.
To manage its cloud hardware, IBM provides open source workload-scheduling software called Hadoop, which is based on the MapReduce software used by Google in its offerings. Also included are PowerVM and Xen virtualization tools, along with IBM’s Tivoli data center management software.
Note
For more information about IBM’s Blue Cloud initiative, go to www.ibm.com.
Salesforce.com
Salesforce.com is probably best known for its sales management SaaS, but it’s also a leader in cloud computing development. The company’s cloud computing architecture is dubbed Force.com. The platform as a service is entirely on-demand, running across the Internet. Salesforce provides its own Force.com API and developer’s toolkit. Pricing is on a per log-in basis.
Supplementing Force.com is AppExchange, a directory of web-based applications. Developers can use AppExchange applications uploaded by others, share their own applications in the directory, or publish private applications accessible only by authorized companies or clients. Many applications in the AppExchange library are free, and others can be purchased or licensed from the original developers.
Not unexpectedly, most existing AppExchange applications are sales related—sales analysis tools, email marketing systems, financial analysis apps, and so forth. But companies can use the Force.com platform to develop any type of application. In fact, many small businesses have already jumped on the Force.com bandwagon.
For example, an April 2008 article in PC World magazine quoted Jonathan Snyder, CTO of Dreambuilder Investments, a 10-person mortgage investment company in New York. “We’re a small company,” Snyder said, “we don’t have the resources to focus on buying servers and developing from scratch. For us, Force.com was really a jump-start.”
Note
For more information about Force.com and AppExchange, go to www.salesforce.com.
Other Cloud Services Development Tools
Amazon, Google, IBM, and Salesforce.com aren’t the only companies offering tools for cloud services developers. There are also a number of smaller companies working in this space that developers should evaluate, and that end users may eventually become familiar with. These companies include the following:
* 3tera (www.3tera.com), which offers the AppLogic grid operating system and Cloudware architecture for on-demand computing.
* 10gen (www.10gen.com), which provides a platform for developers to build scalable web-based applications.
* Cohesive Flexible Technologies (www.cohesiveft.com), which offers the Elastic Server On-Demand virtual server platform.
*Joyent (www.joyent.com), which delivers the Accelerator scalable on-demand infrastructure for web application developers, as well as the Connector suite of easy-to-use web applications for small businesses.
*Mosso (www.mosso.com), which provides an enterprise-level cloud hosting service with automatic scaling.
* Nirvanix (www.nirvanix.com), which offers a cloud storage platform for developers, as well as Nirvanix Web Services, which provides file management and other common operations via a standards-based API.
* Skytap (www.skytap.com), which provides the Virtual Lab on-demand web-based automation solution that enables developers to build and configure lab environments using pre-configured virtual machines.
* StrikeIron (www.strikeiron.com), which offers the IronCloud cloud-based platform for the delivery of web services, along with various Live Data services that developers can integrate into their own applications.
In addition, Sun Microsystems has an R&D project, dubbed Project Caroline (www.projectcaroline.net), that provides an open source hosting platform for the development and delivery of web-based applications. Access to Project Caroline’s grid is free to the general public.
The Maturity Level of Cloud Services
To understand where the web-based applications we call cloud services stand in the evolution of hosted computer software, we turn to our good friends at Microsoft, who defined four primary maturity levels.
The first level of maturity defines the traditional application service provider (ASP) model of software delivery, and dates back to the 1990s. At this level, each user has his own customized version of the hosted application and runs his own instance of the application on the host server.
The second level of maturity occurs when the vendor hosts a separate instance of the application for each customer. At this level, all instances use the same implementation; the code is not customized for each user, as it is in a level-one application. Instead, user personalization is provided by detailed configuration options within the application itself.
The third level of maturity signals a major change in how the application is hosted. At this level, the vendor runs a single instance of the application that serves every user. A unique user experience is provided via configurable metadata, and authorization and security policies ensure that each user’s data is kept separate from that of other users.
At the fourth and final level of maturity, the vendor hosts multiple users on a load-balanced farm of identical instances. Because the number of servers (and instances) can be increased or decreased as necessary to match demand, this type of system is scalable to a large number of users. In addition, patches and upgrades can be rolled out to the entire user base as easily as to a single user. It is to this level that cloud services aspire.