Showing posts with label cloud. Show all posts
Showing posts with label cloud. Show all posts

2013-05-31

Integration via #BPM: become friendly to #cloud

This post was inspired by article "Cloud-Friendly BPM: the power of hypermedia-oriented architecture" from ZApThink available at http://www.zapthink.com/2013/05/21/cloud-friendly-bpm-the-power-of-hypermedia-oriented-architecture/ and, also "BPM and middleware vendors failing to adapt to the cloud – IDC" http://www.information-age.com/technology/cloud-and-virtualisation/123457063/bpm-and-middleware-vendors-failing-to-adapt-to-the-cloud-------idc?goback=%2Egde_36604_member_245840070




Thanks,
AS

2013-04-02

Addressing #security concerns through #BPM

A small presentation about potential linkage between security and BPM is available at
http://www.slideshare.net/samarin/addressing-security-concerns-through-bpm




This linkage is important because BPM should play the main role in the pan-African platform for e-governments and e-governance (see http://improving-bpm-systems.blogspot.com/2013/03/pan-african-platform-for-e-governments.html). Linking them will make the security more explicit.

This is concept note for a discussion.

Thanks,
AS

2012-11-27

An example of #entarch contributing to a business strategy

"The aim of this Brief is to outline how the coherent use of several existing information technologies can significantly accelerate the achievement of the vision stated in the Bank’s Long-Term Strategy (LTS)."

UNIQUE OPPORTUNITY FOR AFRICA: ARCHITECTING THE SYNERGY BETWEEN EXISTING INFORMATION TECHNOLOGIES

Thanks,
AS

2011-12-18

Enterprise pattern: #Cloud-Ready Estimation and Evaluation Procedure (CREEP)

The aim of this post is to consider a systematic procedure for estimation and evaluation of cloudability of an IT service – what type of cloud (GOLD, YELLOW, GREEN, BLUE, VIOLET) is acceptable for a particular IT service and for what cost. Quick reminder re the zone types (from http://improving-bpm-systems.blogspot.com/2011/07/1-relationships-between-enterprise.html ):
  • classic within enterprise computing centre – zone type GOLD; 
  • within enterprise private cloud – zone type ORANGE; 
  • outside enterprise and enterprise-managed private cloud – zone type GREEN; 
  • outside enterprise and service-provider-managed private cloud – zone type BLUE; 
  • public cloud (outside enterprise and service-provider-managed by definition) – zone type VIOLET. 
The evaluation consists of two parts:
1. ranking of an IT service by several characteristics,



2. decision table for acceptability of cloud solution (actually, what ZONEs are acceptable for this IT service). 
Note: “maybe” means that further investigation is necessary;
Note: more than one column for GREEN, BLUE, and VIOLET can be possible if you work with several providers

Example: SharePoint Extranet


Ranking applied


Decision table applied



Rules for the recommendation :
  1. If at least one “NO” then “NO”
  2. If no “OK” and some “maybe” and “IaaS/PaaS/SaaS” then “maybe” + “IaaS/PaaS/SaaS”
  3. If some “OK” and some “maybe” and “IaaS/PaaS/SaaS” then “OK” + “IaaS/PaaS/SaaS”

Note: CAPEX and OPEX are functions of a service and a zone type.

Resume: 3 zones are not recommended, 2 accepted as SaaS:
1st preference SaaS in BLUE zone; CAPEX = ...  OPEX =... Lead time=....
2nd preference SaaS in GREEN zone; CAPEX =.. OPEX =... Lead time=...

Thanks,
AS

2011-07-08

Enterprise patterns: CAPS

A quote from my previous blogpost http://improving-bpm-systems.blogspot.com/2011/07/1-relationships-between-enterprise.html about Enterprise Architecture (EA) and cloud computing: Ideally, a cloud-optimised solution is a set of interrelated and interconnected services which are good cloud citizens (or highly cloudable).

This blogpost describes a pattern Cloud-Aware Processes and Services (CAPS) to deliver cloud-friendly solutions instead of monolithic applications. The importance of this pattern is demonstrated by the recent post “All cloud roads lead to applications” http://news.cnet.com/8301-19413_3-20075526-240/all-cloud-roads-lead-to-applications/. This blogpost is based on the materials from my book http://www.improving-BPM-systems.com/book.


BPM helps to deliver cloud-friendly distributed systems


Enterprise BPM systems/solutions (see http://improving-bpm-systems.blogspot.com/2009/04/should-we-consider-third-forgotten-bpm.html) architected with a multi-layer implementation model (see the figure below) can serve as an example of cloud-friendly distributed systems.



In this model, each layer is a set of services, each of which addresses particular concerns. The services are cloudable.

The business data layer comprises many pieces of information – names, dates, files, etc. – which are stored in existing repositories (e.g. databases, document management systems, web portals, directories, e-mail servers, etc.). Services at this layer are stateless, contain no business logic (although they may contain some access logic) and, usually, co-locate with their underlying databases. They are highly cloudable.

The business objects layer comprises the many objects specific to a particular business, e.g. a business partner, a product, etc. This layer hides the complexity for manipulating the objects, which are actually collections of data together with any dependencies between them. Again, services at this layer are stateless, contain no business logic (although they may contain some technical transformation logic), and are implemented as simple compositions. They too are highly cloudable.

The business routines (or regulations) layer comprises the actions which must be carried out on the business objects to perform the business activities. Services at this layer are stateless and implemented as complex compositions. The latter are defined in a normal programming language (e.g. Java, Python), an interpretive language (e.g. Jython) or, even, in BPEL. A specialised environment (actually a service called a “robot”) may be needed to execute these services, but this “robot” is rather cloudable.

The business execution layer carries out the business processes. The principal service at this layer is a business process execution engine. It executes business processes which are rather explicit compositions (e.g. SAP uses a BPMN subset as a language for executable business processes – see http://improving-bpm-systems.blogspot.com/2011/06/first-impression-sap-netweaver-bpm-tool.html). Any business process execution engine is a stateful service, but each business process instance can be executed independently. Hence, this service is cloudable. Also, business processes are modelled taking into consideration the concept of idempotency (see http://improving-bpm-systems.blogspot.com/2011/07/1-relationships-between-enterprise.html).

The business monitoring layer analyses the execution of the business processes. A large amount of data (events and audit trails produced as the result of execution) is treated to extract any correlations and meaningful information. Services at this layer are both stateful and stateless, but they mainly operate in the “background” and thus are rather cloudable.

The business intelligence layer implements enterprise-wide planning, performance evaluation and control actions applied to the business processes. Services at this layer are cloudable.

A tip to remember the layers is the following: Data, Objects, Routines, Execution, Monitoring, Intelligence – DO-RE-MI.

The multi-layer implementation model and some technologies


The figure below shows the relation of the multi-layer implementation model to some other technologies. Normally, some services are accessible from a portal or workplace. They “float” in an Enterprise Service Bus (ESB). The latter is used only for service-to-service connections at the technical level. Ideally, an ESB should be based on a solid computing basis which can be provided by a grid, modern virtualisation infrastructure or cloud computing.




Extra considerations about the composition of services (or integration)


Some of the services mentioned above can be qualified as compositions of other services. In addition, interactive services from a portal or workspace are also, in general, compositions. For example, a user may invoke different services whilst staying on the same page (thanks to AJAX).
Any composition of services may manipulate business data and thus may disclose them. The following considerations may help to reduce the risks related to data disclosure:

 

To greater agility


The multi-layer implementation model is a tool which helps an enterprise to design process-enabled solutions
  • in business terms, but not in terms of IT tools,
  • via the combination of services,
  • in a structured way, and
  • with a high level of built-in flexibility.
In my experience, the multi-layer implementation model and the modelling of executable business processes (see http://www.slideshare.net/samarin/towards-executable-models-within-bpm-presentation) are pillars for agility. Today they can be reinforced by cloud computing, and so it is now possible to achieve synergy (and thus even greater agility) between
  • Business Architecture (via BPM and executable business processes),
  • Application Architecture (via SOA and the multi-layer implementation model) and
  • Technical Architecture (via cloud computing).
And of course, it is the responsibility of EA that all of above-mentioned architectures work together.

Thanks,
AS

2011-07-01

Relationships between Enterprise Architecture (EA, #entarch) and #cloud computing

Big picture


The effective use of cloud computing at the enterprise level is a two-way street:
  1. the use of cloud should be architected for the needs and realities of a particular enterprise and
  2. the application portfolio, technologies, etc. used in an enterprise should be adapted to achieve the full potentials of cloud computing.
In general, EA deals with a system of systems. In general, those systems are distributed – each of them is an interrelated and interconnected set of business artefacts [events, rules, processes, documents, etc.] and technical artefacts [servers, OSes, databases, storage, applications, etc.] spread over the network. With cloud computing, the network become rather versatile (many zones with different characteristics) and transparent (easy to move some artefacts from one zone of the network to another).

Considering that EA knows all artefacts and (ideally all) relationships between them, EA should also know the impact (implementation time, risks, cost, performance, etc.) of particular allocation of some artefacts into some zones to optimise (easy to create, easy to operate, easy to maintain and easy to evolve) the allocation of all artefacts.

A simple allocation model


Let us consider cloud as a set of the following zone types (they are named using different colours):
  1. classic on-premises computing centre – zone type GOLD;
  2. on-premises private cloud – zone type ORANGE;
  3. off-premises and enterprise-managed private cloud – zone type GREEN;
  4. off-premises and service-provider-managed private cloud – zone type BLUE;
  5. public cloud zone type (off-premises and service-provider-managed by definition) – zone type VIOLET.
Although, some of these zone types (e.g. the VIOLET one) may never exist in a particular enterprise, all of them are listed for completeness. The BLUE and VIOLET zone types are built with a set of trusted service providers. The term “zone types” is used because an enterprise may have several zones of the same type (e.g. more than one provider for VIOLET zones).

The allocation of artefacts to zone types is governed through a decision framework which provides a set of rules for putting a particular artefact into a particular zone type. See http://improving-bpm-systems.blogspot.com/2011/12/enterprise-pattern-cloud-ready.html

Practically all artefacts may be in any of these zone types. During the continuous virtualisation of technical artefacts, almost all of them may be moved from the GOLD to ORANGE and GREEN zone types and then to the BLUE and VIOLET zone types. Artefacts, like applications, may be transformed before the move or not.

The decision framework takes into account factors such as
  • data sensitivity,
  • security of data,
  • network latency,
  • the intensity of use,
  • artefact architecture,
  • the technologies involved,
  • dependencies between services,
  • SLAs,
  • BCDR requirements,
  • the existing zone (including its operating cost and risks),
  • the target zone (including its operating cost and risks),
  • the cost of moving,
  • etc.
Also, the decision framework reflects the business strategy, e.g. an organisation which anticipates a rather aggressive decentralisation shouldn’t promote the use of the ORANGE zone type.

The artefacts (business and technical) mentioned above are actually services which implement related artefacts, and sometimes there is a trivial dependency between business and technical artefacts. For example, business documents (business artefact) are implemented by Enterprise Content Management (ECM) services (technical artefacts) which require a database, file storage, application server, backup, monitoring, etc. (technical artefacts).

Services are useful for building cloud-optimised solutions


Ideally, a cloud-optimised solution is a set of interrelated and interconnected services which are good cloud citizens (or highly cloudable). In reality however, there are still many classic monolithic applications which are actually conglomerates of many potential services and therefore it is not easy to evaluate how cloudable they are. For this reason, any approaches for replacing monolithic applications (existing and/or new) by coordinated sets of services are very welcome. Some of the related concepts are mentioned below.

Services (defined as explicitly-defined and operationally-independent repeatable units of functionality that create a particular result) and, especially, stateless services are the best candidates for clouds (i.e. they are highly cloudable) – just add more instances but be careful about dependencies.

SOA (defined as an architectural approach for constructing software-intensive systems from a set of universally interconnected and interdependent services) is a way of thinking in terms of services (e.g. large, more functional, services are assembled from small, less functional, ones).

Enterprise Service Bus (ESB) is the best way to provide universal connectivity (mentioned in the previous paragraph). But, it is necessary to avoid trying to solve all integration problems with an ESB – see http://www.slideshare.net/samarin/example-use-of-bpm-to-monitor-an-esbcentric-integration

Idempotency (defined by Wikipedia as the property of certain operations to be applied multiple times without changing the result) applied to services helps to build reliable compositions of services – see the IRIS pattern from my book. Recently, the power of idempotency was demonstrated in April’s AWS issue – see http://www.twilio.com/engineering/2011/04/22/why-twilio-wasnt-affected-by-todays-aws-issues/. Also, note that the SAP BIT420 training course has an example of idempotent services.

The functioning of any enterprise is the coordination of many activities (human and automated) – see http://improving-bpm-systems.blogspot.com/2011/02/explaining-ea-business-architecture.html. Considering that the majority of those activities are actually invocations of services, it is possible to say that the functioning of the enterprise is the coordination of many services via different techniques: token-based, rule-based, event-based, data-based, manual-based, etc. If all coordination is made explicit (via BPM), this will provide the necessary information about all static and some dynamic relationships between services.

Typical questions about cloud computing


The following provides a typical list of enterprise-wide concerns relative to cloud computing.
  • How can we know if cloud computing is even appropriate for our company?
  • Which systems, applications and business processes are the best candidates for cloud outsourcing?
  • How can we effectively manage the interrelationships between systems, business processes and data we want to outsource with those that will remain in-house?
  • What would be the most effective cloud configuration for our company (private, public, hybrid, community, etc.)?
  • How do we protect sensitive agency data in the cloud?
  • How do we comply with industry records management requirements in a cloud environment?
  • What’s the best way to assess and manage our company’s risk profile in a cloud environment?
  • What are the actual costs of our IT operations today? What cost savings can be expected by transitioning to cloud computing?
  • How well are our current corporate IT investments performing? What performance improvements are possible in a cloud environment?
  • Where do we start? What are the steps to get from where we are today to a cloud environment?

It is clear that the simple allocation model (in which the decision framework is filled by your rules) and the ability to deliver solutions as a set of services will be of considerable help to address systematically those concerns.

Thanks,
AS