Would you like that ‘as-a-service’?

As a Service

It has been fashionable for the past few years to market many online systems by adding the as-a-service (aaS) suffix to whatever it is you do. When the I-ntarsia system was first developed in 2003 it was simply an online content management system: convenient and powerful. Soon. however, marketers on similar systems got working and we became an Application Service Provider (ASP) and that was just the start.

Since the release of I-ntarsia 8.16 people have tried to classify I-ntarsia in the ‘aaS’ fashion and the version that seems most appropriate is Platform-as-a-Service (Paas). For the first time since 2003 this seems like an accurate description, but what is a ‘platform’ and does using one deliver any tangible benefits?

To answer those questions we have to dig a little deeper ...

What do we mean, ‘as-a-Service’?

Many simply equate ‘easy to use’ with ‘as-a-service’. Although this is a start, it is far too simplistic to be useful. Some just ignore getting into what it means altogether! To see that, check out the Wikipedia page.

To make progress we have to break down a general description of what we mean by ‘service’. Let’s consider our online bank which could be considered ‘Banking-as-a-Service’, one of the oldest and most successful ‘services’ out there. As users what are we looking for?

  • Ease of use
  • Security
  • Reliability
  • Accuracy
  • Speed
  • Availability

On top of that, there are things that we don’t care about or we accept are acceptable features of the service:

  • No access to cash
  • No ‘advice’ available
  • No bespoke services

Perhaps more importantly, what are we trying to avoid? These are the things that as a banking service user we, personally, don’t want to worry about BUT we need to know someone at the service provider IS taking care of:

  • Recording transactions
  • Verifying identity
  • Ensuring security
  • Paying interest
  • Setting limits on transaction and monitoring
  • Keeping enough reserves

This last list is endless. There is so much detail involved in just running a simple bank account that it would overwhelm the service users. These things are not in the “don’t care” list because we do care, but we expect our service provider to handle these without intervention from us.

The ‘as-a-Service’ Model

From here we can start to see some features of  what ‘as-a-Service’ means from a service user perspective, and represent them graphically:

Thumbnail

 

Each ‘as-a-Service’ layer completely encapsulates all layers within. The outer boundary of any layer has a set of splines or teeth that fix it in any higher layer. These represent the attributes of the layer that are exposed to service users to help them drive the service directly or encapsulate it in a higher layer of their own creation. To software engineers, this API/OO style approach is very familiar.

Each layer of the model contains the specialist skills and resources required to deliver that layer. In a successful ‘aaS’ these skills and resources stay focussed within their layer, not crossing the boundaries into higher or lower levels.  Furthermore, any lower level of the system can be replaced with a similar level provided that the boundary splines or teeth are the same.

So what is Platform-as-a-Service?

Should an application developer (PaaS user) need to worry about the following?

  • Operating system installation, security and maintenance
  • CMS application updates
  • Version control system integration
  • Backup and restore system
  • Server purchase and configuration (memory, processors, storage)
  • Bandwidth management
  • Firewall settings
  • Load balancing
  • Data centre fire suppression

Clearly, these are at a level of detail that would overwhelm the application developer, but they are most certainly not “don’t care” items.

PaaS users want to focus on building an application (website, mobile app backend etc) within a particular software stack. As such, they need development tools and a supportive environment as well as production systems for application deployment. In reality, these are the only things that a PaaS user should be concerned about, everything else should be encapsulated by the PaaS layer.

I-ntarsia is a PaaS

We represent the I-ntarsia Digital Service Platform as shown in the diagram below:

Thumbnail

We expose various software stacks to platform users :

  • Drupal 8.x
  • Node.js
  • Gitlab
  • Request Tracker (RT)

In addition, we build our PaaS on top of Infrastructure-as-a-Service (IaaS) providers. Whilst we have our preferred IaaS providers this model does mean that we can operate with a range of IaaS providers, mixing and matching with no impact on our service users.

In Conclusion

In trying to clarify what Platform-as-a-Service really is we identified the key attributes and created a model for ‘as-a-Service’ offerings. It is clear that I-ntarsia follows the PaaS model very closely.

The key outcome in using the as-a-Service model to build applications is resource focusing. The benefits of focusing business resources have been clearly identified and documented since Skinner published The Focussed Factory in 1974 and the subsequent development of lean and agile methods. Development of this thinking continues to this day with core methods being applied to all industries, not just manufacturing. Efficiency, competitiveness, agility, the list of benefits goes on and on.

It is clear from our analysis that using a platform for application development focusses resources, and from learned work since 1974 that focussed resources deliver tangible benefits. So, “would you like that as a service?” … Yes, please!