7.1 Domain ArchitectureStrategic Design and Domain-Driven DesignExample Otto ShopManaging DependenciesUnintended Domain-Based DependenciesCyclic Dependencies7.2 Architecture ManagementTools for Architecture ManagementCycle-Free SoftwareMicroservices and Architecture ManagementToolsIs Architecture Management Important?Context Map7.3 Techniques to Adjust the ArchitectureWhere Does Bad Architecture Come From?Changes in MicroservicesChanges to the Overall ArchitectureShared LibrariesTransfer CodeReuse or Redundancy?Shared ServiceSpawn a New MicroserviceRewritingA Growing Number of MicroservicesMicroservice-Based Systems Are Hard to Modify7.4 Growing Microservice-Based SystemsPlanning Architecture?Start BigStart Small?Limits of TechnologyReplaceability as a Quality CriterionThe Gravity of MonolithsKeep SplittingGlobal Architecture?7.5 Don’t Miss the Exit Point or How to Avoid the Erosion of a Microservice (Lars Gentsch)Incorporation of New FunctionalityWhat Is Happening to the Microservice Here?Criteria Arguing for a New Microservice Instead of Extending an Existing OneHow to Recognize Whether the Creation of a New Microservice Should Have Occurred AlreadyConclusion7.6 Microservices and Legacy ApplicationsBreaking Up Code?Supplementing Legacy ApplicationsEnterprise Integration PatternsLimiting IntegrationAdvantagesIntegration via UI and Data ReplicationContent Management SystemsConclusionNo Big BangLegacy = InfrastructureOther Qualities7.7 Hidden Dependencies (Oliver Wehrens)The Database7.8 Event-Driven Architecture7.9 Technical ArchitectureTechnical Decisions for the Entire SystemSidecar7.10 Configuration and CoordinationConsistency as ProblemImmutable ServerAlternative: Installation Tools7.11 Service DiscoveryService Discovery = Configuration?Technologies7.12 Load BalancingREST/HTTPCentral Load BalancerA Load Balancer per MicroserviceTechnologiesService DiscoveryClient-Based Load BalancingLoad Balancing and Architecture7.13 ScalabilityScaling, Microservices, and Load BalancingDynamic ScalingMicroservices: Advantages for ScalingShardingScalability, Throughput, and Response Times7.14 SecuritySecurity and MicroservicesOAuth2Possible Authorization GrantsJSON Web Token (JWT)OAuth2, JWT, and MicroservicesTechnologiesAdditional Security MeasuresHashicorp VaultAdditional Security Goals7.15 Documentation and MetadataOutdated DocumentationAccess to Documentation7.16 ConclusionEssential Points