Posts Tagged ‘book’

Defining Cloud Computing: Part 6 – IaaS

February 23rd, 2009 3 comments

Infrastructure as a Service

Amazon AWS is the largest of all the IaaS providers. Where SaaS offers a complete application as service and PaaS offers the ability to develop an application, IaaS doesn’t care about the application at all. IaaS provides the underlying hardware and operating system resources to do anything you want. IaaS has also been referred to as Everything as a Service.

IaaS offers CPU, memory, storage, networking and security as a package. IaaS is the virtual machine in the sky. In general, with IaaS, you choose from a range of operating systems (usually some flavor of open source), a size for your hardware (number of CPUs and CPU power) and an amount of storage.

There are a number of successful IaaS providers: Amazon, Joyent, GoGrid and FlexiScale. While Amazon is the best known of the providers, Joyent is also huge. Joyent hosts many Facebook applications and they host the social network LinkedIn, among others. In addition to proving that Amazon is not the only game in town, this also proves that real businesses (although without much of a business plan) are running in the cloud. It also shows that businesses with a need to scale are doing so.

The benefits of IaaS, in addition to the ability to scale, are the costs to get started and the ability to pay only for what you use. For a startup or small business, one of the most difficult things to do is keep capital expenditures under control. By moving your infrastructure to the cloud, you have the ability to scale as if you owned your own hardware and data center (which is not realistic with a traditional hosting provider) but you keep the upfront costs to a minimum.

What does Cloud Computing change?


Technorati : , , ,

Defining Cloud Computing – Part 5: Desktops as a Service

February 20th, 2009 Comments off

Desktops as a Service

Falling some somewhere between software and a platform are Cloud Desktops (also called a Cloud OS). These desktops run inside a browser and are accessible from any desktop with an internet connection.

A cloud desktop offers word processing, spreadsheets, development tools, networking tools and more. While relatively immature at this time, we can expect this market to grow significantly in the coming years, especially as more and more smart phones and ultraportables hit the real world.

Microsoft LiveMesh offers free storage, machine synchronization and a cloud based desktop. iCloud and both offer complete, robust desktops (including browsers, applications and storage) completely in the cloud. The greatest benefit to a cloud desktop is that all of your applications and data is accessible from any computer. The downside is that with no internet access, you have access to none of your data or applications.

EyeOS is a completely open source cloud OS that you can download and install in your own data center. It offers all of the expected functionality and installs as a simple PHP application on your Apache web server.

