The Cloud, SOA, BPM and BI - While there is much written individually about these four hot topics of the day, there is perhaps less published as to the roles each play with respect to the other. While each of the four can play a significant role in improving the service capability and reach of a business, with possible reduction in costs and time to market, working together, the impact is vastly compounded.
The Cloud provides assets. It impacts business in two ways: it offers more to all and thereby reduces the value of proprietary assets. It is perhaps the second aspect that is understated but has had a greater impact on systematically eroding the bottom lines of organizations which have come to rely on their leading edge products or services around these products. Market share resulting from decades of huge investments to facilitate development, implementation and innovation is now being challenged by upstarts, because never before has so much been spent by many towards making more available for consumption in small parts, at will, without restrictive commitment. The term “barrier of entry” may well become passé. What started as simply providing excess hardware to others on demand, either by renting out tin or idle processors, has now extended to a ‘pay as you consume’ model that now spans virtually every component of the value stream. Platforms, software and even people are available on demand and increasingly, worryingly native. Worrying to those who depend on a traditional asset base of connections, tin, brick and mortar to protect them.
Service Oriented Architecture, SOA, is constructed on the principle of ‘ease’. The whole idea is to make it easy to invoke technical assets. Functional code is constructed knowing that it will be used, changed, reused and made available to many in a simple, standardized manner. Where possible, the intent is to model a ‘plug and play’ environment. The assets themselves may lie inside the enterprise or outside in the cloud. SOA represents a means to assemble them at will, put together components in different combinations and processes as meets the business need. The principal benefit of SOA is perhaps just this, the ability to change the offering fairly quickly, and thereby demonstrate a shorter time to market. It is important to recognize that cost savings by itself may not make the business case, especially in the short term. However it is becoming evident that SOA, at least in part, may be necessary to meet competitive pressure and stay in business.
Business process management (BPM) nowadays enjoys an environment where it becomes an enriched conductor of action and sequence, choosing from a wider array of choices that are made available from the Cloud through the use of SOA centric services.
Business Intelligence, BI, is the trigger that sets the symphony moving. While the others can be considered as the means, BI, through the automated interpretation of data acts in real time and starts the music without human intervention.
End-User Experience; With SOA, BPM, BI and Cloud, Enterprises can offer their customers…
- Innovative product offerings that are ahead of the competition
- Customized offers created by analyzing user patterns in real time
- Seamless user experience across different mediums – PC & Mobile devices
2. Cloud Computing – A Primer
This section aims to provide a quick primer to Cloud computing in-terms of the technical assets provided. Forrester defines cloud computing as “A pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting end-customer applications and billed by consumption.”
In simple terms, Cloud offers:
- Pay per use for computation power (CPU, Storage, Network)
- Virtually infinite computation resources
- Automatic scalability on spikes
A Cloud typically offers three models – IaaS, PaaS and SaaS.
- IaaS – Infrastructure as a Service
- PaaS – Platform as a Service
- SaaS – Software as a Service
A fourth model has been around longer, ‘People as a Service’. What is commonly called outsourcing, of which off-shoring has now become a billion dollar industry. While this started with technical services to design, develop and run company-owned technology stacks, today SLA based models offer managed services which can literally do away with almost all requirements which can fall within the scope of documentation and definition.
IaaS – Infrastructure as a Service is a business model where the Cloud provider offers online purchasing of raw computation power in terms of CPU, Storage and Network. Customers are given access to a preinstalled ‘base virtual server’ with a selection of common Operating Systems (Linux, Windows, Solaris). This model is ideal for customers to deploy existing applications on the Cloud. Popular vendors who offer IaaS are Amazon Web Services and GoGrid.
PaaS – Platform as a Service is a business model that builds on top of IaaS. A pre-configured application runtime environment is provided off-the-web. Customers need to worry only about the business logic and data model of the application while the underlying infrastructure (CPU, databases, etc.) and common architectural elements of clustering, load balancing, deployment, etc. is fully abstracted (hidden) from the user. This model is ideal for customers to deploy new applications on the Cloud. Popular PaaS vendors are Google App Engine, Microsoft Azure, Force.com and RackSpace Cloud.
SaaS – Software as a Service is a business model that is based on the concept of hosted online applications. Naturally, they are hosted on the Cloud to leverage the benefits offered by the Cloud platform. This is the ultimate way of optimizing time to market as software is almost ready to use as it requires only minor customizations. Popular SaaS vendors are SalesForce.com, Google Apps, Microsoft Live, etc.
People as a service – Traditionally doers have been available on a ‘pay as you consume’ model. Consultants were rarely doers and their influence did not extend from the board room to the factory floor. Foremen were foremen and strategists were strategists. Today, innovation must happen at the level closest to the consumer, and the backbone simply an extended means to transmit information and process across the organization so nothing has to be rediscovered, at least more than twice. As opposed to the straight rigid notion of a backbone we are seeing an octopus like structure, armed with highly sensitive tentacles that reach into all domains, sensing and reaching into small and large opportunities across the oceans.
3. Service Oriented Architecture – A Primer
The key goal of Service Oriented Architecture is to offer ‘Business Agility’ - the ability for businesses to respond to change quickly, in an agile manner. SOA is a methodology of grouping resources, where each resource/entity performs a well-defined function. The entities interact with each other to reuse functionality. In order to facilitate this interaction, a resource should be made available to others in the network as an independent service, accessible in a standardized way. The services need to have a well-defined governance strategy in order for them to be useful.
SOA has many predecessors and all of these architectural predecessors were stepping stones towards the goal of achieving flexibility and loose coupling amongst components. The concept of SOA is based on evolution from component based distributed architecture and integration paradigms.
The following timeline graph of technologies denotes the evolutionary process culminating into a Service Oriented Architecture.
4. To SOA or Not to SOA
SOA has a place but does not necessarily always reflect the best way of achieving a business objective. Let’s examine the benefits that SOA brings and the associated challenges it could create.
The benefits of SOA are realized by the Business and by IT. Values assigned could be different. In some cases, happily, both values merge.
- Integration of the business and IT teams through a common language – ‘services’
- Provide the business community the ability to compose new business processes or make changes to existing processes through a set of business services
- Provide the UI layer with reusable UI services that are agnostic to the backend technologies
- Mandates the documentation of business processes thereby reducing personnel dependency, a quicker ramp-up time when on-boarding new resources and help in identifying a common set of services when these processes are further broken down
- Ability to view the SLAs and system performance in correlation to the Business Processes instead of mere technical data which might not be useful to the Business team
- Data can be aggregated from multiple sources with ease and presented to the end users through different channels – desktop applications, web clients or handheld devices
Time to Market
- The ability to react rapidly to changing business requirements or implementations that warrant adherence to strict deadlines as imposed by statutory requirements
- With service reuse and loosely coupled independent services, the delivery lifecycle can be reduced to accommodate multiple change requests
- With the reuse of IT investment, the cost to deliver new services which can reuse existing services will reduce significantly.
Agility - Built for change
- Helps applications evolve over time and last through time
- Abstract the backend and replace over time
- Access to the business value, no matter what technology delivers it
- Incremental implementation approach is supported
- Seamless integration among components and services owing to the standardization of the interfaces and protocols
- Reuse the available components, be it the IT infrastructure or the IT services
Ease of development and maintenance
- Since SOA deals in the creation of fairly separate modular units of logic that are self-sufficient, development can be conducted separately. Maintenance is also made easier since parts can be serviced and removed from the operation if necessary without bringing down the whole.
The end architecture for SOA combines the two perspectives and gels it into an efficient and effective business centric IT methodology.
As seen in the ‘For SOA’ section, SOA defines an architectural paradigm that requires loose coupling between systems so that composite applications can be built by re-arranging services accordingly. A large SOA implementation would typically involve multiple integration points to other systems. These integration points introduce latency depending on the quality of network. Such latency could be unacceptable in the following scenarios.
- Systems involving extreme real-time response times, such as 10 to 20 milliseconds
- In the telecom industry, systems which interface directly with Network Elements that operate in call control
- Applications and Systems that typically do not have access to network during its operation (Thick-client mobile-phone applications). Mobile devices having network access do not fall in this category
- Applications that require very low memory footprint
5. Business Process Management – A Primer
Business Process Management is a wider discipline that deals with designing, modeling, executing, monitoring and optimizing business processes. A business process is a set of documented and transparent independent actions that when executed in a particular order, achieves a stated goal consistently. Business Process Management System (BPMS) represents the technology element to automate and increase the efficiency of Business Process Management. BPM and SOA work well together because SOA abstracts individual tasks and activities as services. BPM execution needs technologies to string the services together to execute the business process. This approach of managing business processes in a SOA environment is highly flexible and change-friendly, because any change in the business process could to a large extent be realized by re-arranging the service invocation steps.
BPM addresses the processes to get work done more efficiently and SOA provides a more flexible IT architecture & increased re-use of assets. BPM’s top-down approach can actually accelerate a SOA rollout by fostering better business-IT alignment. BPM also encourages an iterative approach to development & production implementation which is intrinsic to SOA. SOA helps IT define and construct software assets which can be reused by business; and BPM defines their effective consumption.
6. Business Intelligence – A Primer
Business Intelligence is an umbrella of technologies and processes for gathering, storing and analyzing data to help organizations make better business decisions. Hence, they are also referred to as ‘Decision Support Systems’. Common functions of Business Intelligence include:
- Data mining
- Online analytical processing
- Predictive analytics
A BI solution typically helps enterprises in the following ways and much more:
- Identify market share and opportunities
- Understand their profitability drivers
- Determine business areas of high performance
- Get insight into profits
BI Yesterday, Today and Tomorrow
The first generation of BI was characterized by basic querying and reporting. The level of intelligence offered by first generation BI was greatly limited. Collecting and analyzing data from different disparate sources was tedious, expensive and time consuming. The reports generated by first generation BI were not reflective of the “as-is” state of the data.
The current BI solution uses a data warehouse as a centralized, combined storage by combining data from multiple and varied sources. Before loading data into the data warehouse, inconsistencies are addressed using ETL – Extract, Transform and Load, which introduces an element of latency.
The BI solution of tomorrow, powered by SOA and Cloud is designed to react and respond instantly to high-volume, high-speed data for competitive advantage, to minimize risks, and avert disasters. This is combined with Complex Event Processing, which makes it possible to identify complex patterns out of business events.
7. What happens when the Quartet plays together
- Cost-efficient, real-time decision making capabilities are realized
- Ability to create Composite business applications by leveraging the power of ‘mix and match’
- Allows businesses to create Enterprise Mashups by easily combining loosely-coupled IT assets
- Possibility of Business Process Orchestration to combine in-house assets and assets on the Cloud
- Address unpredictable spikes in load with the power of “elastic” computing resources offered by the Cloud
- Service enabling Business Intelligence increases the value of BI investments and greatly increases the possibility of automated intelligent applications
- Proactive business performance management (Business KPIs, etc) and correct problems as they occur
The diagram shown above outlines one of the many ways by which SOA, BPM, BI and the Cloud work together. From a business perspective, Business Intelligence triggers a change in business process. Business Processes involve stringing together service assets and Cloud assets (services and applications). Cloud is the common fabric that ties all the three together by providing a scalable, dynamic infrastructure.
8. Stringing the Quartet – A use case walk-through
This use-case addresses the Telecom Mobile services industry. It is fairly simple to visualize and draw parallels in other industries as well. This use-case describes how an intelligent, value-added services engine leverages the power of SOA, BI, BPM and the Cloud.
The mobile service provider – ‘Kotuku mobile’ is under pressure from competition to offer innovative value added services. Convergence and brand exploitation has led to diversified business models in their industry. The consumption of voice, data and other services has dramatically increased due to the rapid growth of smart phones, tablet computers and other handheld devices in their markets. These factors are forcing Kotuku mobile to quickly launch intelligent value-added service facilities that combine SOA, BI, BPM and the Cloud so as to maintain a competitive advantage and customer loyalty.
Before doing a deep-dive into the use-case, the diagram shown below represents the topology of the current IT landscape of Kotuku mobile. They already use SOA, BI, BPM and the Cloud, individually. Hence, it is first important to visualize the landscape, before seeing how these methodologies string together.
In the IT landscape shown in the diagram above, Kotuku mobile has deployed some of the business processes and data-oriented services on an external third-party hosted Cloud platform. The in-house, shared SOA platform has a Business Process runtime and a service layer. The Business Intelligence platform comprises of traditional ETL (Extract, Transform and Load), Analytics and Reporting. The inhouse SOA platform uses adapters to re-use legacy assets and other applications. The types of assets deployed on each layer are:
- Loosely coupled logic as services
- Good mix of atomic and composite services
- Includes services that depend on legacy systems
- Includes independent data-oriented services
- Set of core Business Processes
- Enterprise Data Warehouse
- Reporting – Canned Reports
- Analytics and Decision tools
- External IaaS, PaaS or SaaS subscriptions
- In-house virtualized infrastructure
Now, we are ready to examine the use case of “intelligent value-added service” that would leverage existing assets as described above by stringing the quartet – SOA, BI, BPM and the Cloud. The goal of this “intelligent value added service” is to automatically analyze consumer usage patterns of core mobile services (Voice, SMS, Data etc.), and propose a customized value added package tailored to the user’s exact needs. Examples of customized value added packages offered by Kotuku mobile would be –
- A bundle of 1000 free SMSs
- Free data at night,
- Weekend free calls etc.
When the customer logs into Kotuku mobile’s portal, the system dynamically offers value added services for purchase. Since the proposed offer is directly related to the user’s actual usage pattern, the probability of a purchase would be high. When the user accepts the offer /makes a purchase, the system instantaneously provisions the value-added service.
Here is the contribution of each member of the Quartet:
- Capability to retrieve past usage - based on voice, data, etc
- Capability to retrieve customer purchase history
- Process to identify user patterns and create recommendation
- Process to provision and activate the value added service
- Query Usage – getVoiceUsage, getDataUsage, getSMSUsage
- VAS Manager – addPackages, updatePackages, listPackages
- Tariff Manager – updateTariff, createTariff, deleteTariff
- User Profile – getAllUsers, get|set|update SuggestedVAS
- Billing System Manager - addBillableVAS
- Network Activation Manager – activateVAS, deactivateVAS
The business Process to identify usage pattern and to derive the recommendation, is shown in this diagram. This process runs as a background job and gets triggered by the business process container at configurable intervals. The services shown in this use-case are well defined in-terms of granularity and abstraction. The functions of service operations are fairly self-explanatory by their name. The next level of detail in terms of how the service is realized is not relevant in this context. However, it is important to know that BI and SOA are already stringed by exposing BI capabilities as services. The complete stringing sequence is shown in this business process flow diagram below:
The second business process in this use-case deals with provisioning and activating the value added services that were identified by the previous business process. This process is triggered by the customer when he logs into the Kotuku mobile portal and accepts / purchases the proposed offer. The business process strings the services ‘addBillableVAS’ and ‘activateVAS’ to add the value-added-service to the billing system and instantly activate it on the mobile network.
These two processes demonstrate the benefits of 'Stringing the quartet' as follows:
In the 'Usage Analyser' process, it was easier to get business insights on the customer's usage patterns due to service-enablement of BI, combined with invocation of assets on the Cloud. The focus of the Provisioning and Activation' process was to capitalize on invocation of services on the Cloud and service-enablement of the core Telecom Network layer (in-house assets) to instantly provision the value-added services. Stringing SOA, BI, BPM and Cloud made it quick and easy for Kotuku mobile to deploy two BPM processes instantaneously, to deliver the intelligent value-added services.
9. Concluding thoughts and The Beginning
There have been certain trends that consistently emerge, irrespective of industry, as durable, fostering allegiance amidst users and producing wealth for those who incorporate them in their offerings. Amongst them, the principle of self-service, transferring power to the user, is perhaps significant. Countless examples of incredible commercial success resulting from followers across varied cultural domains prevail, Facebook, Google, Twitter are examples.
Why? Perhaps the answer lies in the fact that they appeal to the age old values of liberty and freedom of expression, home building, ownership of domain and design to satisfy individual desire. The opportunity to provide a structured blank canvass, to build, enrich and provide restricted entry, was realized by Facebook and the value was created by the users themselves. This kind of self governance, that panders to the desire for independence and control, yet with belonging in a greater community, is critical towards widespread acceptance. The quartet plays music of this genre. The choice of content is determined by the user, the options unlimited by the Cloud, and incredibly a means to generate instant gratification without deliberate action, but simply by setting data triggers.
It may be the beginning of a whole new era.