Monday, October 15, 2012

What is a Platform?

Hi Fellow Architects - Here are some common questions Architects often have to deal with when trying to build/ define a Platform. Of course, I would like to hear from the experienced among you to seed this discussion.

What is the purpose of the Platform?
Is it for others to build business capabilities or else is this for serving up some business capability that is your competitive advantage. The former may be called Infrastructure as a Service and the later Information as a Service. This informs your decision on how much of the interface to expose.

The first, Infrastructure as a Service, requires you tighten the integration and management interface and the integration pathways via strict SLAs and service contracts that drive both the infrastructure usage patterns, infrastructure management and billing.
The later, Information as a Service, drives you to define the service contract that is unique to your business needs with very tight service definition and service usage criteria while treating all of the business rules for aggregation and information interpretation as proprietary Intellectual Property which is kept under tight wraps. Here the interaction is via clean, crisp, stable interfaces that are defined and described in standard formats.
What are the common attributes of either Platform?
It has to be Extensible, Scalable and Flexible and it has to have the level of reliability that we have come to expect with services such as email, Google maps etc.
I would like to hear from you on what other key attributes should or could be part of any Platform.
  1. Are there any standards that govern these concepts?
  2. What if any principles and tenets apply to the building of a Platform?
  3. Do you treat this as just a technology choice or is this about using the technology to deliver the Platform capabilities?
  4. How do you insure that the constraints of the technology are not becoming the limiting factor to your Platform?
  5. How do you build the Platform so that you are in a forever beta mode without it becoming an onerous Platform management process?
  6. What are some of the key concepts you would want to establish as ground rules or concrete principles so that the basic premise of the Platform is not broken over the multiple iterations?
  
Thank you for tuning in. Your feedback is invaluable.
surekha -
surekha.durvasula@gmail.com

1 comment:

  1. Surekha -

    There are very few standards in this area. Few can even agree on what a "platform" truly means. OMG is doing some work around the cloud based platforms, but it's more about the cloud than it is about a platform. With that in mind, a couple of thoughts:

    Point 2: Tenets of building a platform are very familiar to those of us who came out of SOA and BPM worlds.
    First, encapsulation of each sub-capability of the overall platform with proper granularity to get to modifyability. This addresses points 4 and 5.
    Second, build the "structural steel" into the platform - things like measurement, management, and security (to name a few) usually wind up being bolted on after the "minimum required functionality" is achieved. In the world of platform thinking, they ARE an integral part of the minimum required functionality.
    Third, build to patterns of technology capabilities - not technology. The only known known is that technology will change. The modifyability of platforms becomes critical, as does the classification of technology capabilities.
    Fourth, build the platform one piece at a time. The capability model of the platform should be (mostly) known up front. The iterative approach can then be used to "fill" the pieces of the capability model as it evolves in response to market and regulatory pressures.

    Finally... Platform building is a ride, from highs of the peaks (of inflated expectations) to the lows of the troughs (of disillusionment.) Steady leadership is more than just important - it is a requirement.

    Regards,

    AAB

    ReplyDelete