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 Jean-Jacques Dubray on Jul 20, 2010
Simeon Simeonov, former Chief Architect of Allaire, who has brought to market Cold Fusion, one of the first Web Application Server, wrote an essay on the future of virtualization after VMWare CTO, Steve Herrod commented:
We are committed to making Spring the best language for cloud applications, even if that cloud is not based on VMware vSphere.
Simeon argues like many that:
Server virtualization created cloud computing. Without the ability to run multiple logical server instances on a single physical server, the cloud computing economics we know today wouldn’t be possible.
Yet, he adds
Server virtualization as we know it today [...] is only a crutch we need until cloud-based application platforms mature to the point where applications are built and deployed without any reference to current notions of servers and operating systems. At that point, the value of server virtualization will go down substantially.
VMware CEO, Paul Maritz, explains that:
clouds at the infrastructure layer are the new hardware.The unit of cloud scaling today is the virtual server. [...] This will change in the next phase of the evolution of cloud computing. We are already starting to see the early signs of this transformation with Google App Engine, which has automatic scaling built in, and Heroku with its notion of dynos and workers as the units of scalability. Developers working on top of Google App Engine and Heroku never have to think about servers, virtual or physical. [...] clouds at the application platform layer will be the new hardware
Simeon argues that:
First and foremost, server virtualization generates overhead. VMware performance tests suggest that the overhead is in the 8 to 12 percent range. However, when several virtual machines run on the same server and start competing for hardware and network resources, the overhead is substantially higher.
He explains that there is no reason to pay such a price as:
most modern applications, [...] rely on network-accessible resources such as databases and Web services as opposed to local resources such as files and processes. [This is why] startups are building custom application virtualization layers that free applications from servers, obviating the need for virtualizing Windows or full-featured Linux OSes. [...] Multi-tenancy isolation will be achieved at the platform-as-a-service layer, not at the virtual machine layer.
Simeon explains after a conversation with Werner Vogels, CTO of Amazon:
The biggest hindrance to deploying these types of PaaS offerings on public clouds is trust. Right now AWS trusts the server virtualization tier to provide security and isolation. Technically, this is not harder to do at the PaaS layer. In fact, it is easier — you just have to remove or trap dangerous APIs — but I expect it will still take at least a year or two before the volume of PaaS usage makes it worthwhile for large public cloud providers to go through the effort of eliminating server virtualization overhead.
He predicts that:
Enterprise private clouds will need server virtualization for a while,[but the server virtualization and the traditional server operating system] markets will peak in three years and then begin a steady decline
He concludes:
VMware has seen the future clearly and is preparing to move up the stack to PaaS offerings. [...] Soon we will be able to throw away the server virtualization crutch and, like in that memorable moment from Forrest Gump, we will be able to run leaner and more scalable applications in the cloud on next-generation platforms-as-a-service. For the time being, my call to action is for application developers to stop writing code that directly touches any hardware or operating system objects and try the current generation of platforms-as-a-service.
Bloated Application Architecture stacks (from the hypervisor, the operating system, the virtual machine to the various service, data and application containers) are ripe for a major transformation. After a timid debut compared to IaaS and SaaS, PaaS may be the next big thing in Cloud Computing. What is your take on it?
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Complimentary Gartner (Hype Cycle for Cloud Security) Report
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
There are several benefits of PaaS over virtualized runtimes:
* Self-service - its much easier to bootstrap a new tenant in a multi-tenant PaaS than to install a new VM
* New tenants are incrementally free: a new VM costs memory to run, therefore you cannot just add a new VM unless you intend to use it. For example if you already have a set of VMs running on a machine you may not be able to add a new one. If you have a new tenant, however, that can be added for near zero extra memory until the time it is used. Therefore people can add development, test and staging systems and only pay as they are needed.
If people want to try a PaaS that is available today, the WSO2 Stratos offering is live at cloud.wso2.com. This allows you to deploy WAR files, services, gadgets, and mashups.
For an interesting take on the characteristics a PaaS needs to implement please take a look at my blog on Cloud Native: bit.ly/CloudNative
Paul Fremantle
CTO, WSO2
PAAS is the culmination of all clouds! - no question. Been developing on GAPPE and love it.
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.
2 comments
Watch Thread Reply