In this slide deck, WSO2 CTO Paul Fremantle looks at the interaction between enterprise agility and integration agility. He will explore the architecture and methodology required for enterprise agility and outline a roadmap to increase agility at the enterprise level.
Watch video: https://wso2.com/library/conference/2018/07/wso2con-usa-2018-how-to-build-an-agile-enterprise/
25. App Logic
. . .
Scaling HA Resilience Observability
Scaling HA Resilience Observability
HA Resilience Observability
Compute Network Storage
Ops Infrastructure
Centralized
Dev Org
Middleware
& Integration
CoE Teams
Ops
Team
HA Resilience ObservabilityScaling
INTEGRATION
HA Resilience ObservabilityScaling
MESSAGING
HA Resilience ObservabilityScaling
DATA
HA Resilience ObservabilityScaling
SECURITY
App LogicApp Logic
App 1 App 2 App (n)
Fast Waterfall
“Wagile”
26.
27. Complex processes
interrupt flow Step 1 Step 1 Step 1
Step 2 Step 2 Step 2
… … …
Step n Step p Step q
SGMM
SOA
Governance
Planning
Assessment
SOA
Governance
Capabilities
Heat Map
SOA
Governance
Transition
Plan
SOA
Governance
Assets Techniques, Checklist,
Guidance, Examples
Governance Process
Models
29. The integration agility gap
An emerging Agility Gap between Integration, Development, Operations
FrequencyOfReleases
Time
Integration
Agility Gap
Integration Releases
(waterfall)
Dev Code Releases
(Agile)
31. A Shift from CoE to Composable Enterprise
Centre of Excellence Composable Enterprise
Fixed infrastructure Cloud orchestration
Paper and legacy processes Automated, bottom-up governance
Versioning a monolith Versioning individual components
Scaling the whole Scaling individual components
Complex testing Automated testing
Manual deployment CI/CD
Centralized logs and monitoring Distributed observability
Centralized legacy data Microservices/serverless data stores
caching, streaming
Central engagement team Central enablement team
34. Fundamental Theorem of Software
Engineering
“All problems in computer science can be
solved by another level of indirection”
David Wheeler
35. Fundamental Theorem of Software
Engineering
“All problems in computer science can be
solved by another level of indirection
...except for the problem of too many
layers of indirection."
David Wheeler
38. Why use {APIs, Events, Streams}?
APIs provide an abstraction over everything that can be queried
or activated
Events allow action in real-time based on the environment,
allowing work to be triggered
Streams capture the ongoing evolving nature of the environment,
allowing pattern matching and analysis
39. Definition:
A leaky abstraction is an abstraction that
exposes details and limitations of its
underlying implementation to its users
that should ideally be hidden away.
Joel Spolsky
40. Corollary to the Fundamental Theorem of
Software Engineering
Almost every problem in
software engineering comes from leaky
abstractions
44. Automated Governance (re)-enables flow
Policy
Store
(Registry)
Observability
(Monitoring/
Analytics)
Policy
Enforcement
(GW)
Automated Governance is made
of three things:
● A source of truth:
○ Policy store/registry
● Enforcement of the policy
○ Gateway or plugin attempting to
keep the desired state
● Observability
○ How close to the desired state
are we?
45.
46. The cell is the basic structural,
functional, and
biological unit of all known
living organisms
49. The recoupling of
decoupled components
into new agile teams
Based on teams, with
devops, cloud
infrastructure and intra-cell
comms
Agile inside the cell,
versioned and gatewayed
at the boundary
https://blog.cirm.ca.gov/
55. “Remember that every science is
based upon an abstraction... All
sciences are differentiated by their
abstraction.”
Fulton J. Sheen
56. Everyone is on a journey towards agility
Integration agility needs to catch up with project agility
This means a shift away from CoE and Layered
Architecture
Decoupling at the infra, function and organization
creates agility in pockets...
… but recoupling with a cellular architecture and
methodology creates a composable enterprise