All posts by joelcrabb

VP Architecture and Chief Architect, Target

Why it’s all about Platform

Keeping Up with the Speed of the Outside World

In a world where anyone or any business unit within a company can build an application on Google App Engine, Heroku or AWS, offering only heavy weight web development as the answer to the business needs is clearly inadequate.  Just as individuals forced the switch from Blackberry to iPhone in the enterprise, a similar shift is coming in web application development.

Groups have always bypassed IT based development as too slow and too expensive.  Every Fortune 100 company I’ve worked in has hired development teams outside IT to get crucial work done in a timely manner.  The better companies acknowledge this and try to at least train the outside developers in secure coding and process for their enterprise.  These outside groups were often stymied because they eventually had to deploy in the company datacenter for data access turning that quick 2 month project into a bitter 10 month project.  But the real problem is the mismatch between expectations driven by innovation outside the business, and the ability to execute within the business.

Bridging the Gap

The key for development service providers within the organization is to offer capabilities similar to what’s available externally yet customized to the unique information and systems available to the organization.  Basically, we need to offer Heroku to our internal business units to build applications, while also giving them APIs into all the enterprise data, content and transactional systems.  Thus the need for web development Platforms within companies themselves.

Platform Capabilities

The right internal platform offers several key capabilities:

  • Transparent operations and elastic scalability
  • SDKs and SLAs for UI and Service components
  • Built-in monitoring and reporting dashboards
  • Smart data caching
  • Simple UI driven interfaces
  • As far as possible, technology agnosticism (e.g. Java, Ruby, .Net should all be viable on the platform)
  • Security from common attack patterns (XSS,SQL Injection, etc.)
  • Metering and throttling
  • Priority for run the business applications
  • Automated failover
  • Disaster Recovery

What this is Not

We are not talking about an internal cloud, ESB or web portal.  We are talking about an internal development platform that likely sits on an internal (or external) (or both) cloud.  By being on the platform and developing as a registered user, you gain instant access to all internal services and data sources.  Where these are and who runs them hardly matters if they all have defined SLAs that are met.  Maybe there is an ESB back there somewhere but essentially no one cares if their service calls are managed correctly.

Unshackling the Business

The whole point of a flexible platform that barely dictates and mostly enables is to allow the business folks to get a little crazy.  In the past development was often the voice of reason guiding crazy ideas towards implementable ideas given time and money constraints.  Those days are over, it is time to let the business go unfettered by reason.  At today’s pace of change, the crazy ideas are the ones that may catch on and the platform of the future will allow those innovations to occur.  As technologist supporting business in this new reality, building internal platform capabilities is best way to meet those needs.

My Favorite Platform

Platform Architectures are the next change coming to Web applications, though plenty have existed up to now.  Salesforce.com is a prime example of a pure platform architecture but Facebook, Apple, Amazon and Google all are Platforms as well (as described in Phil Simon’s book The Age of the Platform).

However, for the first post let’s talk about my favorite platform, and to me that’s the bicycle.  What makes the bicycle a platform?  You can change it to fit your current needs and desires, all its component parts are individually upgradeable, it uses a common set of standards for all these parts, and it is up to your will or imagination to make the most of it.

A bicycle allows you to do more than you could before you had the bicycle.  You can now get from here to there faster.  You can meet your friends and go for a ride.  You can work on it in your spare time.  But ultimately, you decide what works best for you, and when to use (or not use) the platform (bicycle).  That’s the essence of the new breed of platform, the customer will decide whether or not it is useful to them.