In my previous blog, I talked about how API's should be modeled from a Consumer Centric Approach. From an On Premise perspective, a typical logical architecture for supporting this type of deployment is shown in the figure below. A typical application architecture contains an Application Server hosting the interaction services, usually implemented as a set of REST services or Worklight Adapters. Typically, even in a Single Page Architecture, your application server does some type of session management, caching or storing of User Data, and Integration to the back end either by accessing the data or through an ESB or BPM engine. Because this tier was an entry point into your infrastructure from the Internet, it required a large amount of work to scale, maintain, upgrade, and so forth.
This week IBM announced the Open Beta for BlueMix. A Platform as a Service platform for building out next generation solutions out in the cloud. This includes tools for building web apps, mobile apps, and so forth.
As Enterprises look to leverage cloud at different levels, a definite pattern that has emerged is offloading the Mobile/Web Application Server out to the cloud, using Platform as a Service providers.
There are many advantages to this model:
A larger ecosystem of choices are available. For example, I can choose to build out API's using Node.JS, Java, or Ruby. Entry points are no longer products, but services, including development platforms.
A source of services available to your application, directly available. Examples are Local JSON Storage, Session State Caching, Mobile Push API's, and so forth.
- Ability to scale out web traffic without Infrastructure investment. Bluemix sits on top of a Softlayer as an Infrastructure as a Service stack.
Many Enterprises still will want to maintain their back ends and System of Records "On Premise." It is difficult to move generations of host systems out to the cloud. In addition, there are many security reasons why enterprises wish to hold their data "On Premise." However, the security maturity of Cloud Providers, like Softlayer, As such, the emergence of a Hybrid Cloud Architecture is emerging.
How would a Logical Application Architecture look like in this scenario. Look at the figure below.
The REST/API tier that typically runs on-premise is now built in the cloud. You can built services using technology to meet the interactions patterns, weather it be push services through mobile networks, asynchronous IO with WebSockets and Node.JS, or application logic with Java. From an On-Premise perspective, exposing API's and API Management becomes a key capability as providing Data Services from the Enterprise will be the new name of the game.
Offloading your read transactions, interactions, User Model to the cloud, will free up your own infrastructure to handle the revenue generating transactions and core business. Leveraging the cloud to host your User Model means you can augment your interaction with Social and Mobile Services like location or push services without the infrastructure cost.
The Next generation web and mobile services will be living out as cloud services, it is time think about the next generation reference architecture to support it.
With the Beta Release of IBM Bluemix, you now have a wide variety of tools to build the next generation apps. The figure below shows the Bluemix Catalog: