systems architecting experience
TRANSCRIPT
Systems architecting experience
Alexander SAMARIN
• An enterprise architect
– from a programmer to a systems architect (systems of various sizes: company, corporate, canton, city, country, continent)
– have created production systems which work without me
• Some of my professional roles
– “cleaning lady” (usually in an IT department)
– “peacemaker” (between the IT and business)
– “swiss knife” (for solving any problem)
– “patterns detective” (seeing commonalities in “unique” cases)
– “assembler” (making unique things from commodities)
– “barriers breaker” (there is always a bigger system)
– “coordinator” (without any formal authority over components)
2017-05-24 Systems architecting experience, v1 2
About me
• I am involved in the system-level standardisation of Active Assisted Living for people with disabilities, Smart Cities, IoT and Smart Homes
• These systems are uber-complex, real-time, socio-technical systems of cyber-physical and IT systems with the following characteristics:– huge volume of digital data and information– software-intensive (“software is eating the world”)– distributed and decentralized– great influence on our society (including economy)– ability to interact with the physical world– security, privacy and safety by design– low cost of operations and short time-to-market
• Therefore these systems must be carefully architected to deliver their desired capabilities
2017-05-24 Systems architecting experience, v1 3
WHY of this talk
• This presentation will discuss how several modern techniques and methodologies can be combined together
– systems approach and some architecture viewpoints
– digitalisation
– explicit security
– platform-based implementation
– microservices
• Some materials from my two previous eSummitpresentations will be reused (2017-04 about IoT and 2016-04 about Business Architecture)
2017-05-24 Systems architecting experience, v1 4
HOW of this talk
• systems approach and some architecture viewpoints
• digitalisation
• explicit security
• platform-based implementation
• microservices
2017-05-24 Systems architecting experience, v1 5
Techniques and methodologies
• systems approach
– holistic approach to understanding a system and its elements in the context of their behaviour and their relationships to one another and to their environment
– Note: Use of the systems approach makes explicit the structure of a system and the rules governing the behaviour and evolution of the system
• Four levels of architecting
– reference model
– reference architecture
– solution architectures
– implementations
2017-05-24 Systems architecting experience, v1 6
Definitions (1)
Reference architecture
2017-05-24 Systems architecting experience, v1 7
Levels of architecting
Reference model
Implementation A2
Solution architecture B
Solution architecture A
Implementation A1
Reference Implementation
Reference solution architecture
build and test
build and testdesign and experiment
field feedback
feasibility feedback
design and engineer
architect
extract essentials
constraints and opportunities
refinement
A few scenario reference architectures may be derived from the reference architecture. For example, Smart Cities: metropolis, city, village, island
Scenario 2 reference
architecture
Scenario 1 reference
architecture
constraints and opportunities
design and engineer
Problem space Solution space
Various needs
architect
extract
Not in the scope of standardisation
• Explain to any stakeholder how future implementations (which are based on the reference architecture) can address his/her concerns and change his/her personal, professional and social life for the better
– explicitly link needs (or high-level requirements) with the principles of reference architecture
• Provide a common methodology for architecting systems in the particular system domain
– different people in similar situations find similar solutions or propose innovations
• Help stakeholders, programmes and projects to collaborate and coordinate their efforts
– common agreements (i.e. standards) on various system elements (e.g. services, interfaces, data, etc.)
2017-05-24 Systems architecting experience, v1 8
Purpose of reference architecture
Geometrical viewpoints of buildings are viewed side by side — as a composition
From ISO/IEC/IEEE 42010
View (system-in-focus dependent) vs viewpoint (system-in-focus dependent)
Multiple viewpoints are mandatory
Architecture viewpoints are often originated by different people — thus they must be aligned to be used together
2017-05-24 Systems architecting experience, v1 9
Each model kind consists of artefacts (e.g. applications, servers, etc.) and relationships between them (those applications are deployed on this servers)
2017-05-24 Systems architecting experience, v1 10
Use of views
View A
Model A1
Model A2
View B
Model B1
Techniques, patterns, guesses, magic, full traceability, etc.
2017-05-24 Systems architecting experience, v1 11
Some standard viewpoints
2017-05-24 Systems architecting experience, v1 12
http://www.slideshare.net/craigrmartin/design-of-business-in-an-age-of-
disruption/68
• Slide 6 from http://www.slideshare.net/TheDesignOfBusiness/introducing-the-open-group-it4it-
standard
• https://www.salesforce.com/blog/2016/04/how-salesforce-does-enterprise-architecture-.html
• https://www.linkedin.com/pulse/design-direct-monitor-enterprise-digital-using-sarath-chandran
2017-05-24 Systems architecting experience, v1 13
Examples from various sources
• motivation outline viewpoint
• big picture viewpoint
• capability map viewpoint
• design viewpoint– service map
– process map
– function map
– organigramme
– system (actually, technical components) model
• performance viewpoint
• security framework viewpoint
• privacy framework viewpoint
• safety framework viewpoint
• implementation framework viewpoint
• deployment framework viewpoint
• etc.
2017-05-24 Systems architecting experience, v1 14
Systems approach viewpoints and their model kinds
• Stakeholders, their roles and their concerns
• Needs (or high-level requirements)
2017-05-24 Systems architecting experience, v1 15
Motivation outline viewpoint:stakeholders’ needs analysis
• Mission – a statement that describes the problem you are setting out to solve, typically including who you are solving it for
• Vision – an idealized solution that addresses the problem you’ve articulated in your mission
2017-05-24 Systems architecting experience, v1 16
Motivation outline view:mission and vision
2017-05-24 Systems architecting experience, v1 17
Big picture viewpoint:illustrative (example from AAL)
An informal description of a future system or organisation in its environment
2017-05-24 Systems architecting experience, v1 18
Big picture view:illustrative (from Descriptive Framework)
• Based on the Business Model Canvas
2017-05-24 Systems architecting experience, v1 19
Big picture viewpoint:business model canvas
• Essential characteristics of the solution
• Dependency matrix between needs and essential characteristics
• Architecture principles of the solution architecture
• Dependency matrix between essential characteristics and architecture principles
2017-05-24 Systems architecting experience, v1 20
Big picture viewpoint:additional model kinds
• Leading capabilities
– Overall city governance, management and operations
• Core capabilities
– water, energy, waste, etc.
• Enabling capabilities (shared among CORE capabilities)
– geomatics, census, registries, etc.
• Supporting capabilities
– finance, legal, PMO, ICT, media, procurement, etc.
2017-05-24 Systems architecting experience, v1 21
Capability map view: level 1 modularization (example from SC)
Structural decomposition of the mission into groups or domains or value streams.All organisations in the same industry sector have the same capability map (and different levels of maturity).
2017-05-24 Systems architecting experience, v1 22
Capability map viewpoint:level 1 (example from IoT)
2017-05-24 Systems architecting experience, v1 23
Capability map view:level 1 and level 2 (example from IoT)
2017-05-24 Systems architecting experience, v1 24
Capability map view:examples from different industries
Accept Orders
Contact Customer
Manage the Business
Deliver Orders
Support the Business
Process Orders
Consolidate Orders
Manage Production
Management
Manage Licensee Outbound Operations
Manage Materials
Receipt and Verification
Manage Facility
Pre-Production Processing
Manage Container & Label Strategies
Manage VehiclesManage Equipment and Equipment-Strategies
Manage Facility
Property
Manage Relationship
with Licensees
Manage Asset
Service Providers
Manage Transport Sub-Contracts for
Delivery
Manage NCR-Code Configurations
Define Processing Strategies
Define Performance Management
Manage Production Systems Strategies
Design and Develop Facility Infrastructure
Manage Production-Planning Strategies
Manage Facility
Information
Manage Core Business
Manage Post-Production Operations
Setup for Contractor Delivery
Manage Equipment
Maintenance
Manage Production Operations
Accept from
Agency
Accept from
Contractor
Accept at Facility
Accept at Customer Location
Manage FinanceManage Human ResourcesManage Facility Administration
Manage Materials Strategies
Prepare Customer Transfer
Support Customer
Bulk Orders
Handle Customer
Complaints & Inquiries
Process Service
Requests
Fulfil Order
Prepare Fulfillment Transfer
Support Bulk Fulfillment
Orders
Handle Fulfillment Complaints & Inquiries
Process Fulfillment Requests
Customer
OutboundInbound
Support
Transport
Process
Check and prepare
vehicle
Road Transport Operations
Drop Off Orders &
empty containers
Handle vehicle
incidents (breakdowns,
re-fuel, etc.)
Capture transport run
events
Drive transport vehicle
between locations
Pick Up Orders &
empty containers
Complete preparation
of orders into
consignments
Commence carrier
service
Carrier staff verify
consignment details & hand
over consignment to
contractor
Lodge consignments
with carrier
Verify / accept
consignmentVisit "trans-ship" port
Complete carrier
serviceReceive & verify
consignments
Handle consignment
exceptions
Separate and store
containers etc. in preparation
for transport to facility
Domestic Carrier Transport Operations
Planning & Monitoring of Carrier Services
Determine required
lodgement &
handover times
Receive new/
updated schedules
from carriers
Develop & maintain
carrier lodgement
schedules
Monitor carrier
services & provide
corrective action
Assess disputed/
late consignments
Transport Facility Management
Time and
Attendance
Monitoring & Control
Review Facility
Performance & implement
improvements
Planning &
Scheduling
Staffing & Rostering
Manage
Stream orders into production
batches
Manage batch containers prior
to pick up
Consolidate Orders
Create & Maintain
Facility NCR-Code
Plans
Estimate Production
Volumes
Plan & Schedule
Production
Operations
Staffing & Rostering
Time and
Attendance
Monitor Order
Processing
Review Facility
Performance & imp.
improvements
Corrective Action for
Processing
Quality Control
Dock Management
Production Management
Corrective Action for
Transport &
Delivery
Materials Receipt and Verification
Inspection of
inbound materials
Process “Under
Bond” Materials
Process Hazardous
Materials
Handover Materials
to Warehouse
Licensee Outbound Operations
Inspection of outbound product
Prepare licensee consignment for
despatch
Capture outbound volumes and
events
Despatch outbound product via licensee
carrier
Receive Transfers
at Facility
Transfers Damage Check
Slotting /
Sequencing
Interleaving
Pre-Mould Verify
Slippage
Adjustment
Batch Alignment for
Moulding
Pre-Production Processing at
Facility
Capture Processing
Events
Prepare Customer Transfer
Plan Transfer Production
Prepare Transfer Data
Prepare Transfer Production
Prepare Transfer Documentation
Support Customer Bulk Orders
Advise customer of bulk-order
issues
Manage Customer Order
Quality
Support customer bulk orders
Handle Customer Complaints &
Inquiries
Receive & record notification of
problems
Investigate & resolve problems
Report Status of Order
Handle general inquiries
Process Service Requests
Process Requests
Process Other Requests
Process Payment for Service
Consumable Tools
Management
Specify Tools
requirements
Acquire & Locate
Consumable Tools
Maintain inventory of
Consumable Tools
Manage & perform
maintenance of
Consumable Tools
Container & Label Management
Specify container
requirements
Acquire & Supply
Containers
Manage & perform
maintenance of
containers
Maintain inventory of
containers
Label Policy & Design
Manage Label Stock
Specify vehicle
requirements
Vehicle Management
Purchase or Lease
vehicles (&
accessories)
Dispose of vehicles
Maintain inventory of
vehicles
Manage contracts
with fuel suppliers
Monitor payments to
fuel suppliers
Manage allocation of
vehicles to facilities
Manage vehicle
registration &
insurance
Prepare claims for
diesel & alternative
fuel grant
Manage
maintenance of
vehicles
Design, Specify &
Evaluate New
Equipment
Purchase/Dispose
Equipment &
Spares
Install & Relocate
Equipment
Develop
Maintenance
Strategies
Monitor & Optimise
Performance &
Reliability
Equipment Management
Ensure Logistics &
OH&S Compliance
Manage Equipment
Configuration
Manage Technical
Documents &
Support Systems
Manage Inventory,
Repairs & Stores
Infrastructure
Property Management
Specify Property
Requirements
Acquire Property
Dispose of Property
Manage Building
Administration
Establish & Maintain Relationships with
Licensees
Manage Relationship with
Licensees
Calculate Revenue due from Licensees
Specify materials
requirements
Materials Management
Acquire & Locate
Materials
Maintain inventory
of Materials
Select & Manage Asset Maintenance Service Providers
Evaluate & select
Asset Maintenance
Service Providers
Establish & maintain
Asset Maintenance
Contracts
Monitor Service
Provider performance
Terminate Contract
Manage Transport Sub-Contractors
Maintain Contractor
Service Information
Evaluate & Select
Transport
Contractors
Establish & Maintain
Transport Contracts
Monitor Contractor
Performance
Manage Payments
to Contractors
Terminate Contract
Select & Manage Agencies
Evaluate & Select
Agencies
Establish & Maintain
Contracts with
Agencies
Monitor Agencies
Performance
Manage Payments
To/From Agencies
Terminate Contract
with Agency
NCR-Code Management
NCR-Data Strategy,
Policy &
Procedures
Maintain NCR
Information
Maintain Machine
Configuration Data
NCR Configuration
Improvement
Manage Machine-
Specific NCR
Configuration
NCR Code-Sharing Management &
Support
Processing Policy,
Procedures &
Governance
Processing Strategies
Sorting Strategy &
Design
Develop Processing
Plans
Measurement of
Service Quality
Measure Financial
Performance
Measurement of
Resource Utilisation
Performance
Analysis
Performance Management
Production Systems
Initiate Project
Evaluate Solutions
Finalise Project
Systems support & maintenance
Develop / Enhance System
Implement System
Determine business systems
strategies
Systems control & Administration
Specify Facility Requirements
Model Proposed Solutions
Select & Design Preferred Solution
Plan & Schedule Facility
Development
Implement Facility Changes
Construct Facilities & Equipment
Facility / Infrastructure Design & Development
Production Planning
Determine prod’n strategy & direction
Capacity Planning
Investment Planning
Determine prod’n principles &
policies
Legislative Compliance
Develop & maintain Dangerous Goods
policies & procedures
Production Capability Analysis
Manage Facility Information
Define Costing
Reference Data
Maintain Prod’n
Structure
Information
Define terminology,
& codes
Manage barcoding
standards, formats
& characteristics
Manage central
storage of event
information
Manage inventory of
scanners
Manage central storage of production
volumes
International CarrierTransport Operations
Receive inbound
containers at origin
port
Handover outbound
containers at
destination port
Transport bond
containers from origin
port to destination port
Manage Core Business
Develop Business Strategies
Manage business performance &
operations
Co-ordinate Projects
Develop Business Plans
Manage Projects
Develop business perf. measures
& targets
Receive Container
from Contractor
Drop-Off
Setup forContractorDelivery
Receive Misdirected
Container from
Contractor
Deliver Container
via Contractor
Record errors &
notify customer
Store articles
Verify Customer
Pick-up
Handle
Undeliverables
(including missorts)
Calculate Priority
Delivery Charge
Capture Contractor
Delivery Events
Despatch Container
for Contractor
Pick-Up
Handle delivery
vehicle incidents
Check & Prepare
Delivery Vehicles
Document Handover
to Transport
Driver
Capture
Non-Contractor
Delivery Events
Setup forNon-Contractor
Delivery
Handle Customer
Returns
Deliver Container to
Customer
Operate Vehicle for
Transport Runs
Drop Off / Pick Up at
Facility Depot
Establish
Production Volumes
Time and
Attendance
Monitor Post-
Production
Operations
Corrective Action
Review Facility
Performance &
Implement
Improvements
Manage Post-Production Operations
Staffing & Rostering
Plan & Schedule
Operations
NCR-Code Updates
Capture Machine
Configuration
Changes
Capture Tool
Changes
Capture Machine
Changes
Capture and Notify
NCR-Code Changes
Equipment Maintenance
Plan & Schedule
Equipment
Maintenance
Perform & Reord
Equipment
Maintenance
Correct & Record
Equipment Faults &
Parts Usage
Monitor & Report
Maintenance
Compliance
Modify Equipment
Optimise
Equipment
Performance &
Reliability
Handle Non-Valid Orders
Machine Preparation
Moulding
Capture volumes & machine statistics
Prepare agency consignments
Prepare product for road transport
Production Operations
Capture production events
Inward Dock Operations
Initial Preparation
Move Product between
processing steps
Order Configuration
Machine Production
Manual Preparation
Capture Order
Assemble Order
Prepare order documentation
Accept from Contractor
Accept Agency Order
Capture inbound
order events
Receive inbound order
from agency
Print & apply
agency identifier
labels
Reconciliation of
agency bills &
orders
Record agency
order violations
Handover order documentation to transport driver
Receive Order Lodgement
Accept at Facility
Receive electronic order via internet
Process electronic order via email
Verify Order
Preparation & Streaming
Handle Rejected Orders
Capture Order information
Process Payment for Order
Handover Order to Transport
Driver
Capture actual acceptance
events
Verify Order
Accept at Customer Location
Finance
Provide Financial
Analysis & Direction
Support Business
Cases
Produce budgets &
forecasts
Manage Financial
Policy & Procedures
Record & monitor
expenditure
Human Resources
Succession
PlanningRecruitment
Maintain employee
records
Occupational Health
& SafetyOperational Training
Leave
AdministrationStaff Development Industrial Relations
Facility Administration
General Administration
Perform & Manage
Stores Function
Manage Technical
Documents
Maintain Technical
Help Desk
Capture Consolidation
Events
Accept Inbound Requests
• capability, <systems approach>
– ability of a system or a system element to do something at a required level of performance
• Capability is a concept that captures – “what” an organisation must do to achieve its mission and – “how well” (or “wow”) an organisation must doing that “what” to
achieve its mission
• Think football – a lot people can play football, but only some of them can play football at the level required to win EURO 2016
2017-05-24 Systems architecting experience, v1 25
About the concept `capability’ (1)
• Capability is independent from “how” we do it, “where” we do it, “who” does it, “which tools” are used
– The concept “capability” is more generic than technical components, data, interfaces, functions, services, applications, processes, roles and organisations
– But to provide a capability, several technical components, data, interfaces, functions, services, applications, processes, roles and organisations are, usually, required
• There are two major sides of the concept ‘capability’:
– capability as a discrete-unit-of-purpose (or discrete-unit-of-mission)
– capability as a measure-of-performance (maybe in respect to some maturity matrix)
2017-05-24 Systems architecting experience, v1 26
About the concept `capability’ (2)
• How to use a capability map
– analyse a comprehensive and well-structured set of capabilities
– benchmark the particular organisation via the maturity levels of its capabilities (also known as “heat map”)
– take an informed (and depending on the unique situation with the particular organisation) decision about each capability
1. to implement it at a particular level of maturity as one or many functions
2. to obtain it from business-to-business partners (outsource or insource)
3. to obtain it from commodity markets
4. to ignore it for now
2017-05-24 Systems architecting experience, v1 27
About the concept `capability’ (3)
• process map
• service map
• functional map
• organigramme
• system (actually, technical components) model
2017-05-24 Systems architecting experience, v1 28
Design viewpoint:additional model kinds
• systems approach and some architecture viewpoints
• digitalisation
• explicit security
• platform-based implementation
• microservices
2017-05-24 Systems architecting experience, v1 29
Techniques and methodologies
• Business artefacts are available in digital formats (thus formal and machine-executable)
• Digital is the master media for business artefacts
• Business artefacts can be moved between digital, analogue and physical medias (e.g. with 3D printing and capturing techniques)
• Organisation, ecosystem and society “understand” the digital formats for business artefacts
• Organisation can transmit, protect, validate, enrich, interpret and manipulate digital business artefacts at their whole life cycle
• Organisation knows all the dependencies between its digital business artefacts
• Organisation can generate new knowledge from digital business artefacts
• Organisation can adapt digital business artefacts (extract, combine, change presentation, convert, etc.) to fit the current needs of a particular customer
• People can delegate to "things" (i.e. computers, sensors, actuators, robots, etc.) some routine activities with their business artefacts (e.g. with the use of IoT)
• With the progress of IoT, "things" become more capable actors of digital business processes ("things" may form temporary groups to carry out a particular activity)
2017-05-24 Systems architecting experience, v1 30
A digital manifesto
• For a man-made object, a digital twin comes first
• For a nature-made object, a digital twin comes second
• Versioning, versioning, versioning and configuration management
• Versioning of atomic objects
• Versioning of compound objects
2017-05-24 Systems architecting experience, v1 31
Some recommendations
2017-05-24 Systems architecting experience, v1 32
Techniques and methodologies
• systems approach and some architecture viewpoints
• digitalisation
• explicit security
• platform-based implementation
• microservices
2017-05-24 Systems architecting experience, v1 33
How to satisfy the requirement “security by design”
Attack
Vulnerability
Technical asset
Risk
can exploit
causes harm
Threat
provokes
Security
define the level of
undermines
leads
Adverse impact
Likelihood
Predisposing conditions
Processes
Services
Outcomes
Objectives
slows down
underperforming
missing
exposing toArchitecture
Organisation
occurs with
Risk management
• Threats and vulnerabilities are universal
• There is a registry for publicly known information-security vulnerabilities and exposures https://cve.mitre.org/
• The level of adverse impact from an attack depends on the architecture of the system-of-interest
• Security and risk can be objectively link by architecture
2017-05-24 Systems architecting experience, v1 34
Improving security (1)
• Architecture must know all the relationships between all the artefacts (technical assets, services, processes, etc.) to statically evaluate risks
• If the implementation of a system is based on business processes then it can dynamically evaluate risks
• Knowing the level of risk, one can implement a set of changes to reduce this level to acceptable one
2017-05-24 Systems architecting experience, v1 35
Improving security (2)
security measureResidual risk
Widely acceptable risk Acceptable risk Unacceptable risk
• Each system element (tangible assets, intangible assets, peoples) must be explicitly protected
– for its confidentiality, integrity and availability
– in rest, in transit and in use
– throughout its life cycle (within the system-of-interest life cycle)
• Relationships between system elements are used to know how changes in one system element effects other system elements
– those relationships must be protected as well
– ideally, those relationships are explicit and machine-executable
2017-05-24 Systems architecting experience, v1 36
Systems approach to security
• The best, so far, privacy regulation is EU General Data Protection Regulation (GDPR) to be applied from May 2018
• Challenges of the GDPR
– privacy by design and by default
– EU citizen is the new data owner
– explicit confidentiality and sensitive data protection
– very process-driven
– data protection officer
• In general, no problems with the GDPR compliance:– Use of explicit and machine-executable business processes– Request GDPR compliance from all partners – Use digital contracts (to be discussed later)
2017-05-24 Systems architecting experience, v1 37
How to satisfy the “privacy” requirement
• At present, many devices from the IoT “world” act as wild animals thus being dangerous in the our world
• As in our world, we, people, follow contracts, let us consider rules / regulations / laws for IoT as cyber-physical systems to tame IoT
• But we need something more simple and more concrete than the famous “The three laws of robotics”
• Let us consider “digital contracts”
• Each digital contract is a set of explicit and machine-executableprocesses between Things, Services and Persons
2017-05-24 Systems architecting experience, v1 38
How to satisfy the “group functioning of IoT devices” requirement
– with Persons who are living in a particular household
– with a producer of this Fridge
– with a service company for maintenance of this Fridge
– with some online shops to order various food
– with some other Things within a particular household to achieve together some goals of energy consumption
• Note: The in-house network Router knowsthat this Fridge has rights to connect only to a few external sites; any other contacts will be blocked by the Router
• More info http://improving-bpm-systems.blogspot.ch/2016/07/digital-contract-as-process-enables.html
2017-05-24 Systems architecting experience, v1 39
Example: Smart Fridge’s digital contracts
• The “point-to-point” pattern can be implemented by simple processes
– master-slave processes
– co-processes
• The “majordomo” pattern is about interactions between one master (major-domo, castellan, concierge, chamberlain, seneschal, mayor of the palace, maître d'hôtel, head butler and chief steward) and many servants; several coordination techniques are mandatory:
– shared calendars
– event-processing
– resource allocation, levelling and balancing
– processes and cases
2017-05-24 Systems architecting experience, v1 40
A couple of group functioning patterns
• Because group functioning depends on sharing data and information (including certificates, ID, etc.) their security must be enhanced by a solid records management
• Blockchain-based implementations may be considered for more secure records management
2017-05-24 Systems architecting experience, v1 41
Improving security for group functioning
• systems approach and some architecture viewpoints
• digitalisation
• explicit security
• platform-based implementation
• microservices
2017-05-24 Systems architecting experience, v1 42
Techniques and methodologies
• Certainly, various Smart Cities systems are similar and different at the same time. Platforms can synergize diversity and uniformity to reduce the cost and time:
– The platform frees up resource to focus on new opportunities
– Successful agile innovations are rapidly scaled up when incorporated into the platform
– An agile approach requires coordination at a system level
– To minimise duplication of effort in solving the same problems, there needs to be system-wide transparency of agile initiatives
– Existing elements of the platform also need periodic challenge
2017-05-24 Systems architecting experience, v1 43
How to satisfy “low cost of operations” and “short time-to-market”
Solution 1
…
Platform
Security management
Business process management
Operational and analytical data
Decision management
Master and reference data
Reporting management
Analytics management
Drivers…
Solution 2
Domain specific layer
Service management
Event management
2017-05-24 Systems architecting experience, v1 44
Implementation framework viewpoint:platform-based
2017-05-24 Systems architecting experience, v1 45
Example: City Unified Business Execution (CUBE) Platform
Platforms combine:- diversity - uniformity
More info about platforms http://improving-bpm-systems.blogspot.ch/search/label/%23platform
• systems approach and some architecture viewpoints
• digitalisation
• explicit security
• platform-based implementation
• microservices
2017-05-24 Systems architecting experience, v1 46
Techniques and methodologies
• MicroService Architecture (MSA) is an architectural style for implementing applications as a coherent set of microservices
• Microservice is a service with the same boundaries as
– a unit-of-functionality (for Biz)
– a unit-of-deployment (for Dev)
– a unit-of-execution (for Ops)
• Microservices are dependent at the design-time
• Microservices are independent at the deployment-time
• Microservices are interdependent at the run-time
2017-05-24 Systems architecting experience, v1 47
Go back to basics
• Some experts in SOA consider MSA as a set of technical solutions; MSA is neither architecture nor a variant of SOA - see https://www.linkedin.com/feed/update/urn:li:activity:6266622261210411008/
• Technical people consider that REST over HTTP is mandatory for MSA; actually no https://blog.poki.com/from-monolith-to-microservices-b16bae1d6c9d
• Some IT executives consider that MSA forces to rewrite everything (i.e. only the option “build” in “build/buy/rent”)- see comments to https://www.linkedin.com/pulse/beauty-
microservices-maturity-model-alexander-samarin
– Fortunately, microservices allow the fourth option – “assemble”
• Some architects consider that microservices are only atomic – no, a microservice with “wide” responsibility can be assembled from a set of microservices with “narrow” responsibilities
2017-05-24 Systems architecting experience, v1 48
There are many misunderstandings about MSA
2017-05-24 Systems architecting experience, v1 49
Process-centric and microservice-based solutions via MSA
MSA is enabling BizDevOps culture
• Any application comprises 10+ artefacts: event, role, rule, data, service, coordination, audit trail, report, etc.
• Ideally, each artefact must be handled
– Explicitly
– As a set of microservices
– Via APIs
– With versioning
– By a specialized COTS tool, e.g. data structures are handled by a database, processes are handled by a BPM-suite tool
– In a Domain Specific Language (DSL), e.g. BPMN for processes, DMN for rules
– Over its whole life cycle
2017-05-24 Systems architecting experience, v1 50
How to transform a monolith (1)
• Externalise various artefacts
– rules via a decision management tool
– coordination as explicit and machine-executable processes via a BPM-suite tool
– roles via an access management tool
– documents via an ECM tools
– automation fragments as scripts in an interpretive language and execution robots
– reports view a BI tools
2017-05-24 Systems architecting experience, v1 51
How to transform a monolith (2)
2017-05-24 Systems architecting experience, v1 52
Transformation initial planning
• The proposed use of architecture, digital contracts, explicit processes, microservices and blockchain can make an impression that they will increase the complexity of the system-of-interest
• In accordance with the Cynefin framework, the explicit linking allows progressing
– from “Complex” situation (in which the relationship between cause and effect can only be perceived in retrospect, but not in advance)
– to “Complicated” situation (in which the relationship between cause and effect requires analysis or some other form of investigation and/or the application of expert knowledge)
• Thus, “complicated” systems can evolve must faster than “complex” systems
2017-05-24 Systems architecting experience, v1 53
Conclusions
• Personal website: http://www.samarin.biz
• Blog http://improving-bpm-systems.blogspot.com
• LinkedIn: http://www.linkedin.com/in/alexandersamarin
• E-mail: [email protected]
• Twitter: @samarin
• Mobile: +41 76 573 40 61
• Book: www.samarin.biz/book
2017-05-24 Systems architecting experience, v1 54
Questions?