SlideShare a Scribd company logo
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
마이크로서비스 전환 방법론과 사례
김영태
• Cloud Native Applications Journey
• Domain Driven Design
• AppTx Methodology
• Liberty Mutual Case
Agenda
Part 1
Cloud Native Applications Journey
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
Technical Filter
Type (ex. COTS, ISV), Suitability Factors, etc.
Application Portfolio
Business Filter
Criticality, Risk Tolerance, Change Frequency, etc.
Prioritized Backlog
App Tx Iterative Process
App Patterns PCF
App
Measurement &
Learning
Select top
app in
migration
backlog
Continued
iteration
Create / update patterns,
provide feedback to enhance
filtering and backlog velocity
Application
Transformation
Funnel
Use of tooling and templates
to quickly make effective
candidate selection,
constantly prioritize work
and continuously share
feedback to accelerate
future efforts
Technical Triage:
App Foundry
Automated suitability assessment
and decisioning framework.
Currently a closed beta, targeting
GA this fall.
Upload binary or map
to source control Parsers for most common
languages (Java, .NET,
PHP, Ruby, etc.)
Extensible rules (100s
available currently)
UI dashboard to help
triage decisioning
Understanding Your Application Portfolio
TECHNICALCONDITION
BUSINESS VALUEWORSE BETTER
WORSEBETTER
Tolerate Invest
MigrateEliminate
Focus here and start with the most
impactful custom apps built 0 to 7
years ago with supported tech
Understand:
● Technical condition (Y-Axis), e.g.
○ Scalability
○ Performance
● Business value, (X-Axis)e.g.
○ Criticality
○ Competitive advantage
● Operational cost (Size), e.g.
○ License
○ Hardware
● Risk (Color), e.g.
○ Compliance
○ Skill set
Methodology and Techniques
• Portfolio level
goals definition
• Cloud suitability
assessment and
education
• Define OKRs
• Discuss
timeline, staffing,
risk,
dependencies,
etc.
• One-week iterations
• Hands-on code within 2-3 days
• 1s to 10s of apps moved in 1s of
weeks
• Working code used to inform a
cookbook of patterns
Product Backlog
(Pivotal Tracker)
Boris
Event
Storming
OKRs
Slice
Analysis
Snap /
SnapE
Patterns
ScopingDiscovery
Ongoing Delivery Cycle
Value
Stream
Fixed Timeline Engagement
Supported by a Paired Team
Part 2
Domain Driven Design
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
“...the real breakthrough of object
design comes when the code expresses
the concepts of a model.”
“Anyone responsible for changing code
must learn to express a model through
the code. Every developer must be
involved in some level of discussion
about the model and have contact with
domain experts.”
- Eric Evans, Domain-Driven Design
Domain-Driven Design
“In the end the code is the model and the
model is the code.” - Vaughn Vernon,
Domain-Driven Design Distilled
As opposed to:
1. Business Overview
1.1 Requirement
This interface is used to send Sched CGO
messages from SHIP-PRO to ODS. SHIP-PRO will
send the SyncSCHD_CGO BO to MBS and MBS
will push the data to ODS as
SCHD_CGO_WRAPPER BO.
This interface will also be added to the AMS view
for monitoring.
Domain Driven Design
Aggregates
AGGREGATES mark off the scope
within which invariants have to be
maintained at every stage of the
lifecycle
● Transactional Boundary
● Public access only via the
Aggregate Root
“Generally speaking, there is a correspondence of one team per BOUNDED CONTEXT. One team can maintain
multiple BOUNDED CONTEXTS, but it is hard … for multiple teams to work on one together.” - Evans
Bounded Context
Vaughn Vernon, Domain-Driven Design Distilled
Event Driven Architecture
Part 3
AppTx Methodology
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
Working Code
Slices
Patterns
OKRs
Event Storming
Boris
SnapE
Implementation
rinse&repeat
OKRs
Ambitious
Where to?
Objectives
Key Results
+
-increase
decrease%
#
Are we going
the right
way?
AppTx
70 - 80%
Config Customer Test
Environment Quicker
Incrementally Handle
PROD traffic
Create Guidance for App
Transformation
1 Process state migrated
to PCF
1 State transition from
PCF to legacy env.
Reduce manual steps by
25%
Setup & complete
< 2 day
Reduce # of tools used
by 1/3
1 Central cookbook of
transformation recipes
5 Testing guidelines
10 Spring Boot templates
Mission: Reduce time to onboard new customers
Could Measure Should Measure
Objectives Key Results
brainstorm
brainstorm decide
order
define
Objective
Objective
Objective
Monitor by Status and Confidence
OKRs
Event Storming
Simple Tools
Discount
Bounded Context
Show
Payment
Payment
Movie
Venue
Movie
Chosen
Date
Chosen
Venue
Chosen
Seat
Chosen
Payment
Started
Discount
Code
Entered
Card
Payment
Chosen
Payment
Complet
ed
Ticket
Purchas
ed
!
Domain
Event
Relevant Business Event
“Seat Chosen”, “Ticket Purchased”
Aggregate
Brains
Accepts Actions / Generates “Events”
Partner
Venue
Chosen
3rd
Party
Coupon
Entered
Mobile
Payment
Chosen
3rd
Party
Payment
Chosen
Slice candidate
?
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
OKRs
Event Storming
Boris
More Tools
Service
Service based on Context
Payment Service”
Queue
Message Queue
“Seat Request”
UI External
Link to External
System
Service
Service
Service
Service
Service
Service
Ext
Ext
Q
Q
Q
UI
UI
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
Inform Architecture Event Flow
Contexts to µService API Discovery
Scenario Modeling Orchestration to
Choreography
Validate Slice
Candidate
Fill the Backlog
OKRs
Event Storming
Boris
SnapE
SnapE
API
Data Source /
Storage
UI Risks
Stories
Rabbit
MQ
REST /
JSON
CICS
GW
Other
Purchase
History
AdminUI
Dependent
On...
GET
/purchasesGET
/purchasesGET
/purchases
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
OKRs
Event Storming
Boris
SnapE
Implementation
Pivotal Tracker
© Copyright 2018 Pivotal Software, Inc. All rights reserved.
Requirements from Snap-E are managed in Pivotal
Tracker
Everyone on the team has access to the tool and can
at any time see what the team is working on.
We break work down into small, granular user stories
that have user value.
We stack rank the stories so that the highest priority
and highest value things are at the top.
We release frequently to keep feedback loops short in
order to learn if our product is on the right track.
Commit Code Change
Automate Build, Test,
Deploy
Store Binaries & Build
Artifacts
Deploy, UAT, Stage App
Zero Downtime
Upgrade to Production
SampleTool
Chain
Gitlab ArtifactoryConcourse
Pivotal HA
Services
(API
Driven)
Build pipeline that automates
smoke, acceptance, unit and
integration tests as feasible
SDLC space
promotion driven by
automated process
Patching and
upgrades fulfilled on a
rolling basis with zero
downtime
</>
Clean up SCC,
dependency and config
mgmt, tweak code and
address other 12-factor
concerns as needed
Automate the Release Pipeline
Various Patterns for Microservices
API Gateway, Edge
Server, B4FFInverse Conway
Event Shunting ACL, Context
Mapping, Strangler
Bridge, Router,
Proxy, Facade
Eventual
Consistency, Sagas,
ESB >> microservices
Tool Case by icons producer is licensed under CC 3.0
Cookbooks
Reusable patterns are documented as cookbooks to
be reused by other developers
Learn techniques for identifying problem areas,
decomposing monolithic apps, and organizing code for
continuous delivery.
Introduce technologies that help you build more
maintainable, adaptable systems.
Get access to playbooks and blueprints used by
dozens of enterprises to build a long-lasting practice
around app transformation.
Working Code
Slices
Patterns
OKRs
Event Storming
Boris
SnapE
Implementation
rinse&repeat
Direction / Stay on Track Business Flow / Potential Slices
Event Flow/ Inform Architecture
Size / Risk
Repeatable Recipes
Part 4
Liberty Mutual Case
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
Liberty Mutual’s Experiences with...
• Conway’s Law
• Entropy
• Breaking Down Monoliths for real
• MSA w/DDD to API-First
Conway’s law holds true
Source: https://martinfowler.com/articles/microservices.html#CharacteristicsOfAMicroserviceArchitecture
“Any organization that designs a system
(defined broadly) will produce a design
whose structure is a copy of the
organization's communication structure.”
- Conway’s Law
Source: http://melconway.com/Home/Conways_Law.html
Entropy always tends to increase within monoliths
Source: http://facstaff.gpc.edu/~mkim/C1211&1212Lec/C1212_Lecture.htm
Logical Separation Physical Separation
Decoupled UI
Microservices
Architecture
Before After *
* one aggregate
Deconstructing monolithic databases
API-First
Thank you.

