Who can forget Saturday Night Live’s classic Shimmer Floor Wax and Dessert Topping skit? Yes, Chevy Chase oozes, it’s a floor wax and a dessert topping. The humor results not just from the dissimilarity of the two products, but because so many vendors try to be good at too many things, even though they often end up being mediocre at all of them.
Software vendors have been taking the floor wax/dessert topping approach to their respective markets for years, of course. ZapThink followed this trend closely in the SOA space during the ‘00s, as the dominant players were rolling up the market. We learned that whenever a vendor touts a “suite,” especially if they assembled it by acquiring various companies, then you usually end up with a collection of dissimilar products integrated at the PowerPoint level into a single product only Chevy Chase’s smarmiest pitch man could love.
Now it’s the Cloud’s turn. Even though Cloud Computing’s core value proposition is more of a threat than an opportunity for vendors, the vendors have no problem squeezing lemons into lemonade, turning the Cloud into an excuse to buy more gear. And sure enough, the larger vendors are on a Cloud company shopping spree, trying to buy their way out of older product architectures that are deeply Cloud unfriendly. So, in a few years will be have comprehensive Cloud software suites that purport to do everything well?
Perhaps. After all, vendors can put anything they like in their marketing—but even the smarmiest vendor would be loath to make such a claim if it strained the credulity of their audience to the breaking point. The good news for us is that there’s a fundamental difference between the Cloud and, say, the SOA marketplace—and that difference is already forcing vendors to specialize, instead of encouraging them to build one-size-fits-all suites.
That difference? The CAP Theorem.
The CAP Theorem states that no distributed computing system can guarantee immediate consistency, basic availability, and partition tolerance at the same time. You can get any two of these characteristics, but not all three at once. And keep in mind that the CAP theorem is a mathematically proven, stuck-with-it-no-matter-what theorem.
Cloud environments are inherently partition tolerant and basically available, and hence cannot guarantee immediate consistency. Enterprise relational databases are highly available and consistent, and hence are partition intolerant. It’s also possible to offer a database management system that is both partition tolerant and immediately consistent, but only by locking resources until it can complete a data synchronization step, thus foregoing basic availability.
Refreshingly, the CAP Theorem was on everybody’s mind at a recent NoSQL Conference. Furthermore, none of the vendors were claiming to have surmounted it. No products claimed immediate consistency, basic availability, and partition tolerance all at once. Floor wax or dessert topping, but never both at the same time. And why not? Clearly, the vendors realized that attendees would laugh such a claim out of the exhibit hall. Instead, they figured that since they’re stuck with the CAP Theorem, they might as well make the best of it.
The resulting impact at the conference was subtle but ubiquitous. Every vendor touted that their product was really good at solving a specific problem set, and as you moved from booth to booth, the problem sets varied as well as the products’ value propositions. Even the large vendors in attendance were pitching specialized offerings, rather than traditional products or any kind of comprehensive suite.
Certainly part of this move toward specialization is a result of the emerging nature of the Cloud and NoSQL marketplaces, but the CAP Theorem won’t go away once the products mature. As a result, ZapThink expects the maturation of these markets to take a dramatically different tack than the SOA Suite market from the last decade. If you’re waiting for some big vendor suite to solve all your Cloud problems, dream on.
While the CAP Theorem may be driving specialization in the NoSQL marketplace in particular, we see cascading effects that are impacting product offerings beyond the data world. After all, the Cloud may be driving the growth of NoSQL offerings, but the Cloud doesn’t require NoSQL and NoSQL doesn’t require the Cloud. That being said, data play an important role in any Cloud-based initiative. Data are the foundation of all of IT, after all. As a result, we see a move toward specialization in all areas of the Cloud, even when data play merely a supporting role. For example, there are many types of multitenancy that address different issues, and various types of applications should deal with state information in the Cloud differently. The CAP Theorem impacts potential product offerings in both areas in subtle, but pervasive ways.
The end result of this ongoing specialization trend is that selecting the right product won’t get much easier. It used to be that when you needed a software product, you could consider the big suites or the smaller specialists, rank them according to quality and price, and make your selection based on those criteria—essentially comparing apples to apples. But with the Cloud, you have a number of specialty players who each solve different problems well, and you need to figure out the right tool—or combination of tools—for the problems you’re trying to solve.
The ZapThink Take
The bottom line, of course, is architecture. As we like to say in our Licensed ZapThink Architect course, architecture means understanding the business problem first, and second, being able to recommend the best approach for solving that problem—in other words, the right tool for the job. As Cloud-based deployments mature, architecture will become increasingly important, in large part because no vendor will be able to credibly claim a single product suite will do everything well at once.
If you’d like more detail on how to make the right decisions about leveraging the Cloud, we recommend that you join our two-day Cloud Computing for Architects course in Washington DC Sept. 27 – 28, and come see ZapThink at CloudConnect in Chicago Sept. 12, the SOA & Cloud Symposium in London Sept. 24 – 25, Interop in New York Oct. 1, the Open Group Conference in Barcelona Oct. 23, ACORD Implementation Forum in Ft. Lauderdale Oct. 24, and @CloudExpo in New York in November. We’ll talk about floor wax and dessert topping, but never both at once!
Image credit: freshpinkpaint