unifying two extremes€¦ · eam & microservices unifying two extremes roger e. rhoades...
TRANSCRIPT
EAM & MicroservicesUnifying two Extremes
Roger E. Rhoades13.06.2018, Wien
113.06.2018
13.06.2018 2
Introduction
Trainer, Consultant, and Coach for Workshops and Trainings:
TOGAF & Enterprise Architecture Management (EAM)
Software Architecture and iSAQB certifications
Digital strategy development and implementation
Experienced as Enterprise-, Solution- und Software-Architect
Goal: Enable customers to implement their strategies
From strategy to capability, from plan to practice
Presenter at international conferences• 30.05.2017 EAMKon 2017: Digitalisierung & Transformation
• 15.11.2016 Lean42 Konferenz. Evolution des Enterprise Architekten.
• 22.06.2016 EAMKon 2016: Rolle des Enterprise Architect.
• 21.06.2016 EAMKon 2016: Workshop - Transformationsplanung in der Praxis
• 19.04.2016 Markus Evans: Etablierung EAM-Prozesse
• 2015 EAM-Vortragsserie (mehreren Veranstaltungen)
• …
13.06.2018 3
Introduction
13.06.2018 4
Agenda
Unifying EAM& Microservices
1
2
3
Enterprise Architecture Management (EAM)
Microservices
13.06.2018 5
Agenda
Unifying EAM& Microservices
Enterprise Architecture Management (EAM)
Microservices
Microservices
13.06.2018 6Image Source: https://www.voxxed.com/2016/01/microservices-versus-soa-practice/
MicroservicesClassical development Approach (Monolith)
Online Web Application
User Account
Application
Shopping Cart
Application
Product Catalog Application
Display Product
Update Product
User DefaultDisplay Image
Product Rating
Check Inventory
SendEmail
Product Review
Location Availability
UserInfo
Promotion Recommend
AddRemove
Billing ShippingTax
Calculation
Shopping Cart Feature
Product Cart Feature
User Account Feature
Microservice called by shopping cart feature
Microservice called by product catalog feature
Microservice called by user account feature
MicroservicesTeam assignment & Microservice Decomposition
13.06.2018 7https://www.martinfowler.com/articles/microservices.html
UI Expert
Middleware
DBAs
Microservices
Cross-Functional Teams organized by Capabilities (functional domains)Silos
Classical development approach (Monolith)
MicroservicesModularity and Technology Stack
13.06.2018 8
Independent application stacks, few dependencies
https://www.martinfowler.com/articles/microservices.html
Multiple components in a single application, shared database & processes
MicroservicesClassical development approach (Monolith)
Basics• Reactive Manifesto
(responsive, resilient, elastic, message-driven)
Modularity• CQRS Command Query Responsibility Segregation
• Encapsulation / Atomic
• Public interfaces (Service Discovery and Location)
Performance and scalability• Stateless, message-oriented, event-driven
• Horizontally elastic scalable
• Local distribution (e.g. avoids latency)
• Shared nothing
• Technology independence
Organizational maintainability• Collective service ownership
• „Small“ (manageable by a 3 to 9 person team)
• Products, not projects
13.06.2018 9
Microservice Characteristics (organizational and design principles)
Technical maintainability• Micro vs. macro architecture
• Build to replace (single-responsibility principle)
• Partitioned according to functional domains
(domain-driven design / business capabilities)
• Automation of the entire SDLC
• Decentralized management
• Lightweight communication
Availability• Resilient, e.g. 12-Factor-App
• B.A.S.E. Basically Available Soft State Eventual
Consistency
• CAP Theorem - Consistency Availability Partition
Tolerance
• DURS Deployable Updateable Replaceable, Scalable
• Eventual Consistency
• Runs in its own process
13.06.2018 10
Microservices
Advantages
• Better business-it alignment due to organization of the microservices according to functional domains
• Modularity with all of its advantages (e.g. independent scalability, maintainability, etc.)
• Designed for failure, improved fault isolation
• Maintainability, reliability by taking advantage of the interchangeability of components
• Agility by keeping changes localized
• Possibility to choose the best possible technologies for the given requirements and change the technologies over time
• Teams can work independently of one another
• Responsibilities (both technical and organizational) are clearer
Disadvantages
• Modularity and all of its disadvantages (e.g. complexity, integration)
• Technological heterogeneity on the macro architecture level
• High complexity at the macro architecture level due to high number of small components. Complexity can become unmanageable.
• Testing and deployment is more difficultFlexible Complex
Agenda
13.06.2018 11
Unifying EAM& Microservices
Enterprise Architecture Management (EAM)
Microservices
EAM Definition
13.06.2018 12
EAM translates the business strategy into business capabilities to achieve the desired business goals and deliver measurable performance improvements.
Enterprise Architecture Management is a well-defined management practice used to analyze, design, and plan the required components of the business strategy (e.g. organizational structure, business processes, information, technologies, …).
EAMBusiness Capabilities
• A business capability is a business function that describes what a
business does, not where, why, or how it is done
• A business capability abstracts related components required to run the
business and implement the business strategy, e.g. organization,
processes, technologies, etc.
13.06.2018 13
Why HowWhat
Vision & StrategyBusiness
CapabilityExecution
13.06.2018 14
Business CapabilitiesAs-Is (Current) Capability Map
Travel Management
Traveler Mgmt
IdentityManagement
ProfileManagement
Personalization
Travel Inquiry
Search
Browse
TravelerConsulting
Reservation Management
Booking Ticketing
ChangeManagement
ItineraryManagement
Travel Accounting
Travel Payments
Travel Logistics
Check-In
Travel Regulations
AirportManagement
ItineraryManagement
Loyalty Programs
Loyalty Mgmt -Partner
Loyalty Mgmt -Intern
Traveler Support
Tech Support
Call Center
IssueManagement
Products & Services
Product PortfolioMgmt
Product CatalogMgmt
Product Design &Development
Service Quality
Account Management
CRM
ComplaintsManagement
CustomerRetention
Example of a capability map for a travel portal:
Business CapabilitiesTarget Capability Map
13.06.2018 15
Products & Services
Product PortfolioMgmt
Product CatalogMgmt
Product Design &Development
Service Quality
Account Management
CRM
ComplaintsManagement
CustomerRetention
CustomerAcquistion
CorporateCustomer Mgmt
ContractManagement
Current
New
Changed
Legend
Expense Management
Request &Approval
ExpenseCapture
Expense Posting ExpenseReporting
Example: Leisure travel company expands into business travel
Target capabilities depict the enterprise in its future state defined by the business strategy
Business CapabilityFurther Refinement of Specific Business Capabilities
13.06.2018 16
Expense Management
Request & Approval Expense Capture Expense Posting Expense Reporting
Policy Compliance
Reimbursement
DisputeManagement
Credit CardCapture
Mobile PhoneCapture
Manual Entry
Mileage Tracking
VAT Calculation
Integration (e.g.Accounting)
User Reports
Auditing
Fraud Detection
Agenda
13.06.2018 17
Enterprise Architecture Management (EAM)
Microservices
Unifying EAM& Microservices
13.06.2018 18
EAM & MicroservicesTwo Extremes
EAM Microservices
Strategy Planning
13.06.2018 19
Tools used from Strategy to Execution
Scaled Agile Framework
Value Stream Mapping
Products & Services
Product PortfolioMgmt
Product CatalogMgmt
Product Design &Development
Service Quality
Capability-Based Planning
Operating Model Domain-Driven Design
Road-Mapping Microservices
13.06.2018 20
Business Capabilities
Business Capabilities link strategy to execution
Why HowWhat
Vision & StrategyBusiness
CapabilityExecution
13.06.2018 21
From Business Strategy to Microservices (abbreviated)
Vision & Strategy ExecutionBusiness
Capability
Microservices can / should implement lower-level business capabilities
Why HowWhat
Reimbursement
Capability
Reimbursement Microservice
Win Business Customers
Mapping Business Capabilities to Microservices
13.06.2018 22
Expense Management
Request & Approval Expense Capture
Policy Compliance
Reimbursement
DisputeManagement
Credit CardCapture
Mobile PhoneCapture
Manual Entry
Mileage Tracking
...
Policy ComplianceMicroservice
Request & Approval Feature
Expense Capture Feature
Reimbursement Microservice
Dispute Microservice
Credit Card Capture Microservice
Mobile Phone Capture
Microservice
Manual Entry Microservice
Mileage Tracking Microservice
13.06.2018 23
From Business Strategy to Microservices (extended)
BusinessGoals & Strategy
Target Business Capabilities
6P TargetOperating Model
People
Process
Partner
Policy
Property
Platform (IT)
IT CapabilitiesIT FeaturesMicroservices
IT Epics Roadmap
Target
Meet in the Middle, i.e.:1) Derive the microservices from the strategy2) Update your capability map based on
newly implemented microservices
13.06.2018 24
Danke für Ihre Aufmerksamkeit!
Fragen?
Roger E. RhoadesTrainer, Berater
[email protected]+49 152 53 44 33 55
www.albionacademy.com