Whether you’re in the computer business or not, chances are you’re hearing a ton about “computing in the cloud.” It’s widely being hailed as the top information technology (I.T.) buzzword of the year, thanks to applications many of us use every day — no matter what business we’re in — such as Google Mail or other online applications we simply access through a browser. Other examples would be customer relationship management software from Salesforce.com, or freely accessible word-processing software from Google, Zoho, and others. But there are many more types of these applications, and cloud computing can actually refer to both the software and the underlying infrastructure.
George Reese, a local software developer and tech company founder, knows a lot about the topic — so much so that he was recently commissioned to write a book on cloud computing by O’Reilly Media, based in Northern California, one of the most prominent names in computer publishing. Reese is the founder of two Minneapolis-based companies: a new one called enStratus Networks LLC, a maker of high-end cloud infrastructure management tools, and an established business called Valtira LLC, the maker of an online “marketing platform” of the same name. Over the past 15 years, George has authored several technology books — with such names as MySQL Pocket Reference, Database Programming with JDBC and Java, and Java Database Best Practices. But his upcoming title, Web Architecture and Programming in the Cloud: Transactional Systems for EC2 and Beyond, may become his most popular yet.
A longtime designer of enterprise tools for software developers, as well as software solutions for the marketing domain, Reese has more recently been heavily involved in the development of systems to support the deployment of transactional web applications in the cloud. Interestingly, his background includes a BA in Philosophy from Bates College and an MBA from the Kellogg School of Management at Northwestern University.
Some Definitions
Recently, I had the opportunity to speak with Reese about his new book, and get an early look at the first chapter, which he says is aimed more at decision-makers than the rest of the book (which is primarily intended for developers). He also said this first chapter “has some claims some people might not like or agree with, especially if they’re competing with the cloud.”
According to Reese, cloud computing “is the evolution of a variety of technologies that have come together to alter an organization’s approach to building out an IT infrastructure.” He goes on to compare it to the development of the Web, more than a decade ago: “There is nothing fundamentally new in any of the technologies that make up cloud computing. Most of the technologies that made up the Web existed for decades before Netscape came along and simply made it all accessible; similarly, most of the technologies that make up cloud computing have been around for ages. It just took Amazon to make them all accessible to the masses.”
Yes, that same Amazon you know as an online retailer has also become a huge player in cloud computing with their “EC2” infrastructure, which is changing the very way software businesses build their products and bring them to market — and saving them a ton of money at the same time.
Reese states in his first chapter: “The purpose of this book is to empower developers of transactional web applications to leverage cloud infrastructure in the deployment of their applications.”
An excerpt from the chapter that also helps define cloud computing:
The cloud is where you go to use technology when you need it, for as long as you need it, and not a minute more. You do not install anything on your desktop and you do not pay for the technology when you are not using it. The cloud can be both software and infrastructure. It can be an application you access through the web or a server that you provision exactly when you need it. Whether a service is software or hardware, here’s a simple test to check if that service is a cloud service:
If you can walk into any library or Internet cafe and sit down at any computer without preference for operating system or browser and access a service, that service is cloud based.
Reese speaks of “cloud services” (the type available via vendors such as Amazon), and points out that these include both software services and infrastructure services. “In terms of maturity, software in the cloud is much more evolved than hardware in the cloud” (meaning infrastructure), he says. “Software as a Service (SaaS) is a term that refers to software in the cloud. Though not all SaaS systems are cloud systems, most of them are.” He also provides a definition here that is helpful to those trying to understand this new paradigm: “SaaS is a web-based software deployment model that makes the software available entirely through a web browser. As a user of SaaS software, you don’t care where the software is hosted, or what kind of operating system it uses, whether it is PHP, Java, or .NET. And, above all else, you don’t have to install a single piece of software anywhere.”
Reese says SaaS systems have four defining characteristics: (1) availability via a web browser, (2) on-demand availability, (3) payment terms based on usage, and (4) minimal IT demands.
The Hardware Side of the Equation
“In general,” says Reese, “hardware in the cloud is conceptually harder for people to accept than software in the cloud. Hardware is something you can touch. You own it, you don’t license it. If you server catches on fire, that disaster matters to you. It’s hard for many people to imagine giving up the ability to touch and own their own hardware.”
Another excerpt from the book:
With hardware in the cloud, you request a new “server” when you need it. It is ready within 10 minutes. When you are done with it, you release it and it disappears back into the cloud. You have no idea what physical server your cloud-based server is running, and you probably don’t even know where it is physically located geographically.
Reese points out the advantages of a cloud infrastructure. “Think about all of the things you have to worry about when you own and operate your own servers: (1) What if I am running out of capacity? (2) What happens when there is a problem? (3) What happens when there is a disaster? (4) I don’t need that server anymore — what do I do with it? (5) What about real estate and electricity, for infrastructure that goes unused?” His summation: “None of these issues is a concern with a proper cloud infrastructure.”
The Value of Cloud Computing
In his book’s first chapter, Reese says the impact of the cloud is significant. “For some organizations — in particular, small businesses, medium-sized businesses, and SaaS vendors — it makes it possible for an organization never again to purchase a server or own any software licenses.” In other words, he adds, all these worries disappear:
- Am I current on all my software licenses?
- When do I schedule my next software upgrade?
- What do I do when a piece of hardware fails at 3am?
- What do I do with my old hardware?
- How do I manage the depreciation of my IT assets?
- When can I afford to add capacity to my infrastructure?
It All Comes Down to Economics
“Perhaps the biggest benefit of cloud computing over building out your own IT infrastructure has nothing to do with technology — it’s financial,” Reese says. “The ‘pay for what you use’ model of cloud computing is significantly more financially advantageous to a company than the ‘pay for everything up front’ model of internal IT.”
It’s here where Reese reduces everything to the bottom line: “The right managed services option and cloud computing are always financially more attractive than managing your own IT. Across all financial metrics — capital requirements, total cost of ownership, complexity of costs — internal IT is always the odd man out.”
The new book is scheduled for publication in April 2009.