Posted my latest entry to the API Strategy blog last week, in which I advocate approaching your internal architecture as a series of APIs rather than a monolithic system.
I’m certainly not the first to propose or recommend this idea. It has, in fact, been around for a while under the label “Service Oriented Architecture” or SOA. But SOA has traditionally relied on complicated protocols like SOAP or CORBA or technologies that lock you in to a given platform like COM or JMS. RESTful APIs are becoming the best solution for modularized systems, even within the same data center, as they allow for maximum flexibility with no vendor lock in. It does require additional work in the initial stages to get it running correctly, but tools like Apigility (for PHP) and restify (for node.js) allow you apply a RESTful facade in front of legacy systems until they can be rearchitected to serve a RESTful interface natively or replaced entirely.
Since REST is a completely open standard (though I use the term “standard” loosely here), you can rapidly onboard new developers and integrate with the latest and greatest technologies with ease. You can also more easily expose select parts of your infrastructure to partners and third party developers with very little additional work.
Precious few internal systems are built like this, and too many systems architects dismiss the idea of an API driven architecture out of hand without considering the benefits. Forward-thinking architects immediately see the benefits of combining highly modularized systems with RESTful API interfaces to deliver tremendous flexibility, systems reusability, increased rates of innovation and reduced onboarding time for new developers.