architectural thinking - bilkent universityguvenir/courses/cs418/suley... · • architectural...

39
Introduction to IT Architecture Architectural Thinking &

Upload: others

Post on 25-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Introduction to IT Architecture

Architectural Thinking

&

Page 2: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• What is definition of IT Architecture?

• Why is IT Architecture important? Why do projects need it?

• What is the role of the IT Architect?

• Who is responsible for the solution’s architecture in a project?

• Who is responsible for the architectural documentation in a project?

• What is Architectural Thinking?

Think about the following questions on IT Architecture and the IT Architect’s role

Page 3: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

An architect is a person trained to plan and design buildings, and oversee their construction. To practice architecture means to provide services in connection with the design and construction of buildings and the space within the site surrounding the buildings, that have as their principal purpose human occupancy or use.

Architecture is both the process and product of planning, designing and construction.

Wikipedia Dictionary

Who is Architect and What is Architecture

Page 4: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

4

IT Architecture defines the hardware and software structures of an IT System solution

• The components that will be reused, developed or purchased

• The externally visible properties of those components

• The relationships among components

• Placement of components on nodes

• Distribution geographically

• Network connections and topology

• How will they be managed

• How the components interact

• Operational signatures

• Interfaces

• Protocols

What is an IT Architecture

Page 5: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Levels of IT architecture

Page 6: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Strategy

Architecture

Development Program

Architecture

Project PP

Architecture

Design DDesign D

Infra. Proj

Arch

D DD

Enterprise Architecture

Application

Architecture

Technology

Architecture

Architecture provides a context and guidance, keeping everyone “on the same road”...

Solution

Architecture

Page 7: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

“A system is an entity which maintains its existence through the mutual interaction of its parts.” Austrian biologist Ludwig von Bertalanffy

Key concept is emergence (the whole is greater than the sum of its parts)

Note that a system exhibits properties that are not available in any of its parts.

Architectural thinking and Systems thinking...

Architectural Thinking builds on Systems Thinking byusing a structured approach to deliver results

Page 8: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

.. depends on the viewpoint and context to represent the architecture.

.. involves looking at the inputs, thinking process, and outputs.

Constraints(What freedom

we have?)

Requirements(What is to be solved?)

Qualities(How good

should it be?)

Assets and Technology

(What is available?)

ArchitecturalThinking

Design Procurement Development Implementation Operations

Architecture

Architectural Thinking ...

Strategy(What we

need / want?)

Page 9: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Architecture’s all about creating and communicating good structure and behavior…

Page 10: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

… even if an individual house is

well architected, if each house is

different (e.g. different electricity

voltage, water pressure) then the

city will not work…

… with the intent of avoiding chaos…

Page 11: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

… even if an individual house is

well architected, if each house is

different (e.g. different electricity

voltage, water pressure) then the

city will not work…

… with the intent of avoiding chaos…

Solution

Architecture

Enterprise

Architecture

Page 12: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

12

• Guarantee the system will support the users and the required business functionality

• Support system-wide requirements and qualities

– Performance, availability, maintainability, portability, robustness, scalability

• Provide high-level structure for development effort

– For design, buy and build

– For work planning and allocation

• Allow for the development of reusable assets

Architecture has key objectives ...

Page 13: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

What happens when we don’t?

Page 14: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

There are many examples

Page 15: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

There are many examples

Page 16: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

There are many examples

Page 17: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Common artifacts for communicating architecture

As the size and complexity of systems increase, design and specification of the overall

system becomes more important. The Architecture artifacts help to analyze competing

concerns and to manifest them as systems qualities. They evolve from an ad hoc, word-of-

mouth approach to an integrated set of documents. Below table lists only very commonly

used artifacts;

•Architectural Overview Diagram

•System Context Diagram

•Architectural Decisions

•Functional Requirements

•Non-functional Requirements (NFR)

•Component Model

•Operational Model

Page 18: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• Description:

– The Architecture Overview Diagram work product contains schematic diagrams thatrepresent the governing ideas and candidate building blocks of an IT system. It

provides an overview of the main conceptual elements and relationships.

• Purpose:

