Saturday, June 7, 2014

Mobile Application Design and Cloud Based services – making sense of it all!



Folks,

In this post I would like to explore the anatomy of a client conversation,  as we navigate these blurry lines and make sense  of the solution.  I would also like to take  a closer look at the  emerging solution centric technologies  such as  Box, iCloud, etc that are creeping into ‘enterprise space’  driven by the desire for an unified Digital experience by  end users, employees and partners alike. 
  I have always said the hardest part of our job is to keep up, and in these interesting times, there are tremendous innovation coming to markets faster than ever, this speed and adoption around innovation  with promise of transformation can be overwhelming for businesses. I think, with our consultative approach we can work with our clients in navigating these innovative paths and help them make the right choices.

In my earlier forum discussion on “ How does rise in Mobile Cloud services aid in delivering Digital experience?”

 I discussed that Fundamentally a solution design around Mobile Solutions includes:

a.    Eco system integration – Includes things like Mobile OS, APIs and notification eco systems, etc.
b.    Cloud integration – MbaaS, Cloud Services, APIs, and invocation of other Mobile services.
c.    Enterprise Integration – Includes integration with existing middleware and legacy systems.

 In many workshops with clients on Mobility and  Cloud based services delivery the distinction between the above concepts get blurry. Think about it, most of the eco systems have  a cloud based services ( push, iCloud, Messaging, and more announced at WWDC),  These cloud based services  which includes IBM Bluemix, Google App Engine (GAE), and Amazon Web Services (AWS) and others also provide cloud integration , via APIs and an avenue to legacy enterprise integration, be it a service on SalesForce.com, or on premise enterprise systems. With considerations around security, scalability and performance ( yes we still have to understand network, round tripping and the security vulnerability, etc) imposed by the  hybrid or converged platform.

         So let us try and understand the landscape of these cloud based services and employments of these towards a better application design, and I think we ought to leverage our understanding to our advantage in not only positioning products and services  but also provide feedback into labs. There are other players like Google Application Engine (GAE), Amazon Web  Services  and many new startup’s such as Parse (facebook), StackMob ( PayPal) and Kinvey which offered specific accelerated Mobile application development, and other back end services.


IBM BlueMix – As I read and play with this, I think BlueMix attempts to provide a Hybrid PaaS and Saas model, where some middleware platforms and capabilities are available and some are exposed as APIs, that can be composed to form mobile services, integration services, data services, dev ops services, a full set of services that enable me now to build my next generation of application.
IBM BlueMix is designed to be an open cloud platform built on Pivotal's Cloud Foundry. IBM also made its software suite available on BlueMix – BlueMix Catalog and BlueMix Offers ( MbaaS beta) is a good example to explore. So in short BlueMix provides following ramp up features:

a.    Run apps in any language
b.    Build on open standards (OpenStack – Cloud Foundry)
c.    Provides integration services to system of record
d.    Designed for Mobile
e.    Rapidly delivering composable services
f.     Provides DevOps services for integrated dev experience
g.    And more..

Amazon – AWS – AWS is  a IaaS, which  implies that one needs to administer their own servers such as  AWS hosted Ec2 instance, DB and S3 Instances, Load balancers, security etc.  While some may argue that AWS does have a PaaS support for some platforms, but the core offerings align with IaaS. Which means that there are traditional planning and design tools around security, scalability, performance, topology and application design.

Google Application Engine (GAE) – With GAE one needs to consume the APIs ( services) and design the application  with some of the GAE specific deployment specifications and deploy the application to Google cloud, which falls under PaaS and SaaS models, where the design imperatives is API/services governance and while scalability, performance and Security is a design consideration  there are little or no administrative tasks.  With some of these application design and deployment to GAE like environment then becomes a utilitarian model and cost – of deployment, services consumption and on going maintenance becomes central to application decision making.

Now from a  Mobile Application  and Solution design perspective, any client would (at a minimum) need the following services:

a.    Custom Objects – Arguably one of the most important features that can accelerate any Application  design and development. This represents an array of model Objects that represent data ( people, places, things etc) it is these custom objects and their integration with APIs/Services that make the notion of composable service possible.

b.    File Storage – Every application has storage needs such as storing user, object specific files, images, user profiles etc. Which can be used to maintain context, and allow for analytics application operations.

c.    Geolocation – for a richer and contextual engagement I think geolocation whether it is Cartesian coordinates, Wi-Fi or even BLE enabled location is vital for object tagging and subsequent operations such as offer customization, and loyalty.

d.    Users (registry) and Authentication – Every application needs some kind of access control, which allows for a fine grain mechanism to provide access to Object related data and file store.

e.    Push Notification  - Another Mobile specific requirement, while very common from a technology and service perspective, ability to send contextually relevant notification is a product of holistic application design that include robust analytics, EMM – enterprise marketing management and user profile integration.

f.     Marketing control point – This implies knowing your constituents and does not just apply to retail, but also to any entity including government, banking, FinTechs, healthcare etc is to connect industry specific application imperatives (security, use engagement, legislation etc) with the constituent. This very connection makes the digital experience possible.


AND

g.    Enterprise Integration – This is the piece that I think that the  new paradigms around MBaaS, and many cloud-based services seem to amiss. This is the area that many clients have been investing for several decades, and in many cases the “enterprise” – which has assets such as a Business rules, policies around products, Product related information, regulatory compliance data and logic etc, is codified into a series of  “systems’ that we call “The Enterprise”. So any “enterprise Mobility” project should include an understanding of these “systems” that have evolved overtime.

Now let  us look at the other Players who are providing  these services aiming to capture the Mobile application and back end service market. Some of these include ( In addition to GAE):
Stackmob (Acquired by Paypal), Parse ( Acquired by facebook), Appcelerator Cloud service, Kii and Kinvey to name a few. While many of these up and coming vendors may provide all of the fundamental services  NOT many of these have “enterprise awareness” –  What IBM Bluemix does to differentiate it’s value proposition is to bridge the gaps between the “ New application design requirements” and “Traditional enterprise application design”. This Bridge manifest itself in forms of features such as a  “Any runtime”, API Management services, Eco system awareness and Partner services, from many such business partners who have been helping our own enterprise clients in implementing their solution on IBMs stack.  By putting it all together in a “Mix” Big blue has not only carved a niche with the notion of “composable services” but also challenged our clients and ecosystem alike to fit into this open model.

thoughts?

As always I am open to your comments and critique. I do invite your  feedback on the forum or e-mail.


:)
Nitin