New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Dilip Krishnan on Aug 20, 2008
David Chappell published a white paper last week on Introduction to Cloud Platforms, with "the goal of categoriz[ing] and briefly describ[ing] those technologies as they’re seen by someone who creates enterprise applications. The paper was sponsored by Microsoft, but it’s not Microsoft-specific".
He categorizes cloud computing platforms into the following types :
- Software as a service (SaaS): A SaaS application [which] runs entirely in the cloud [...] most well-known example of a SaaS application today is probably Salesforce.com.
- Attached services: On-premise applications whose experience is enhanced by services in the cloud. A popular consumer example of this is Apple’s iTunes.
- Cloud platforms: A cloud platform provides cloud-based services for creating applications. The direct users of a cloud platform are developers, not end users.
He states that most modern applications consist of the following parts ...
- A foundation: This typically includes various support functions, such as standard libraries and storage, and a base operating system.
- A group of infrastructure services: Applications frequently use basic services provided on other computers. It’s common to provide remote storage, for example, integration services, an identity service, and more.
- A set of application services: As more and more applications become service-oriented, the functions they offer become accessible to new applications and end up being an application platform.
... and gives examples of real world cloud computing platforms Amazon's EC2 and Googles AppEngine goes on to map his definition of an application to the available services. Be sure to check out the original white paper.
Just a couple of clarifications on your comments, Dilip: First, the paper actually calls out SaaS applications, attached services, and cloud platforms as three types of cloud computing, not three kinds of cloud platforms. Cloud platforms are one of these categories, the one the paper focuses on. Also, the paper's three-part model--foundation, infrastructure services, and application services--describes an application platform, not an application. It's what developers build applications on, whether on-premises or in the cloud. In any case, I appreciate you taking the time to write about the paper.
One thing 30 years in the IT industry has taught me is that the more things change, the more they stay the same. Another is that the only memory we seem to access is short-term. A third is that techno-marketeers rely on that, so they can put labels like "revolutionary" and "innovative" on platforms, products and services that are mere re-inventions of the wheel ... and often poor copies at that.
A good example is all the latest buzz about "Cloud Computing" in general and "SaaS" (software as a service) in particular:
tinyurl.com/6let8x
Both terms are bogus. The only true cloud computing takes place in aircraft. What they're actually referring to by "the cloud" is a large-scale and often remotely and/or centrally managed hardware platform. We have had those since the dawn of automated IT. IBM calls them "mainframes":
tinyurl.com/5kdhcb
The only innovation offered by today's cloud crowd is actually more of a speculation, i.e. that server farms can deliver the same solid performance as Big Iron. And even that's not original. Anyone remember Datapoint's ARCnet, or DEC's VAXclusters? Whatever happened to those guys, anyway...?
And as for SaaS, selling the sizzle while keeping the steak is a marketing ploy most rightfully accredited to society's oldest profession. Its first application in IT was (and for many still is) known as the "service bureau". And I don't mean the contemporary service bureau (mis)conception labelled "Service 2.0" by a Wikipedia contributor whose historical perspective is apparently constrained to four years:
tinyurl.com/5fpb8e
Instead, I mean the computer service bureau industry that spawned ADAPSO (the Association of Data Processing Service Organizations) in 1960, and whose chronology comprises a notable part of the IEEE's "Annals of the History of Computing":
tinyurl.com/5lvjdl
So ... for any of you slide rule-toting, pocket-protected keypunch-card cowboys who may be just coming out of a fifty-year coma, let me give you a quick IT update:
1. "Mainframe" is now "Cloud" (with concomitant ethereal substance).
2. "Terminal" is now "Web Browser" (with much cooler games, and infinitely more distractions).
3. "Service Bureau" is now "Saas" (but app upgrades are just as painful, and custom mods equally elusive).
4. Most IT buzzwords boil down to techno-hyped BS (just as they always have).
Bruce Arnold,
Web Design Miami Florida
+1
I was beginning to think that I was the only one who noticed. Nicely put. I've been guilty of using such terminology too, but I agree such terms are vague and un-precise and even if the people that coined terms like 'cloud computing' are well meaning, such terminology quickly becomes the fodder for marketers who stretch it to mean what ever they want it to.
I come from a telecoms background, and in comparison the Software Industry has a lot of growing up to do. We are maturing I think, but only very slowly. Alan Kay was right on several fronts when he said the software revolution hasn't happened yet:)
Paul.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
3 comments
Watch Thread Reply