infoeducatie - what is solution architecture?

25
Bogdan BOCȘE https://VisageCloud.com Infoeducatie, July 2017

Upload: bogdan-bocse

Post on 22-Jan-2018

172 views

Category:

Software


0 download

TRANSCRIPT

Page 1: InfoEducatie - What is Solution Architecture?

Bogdan BOCȘEhttps://VisageCloud.com

Infoeducatie, July 2017

Page 2: InfoEducatie - What is Solution Architecture?

Definition Concerns

Processes

Infrastructure

Integration

Performance/Scalability

Cost Case study: Choosing a (Big)Data Store

Things to Consider

Shopping List

Page 3: InfoEducatie - What is Solution Architecture?

“Information technology architecture is the process of development of methodical information technology specifications, models and guidelines, using a variety of Information Technology notations, for example UML (…)“

Page 4: InfoEducatie - What is Solution Architecture?

What is actually required?

What are the silent requirements (expectations)?

What do we have to develop?

What can we reuse? Aren’t we reinventing the wheel?

Do we have to integrate something? How?

How much effort does it take?

How much does it cost (to buy and to operate)?

Page 5: InfoEducatie - What is Solution Architecture?

Finding solutions to problems (performance, scalability, development, cost)

before they become problems.

Page 6: InfoEducatie - What is Solution Architecture?
Page 7: InfoEducatie - What is Solution Architecture?
Page 8: InfoEducatie - What is Solution Architecture?

Components: Actors/Systems/Swim lanes Actions Messages

Helps with: Separation of concerns Structuring possible scenarios Identifying untreated cases and exceptions

Page 9: InfoEducatie - What is Solution Architecture?
Page 10: InfoEducatie - What is Solution Architecture?

Type

On-premise

Hosted

Cloud

Capacity Planning Monitoring and Alerting Redundancy/Resilience/Fault-tolerance Disaster Recovery

Page 11: InfoEducatie - What is Solution Architecture?
Page 12: InfoEducatie - What is Solution Architecture?

Patterns: Service Oriented Architecture

SOAP, REST Publish/Subscribe Request/Reply Callback

• Messages Queues / Enterprise Service Bus Data Replication Extraction-Transformation-Loading (Batch Processing)

Anti-patterns: File transfer Shared database

Page 13: InfoEducatie - What is Solution Architecture?

Performance

Non-functional requirements

Volume

Response Time

Scalability

Vertical – scale up – more powerful machines

Horizontal – scale out – more identical machines

Page 14: InfoEducatie - What is Solution Architecture?
Page 15: InfoEducatie - What is Solution Architecture?
Page 16: InfoEducatie - What is Solution Architecture?
Page 17: InfoEducatie - What is Solution Architecture?

Types of Cost Capital – how much it costs to build? Operational – how much it costs to operate?

What you care about is … Total Cost of Ownership (TCO)

Operational costs include Maintenance (including staff) Support (including staff) Rent Power & cooling Backup and backup management Spare parts

Page 18: InfoEducatie - What is Solution Architecture?

How to Choose a (Big)Data Store?

Page 19: InfoEducatie - What is Solution Architecture?
Page 20: InfoEducatie - What is Solution Architecture?
Page 21: InfoEducatie - What is Solution Architecture?

What’s it called? What does it mean?

Volumetry If it’s less than 100GB, don’t bother calling it BigData

Atomic Query Size Are you reading 10 or 10 million records per transaction?

Load Do you expect 5 or 5000 queries per second?

Response Time Do you expect your data store to answer in 1ms, 10ms or 10s?

Immutability Once your data is written, does it stay written?

Strict Consistency Do you need changes to be instantly visible to all readers?

Data Freshness Do you need the absolute latest data, to the millisecond?

ACID Compliance If you work with ordering or payments, you want transactions.

Query Accuracy Is there room for error for the results to your queries?

Persistence/Durability Should data be stored on a permanent medium (HDD, SSD)?

High Availability Is it required that the data stores stays available throughout hardware and network failures?

Page 23: InfoEducatie - What is Solution Architecture?

Enterprise Integration Patterns Cloud Design Pattern and Reference

Architectures

Amazon Web Service Reference Architectures

Microsoft Azure Design Patterns

Page 24: InfoEducatie - What is Solution Architecture?

http://en.wikipedia.org/wiki/Scalability http://en.wikipedia.org/wiki/Consistency_model http://en.wikipedia.org/wiki/Fallacies_of_distrib

uted_computing http://en.wikipedia.org/wiki/Enterprise_architect

ure_framework http://en.wikipedia.org/wiki/Zachman_Framewo

rk http://en.wikipedia.org/wiki/List_of_system_qua

lity_attributes http://en.wikipedia.org/wiki/Shared_nothing_ar

chitecture