More Related Content

What's hot (20)

PDF
Deconstructing Monoliths with Domain Driven Design
VMware Tanzu
 
PDF
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
VMware Tanzu
 
PDF
LIVE DEMO: Pivotal Cloud Foundry
VMware Tanzu
 
PDF
Spring Tools 4: Bootiful Spring Tooling for the Masses
VMware Tanzu
 
PPTX
DevOps to DevSecOps Journey..
Siddharth Joshi
 
PDF
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
martinlippert
 
PDF
Why Microservice
Kelvin Yeung
 
PDF
CF Push for Beginners
VMware Tanzu
 
PPTX
AWS DevDay Cologne - CI/CD for modern applications
Cobus Bernard
 
PDF
Accelerate Digital Transformation with Pivotal Cloud Foundry on Azure
VMware Tanzu
 
PDF
Java Application Modernization Patterns and Stories from the IBM Garage
Holly Cummins
 
PDF
Delivery Pipelines as a First Class Citizen @deliverAgile2019
ciberkleid
 
PDF
A Single Platform to Run All The Things - Kubernetes for the Enterprise - London
VMware Tanzu
 
PPTX
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
VMware Tanzu
 
PDF
PKS: The What and How of Enterprise-Grade Kubernetes
VMware Tanzu
 
PDF
Pivotal Developer-Ready Infrastructure Slides
VMware Tanzu
 
