David Chappell


Get the Feed! Subscribe

Why Cloud Computing Splits Enterprise and ISV Developers  
# Monday, February 04, 2013
Up to now, building custom enterprise applications for in-house use was much the same as building packaged applications that were sold to enterprises. Whether a developer worked for an insurance company or an independent software vendor (ISV), her skills could be similar. Moving between the two often didn’t require much retraining.
Increasingly, though, that’s no longer true. Developers who work for ISVs now need different skills than developers who create custom applications for enterprise users. And the change is caused by cloud computing.
In the pre-cloud era, applications built by both enterprises and ISVs were designed to serve users at a single organization, either the enterprise itself or a customer of the ISV. Accordingly, those applications were built to be moderately scalable and to run on servers inside the organization’s datacenter.
For enterprise developers, the rise of the public cloud doesn’t fundamentally change this. True, custom applications used by the organization's employees might run their server logic on a public cloud platform, such as Windows Azure or Amazon Web Services, but the target user population remains the same. Because of this, the application’s scalability and reliability requirements are also the same.
For ISVs, however, cloud computing has given rise to Software as a Service (SaaS). A SaaS application serves users at many customer organizations from a centralized instance of the software, which means it must be much more scalable than a traditional enterprise application. Since it serves so many users, the application must also be more reliable—a failure affects everybody, not just the users at a single customer. And handling many customers means that the application must be multi-tenant, able to separate data and more for all of the organizations that use it.
Building this kind of scalable, reliable, multi-tenant application is significantly more challenging than building traditional single-tenant software. As a result, enterprise software developers won’t typically create applications like this. Why waste the effort? But the ISV world is shifting rapidly to SaaS, which means that ISV developers do need to face this challenge. The result is that enterprise developers and ISV developers need different skill sets today because they need to build different kinds of applications.
As technologies get more diverse, the people who work with those technologies must get more specialized. The split between enterprise and ISV developers, rooted in the rise of SaaS, is just one more example of this general principle.

2 comments :: Post a Comment



David, I have a question for you. In this post you assumed that SaaS has to be multi-tenent, why? Additionally, I think the skills gap can be bridged until true cloud PaaS standard is established, thru the use of IaaS+ Application Server with Application VM? What do you think? Really appreciate your insight.

You're right: SaaS doesn't necessarily have to be multi-tenant. It usually is, though, which is why I see this as a common distinction between ISV and enterprise apps going forward.

To me, an app server in a VM isn't enough to paper over the differences between a SaaS app and an enterprise app. The differences are just too great. And the arrival of a true cloud PaaS standard is at best years away. A more likely outcome is that no such standard every really takes hold, leaving a fragmented world where a few PaaS platforms from different vendors each have some degree of success.

Post a Comment

<< Home