Our CTO Johan den Haan wrote an excellent blog post, “The cloud landscape described, categorized, and compared,” that’s generating quite a lot of buzz in the community. The post challenges the popular wisdom that cloud comes in just three flavors: IaaS, PaaS, and SaaS. Recognizing that the lines between these categories are quickly blurring, Johan proposes a new framework that adeptly categorizes the different approaches available today, without the gross oversimplification of the three-flavor view. Given the traffic and feedback the post has received, it appears to be resonating.
As you can see in the image below, Johan’s cloud framework consists of six layers that illustrate the continuum between infrastructure and applications in a fresh and compelling way. Looking from bottom to top, each layer abstracts further away from technical details until you end up with the applications themselves. Moreover, the target user in the far right column undergoes a corresponding shift from technical to business roles.
While the entire post is jam-packed with insight, we particularly enjoyed Johan’s comparison between Layer 4 (Model-Driven PaaS) and Layer 3 (PaaS) and the relationship between business engineers and professional developers:
Layer 4 is focused on the same kind of artifacts as layer 3, but the specifications and configurations are at a higher abstraction level. Layer 4 aims at non-professional developers, i.e. people that don’t program for a living, and enables them to build applications, to connect systems, or to manage data. I tend to call these people “business engineers” as this term emphasizes that these people are not professional developers (i.e. they are “business” people) while the term also tells us that there need to be some sort of affinity with technology (i.e. they are “engineers”). It might be easier to define these people with some examples: the users of business process tools, the users that configure business rules engines, people that configure reporting and analytic tools, people that define applications using high-level models, etc. Technologies and solutions in layer 4 are able to empower these business engineers by focusing on two things: abstracting away from technical details and a focus on easy to learn languages.
Does this mean that tools in this category make professional developers obsolete? In my experience this isn’t the case. First, we will of course need professional developers to develop these tools. Second, professional developers are also needed to work with these tools and focus on the more technical side of things, like integrations, complex algorithms, etc. What I see in practice is mixed teams of business engineers and professional developers in a 3:1 ratio.
Check out the full post on Johan’s blog. If you’ve been a proponent of the three-flavored view, your eyes will be opened to the true cloud landscape as it stands today!