PDF
Dockercon State of the Art in Microservices
Adrian Cockcroft
 
PDF
Case Study: How The Home Depot Built Quality Into Software Development
CA Technologies
 
PPTX
Software Factory - Overview
slides_teltools
 
PDF
DevOps for the IBM Mainframe environment
Micro Focus
 
Deconstructing Monoliths with Domain Driven Design
VMware Tanzu
 
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
VMware Tanzu
 
LIVE DEMO: Pivotal Cloud Foundry
VMware Tanzu
 
Spring Tools 4: Bootiful Spring Tooling for the Masses
VMware Tanzu
 
DevOps to DevSecOps Journey..
Siddharth Joshi
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
martinlippert
 
Why Microservice
Kelvin Yeung
 
CF Push for Beginners
VMware Tanzu
 
AWS DevDay Cologne - CI/CD for modern applications
Cobus Bernard
 
Accelerate Digital Transformation with Pivotal Cloud Foundry on Azure
VMware Tanzu
 
Java Application Modernization Patterns and Stories from the IBM Garage
Holly Cummins
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
ciberkleid
 
A Single Platform to Run All The Things - Kubernetes for the Enterprise - London
VMware Tanzu
 
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
VMware Tanzu
 
PKS: The What and How of Enterprise-Grade Kubernetes
VMware Tanzu
 
Pivotal Developer-Ready Infrastructure Slides
VMware Tanzu
 
Dockercon State of the Art in Microservices
Adrian Cockcroft
 
Case Study: How The Home Depot Built Quality Into Software Development
CA Technologies
 
Software Factory - Overview
slides_teltools
 
DevOps for the IBM Mainframe environment
Micro Focus
 

Similar to 2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례 (20)

PDF
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
PDF
Building Real-Time Gen AI Applications with SingleStore and Confluent
confluent
 
PPTX
xRM - as an Evolution of CRM
Catherine Eibner
 
PPTX
Challenges of Mobile HR framework and program
Jinen Dedhia
 
PDF
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
FINOS
 