— To communicate to stakeholders a conceptual understanding of the intended IT system— To provide a high-level shared vision of the architecture and scope of the proposed IT

system for the development teams

Architectural Overview Diagram (AOD)

Page 19: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Example : Architectural Overview Diagram (AOD)

Home Shopping Services

DASAHome Shopping

Warehouse

Browse, select, Order creation

PC

Call Centre

e-Services

Order creation

Credit Agency

3rd party books and

CDs

3rd PtyBooks & CDs

Corporate Systems

Home Shopping

Page 20: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• Usually shown as a diagram, this representation defines the system and

identifies the information and control flows that cross the system boundary.

• It highlights several important characteristics of the system: users, external systems, batch inputs and outputs, and external devices.

• The objects within the system boundary define the scope over which the development team has some control.

What is System Context Diagram

Stand-aloneSystem1

Stand-aloneSystem 2

On-LineUser1

On-LineUser2

SystemName

Input 3 Output 4

Output2Input 6

BatchOutput

Interface

Batch InputInterface

Input 4 Output 5

Output1

Input 1

Input 5

Output3

Page 21: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

What is System Context Diagram

Stand-aloneSystem1

Stand-aloneSystem 2

On-LineUser1

On-LineUser2

SystemName

Input 3 Output 4

Output2Input 6

BatchOutput

Interface

Batch InputInterface

Input 4 Output 5

Output1

Input 1

Input 5

Output3

Pedestrian

Other drivers

Gasstation

Air

Driver

Passenger

Page 22: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 23: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• Architectural decisions capture precious knowledge that is worth sharing.

• Architectural decisions are significant because they may directly or indirectly determine whether a system meets its nonfunctional requirements.

Architectural Decisions

• Architectural decisions, on the other hand, typically answer "why" questions, not just "what" and "how" questions.

Page 24: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Example : Architectural Decision (AD)

Weight will be defined each LPAR. CPU cycle operations will be done by the hypervisor based on the priority defined.

LPARs such as database servers should have priority over other servers in terms of CPU allocation. What will be the preferred mechanism to support it?

CPU and priority settingAIX007

Virtualization gives us an excellent opportunity to share the CPU and to utilize unused CPU cycles by different partitions that need for CPU power. Thus we need to use CPU in a shared mode.

The way that partitions use CPU must be defined. At System p CPU can be assigned to partitions either in dedicated or in shared mode – which is the preferred method?

CPU virtualization and free CPU utilization

AIX006

Two VIOS will serve the same LUN. SDDPCM and MPIO will be used in the VIOS and in the LPARs.

How should the VIO be implemented to ensure disk I/O high availability requirement?

VIOS Disk AvailabilityAIX005

Since database servers require high I/O demand, VIOS performance might be saturated by high I/O requirement. Therefore database servers will have dedicated host bus adapter and with external disk access without the use of VIOS.

Shall all I/O requirements be driven by VIOS?

System p server database partition I/O allocation

AIX004

All logical partitions will have boot disks assigned from VIOS.

Should every logical partition be booted from dedicated disks?

AIX boot disk structure AIX003

SSL will be used for encryption.How can we assure that the traffic between servers should not be sniffed and no user password shall be exposed?

Encryption for logging AIX002

ssh will be used. Telnet rlogin and rsh will be disabled.

How should users log on into the system?

User Logging Mechanism to Servers

AIX001

DecisionQuestion and Needs Decision TitleCategoryID

Page 25: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 26: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Functional Requirements:

- Are capabilities needed by users to fulfill their jobAnswers the question of "what" is wanted (but not "how" it is achieved)

Non-Functional Requirements :

Qualities:- Define the expectations and characteristics that the system should supportMight be runtime (for example, performance or availability) or non-runtime (for example, scalability or maintainability)

Constraints:-Givens, those things that cannot be changed within the scope and lifetime of the project- Other factors, such as mandated technologies, available skills, and budget

Requirements Definiton

Page 27: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Requirements Definiton

Page 28: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Current IT Environment

BusinessSolutionScope

Principlesand Policies

Business Locations

UserGroups

