Tuesday, September 23, 2008

Computer Architecture.. an dummies understanding

While was back in my engg college to collect my certificates my juniors came to know about me persuing MBA and asked about subjects and methodology and hence came to know that i am learning Business information Systems and as they were to study systems Architecture in this sem asked me to answer their some queries or if possible to give them an overall view of same to them,i agreed to both of them. Presented below is an extract of conversation that took place between us.



Friend: We would like to know what an System’s Architecture basically is? What it’s comprises of? What importance does it have in IT?

Me: Systems Architecture is the conceptual design of elements or components that goes into an making of full IT infrastructure. The conceptual design is based on indexes such as performance and structure it needs to adhere to. Also the cost factor is one of the main element that goes into designing of such systems.

It comprises of all the IT infrastractural needs that goes into making of IT system of organisation. The needs may differ based on requirements of IT and the type application it wants to support and the type of service and quality that it intends to get from such an development. The main elements that it comprises of are a) Database b) server c) software applications. The list is generic and depends on type of strurcture.

The importance part has already been clarified above. Tha main attributes that gets importance are.. a) Cost b) Service Quality C) Flexibility d) IT objective.




Friend: Now that we have brief idea of what System architecture is and also that is of various type can u please get into some more generic details regarding that?

Me: Now that i have told you that it depends upon various factors and hence have various types, in short i can summerize type of Systems Architecture as follows:

· Single Tier

· Double Tier

· Three Tier

· Multi tier

The choice again depends upon choice and choice is again driven by the factors that i have already mentioned you as above.




Friend: What’s an single Tier Architecture and when to prefer it?

Me: Single Tier Architecture is the simplest of al architecture and is driven by simpler and less complex and less critical needs.

In this type of architecture all components i.e Server, database, application etc goes in at one place or say in one system only. Eg: An spreadsheet software where server(which runs it), database(which stores it’s values of variable’s etc.), application(the spreadsheet interface itself) that resides in your PC is an best example of single tier system architecture.

The main features of this are: a) Low Cost b) serving to minimal no of user. c) preferred for personnel IT needs generally .




Friend: So all our Laptop applications are single tier Applications? Then where does second tier comes into place?

Me: Not exactly that all your applications over there in Laptop are single tier for example you AIS(academic information systems) interface is Double tier systems.

Now coming to double tier system, it basically means that you application is in one system(as in this case your Laptop) and other infrastructure like database and server resides on other machine(in this case the server in you college). The rationale that goes behind this is instead of having copies of all infrastructure with application its more viable to keep layered architecture so that some cost saving and also maintainance is possible .

The main features of this are a) Highly maintainable b) servers to many users with same infrastructure – basically preferred for LAN c) efficient utilization of incurred resources.




Friend: so even we use double tier architecture for our persenol use, that’s an status for us!..so what differenciates double tier and Triple Tier?

Me: As said double tier structure is preferred for LAN type of network. The Triple tier comes into play when the numbers of users have grown many folds and serving them from same set of database and server becomes cumbersome as it lets it toll on performance issue and generally Triple Tier is preferred where good and quick performance becomes an issue and differenciater.

An Triple architecture consists of three layers..we will analyse it with help of an example, let’s say ERP system....

PRESENTATION LAYER: The basic interface where the parameters are entered or say results are seen is the presentation layer. This layer simply provides the interface for interaction and by itself does nothing.

APPLICATION LAYER: The Business Logic that goes behind the processing of results or submission of parameters resides on some other system/server and all processing of data takes place ont his layer only. This layer may have many additional parallel layer as different logics would be there for different sets of data and may reside on different server. Eg: sales, HR, marketing.

DATABASE LAYER: This layer just forms the database part and as the case is the whole of database may be residing on a different machine/machines. Now the question that may arise is why not different database for different sets of data.. the answer is simple all data are inter related Eg: an sales guy may want to have a look at inventory level.. and hence all datas need to be at one place.

The main feature of this architecture goes as a) Suitable for Critical applications b) Highly costly c) can serve an immense number of users D) highly performance oriented e) Highly reliable




Friend: So sadly we don’t have an Triple Tier architecture on our systems!!...do we have multi tier..what goes in there?

Me: If i say NO to your sadness.. i mean yes you do have Triple Tier applications on your Laptop..now it’s your task to find out which applications..

Taking on Multi tier... as the name suggests it comprises of many layers ans there is no fixen structure for it and it can be said to me extended form of Triple Tier in a way.. remember parallel systems?.. but the choice of this type of architecture depends upon the personel choice and understanding of needs and is highly subjective... as an Example we can say Website where browser(application) loads interface on other server(application) whose business logic may reside on other server(server) which may enter data on nay other machine (Database)..

I hope i have tried to make the explanation as simple as possible and also making it practical by citing realtime and practical examples, if you have any further doubts or want more clarification you can always write to me..

After this the discussion still went on as the content needed to be elaborated more specifically for few people but as per feedback and self analysing power.. it was satisfactory..