Archive for the ‘Enterprise Architecture’ Category

Software Architecture simplified

July 12, 2012

I have been asked to present some of my experiences along with some key points of “Software Architecture” to the faculty in an Engineering College.

Hope this gives a good overview!

Tiered data storage

September 10, 2011

Hierarchical Storage Management
Not too long ago (about 10 years back), I have done a strategy for “Data Archival” options for a system that has lots of data which need to be preserved for 25 years due to legal reasons. (sort of Records Management requirement) The requirement is to have it fully query-able fine grained data in the system. The key challenge was keeping all data in on-line storage with the technology available at that time. So, we need to have a clear “Archival Strategy” to move the data off from the disk to tape and preserve the “Tapes” in a way they can be retrieved (by methods of proper labeling etc.,) on-demand within the given service levels. This technology later named as Hierarchical Storage Management. Overall strategy included manual tiering of data between the disks and tapes sometimes using a mechanical robotic hands and associated software around them.

Information Life-cycle Management 
As the technology advanced, the disk storage evolved to multiple bands of cost/functionality. The database software like Oracle came up with options like table partitioning and advanced compression. Combining these advances in the database management systems and the storage a new strategy emerged as Information Life-cycle Management. Logically partitioning the tables and putting them in the different types of storage like Enterprise Flash Disks (EFD), Fiber Channel (FC) and SATA disks using an automated storage tiering is the trend of the day.

Thin provisioning technologies like EMCs Fully Automated Storage Tiering – Virtual Pooling FAST VP and Hitachi’s Dynamic Tiering etc., when used with Oracle’s ASM and the partitioning & advanced compression options gives the best flexibility, performance and value for money. There is a good whitepaper from EMC with published few months back that can be found here

Most of the storage vendors now have the Tiered storage technology embedded in the disk controller software layer that can automate the data migration or intelligently cache and tire the data across multiple types of storage. Using the available technology with right mix of logical features of database and storage virtualization  leads to better data availability at the optimal cost. Still the “right solution” is a job of a knowledgeable Architect! (who can understand the Business and Technology well!!) 

>Architectural Approaches

February 25, 2011

>Having written a small post on “Enterprise Solution Architecture” some time back on this blog now I want to touch up on the Architectural Styles/Approaches.

Typically the architecture discipline is about making “models” and naturally the architecture is thereby model-driven. Model Driven Architecture or MDA is an approach for building various models using the UML (Unified Modeling Language) for defining “structure” and “behavior” of a system being modeled.

But, a “model” can only represent a specific view point of the “system” being modeled. So, there should be a standard set of view points fit into a framework to describe a typical Enterprise. The open group’s TOGAF and ADM tries to do that by defining specific “architectural layers” i.e, business, information, application and technology with multiple view points as functional view, security view, user view, communications view, management view etc., The ADM gives a methodology to select the key stakeholders and required viewpoints the architecture needs to be developed.

IEEE 1471 gives a recommended practice of “Architecture Descriptions” that generalizes specific frameworks in generating these models within the system’s context, stakeholders and their specific needs.

But there is never been an architecture that related to Information Technology that is purely greenfield. There is always an “As-Is” architecture and a “To-Be” architecture that will be built based on current problem domain. SEI’s ATAM is a tradeoff methodology to evaluate the architecture and evolve the architectures.

So, architecture discipline develops models that go out of sync by the time the solution goes live into production and starts solving the problem. It is really difficult to keep the models in sync with what is the reality on the field.

The Service Oriented Architecture i.e, SOA looks at the Enterprise as a set of loosely coupled services that interact to run the enterprise in its environment. This gave a rise to deploy and host the services in a marketplace like environment called “Cloud” that changes the paradigm of architecture into “Cloud Computing”.

While a majority of architectures even in SOA are flow based, there is a different approach that is available is Event Driven Architecture or EDA. This approach looks at the events processing and events triggering various workflows in a business environment. With the complex-event-processing that correlates events over cause-effect, spacial or temporal dimensions it has specific uses in service management and Business Performance Management areas.

While solving complex problems all the above different architectural approaches can be used based on their fitment and availability of time and resources.

But the key is to have the right set of people, processes and tools in developing these architectural views!

Enterprise Solution Architect

September 13, 2010

My teenage son sometimes wonders about what I do in the office to make my living….

Let me try to define the phrase “Solution Architecture”. To do so, I got to first define the words that constitute the phrase in the correct context.

Solution :

A SYSTEM continuously experiences environmental change! Change in the system environment is a natural process. Sometimes the change is gradual and other times the change is sudden.

In any case a system (an enterprise itself is a SYSTEM!) has to have a built in mechanism to tackle the change.

When a “change” can’t be handled by the system within its scope of operation, this change is called as a “problem” that needs a “Solution”

This is the tricky part of the phrase “Solution Architecture”!

Architecture is a discipline, a set of principles, methods, guidelines that can be used to create a “model” of a “system” from multiple view points of different stakeholders of the system. Once the model is constructed, it can be used to get a holistic view of the system by different stakeholders. It greatly helps the understanding of the problem and channelize the thought towards the challenge that is caused by the “problem”

Overall, the solution architecture is a discipline of finding the opportunities to improve the system gently to tackle the challenges posed by the environmental changes as well as making the system more “responsive” to future challenges by creating a multi-dimensional model of the system!

Enterprise Architecture

In the modern day every business organization is seen as a SYSTEM. So, Enterprise Architecture (EA) discipline is divided into four layers as

  1. Business, (what makes up the business – people, processes and tools; Its goal, structure and functioning)
  2. Data/Information,(what are the key data comes in and information needed for business functions both operational and strategic)
  3. Applications (How the data is captured, processed, stored and converted into the useful information and knowledge and presented to the right people at the right time!)
  4. Technology/Infrastructure Architectures. (What physical servers, network, storage components are required to run the applications within the budget meeting service levels)

With the “Cloud Computing Paradigm” is in, the business is seen as a loosely coupled services and each of the service can have three layered “clouding” in SaaS – Software as a Service, PaaS – Platform as a Service, and IaaS – Infrastructure as a Service. This cloud computing has changed the way we look at architecture in the Data/Information, Application and Technology/Infrastructure layers. An architect should consider the possible options of public (external supplier hosting the cloud), private (hosting a cloud within enterprise datacenter0 or hybrid (a combination of public and private) deployment models of the Cloud in these layers.

To make it simple, as an Enterprise Solution Architect, I draw different shapes and name them differently; I will connect those shapes to form a smooth looking flow between multiple layers of the enterprise and convince the key stakeholders that they have understood their current problem and different possible solutions to solve their problem. I will help them select the best solution option suitable for their budget and needs…..

It is FUN as I enjoy this!!