SlideShare a Scribd company logo
© 2019 Perforce Software, Inc.
Should You Break Up Your Monolith?
TOM TYLER AND CHUCK GEHMAN | NOVEMBER 2019
perforce.com2 | © 2019 Perforce Software, Inc.
Speakers
Chuck Gehman
Technical Marketing Engineer, Perforce Software
Chuck is a Technical Marketing Engineer at Perforce. He has
worked as a CTO, architect, developer, and product leader
in startups and large enterprises. When he has spare time,
he enjoys volunteering for technology education initiatives,
attending Meetups, and writing.
Tom Tyler
Senior Consultant, Perforce Software
After starting his career at the NASA Kennedy Space Center,
Tom has consulted as a software developer and development
environment architect in many software development
organizations. Tom is passionate about training, mentoring,
and consulting with Perforce customers large and small.
perforce.com3 | © 2019 Perforce Software, Inc.
Should You Break Up Your Monolith?
1
2
3
4
Why Break Up the Monolith?
Constructing the Right Approach
Implementing New Tools
Solving for the Legacy
perforce.com4 | © 2019 Perforce Software, Inc.
• Need to:
• Modernize technology.
• Deliver value to customers more quickly.
• Address pain points:
• System is too difficult to maintain.
• Inability to identify issues quickly.
• Long delays in handoffs between dev, QA, and
operations.
• Too many defects released to production.
• Cannot find developers to work on fragile, legacy
code base.
• Stifling innovation.
Why Break Up the Monolith?
perforce.com5 | © 2019 Perforce Software, Inc.
• Monolith is probably generating enormous
amounts of revenue for the company.
• But customers want more, new features.
• Rising fear of disruptive competitors.
• Business risks in upgrading your monolith:
• Delays to development.
• Concerns with new architecture working.
• Stability/reliability.
• Refactoring is a multi-year project.
Risks and Pain Points
Constructing The Right Approach
perforce.com7 | © 2019 Perforce Software, Inc.
• Steps for a less painful migration:
• Assess low-hanging fruit.
• Break-off and refactor after you migrate.
• Attack a component/package/service in a logical order.
• Adopt new tools throughout the process.
• Goal = Support both the old and the new models
simultaneously.
Constructing a New Environment
perforce.com8 | © 2019 Perforce Software, Inc.
1. Start with capabilities of the monolith that are decoupled and don’t require changes to customer-facing apps.
2. Focus on delivery approaches, upskilling team members.
3. Build out minimum infrastructure needed to deliver independently deployable components (e.g., containerized
microservices) that expose self-service APIs.
4. Start tracking technical issues for new and legacy:
• Counting errors released to production
• Service availability
• Time to remediate, etc.
5. Consider cloud deployment options (as appropriate).
6. Implement basic monitoring for new and legacy.
7. Implement automation wherever possible.
8. Migrate in atomic steps.
Step-By-Step Approach
Implementing New Tooling
perforce.com10 | © 2019 Perforce Software, Inc.
• Review existing tools and process.
• Look at direct costs of licenses, maintenance, and hardware as well as personnel time that can be recovered.
• What challenges do your teams face?
• Speed?
• Scale?
• Supporting multiple facilities?
• Integration with popular DevOps tools?
• Legacy hardware?
• Build out the underlying infrastructure to support modern architecture:
• Version control.
• CI/CD pipelines.
• API management.
Review the Current State and Goals
perforce.com11 | © 2019 Perforce Software, Inc.
• Issues with keeping old legacy tooling around forever:
• Keep paying license costs.
• Run the risk of admin retiring, and difficulty hiring new admins.
• Performance and automation disadvantages.
• Some may want to try to move the legacy codebase to Git.
• Git lacks the ability to support dimensions of scale:
• Number of people.
• Number of projects.
• Size of files.
• Size of repositories.
• Number of geographic locations.
Review Your Choices
perforce.com12 | © 2019 Perforce Software, Inc.
• Is Git great for microservices?
• Yes, it is used by many companies today.
• Is Git a great place to migrate the monolith codebase and legacy production workflow?
• Not so much.
• To move into Git, you would have to do years’ worth of work FIRST,
and then try to migrate.
• You don’t have time to wait.
Is Git the Best Option?
perforce.com13 | © 2019 Perforce Software, Inc.
• You can develop for the future and maintain the legacy with the right VCS –– Helix Core.
• Helix Core serves the needs of the old and new code base, in a unified system.
• Helix Core can handle the entire monolith “as-is” without requiring major refactoring first.
• Just import and GO! No barriers, no risk.
• No immediate need to break up your monolith.
• Once in Helix Core, you can methodically attack a component/package/service one at a time.
• The tooling/process should support your transition seamlessly.
• If you are trying to migrate some of these components/packages to a Git based solution:
• Do this seamlessly using Helix4Git without impacting the build & release process.
• Flexibility to manage the carved out components in Helix Core, or any Git management tool.
The Right VCS
HELIX CORE
Solving for the Legacy
perforce.com15 | © 2019 Perforce Software, Inc.
• High-level migration strategies –– how much history do you
need?
• Tips.
• Detailed History Import (DHI).
• Baseline and Branch Import (BBI).
• ClearCase to Perforce Migration.
• SVN to Perforce Migration.
• Steps for Your Complex Project.
What Should You do With Legacy Code?
perforce.com16 | © 2019 Perforce Software, Inc.
• Tips Only:
• Copy tips into new system.
• Baseline & Branch Import (BBI):
• Bring along only “interesting” history.
• Baselines and high-level branch operations.
• Detailed History Import (DHI)
• Bring historical details into Helix Core.
How Much History Do You Need?
perforce.com17 | © 2019 Perforce Software, Inc.
How Much History Do You Need?
• Detailed History Import (DHI): • Baseline and Branch Import:
perforce.com18 | © 2019 Perforce Software, Inc.
• VOBs and Depots.
• ClearCase MultiSite/Regions.
• VOBs Servers vs. “The Server (Super VOB).”
• Registry and license servers.
• Not necessary in Perforce.
• Rethinking label strategies.
• Take advantage of lightweight, automatic labels in Helix Core.
• Leverage the power of the changelist!
• Unified Change Management (UCM) vs. Perforce Streams:
• Helix Core gives you branching and merging with guardrails that you define.
• Technical Challenges:
• For example, “Evil Twins.”
ClearCase to Perforce Migration
perforce.com19 | © 2019 Perforce Software, Inc.
• Options are similar to ClearCase migrations.
• Benefits of Migrating:
• Major performance enhancements.
• Replication around the globe.
• Conflict-free merges (saves time and money).
• Enables parallel development at scale.
• Makes your entire team more productive.
• Migration Challenges:
• Big repos take resources to move over (especially with DHI imports).
• Fully supported tools available to help migrate.
SVN to Perforce Migration
perforce.com20 | © 2019 Perforce Software, Inc.
• Step 1: Choose a new version control system that
provides the foundation for both legacy systems and
forward-looking development.
• Step 2: Methodically plan and choose the parts of
the monolith that can transition to a more modern
architecture and have the best impact on the
business.
• Step 3: Along the way, use integration with best of
class tools (existing and new) for both legacy and
new.
• Automate your enterprise SDLC.
• Reduce risk and optimize productivity.
• Achieve lower tooling costs along the way!
Conclusion: Simple Steps For Your Complex Project
Questions?

