Migrating to Microservices

Format: Live Virtual Training
Duration: 1-Day Class

Microservices is one of the latest software architecture styles that promises to deliver benefits such as ease of testing, fast and easy deployments, fine-grained scalability, architectural modularity, and overall agility. It is undeniably one of the latest trends in the software industry, and everyone seems to be jumping on the bandwagon to quickly embrace and adapt this new architecture style. Unfortunately, many companies are struggling trying to break apart their existing monolithic or service-oriented architectures and move them to a microservices architecture, and are finding it more effort than they bargained for.

In this intensive full-day, hands-on live virtual class I take you on a detailed journey on how to effectively break apart a monolithic application into microservices. Our journey starts with decomposing the monolith using various migration patterns. We then take a detailed look at identifying and creating services, and then onto breaking apart large, monolithic relational databases. Our journey finally ends with stitching services back together through various communication and workflow patterns. During our journey you will be doing hands-on design exercises to identify services, identify and assign data domains to services, and finally determining communication and workflow between services using real-world case studies.

By the end of this class you will gain a keen understanding of the patterns and techniques to effectively analyze tradeoffs, options, and pathways for effectively migrating applications to microservices.

For more information about the pricing and availability of this course for private (corporate) training, please contact me at info@developertoarchitect.com.

Public Training Dates

There are no public dates scheduled for this training class.


Class Agenda

Part 1: Decomposing The Monolith

  • Architectural Modularity
  • Decomposition Patterns Introduction
  • Pattern: Identify and Size Logical Components
  • Pattern: Flatten Components
  • Pattern: Identify Component Dependencies
  • Pattern: Create Component Domains
  • Pattern: Create Domain Services

Part 2: Identifying Services

  • Domain Service Decomposition
  • 3-Dimensional Service Identification
  • Service Granularity Drivers and Factors
  • Hands-on Exercises: Identifying Services

Part 3: Decomposing Data

  • Data Decomposition Challenges
  • Data Decomposition Drivers
  • Data Domains
  • Data Ownership and Access
  • Hands-on Exercises: Identifying Data Ownership and Access

Part 4: Communication and Workflow

  • Orchestration vs. Choreography
  • Managing Workflow Sagas
  • Hands-on Exercises: Identifying Communication and Workflows

Class Summary

  • Key Takeaway Points
  • Resources and Next Steps


©2020 DeveloperToArchitect