Which Cloud service model is right for you?

Cloud Computing is no longer an option, but a reality in the IT landscape of almost all organizations. At the same time cloud computing has a lot of variants and choices. These choices are relevant for the IT strategy, and in some cases even the company strategy.

This article outlines in a step by step way the most important questions that you can ask to come to the right cloud strategy.

The first question is: what to expect of cloud computing? Which business improvements do you aim for? Cost advantage? Agility? Mobility? Innovation? If you don’t have a clear idea on this, it may be sensible to first dive into cloud characteristics, models, options and alternatives.

infographic cloud service model

The next question to ask yourself is this: which IT applications and functionality are the most important ones for your organisation? What is most needed in IT, now and in the future? Is that e-mail, ERP, CRM, a big website, or something else?

With this overview, you can ask yourself the central question, the one question that has a fundamental impact on your strategic cloud choice. And that question is: are these important applications unique for your organization? Do they make the organization into what it truly is, are they nowhere else to be found, are they of vital importance?

If the answer to this question is ‘no, these applications are not uniquely important to my organisation’, this means that the core competence of your organisation is not in IT. That is not a bad thing, you can be a very successful 5 star restaurant, or a manufacturer of advanced pumps for the process industry, without having unique software. In that case, having your own hardware is senseless, in the long run. It may take a while for the software market to realize this, but you are ultimately a SaaS ‘consumer’.

Star restaurant or not, as a ‘SaaS consumer’ the most important IT competence is selecting and implementing SaaS offers. Depending on the type of company this also requires quite a bit of IT competence, but that will be the topic of a later article.

If the answer is: ‘yes, my software is very unique, i cannot get it elsewhere’, then new opportunities arise. Your software and the associated data is a ‘strategic asset’. It would be a waste to only use it for your own company. There are probably other organisations who could also benefit from this software. If you are not directly competing with them, you could be their SaaS provider.

You should also consider giving your partners in the supply chain (customers, suppliers, etc) access to that software to enable them to do their work better, and to generate new business. This is in line with the practice of certain insurance companies: they give their agents direct access to their policy database. It is even thinkable that there are start-ups that would love to innovate with that strategic software. Procter and Gamble, for example, has opened up its research database to enable innovation by outside companies. As a result the percentage of patents that are actually used in products has risen from 10% to more than 50%. As early as the 1960s, American Airlines set up the SABRE flight information and reservation system that was used by travel agencies and other airlines.

My proposition is this: if you have strategic software assets, you also want to be a cloud provider for that software.

So, as a provider of software services (SaaS), what are your strategic options? Unless you have a substantial and constant workload it is not very sensible to purchase a lot of servers and associated hardware. The more obvious approach is then to procure your servers in an IaaS model (Infrastructure as a Service). This has the disadvantage that your system administrators, in collaboration with your software developers have to have substantial expertise in software scalability. You will have to deal with choices around multi-tenancy architectures, and detailed capacity and performance management. It may be worth your while, but there are quite a few alternatives these days.

Instead of IaaS, you can also focus on a PaaS (Platform as a Service) strategy. Scalability of the architecture is then no longer an issue for the developers. One disadvantage of this strategic choice is the potential for ‘vendor lock-in’ if the software is not easily ported to a different PaaS provider. This will then be something to address in the software architecture.

An example of this approach is the website that was built in 2011 for the British Royal Wedding. It was developed and deployed on Google App Engine. The scalability of the website was very important, and could be guaranteed easily with this design choice. For a website of this type, vendor lock-in is also not very hard to avoid. Most of the content is fairly static, functionality is limited, and the lifetime of the website is also short.

A few other strategic design choices for the cloud provider have to do with the degree to which services of other cloud providers can be used. For starters, you can ask yourself if you want to go to market all by yourself, or that you want to work with a ‘broker’ who includes your service in his portal (which is like an app store). That too has implications for your software architecture, because the portal can assume some of your functionality, like customer registration.

Finally, once again, it is a good idea to ask yourself which part of your functionality is truly unique. As an example, if you are a start-up companies it does not appear to be very distinguishing to develop your own software for helpdesk, payments and identity management.

In summary, cloud computing offers a lot of opportunity for setting up IT and positioning an organisation for a bright digital future. But doing it all by yourself is only rarely the best plan..

Interested in finding out more? Find yourself a relevant cloud training or workshop, or contact me directly.

The cloud of things

Cloud computing also promises to be a great tool for the ‘Internet of Things’.

Here is an example of how that is applied right now.

The heating system in my house has a bit of a challenge: the thermostat does not seem to be working well under certain circumstances. So I built a small sensor device, consisting of a few temperature sensors that I strapped to both the incoming and the outgoing pipe of the main radiator. The sensors are read by a Electric Imp, which is basically a WiFi enabled micro-controller.

The Electric Imp is programmed through a cloud service on which I developed a simple temperature logging application. That application logs its data through an API on Xively. Xively hosts the data, and provides some management and visualization features.

temp sensor delta example

Here is an example of the graph. It displays the difference between the two pipe temperatures, which is a measure for the amount of heat transferred into the room. Notice the high peaks in the morning when we have set the thermostat to heat up the room, after which it goes into a more or less stationary pattern.

One of the features is notification through a Web API. I set notifications for the situation where the data stops coming, or when we are experiencing sub-zero temperatures. In these cases, there is probably something wrong with the sensor hardware or software. Xively basically throws a webhook with data. This webhook is caught by another service: Zapier.

Zapier is like a message queue programmable through an API. I let it send emails as a respons to events.

The final component is more customizable presentation. As a matter of fact, that can be done directly from a webpage with javascript, but I have the webpage hosted at github. This page allows me to monitor the room temperature and other data from anywhere in the world on my smartphone. All in all I spend a few hours and the equivalent of around 50 dollars on this. Google spent 3 billion on Nest.

Wrapping it up, I took a bunch of cloud services, hooked them up together, and I have a live system. All the cloud services promise to scale very well. And maybe in a next post I will elaborate on the Cloud Security features that these services have, or should have.

And I can now show on which days the heating starts and stops way too early. Time for the repairman.

 

APIs are the core of PaaS

In my opinion, platform as as service (PaaS) is the most innovative service model in cloud computing.

It is also the least well understood, and has the highest confusion factor.

One way to think of an important PaaS variant is as websites that are used by other software, rather than humans. So Twitter exposes a PaaS model for other applications (such as phone apps) to use. The technology to do that is called an API (application programming interface), and it turns Twitter into a software component that you can program. Hence the phrase: the programmable web.

Want to read more about this, and see some application examples? Have a look at this great presentation. (Note: only the first slide is in Dutch. API Koning is a homophone word play alluding to king of the Apes, or API’s in this case.)

For even more information look at Anne Helmond’s blog post on APIs.