More Related Content

PDF
Unicorns on an Aircraft Carrier: CDSummit London and Stockholm Keynote
PDF
Leading DevOps Application Release and Deployment - Best Practices for Organi...
PDF
A DevOps adoption playbook- achieving business value at scale
PDF
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
PDF
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
PDF
Mastering DevOps Automation: Webinar
PDF
Adopting DevOps for 2-Speed IT
PPTX
Creating a DevOps Team that Isn't Evil
Unicorns on an Aircraft Carrier: CDSummit London and Stockholm Keynote
Leading DevOps Application Release and Deployment - Best Practices for Organi...
A DevOps adoption playbook- achieving business value at scale
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
Mastering DevOps Automation: Webinar
Adopting DevOps for 2-Speed IT
Creating a DevOps Team that Isn't Evil

What's hot (20)

PDF
Death to Manual Deployments
PDF
A Continuous Delivery Safety Net for Databases
PDF
DevOps Thinking for the Line of Business
PDF
How NBCUniversal Adopted DevOps
PDF
IBM InterConnect 2016: Security for DevOps in an Enterprise
PPTX
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
PDF
Continuous Delivery in the Enterprise - with IBM UrbanCode
PDF
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
PDF
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
PPTX
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
PPTX
Delivering Applications Continuously to Cloud
PPTX
Improving Software Delivery with DevOps & Software Defined Environments | The...
PDF
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
PPTX
Urban code - DevOps - cost reduction
PDF
UrbanCode Deploy and Docker Containers Connect the Dots
PPTX
PureApplication: Devops and Urbancode
PPTX
UrbanCode Deploy course and product overview slides
PDF
From DevOps to DevSecOps: 2 Dimensions of Security for DevOps
PPTX
Continuous Delivery in the Enterprise
PDF
XL Deploy Demo Slides
Death to Manual Deployments
A Continuous Delivery Safety Net for Databases
DevOps Thinking for the Line of Business
How NBCUniversal Adopted DevOps
IBM InterConnect 2016: Security for DevOps in an Enterprise
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
Continuous Delivery in the Enterprise - with IBM UrbanCode
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Delivering Applications Continuously to Cloud
Improving Software Delivery with DevOps & Software Defined Environments | The...
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Urban code - DevOps - cost reduction
UrbanCode Deploy and Docker Containers Connect the Dots
PureApplication: Devops and Urbancode
UrbanCode Deploy course and product overview slides
From DevOps to DevSecOps: 2 Dimensions of Security for DevOps
Continuous Delivery in the Enterprise
XL Deploy Demo Slides
Ad

