2. Definition
Concerns
Processes
Infrastructure
Integration
Performance/Scalability
Cost
Case study: Choosing a (Big)Data Store
Things to Consider
Shopping List
3. “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 (…)“
4. 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)?
5. Finding solutions to problems
(performance, scalability, development, cost)
before they become problems.
6.
7.
8. Components:
Actors/Systems/Swim lanes
Actions
Messages
Helps with:
Separation of concerns
Structuring possible scenarios
Identifying untreated cases and exceptions
12. 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
13. Performance
Non-functional requirements
Volume
ResponseTime
Scalability
Vertical – scale up – more powerful machines
Horizontal – scale out – more identical machines
14.
15.
16.
17. 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
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?
22.
23. Enterprise Integration Patterns
Cloud Design Pattern and Reference
Architectures
Amazon Web Service Reference Architectures
Microsoft Azure Design Patterns