Another Cloud reasoning blog. But I promise something that is relatively unique: The final reason why you need cloud, why you will use it in future and why there is no other way.

The Software Vendors Opportunity

For software vendors it becomes obvious very quickly why the Cloud is a business model that offers fantastic opportunities. It is easy to imagine that there are potential cost savings when running software single instance for hundreds or thousands of customers without many of the hassle that our business produces in parallel: the installation issue. This always was, is and will be an issue to users running software locally and that is the point that this software needs to be made run on your local device. From home users to multi national corporations everybody has this issue and millions or lets better say billions are spent on this. And we did not even talk about the opportunity of savings for maintenance, that in the cloud only needs to be done in a single instance.

Unfortunately these efforts are not really recognized by end users or lets say, they are only recognized if done poorly. Cloud can help to simply wipe off these issues, because software is delivered through the Internet directly to consumers without these efforts. Nice, you may say, but where’s the beef? As an end user you just get what you expect anyway: a piece of running software. As this is obvious it is nothing that will influence any buyer decision from large corporations.

And specifically this is no reason why any corporation should built their stuff in the cloud on a cloud platform. As custom software usually is not sold to the outside, the advantages of having a single source vanishes immediately, as for most corporations their custom software is single source already – meaning they never run a second instance of it.

What other reasons are there to use cloud platforms?

Well, developers seem to love it. Once they have used it they usually like to never turn back. This is understandable while knowing that a cloud platform makes software available to everybody the minute it is deployed. Developers do not have to spend their time by building up systems that are reachable anywhere in the network and at the same time have to work together with their native enemies: IT operations.

Unfortunately developers are usually not the people who do buying decisions. Granted, many CIOs are listening to them what they think makes them more productive (most time suspicious that this opinion may be influenced also by some greed of having the latest and greatest…).

About twenty years ago I had to experience this personally at a customer meeting. At that time I was presenting a really superior development system face to face with our main competitor for more then three hours.

Once the dust settled over the battlefield their product looked like a smoking wreck and the competitor even showed the white flag.

However, some manager from customer site coughed shortly and then stated:

“Well, we are not here to just have it cozy for our developers.”

So much about decision makers…

And the winner is…

Before announcing the final reason why you will use a cloud platform, we once again need to step back. We have reached a point in time where integration

CloudRevertInvoke.pngdoes not mean any longer just to integrate those system inside your company but also to integrate customer and supplier relations and even external processes. This means you have to expose data towards the Internet. Nothing as easy than this right? We’ve done that all the time since 1999.

Well, what I am talking about is data that directly comes out of your core systems. And exposing those to the Internet is the nightmare of any CIO, Admin, well anybody who has the slightest clue what can be messed up with this data.

Not a common strategy, but I have seen it happen, is to just copy that core data, present it with a decoupled application in the Internet and that’s it. How long will that last? How devastated are people who do such a thing? Keeping your valuable data in two versions is not a good idea at all and the faster the exchange is going on, the more problematic this approach will be. Another alternative is to have a server in the demilitarized zone of your firewall system. But the bigger your organization is the more complicated this will be: rules have been set up the last fifteen years and IT is protecting this like the Holy Grail – because it is.

The only easy way to solve this problem is to implement your new application completely outside of your company and connect it not from there, but from the inside of your firewall with a revert invoke approach. And this is where a cloud platform is the right approach and what I think will be the main driver for large units to use cloud platform.

Not that there are other reasons too to do so. Of course, if you want to start a completely new software today there is good reason to think about what will be the technology that gives your software a long life cycle and then cloud definitively is to consider. But the special use case here is the one that produces  most of the pain today and therefore is my personal bet.

What do you think? Please comment.

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Matthias Steiner

    Hi Benny,

    your blog post is spot on! The way I read it you cover three main topics:

    1. Traditional software vs “on-demand” applications
    2. Developers and DevOps
    3. Need for collaboration beyond your corporate firewalls and integration scenarios

    I’d just like to add to what you said.

    1) I think most end-users can relate to that problem. Just think of traditional software we use everyday, like browsers or PDF readers. Personally, there’s little else that puts me off as much as these annoying “There’s an update available” messages when opening a tool I want to use right away. I think that was one of the reasons why Firefox lost user share in the last years (they fixed it by now!) while Chrome on the other hand demonstrated how-to do smart background updates. Same holds true for Adobe Acrobat… another great example are video games. Nothing is more annoying than coming home eager to try out a new game just to realize that you’ll have to wait for a huge (x GB) update to be downloaded up front. No, people don’t want to cope with traditional software (it has a bad smell to it!) – people like to use software “on-demand”, “on-the-go” and don’t have to worry about keeping a solution up-to-date etc.

    2) Having gone through the exact process you describe here I can confirm that once you have started to use a cloud platform you really don’t want to switch back again. Especially in dynamic, tight-timelines, distributed development projects a cloud platform makes the whole development and delivery(!) process so much more pain-free and agile. That is indeed an important value proposition of cloud platforms. Regarding the classic “development vs operation” approach. Here I see DevOps as a great chance for IT to get closer to the development process and even gain importance. Often, IT departments are concerned about losing ground, because of cloud, but the opposite holds true in my believe. Every solution provider (and in case of custom solutions that may be your own development/IT organisation) that provides cloud solutions may better look into bridging the gap between development and IT as they are now in charge of the entire solution life-cycle and need to be able to deploy a new version in an automated fashion. The key words here are continuous delivery and continuous integration and usually the skillset required to setup and execute these activities reside in IT departments.

    3) Well put. Yeap, in today’s world every company need to automate interactions with their ecosystem be it vendors, partners, end-users and employees. The traditional approach of putting isolated systems in a DMZ and “securing” it via reverse proxies won’t cut it long term and is hard to scale. Given that we face a hybrid future where on-premise and cloud solutions co-exists, technologies that ensure a secure and reliable communication between core backend systems and the Cloud are vital to ensure a smooth transition phase.

    For those interested in the topic, you may want to read this post: The Cloud Platform Play




Leave a Reply