PDF
Automating Applications with Habitat - Sydney Cloud Native Meetup
Matt Ray
 
PPT
MOND Semantics Integration
Sales Emea
 
PPTX
Keys to continuous testing for faster delivery euro star webinar
TEST Huddle
 
PDF
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero
 
PPT
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
PDF
Delivering New Digital Experiences Fast - Introducing Choreo
WSO2
 
PDF
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
confluent
 
PDF
IBM Collaborative Lifecycle Management Solution for DevOps v6
Strongback Consulting
 
PPTX
Kochi mulesoft meetup 02
sumitahuja94
 
PPTX
7 steps to Enterprise PaaS
VMware vFabric
 
PDF
Why Your Digital Transformation Strategy Demands Middleware Modernization
VMware Tanzu
 
PDF
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak
 
PDF
Cloud Migration: Azure acceleration with CAST Highlight
CAST
 
PPTX
Contino Webinar - Migrating your Trading Workloads to the Cloud
Ben Saunders
 
PPTX
MMS2011_BC34_Plas_Final
mentvanderplas
 
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud
 
Building Real-Time Gen AI Applications with SingleStore and Confluent
confluent
 
xRM - as an Evolution of CRM
Catherine Eibner
 
Challenges of Mobile HR framework and program
Jinen Dedhia
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
FINOS
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Matt Ray
 
MOND Semantics Integration
Sales Emea
 
Keys to continuous testing for faster delivery euro star webinar
TEST Huddle
 
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero
 
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
Delivering New Digital Experiences Fast - Introducing Choreo
WSO2
 
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
confluent
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
Strongback Consulting
 
Kochi mulesoft meetup 02
sumitahuja94
 
7 steps to Enterprise PaaS
VMware vFabric
 
Why Your Digital Transformation Strategy Demands Middleware Modernization
VMware Tanzu
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak
 
Cloud Migration: Azure acceleration with CAST Highlight
CAST
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Ben Saunders
 
MMS2011_BC34_Plas_Final
mentvanderplas
 
Ad

More from VMware Tanzu Korea (20)

PDF
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea
 
PDF
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
VMware Tanzu Korea
 
PDF
꿀밋업1탄_왜_마이크로서비스인가
VMware Tanzu Korea
 
PDF
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
VMware Tanzu Korea
 
PDF
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
VMware Tanzu Korea
 
PDF
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea
 
PDF
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
VMware Tanzu Korea
 
PDF
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
VMware Tanzu Korea
 
PDF
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
PDF
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
VMware Tanzu Korea
 
PDF
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
 
PDF
Pivotal Labs 고객사례 - Coinone
VMware Tanzu Korea
 
PPTX
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
VMware Tanzu Korea
 
PDF
클라우드 네이티브로의 전환을 위한 여정
VMware Tanzu Korea
 
PDF
Cloud native enterprise
VMware Tanzu Korea
 
PDF
gp text roadmap presentation
VMware Tanzu Korea
 
PDF
GPCloud ( GP on PKS)
VMware Tanzu Korea
 
PDF
Gemfire Introduction
VMware Tanzu Korea
 
PDF
Greenplum User Case
VMware Tanzu Korea
 
PDF
Greenplum Roadmap
VMware Tanzu Korea
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea
 
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
VMware Tanzu Korea
 
꿀밋업1탄_왜_마이크로서비스인가
VMware Tanzu Korea
 
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
VMware Tanzu Korea
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
VMware Tanzu Korea
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
VMware Tanzu Korea
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
VMware Tanzu Korea
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
VMware Tanzu Korea
 
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
 
Pivotal Labs 고객사례 - Coinone
VMware Tanzu Korea
 
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
VMware Tanzu Korea
 
클라우드 네이티브로의 전환을 위한 여정
VMware Tanzu Korea
 
Cloud native enterprise
VMware Tanzu Korea
 
gp text roadmap presentation
VMware Tanzu Korea
 
GPCloud ( GP on PKS)
VMware Tanzu Korea
 
Gemfire Introduction
VMware Tanzu Korea
 
Greenplum User Case
VMware Tanzu Korea
 