Similar to Should You Break Up With Your Monolith? (20)

PDF
Subversion to Perforce in 30 minutes
PPTX
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
PDF
[Europe merge world tour] Perforce Europe Merge World Tour Keynote
PPTX
Introducing Perforce Helix
PDF
2013 Perforce Collaboration Tour - MathWorks
PDF
Challenges Scaling DevOps
PPTX
New Technology for Modern Development Challenges
PDF
Refactoring Into Microservices 2016-11-08
PDF
Refactoring Into Microservices 2016-11-06
PDF
Webinar: The Acceleration of Everything
PPTX
MERGE 2016 Opening Remarks
PDF
[India Merge World Tour] Keynote
PPTX
Making Git Work for the Enterprise Through the Power of Perforce Helix
PDF
Reengineering Legacy Software Chris Birchall
PDF
Refactoring Into Microservices. Chicago Coders Conference 2017-06-26
PDF
Branching Out: How To Automate Your Development Process
PDF
Perforce helix git swarm jan 2016(pva1) meetup
PDF
[Perforce] Git Fusion
PPTX
Game Development Best Practices
PPTX
ClearCase Escape Plan
Subversion to Perforce in 30 minutes
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
[Europe merge world tour] Perforce Europe Merge World Tour Keynote
Introducing Perforce Helix
2013 Perforce Collaboration Tour - MathWorks
Challenges Scaling DevOps
New Technology for Modern Development Challenges
Refactoring Into Microservices 2016-11-08
Refactoring Into Microservices 2016-11-06
Webinar: The Acceleration of Everything
MERGE 2016 Opening Remarks
[India Merge World Tour] Keynote
Making Git Work for the Enterprise Through the Power of Perforce Helix
Reengineering Legacy Software Chris Birchall
Refactoring Into Microservices. Chicago Coders Conference 2017-06-26
Branching Out: How To Automate Your Development Process
Perforce helix git swarm jan 2016(pva1) meetup
[Perforce] Git Fusion
Game Development Best Practices
ClearCase Escape Plan
Ad

More from Perforce (20)

PDF
How to Organize Game Developers With Different Planning Needs
PDF
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
PDF
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
PDF
Understanding Compliant Workflow Enforcement SOPs
PDF
How to Do Code Reviews at Massive Scale For DevOps
PDF
How to Spark Joy In Your Product Backlog
PDF
Going Remote: Build Up Your Game Dev Team
PDF
Shift to Remote: How to Manage Your New Workflow
PPTX
Hybrid Development Methodology in a Regulated World
PDF
Easier Requirements Management Using Diagrams In Helix ALM
PDF
How To Master Your Mega Backlog
PDF
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
PDF
How to Scale With Helix Core and Microsoft Azure
PDF
Achieving Software Safety, Security, and Reliability Part 2
PDF
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
PDF
What's New in Helix ALM 2019.4
PDF
Free Yourself From the MS Office Prison
PDF
5 Ways to Accelerate Standards Compliance with Static Code Analysis
PDF
Code Quality Management Best Practices
PDF
Scale Kanban Beyond Team Level
How to Organize Game Developers With Different Planning Needs
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Understanding Compliant Workflow Enforcement SOPs
How to Do Code Reviews at Massive Scale For DevOps
How to Spark Joy In Your Product Backlog
Going Remote: Build Up Your Game Dev Team
Shift to Remote: How to Manage Your New Workflow
Hybrid Development Methodology in a Regulated World
Easier Requirements Management Using Diagrams In Helix ALM
How To Master Your Mega Backlog
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
How to Scale With Helix Core and Microsoft Azure
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
What's New in Helix ALM 2019.4
Free Yourself From the MS Office Prison
5 Ways to Accelerate Standards Compliance with Static Code Analysis
Code Quality Management Best Practices
Scale Kanban Beyond Team Level