AnalysisVerificationCompletionPrioritization

Functional

Requirements

- Direction wheel- Moves forward

Non-Functional

Requirements

- 2 seats- Move 5Kmph

FutureRequirements

- 1 baby seat- Rainproof

Possible Methods for documentingand Completing NFRs:• Questionnaires;• Document research;• Interviews;• Workshops.

EnterpriseArchitecture

Where do Requirements come from?

Page 29: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 30: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• Functional aspect

•Structure of software

•Dynamic behavior (collaboration) of software "modules"

•Defined through Component Model

• Operational aspect

•Network topology (hardware nodes, locations, etc.)

•What runs where (placement)

•Service level characteristics (performance, availability)

•Management and operation of IT System

•Defined through Operational Model

Two major aspects of Architecture

Page 31: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

31

Component Model – notation(structure described by relationship diagrams)

Page 32: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

32

Component Model – notation(behavior described by sequence diagrams)

Page 33: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 34: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Supporting documentation

� Node descriptions

� Connection descriptions

� Node/deployment unit mapping

� Network description

� System management approach

� Middleware description

� Walkthrough descriptions

Supporting documentation

� Node descriptions

� Connection descriptions

� Node/deployment unit mapping

� Network description

� System management approach

� Middleware description

� Walkthrough descriptions

Operational model topology

diagram

� For complex systems may need to divide into several pictures.

� Network topology

� Software services

� Systems management

� Location profiles

Operational model topology

diagram

� For complex systems may need to divide into several pictures.

� Network topology

� Software services

� Systems management

� Location profiles

L8, Country Office

L5, Corporate Services

L6, Other Internet Services

L2, Private Customer L7, Store

L9, Head Office

L1, Corporate Customer

(0 - n)

(100)

(20)

(n)

(1m)(1k)

(1)

L10, App Mgt Svcs

(1)

A_OMS A_SMS

CN_OfflineCorp Customer

Svcs

CN_OnlineStoreSvcs

CN_Application

SvcsCN_Backend

Svcs

CN_Personalization

Svcs

CN_OnlineCustomer

Svcs

A_Inventory_Checker

(3 per store)A_Offline_Customer

(50 per corporate

customer)

(1)A_Online_CRM_User

(10)

A_Cat_Mgmt

(5)CN_Content

Mgmt

L4, Central Site Runtime Services

(1, 3)

L3, Internet Enabled Services

A_Online_

Customer

L8, Country Office

L5, Corporate Services

L6, Other Internet Services

L2, Private Customer L7, Store

L9, Head Office

L1, Corporate Customer

(0 - n)

(100)

(20)

(n)

(1m)(1k)

(1)

L10, App Mgt Svcs

(1)

A_OMS A_SMS

CN_OfflineCorp Customer

Svcs

CN_OnlineStoreSvcs

CN_Application

SvcsCN_Backend

Svcs

CN_Personalization

Svcs

CN_OnlineCustomer

Svcs

A_Inventory_Checker

(3 per store)A_Offline_Customer

(50 per corporate

customer)

(1)A_Online_CRM_User

(10)

A_Cat_Mgmt

(5)CN_Content

Mgmt

L4, Central Site Runtime Services

(1, 3)

L3, Internet Enabled Services

A_Online_

Customer

Operational Model - notation

Page 35: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Operational Model - Example

Page 36: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 37: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Why did it fail?

Page 38: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

• Responses are based on an informal and unscientific survey

• All similarities between the responses and any real architectures or people are purely

coincidental

Top Ten List

10. Too complex and unable to be managed and operated

9. Bleeding edge or unproven

8. Vendor promises of future capability are vaporware

7. No one understands the entire system

6. Not scalable

5. Evolves to which it was never designed, prototype

modified

4. Unclear, missing requirements, or force fit

3. Resources over-challenged, lack of skills and experience

2. Lack of technical leadership and governance

1. Management’s fault

Why Architectures Fail

Page 39: Architectural Thinking - Bilkent Universityguvenir/courses/CS418/Suley... · • Architectural decisions capture precious knowledge that is worth sharing. • Architectural decisions

Questions !....