Greenplum Roadmap
VMware Tanzu Korea
 
Ad

Recently uploaded (20)

PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
PDF
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Presentation about variables and constant.pptx
kr2589474
 

2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례

  • 3. • Cloud Native Applications Journey • Domain Driven Design • AppTx Methodology • Liberty Mutual Case Agenda
  • 4. Part 1 Cloud Native Applications Journey © Copyright 2017 Pivotal Software, Inc. All rights Reserved.
  • 5. Technical Filter Type (ex. COTS, ISV), Suitability Factors, etc. Application Portfolio Business Filter Criticality, Risk Tolerance, Change Frequency, etc. Prioritized Backlog App Tx Iterative Process App Patterns PCF App Measurement & Learning Select top app in migration backlog Continued iteration Create / update patterns, provide feedback to enhance filtering and backlog velocity Application Transformation Funnel Use of tooling and templates to quickly make effective candidate selection, constantly prioritize work and continuously share feedback to accelerate future efforts
  • 6. Technical Triage: App Foundry Automated suitability assessment and decisioning framework. Currently a closed beta, targeting GA this fall. Upload binary or map to source control Parsers for most common languages (Java, .NET, PHP, Ruby, etc.) Extensible rules (100s available currently) UI dashboard to help triage decisioning
  • 7. Understanding Your Application Portfolio TECHNICALCONDITION BUSINESS VALUEWORSE BETTER WORSEBETTER Tolerate Invest MigrateEliminate Focus here and start with the most impactful custom apps built 0 to 7 years ago with supported tech Understand: ● Technical condition (Y-Axis), e.g. ○ Scalability ○ Performance ● Business value, (X-Axis)e.g. ○ Criticality ○ Competitive advantage ● Operational cost (Size), e.g. ○ License ○ Hardware ● Risk (Color), e.g. ○ Compliance ○ Skill set
  • 8. Methodology and Techniques • Portfolio level goals definition • Cloud suitability assessment and education • Define OKRs • Discuss timeline, staffing, risk, dependencies, etc. • One-week iterations • Hands-on code within 2-3 days • 1s to 10s of apps moved in 1s of weeks • Working code used to inform a cookbook of patterns Product Backlog (Pivotal Tracker) Boris Event Storming OKRs Slice Analysis Snap / SnapE Patterns ScopingDiscovery Ongoing Delivery Cycle Value Stream Fixed Timeline Engagement Supported by a Paired Team
  • 9. Part 2 Domain Driven Design © Copyright 2017 Pivotal Software, Inc. All rights Reserved.
  • 10. “...the real breakthrough of object design comes when the code expresses the concepts of a model.” “Anyone responsible for changing code must learn to express a model through the code. Every developer must be involved in some level of discussion about the model and have contact with domain experts.” - Eric Evans, Domain-Driven Design Domain-Driven Design
  • 11. “In the end the code is the model and the model is the code.” - Vaughn Vernon, Domain-Driven Design Distilled As opposed to: 1. Business Overview 1.1 Requirement This interface is used to send Sched CGO messages from SHIP-PRO to ODS. SHIP-PRO will send the SyncSCHD_CGO BO to MBS and MBS will push the data to ODS as SCHD_CGO_WRAPPER BO. This interface will also be added to the AMS view for monitoring. Domain Driven Design
  • 12. Aggregates AGGREGATES mark off the scope within which invariants have to be maintained at every stage of the lifecycle ● Transactional Boundary ● Public access only via the Aggregate Root
  • 13. “Generally speaking, there is a correspondence of one team per BOUNDED CONTEXT. One team can maintain multiple BOUNDED CONTEXTS, but it is hard … for multiple teams to work on one together.” - Evans Bounded Context
  • 14. Vaughn Vernon, Domain-Driven Design Distilled Event Driven Architecture
  • 15. Part 3 AppTx Methodology © Copyright 2017 Pivotal Software, Inc. All rights Reserved.
  • 17. OKRs
  • 19. Config Customer Test Environment Quicker Incrementally Handle PROD traffic Create Guidance for App Transformation 1 Process state migrated to PCF 1 State transition from PCF to legacy env. Reduce manual steps by 25% Setup & complete < 2 day Reduce # of tools used by 1/3 1 Central cookbook of transformation recipes 5 Testing guidelines 10 Spring Boot templates Mission: Reduce time to onboard new customers
  • 20. Could Measure Should Measure Objectives Key Results brainstorm brainstorm decide order define Objective Objective Objective
  • 21. Monitor by Status and Confidence
  • 24. Discount Bounded Context Show Payment Payment Movie Venue Movie Chosen Date Chosen Venue Chosen Seat Chosen Payment Started Discount Code Entered Card Payment Chosen Payment Complet ed Ticket Purchas ed ! Domain Event Relevant Business Event “Seat Chosen”, “Ticket Purchased” Aggregate Brains Accepts Actions / Generates “Events” Partner Venue Chosen 3rd Party Coupon Entered Mobile Payment Chosen 3rd Party Payment Chosen Slice candidate ?
  • 28. Service Service based on Context Payment Service” Queue Message Queue “Seat Request” UI External Link to External System Service Service Service Service Service Service Ext Ext Q Q Q UI UI
  • 30. Inform Architecture Event Flow Contexts to µService API Discovery Scenario Modeling Orchestration to Choreography Validate Slice Candidate Fill the Backlog
  • 32. SnapE API Data Source / Storage UI Risks Stories Rabbit MQ REST / JSON CICS GW Other Purchase History AdminUI Dependent On... GET /purchasesGET /purchasesGET /purchases
  • 35. Pivotal Tracker © Copyright 2018 Pivotal Software, Inc. All rights reserved. Requirements from Snap-E are managed in Pivotal Tracker Everyone on the team has access to the tool and can at any time see what the team is working on. We break work down into small, granular user stories that have user value. We stack rank the stories so that the highest priority and highest value things are at the top. We release frequently to keep feedback loops short in order to learn if our product is on the right track.
  • 36. Commit Code Change Automate Build, Test, Deploy Store Binaries & Build Artifacts Deploy, UAT, Stage App Zero Downtime Upgrade to Production SampleTool Chain Gitlab ArtifactoryConcourse Pivotal HA Services (API Driven) Build pipeline that automates smoke, acceptance, unit and integration tests as feasible SDLC space promotion driven by automated process Patching and upgrades fulfilled on a rolling basis with zero downtime </> Clean up SCC, dependency and config mgmt, tweak code and address other 12-factor concerns as needed Automate the Release Pipeline
  • 37. Various Patterns for Microservices API Gateway, Edge Server, B4FFInverse Conway Event Shunting ACL, Context Mapping, Strangler Bridge, Router, Proxy, Facade Eventual Consistency, Sagas, ESB >> microservices Tool Case by icons producer is licensed under CC 3.0
  • 38. Cookbooks Reusable patterns are documented as cookbooks to be reused by other developers Learn techniques for identifying problem areas, decomposing monolithic apps, and organizing code for continuous delivery. Introduce technologies that help you build more maintainable, adaptable systems. Get access to playbooks and blueprints used by dozens of enterprises to build a long-lasting practice around app transformation.
  • 39. Working Code Slices Patterns OKRs Event Storming Boris SnapE Implementation rinse&repeat Direction / Stay on Track Business Flow / Potential Slices Event Flow/ Inform Architecture Size / Risk Repeatable Recipes
  • 40. Part 4 Liberty Mutual Case © Copyright 2017 Pivotal Software, Inc. All rights Reserved.
  • 41. Liberty Mutual’s Experiences with... • Conway’s Law • Entropy • Breaking Down Monoliths for real • MSA w/DDD to API-First
  • 42. Conway’s law holds true Source: https://martinfowler.com/articles/microservices.html#CharacteristicsOfAMicroserviceArchitecture “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.” - Conway’s Law Source: http://melconway.com/Home/Conways_Law.html
  • 43. Entropy always tends to increase within monoliths Source: http://facstaff.gpc.edu/~mkim/C1211&1212Lec/C1212_Lecture.htm
  • 47. Before After * * one aggregate Deconstructing monolithic databases