Recently uploaded (20)

PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
top salesforce developer skills in 2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
medical staffing services at VALiNTRY
PPTX
Transform Your Business with a Software ERP System
PPTX
history of c programming in notes for students .pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
ai tools demonstartion for schools and inter college
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Migrate SBCGlobal Email to Yahoo Easily
top salesforce developer skills in 2025.pdf
Softaken Excel to vCard Converter Software.pdf
medical staffing services at VALiNTRY
Transform Your Business with a Software ERP System
history of c programming in notes for students .pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
ai tools demonstartion for schools and inter college
Which alternative to Crystal Reports is best for small or large businesses.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Design an Analysis of Algorithms II-SECS-1021-03
Upgrade and Innovation Strategies for SAP ERP Customers
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
CHAPTER 2 - PM Management and IT Context
wealthsignaloriginal-com-DS-text-... (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Should You Break Up With Your Monolith?

  • 1. © 2019 Perforce Software, Inc. Should You Break Up Your Monolith? TOM TYLER AND CHUCK GEHMAN | NOVEMBER 2019
  • 2. perforce.com2 | © 2019 Perforce Software, Inc. Speakers Chuck Gehman Technical Marketing Engineer, Perforce Software Chuck is a Technical Marketing Engineer at Perforce. He has worked as a CTO, architect, developer, and product leader in startups and large enterprises. When he has spare time, he enjoys volunteering for technology education initiatives, attending Meetups, and writing. Tom Tyler Senior Consultant, Perforce Software After starting his career at the NASA Kennedy Space Center, Tom has consulted as a software developer and development environment architect in many software development organizations. Tom is passionate about training, mentoring, and consulting with Perforce customers large and small.
  • 3. perforce.com3 | © 2019 Perforce Software, Inc. Should You Break Up Your Monolith? 1 2 3 4 Why Break Up the Monolith? Constructing the Right Approach Implementing New Tools Solving for the Legacy
  • 4. perforce.com4 | © 2019 Perforce Software, Inc. • Need to: • Modernize technology. • Deliver value to customers more quickly. • Address pain points: • System is too difficult to maintain. • Inability to identify issues quickly. • Long delays in handoffs between dev, QA, and operations. • Too many defects released to production. • Cannot find developers to work on fragile, legacy code base. • Stifling innovation. Why Break Up the Monolith?
  • 5. perforce.com5 | © 2019 Perforce Software, Inc. • Monolith is probably generating enormous amounts of revenue for the company. • But customers want more, new features. • Rising fear of disruptive competitors. • Business risks in upgrading your monolith: • Delays to development. • Concerns with new architecture working. • Stability/reliability. • Refactoring is a multi-year project. Risks and Pain Points
  • 7. perforce.com7 | © 2019 Perforce Software, Inc. • Steps for a less painful migration: • Assess low-hanging fruit. • Break-off and refactor after you migrate. • Attack a component/package/service in a logical order. • Adopt new tools throughout the process. • Goal = Support both the old and the new models simultaneously. Constructing a New Environment
  • 8. perforce.com8 | © 2019 Perforce Software, Inc. 1. Start with capabilities of the monolith that are decoupled and don’t require changes to customer-facing apps. 2. Focus on delivery approaches, upskilling team members. 3. Build out minimum infrastructure needed to deliver independently deployable components (e.g., containerized microservices) that expose self-service APIs. 4. Start tracking technical issues for new and legacy: • Counting errors released to production • Service availability • Time to remediate, etc. 5. Consider cloud deployment options (as appropriate). 6. Implement basic monitoring for new and legacy. 7. Implement automation wherever possible. 8. Migrate in atomic steps. Step-By-Step Approach
  • 10. perforce.com10 | © 2019 Perforce Software, Inc. • Review existing tools and process. • Look at direct costs of licenses, maintenance, and hardware as well as personnel time that can be recovered. • What challenges do your teams face? • Speed? • Scale? • Supporting multiple facilities? • Integration with popular DevOps tools? • Legacy hardware? • Build out the underlying infrastructure to support modern architecture: • Version control. • CI/CD pipelines. • API management. Review the Current State and Goals
  • 11. perforce.com11 | © 2019 Perforce Software, Inc. • Issues with keeping old legacy tooling around forever: • Keep paying license costs. • Run the risk of admin retiring, and difficulty hiring new admins. • Performance and automation disadvantages. • Some may want to try to move the legacy codebase to Git. • Git lacks the ability to support dimensions of scale: • Number of people. • Number of projects. • Size of files. • Size of repositories. • Number of geographic locations. Review Your Choices
  • 12. perforce.com12 | © 2019 Perforce Software, Inc. • Is Git great for microservices? • Yes, it is used by many companies today. • Is Git a great place to migrate the monolith codebase and legacy production workflow? • Not so much. • To move into Git, you would have to do years’ worth of work FIRST, and then try to migrate. • You don’t have time to wait. Is Git the Best Option?
  • 13. perforce.com13 | © 2019 Perforce Software, Inc. • You can develop for the future and maintain the legacy with the right VCS –– Helix Core. • Helix Core serves the needs of the old and new code base, in a unified system. • Helix Core can handle the entire monolith “as-is” without requiring major refactoring first. • Just import and GO! No barriers, no risk. • No immediate need to break up your monolith. • Once in Helix Core, you can methodically attack a component/package/service one at a time. • The tooling/process should support your transition seamlessly. • If you are trying to migrate some of these components/packages to a Git based solution: • Do this seamlessly using Helix4Git without impacting the build & release process. • Flexibility to manage the carved out components in Helix Core, or any Git management tool. The Right VCS HELIX CORE
  • 14. Solving for the Legacy
  • 15. perforce.com15 | © 2019 Perforce Software, Inc. • High-level migration strategies –– how much history do you need? • Tips. • Detailed History Import (DHI). • Baseline and Branch Import (BBI). • ClearCase to Perforce Migration. • SVN to Perforce Migration. • Steps for Your Complex Project. What Should You do With Legacy Code?
  • 16. perforce.com16 | © 2019 Perforce Software, Inc. • Tips Only: • Copy tips into new system. • Baseline & Branch Import (BBI): • Bring along only “interesting” history. • Baselines and high-level branch operations. • Detailed History Import (DHI) • Bring historical details into Helix Core. How Much History Do You Need?
  • 17. perforce.com17 | © 2019 Perforce Software, Inc. How Much History Do You Need? • Detailed History Import (DHI): • Baseline and Branch Import:
  • 18. perforce.com18 | © 2019 Perforce Software, Inc. • VOBs and Depots. • ClearCase MultiSite/Regions. • VOBs Servers vs. “The Server (Super VOB).” • Registry and license servers. • Not necessary in Perforce. • Rethinking label strategies. • Take advantage of lightweight, automatic labels in Helix Core. • Leverage the power of the changelist! • Unified Change Management (UCM) vs. Perforce Streams: • Helix Core gives you branching and merging with guardrails that you define. • Technical Challenges: • For example, “Evil Twins.” ClearCase to Perforce Migration
  • 19. perforce.com19 | © 2019 Perforce Software, Inc. • Options are similar to ClearCase migrations. • Benefits of Migrating: • Major performance enhancements. • Replication around the globe. • Conflict-free merges (saves time and money). • Enables parallel development at scale. • Makes your entire team more productive. • Migration Challenges: • Big repos take resources to move over (especially with DHI imports). • Fully supported tools available to help migrate. SVN to Perforce Migration
  • 20. perforce.com20 | © 2019 Perforce Software, Inc. • Step 1: Choose a new version control system that provides the foundation for both legacy systems and forward-looking development. • Step 2: Methodically plan and choose the parts of the monolith that can transition to a more modern architecture and have the best impact on the business. • Step 3: Along the way, use integration with best of class tools (existing and new) for both legacy and new. • Automate your enterprise SDLC. • Reduce risk and optimize productivity. • Achieve lower tooling costs along the way! Conclusion: Simple Steps For Your Complex Project