This primer should do two things:
- help the reader to navigate the increasingly confusing landscape of the Cloud Services world with its IaaS, PaaS, mBaaS, SaaS and other ‘aaSes’, and then
- look at how an Enterprise Mobility platform delivered across this model gives an organisation the capacity to rapidly and cost effectively deploy activity-oriented productivity apps.
IaaS - Infrastructure as a Service
The computing grunt and storage when I need it
The Cloud Services model still starts with hardware. Virtualisation made sharing hardware capacity an everyday reality and now you can just ‘rent’ computing power, storage and networking capacity as you need it. IaaS is all about vendors packaging these commodities in various ways. For example, you can rent Amazon’s Elastic Compute Cloud (EC2) as a ‘reserved instance’ with guaranteed capacity through to ‘on demand’ services by the hour. Combine this flexibility with higher-level services that ask for additional capacity when it’s needed and spread the use of that compute power evenly (more on these shortly), and you have pools of resources able to be shared very efficiently and cost effectively.
With more investment and more expertise being developed in the management of these resources there is a very high level of confidence in the performance of the top vendors in this space. Who offers IaaS? The big guns are Amazon AWS, Microsoft’s Azure, the Google Compute Engine (and Google Cloud Storage), Rackspace Open Cloud and IBM Smart Cloud.
PaaS - Platform as a Service
The operating systems, databases and other stuff that sits underneath all of my apps
It’s easy to get the PaaS layer services and the IaaS layer hardware mixed up because many of the same players have offerings that span both of these layers. Whilst IaaS layers are essentially computing grunt and space for rent, the PaaS layer provides services highly valued by software developers. The service providers at this layer offer various aspects of system management as a service and provide utilities such as operating systems, databases, programming languages, web servers and application servers. Some vendors also add lots of utilities that make harnessing both the PaaS and IaaS layers really efficient. For example, Amazon’s “Elastic Beanstalk” allows you to put together a highly robust and scalable service by managing the resources you consume with load balancers, auto scaling and application health monitoring.
As mentioned, many of the IaaS vendors also offer PaaS services and so Amazon Web Services, Microsoft Azure and Google with their Google App Engine are major players. However there are also specialist PaaS vendors such as Heroku, AppFog (which allows you to operate your PaaS across multiple IaaS clouds), and Red Hat’s OpenShift. When you buy PaaS services you’re ready to start developing and deploying your web applications.
MBaaS - Mobile Back-end as a Service
The back-end stuff you need to make building your mobile app easier without having to do everything yourself
In the ‘old’ drawings of the cloud computing model you just had ‘SaaS’ above the IaaS and PaaS layers. In other words, once you had your hardware and the operating environment sorted out then you just created the applications. Which was mostly true for a while.
However, in the last few years mobile devices have become so important in delivering corporate systems, that many organisations are taking a ‘mobile first’ approach to application development.
This brings lots of challenges because in this brave new world the best applications don’t just extend your existing systems down to mobile. They take advantage of many things mobiles can do that laptops and desktops can’t. Mobile devices know where they are, and so location and proximity services become important. They can accept notifications, take photos, draw on the screen, know how fast you’re going and measure an ever increasing number of environmental factors. Alongside of these device capabilities there are an ever widening number of internet based services that provide value and support to enterprise users.
Harnessing all of these is a challenge in itself, but Enterprises also have to consider how to link their mobile applications into their corporate systems. So whilst they need to develop their “device-side” apps quickly and efficiently they also need to make sure that that on the server-side there are APIs and services that allow developers to rapidly mobile-enable legacy enterprise applications.
The MBaaS vendors then, provide the middleware that will speed up and lower the costs of these developments. There isn’t a strict ‘master set’ of services offered by MBaaS vendors but they include providing straightforward access into web services, online/offline operation support, notification and email services, PDF generators, usage reporting and analytics services, etc.
Active vendors in this space include BlinkMobile, IBM, SAP, Kony, Appcellerator, FeedHenry, Kinvey and Parse. It is important to note that many of these vendors provide services that span MBaaS, PaaS and IaaS. All of them offer ways to make the development of mobile apps quicker, more manageable and more cost effective.
MADP - Mobile Application Development Platforms
Tools that make developing my mobile apps easier
The last layer we’re going to consider isn’t an aaS at all (unless you want to call it SaaS). It’s the layer that will make the development of the front-end mobile app quicker and easier. Gartner calls this MADP and lumps together all sort of disparate vendors into this sector, some of whom on the face of it don’t really belong together at all, but if you consider the mission of making front-end development more easy, they kind of do.
The fundamental need for front-end developers in this context are frameworks that make cross platform development easy, with as many tools as possible that allow them to harness the features of the devices that they want to use without having to do lots of integration work themselves.
That’s why tools such as Adobe’s Cordova (PhoneGap) and the open source jQueryMobile are placed in the same quadrant by Gartner as SAP, Appcellerator and Kony. In this layer there is no ‘right answer’. What matters here is the skill set of the developer/s, how quickly and easily they can get an Enterprise-level app to your users, and how reliably you can run it. That’s why Cordova (which gives you a way to produce native app code from a single web app development) and jQueryMobile (for developing web apps to look as good as native apps) do belong together with say Appcellerator’s tools, even though Appcellerator deliver much more than just this part, as does BlinkMobile.
BlinkMobile also belongs in this segment because our forms builder with it’s online/offline forms development environment and device-side forms interpreter is such a tool. Combine then the Interaction Manager (providing configuration management for ready-to-go web apps), the Blink Intelligent Client (heavily utilising jQueryMobile) and the App Factory (utilising Cordova) BlinkMobile provides a most powerful suite of tools that developers can use to deliver robust, functional apps very quickly.