Bogdan BOCȘE
Softbinator, February 2015
 Definition
 Concerns
 Processes
 Infrastructure
 Integration
 Performance/Scalability
 Cost
 Case study: Choosing a (Big)Data Store
 Things to Consider
 Shopping List
“Information technology architecture is the
process of development of methodical
information technology specifications,
models and guidelines, using a variety of
InformationTechnology notations, for
example UML (…)“
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)?
Finding solutions to problems
(performance, scalability, development, cost)
before they become problems.
Components:
 Actors/Systems/Swim lanes
 Actions
 Messages
Helps with:
 Separation of concerns
 Structuring possible scenarios
 Identifying untreated cases and exceptions
 Type
 On-premise
 Hosted
 Cloud
 Capacity Planning
 Monitoring and Alerting
 Redundancy/Resilience/Fault-tolerance
 Disaster Recovery
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
 Performance
 Non-functional requirements
 Volume
 ResponseTime
 Scalability
 Vertical – scale up – more powerful machines
 Horizontal – scale out – more identical machines
 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
How to Choose a (Big)Data Store?
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?
ResponseTime 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)?
HighAvailability Is it required that the data stores stays available throughout
hardware and network failures?
 Enterprise Integration Patterns
 Cloud Design Pattern and Reference
Architectures
 Amazon Web Service Reference Architectures
 Microsoft Azure Design Patterns
 bogdan@bocse.ro
 bocse.ro
 www.linkedin.com/in/bogdanbocse
 www.facebook.com/SolutionsArchitectures
 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

What is Solution Architecture?

  • 1.
  • 2.
     Definition  Concerns Processes  Infrastructure  Integration  Performance/Scalability  Cost  Case study: Choosing a (Big)Data Store  Things to Consider  Shopping List
  • 3.
    “Information technology architectureis the process of development of methodical information technology specifications, models and guidelines, using a variety of InformationTechnology notations, for example UML (…)“
  • 4.
    What is actuallyrequired? 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)?
  • 5.
    Finding solutions toproblems (performance, scalability, development, cost) before they become problems.
  • 8.
    Components:  Actors/Systems/Swim lanes Actions  Messages Helps with:  Separation of concerns  Structuring possible scenarios  Identifying untreated cases and exceptions
  • 10.
     Type  On-premise Hosted  Cloud  Capacity Planning  Monitoring and Alerting  Redundancy/Resilience/Fault-tolerance  Disaster Recovery
  • 12.
    Patterns:  Service OrientedArchitecture  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
  • 13.
     Performance  Non-functionalrequirements  Volume  ResponseTime  Scalability  Vertical – scale up – more powerful machines  Horizontal – scale out – more identical machines
  • 17.
     Types ofCost  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
  • 18.
    How to Choosea (Big)Data Store?
  • 21.
    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? ResponseTime 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)? HighAvailability Is it required that the data stores stays available throughout hardware and network failures?
  • 23.
     Enterprise IntegrationPatterns  Cloud Design Pattern and Reference Architectures  Amazon Web Service Reference Architectures  Microsoft Azure Design Patterns
  • 24.
     bogdan@bocse.ro  bocse.ro www.linkedin.com/in/bogdanbocse  www.facebook.com/SolutionsArchitectures
  • 25.
     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