The nice part about these platforms at the moment is that most are completely free. Sign up, login and you have a virtual desktop off in the clouds. The business model of most of these (such as iCloud or are subscriptions for enhanced services and extra capabilities (such as bandwidth or disk space).

The other significant aspect of these cloud desktops is the ability to run desktop quality applications, such as word processors and spreadsheets, from a phone. Business at internet speeds and internet availability.

It remains to be seen whether cloud desktop catch on but SaaS in general is here to stay. It’s easy to use, cheap and covers just about any category of software that you might use.

Throw in a pair of virtual world gloves and goggles and it’s almost like science fiction.


Technorati : , , , ,

Defining Cloud Computing – Part 4: PaaS

February 18th, 2009 Comments off

Platform as a Service (PaaS)

The next step up into the cloud from SaaS is the Platform as a Service. While SaaS offers applications for end users, PaaS offers a development platform for developers. Developers do not need to worry about the operating system, storage or hosting. Developers write the code and the PaaS provider provides a very simple method to upload that code and present it on the internet.

The PaaS provider gives provides the hardware, operating system, software upgrades, security and everything else related to the day to day hosting of an application. Most PaaS providers are limited to specific languages and IDEs. In some cases, the IDE is web based and in others, the IDE provides features for uploading code.

In most cases, developers do not have any access to the underlying operating system. Applications that run on PaaS platforms have to conform to some limitations that protect the provider from abuse (such as malicious software or run away resource usage).

Google App Engine (GAE) was one of the first PaaS offerings. GAE only supports python (Google promises additional languages in the future) and comes with an IDE. A developer writes an application and tests it locally. When ready to deploy the application to the world, the developer presses a button and it is automagically hosted on the Google infrastructure.

All developers get to use a common domain ( but can use a custom domain if also signed up for Google Apps. Google also gives developers, for free, 500MB of storage and up to 5 million page views per month. Google expects to start charging for feature upgrades (such as storage and extra CPU) in the future.

Other PaaS providers are (which builds on top of the engine – which in itself is SaaS), Engine Yard (Ruby on Rails), Coghead (GUI drag and drop), and Aptana Cloud (PHP, Ruby and JavaScript). The Aptana Could is a bit different in that it is built on top of the Joyent IaaS but provides PaaS features through its Aptana Studio IDE.


Technorati : , , ,

Defining Cloud Computing – Part 3: SaaS

February 11th, 2009 Comments off

Software as a Service (SaaS)

SaaS is currently the most popular type of cloud computing. Yahoo email, Google apps, zoho, and various other packages like CRM are all instances of SaaS. Application Service Providers (ASP) were the first SaaS providers. ASP was its own buzzword back in the late 1990s and early 2000s.

One of the aspects of SaaS is multi-tenancy or the ability for many customers to share the same service but maintain their own data securely. CRM is the predominant paid SaaS offering but email is, by far, the predominant free SaaS offering.

Any software that is offered over the internet, that runs remotely (where the location is unimportant and unrelated to the user), is a SaaS offering. With SaaS, a user has no need to worry about installation or upgrades. Of course, that also means the user has no control over versioning (or bug fixes).

The majority of SaaS offering are either free (think web mail) or per seat subscriptions (like online collaboration and CRM). SaaS may also be offered as a subscription for access and then charge fees for extras like additional storage.

SaaS vendors typically offer multiple levels of access (usually as subscriptions) and functionality. Many offer free trials or a free tier for trying out the software. If you are going to buy into a SaaS offering, first verify that the vendor actually does have paying customers and is stable (relatively to the rest of the internet companies).

It is not unknown that a SaaS vendor will go out of business, sometimes with little or no advance notice, and cause businesses a significant customer impact and/or data loss.

That’s not to scare you away from SaaS. The benefits far out weigh the downsides as long you perform due diligence when selecting your provider. In today’s market, for example, there is really no reason for an SMB to host their own CRM or email. You can outsource that to a SaaS provider for far less (when you subtract out the administrative overhead) of hosting it yourself.


Defining Cloud Computing – Part 2: Distributed Computing

February 9th, 2009 Comments off

Distributed Computing

Distributed computing was one of the first real instances of cloud computing (albeit in reverse). Long before Google or Amazon, there was [email protected] Proposed in 1995 and launched in 1999, this program uses the spare capacity of internet connected machines to search for extraterrestrial intelligence. This is sort of the cloud in reverse.

A more recent example would be software like Hadoop. Written in Java, Hadoop is a scalable, efficient, distributed software platform designed to process enormous amounts of data. Hadoop can scale to thousands of computers across many clusters.

Distributed computing is nothing more than utilizing many networked computers to partition (split it into many smaller pieces) a question or problem and allow the network to solve the issue piecemeal.

Another instance of distributed computing, for storage instead of processing power, is bittorrent. A torrent is a file that is split into many pieces and stored on many computers around the internet. When a local machine wants to access that file, the small pieces are retrieved and rebuilt.

As the cloud computing buzzword has evolved, distributed computing has fallen out of that particular category of software. Even though distributed computing might take advantage of the internet, it doesn’t follow the other tenants of cloud computing, mainly the automatic and instant scalability of resources.

That’s not to say that a distributed system couldn’t be built to be a cloud environment. Bittorrent, or any P2P system, comes very close to a cloud storage. It would require some additional protections like file ownership and privacy across all nodes but it could probably be done. Privacy like that is not quite what P2P is all about though.